巧用ELK快速实现网站流量监控可视化

news/2024/5/20 14:21:46/文章来源:https://blog.csdn.net/qq_41699100/article/details/81102719

前言

本文可能不会详细记录每一步实现的过程,但一定程度上可以引领小伙伴走向更开阔的视野,串联每个环节,呈现予你不一样的效果。

业务规模

  • 8个平台
  • 100+台服务器
  • 10+个集群分组
  • 微服务600+
  • 用户N+

面临问题

随着分布式微服务容器技术的发展,传统监控系统面临许多问题:

  • 容器如何监控
  • 微服务如何监控
  • 集群性能如何进行分析计算
  • 如何管理agent端大量配置脚本

这些都是传统监控所要面临的棘手问题,那么如何解决当前遇到的问题,GPE横空出世,后面会重点分析。

系统监控

  • 目标群体:系统日志、服务器、容器、系统软件运行指标
  • 日志架构:ELK (Elasticsearch+Logstash+Kibana+Redis)
  • 监控架构:GPE (Grafana+Prometheus+Exporter+Consul)
  • 报警方式:邮件、短信、钉钉以及自定义webhook,监控中心7x24小时

ELK日志

随着分布式微服务的盛行,功能模块的拆分细化,无论对于开发还是运维,日志的重要性都是不言而喻的,但是如何存储分析定位查看日志,一百个公司可能会有两百种做法。有的很少记录日志,有的日志等级都不分,有的写入文本然后就不管不问了,有的向MySql数据库一扔也没有了下文,等到用户投诉或者被发现问题,才会翻一翻。

那么如何正确优雅的记录日志呢?相信大家对于ELK并不陌生,可能不少小伙伴都接触过,对于中小型互联网创业公司来说,使用ELK搭建日志分析系统的确是一个不错的选择。

架构图

 

核心组件

ELK由Elasticsearch、Logstash和Kibana三剑客组成,当然了以上是最基本的组件,为了使的架构流程更加丰满,我们加入了Redis做缓冲队列,配置了sendmail做异常日志告警。

ElasticSearch

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口等。

Logstash

Logstash数据分析工具,它可以对系统生成的的日志进行采集、分析,存储。2013 年,Logstash 被 Elasticsearch 公司收购,ELK Stack 正式成为官方用语。

kibana

Kibana是一个开源的分析与可视化平台,用来搜索、查看存储在Elasticsearch索引中的数据。

工作流程

  • logstash(shipper) 实时监控并过滤收集每个服务的日志信息
  • logstash(shipper) 把收集来的日志(INFO 、DEBUG 、RROR 、WARN等)分别发送到Redis
  • logstash(indexer) 按照日志分类分别从Redis读取日志信息并发送给ElasticSearch
  • logstash(indexer) 过滤出RROR日志通过邮件或者其它webhook方式告警开发运维人员
  • Kibana读取ElasticSearch数据结合自定义搜索进行页面展示

GPE监控

ELK主要收集分析预警的是我们平台系统中各个服务的业务日志,一般通过日志组件(log4j 、log4j2 、logback)来收集并写入文本。但是对于系统本身以及一些应用软件的监控预警,这套方案显然是不合适的,这里推荐一下GPE三剑客,当然了GPE是我自己意淫出来的组合。

架构图

 

核心组件

Grafana、Prometheus、Exporter(一系列插件),自定义的三剑客,当然了为了使得整合监控程序更加流畅完整,我们加入了注册中心Consul做服务发现,实现动态添加服务,使用邮件、钉钉以及webhook实现异常告警。

GPE组件只是其中的一种实现方式罢了,Grafana配合InfluxData提供Telegraf也可以收集很多Metrics,实现更为丰富的大屏监控预警。

Grafana

Grafana 是一个开箱即用的可视化工具,具有功能齐全的度量仪表盘和图形编辑器,有灵活丰富的图形化选项,可以混合多种风格,支持多个数据源特点。

 

Prometheus

Prometheus是一个开源的服务监控系统,它通过HTTP协议从远程的机器收集数据并存储在本地的时序数据库上。

  • 多维数据模型(时序列数据由metric名和一组key/value组成)
  • 在多维度上灵活的查询语言(PromQl)
  • 不依赖分布式存储,单主节点工作.
  • 通过基于HTTP的pull方式采集时序数据
  • 可以通过push gateway进行时序列数据推送(pushing)
  • 可以通过服务发现或者静态配置去获取要采集的目标服务器
  • 多种可视化图表及仪表盘支持

如架构图所示,Prometheus通过安装在远程机器上的exporter来收集监控数据。

 

Consul

Consul有多个组件,但是整体来看,它是你基础设施中用于发现和配置服务的一个工具。它提供如下几个关键功能:

  • 服务发现 : Consul的某些客户端可以提供一个服务,例如api或者mysql,其它客户端可以使用Consul去发现这个服务的提供者。使用DNS或者HTTP,应用可以很容易的找到他们所依赖的服务。
  • 健康检查 : Consul客户端可以提供一些健康检查,这些健康检查可以关联到一个指定的服务(服务是否返回200 OK),也可以关联到本地节点(内存使用率是否在90%以下)。这些信息可以被一个操作员用来监控集群的健康状态,被服务发现组件路由时用来远离不健康的主机。
  • 键值存储 : 应用可以使用Consul提供的分层键值存储用于一些目的,包括动态配置、特征标记、协作、leader选举等等。通过一个简单的HTTP API可以很容易的使用这个组件。
  • 多数据中心 : Consul对多数据中心有非常好的支持,这意味着Consul用户不必担心由于创建更多抽象层而产生的多个区域。

Consul被设计为对DevOps群体和应用开发者友好,他非常适合现代的、可伸缩的基础设施。

 

工作流程

  • Exporter组件注册到Consul注册中心
  • Prometheus拉取Consul注册中心的servers
  • Exporter组件获取服务器或者系统软件的metrics
  • Grafana配置Prometheus数据源获取其采集数据结合自定义面板实现监控大屏
  • Grafana通过设置Alerting实现监控预警

小结

如文章开头所述,本文并没有一步步详细记录安装使用教程,这些教程网上都有,即使有坑,相信作为程序员的你也能够解决。不才,在这里只是抛砖引玉,希望各位小伙伴可以学到更多知识。

还记得许多年前的春天,那时网站还都是静态页面,没有图片也没有绚丽的效果,没有24小时服务的客服,可当初程序员是那么快乐,虽然只有网页三剑客,在网上、在指尖、在BBS中,挥洒着自己的青春热血,如果有一天 我老无所依,请把我留在 在那互联网浪潮里。

现如今,随着云计算、分布式、微服务的盛行,程序员的你是否已经疲倦与自己的CURD,是否已经不屑于与产品汪扯皮,来来来,返回顶部小伙伴们再看看一遍,谁说程序员全部的时间都要敲代码,是时候需要去需找自己的另一片天空了。

声明:部分文字介绍来源于网络。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_775702.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gpu服务器跑网站,gpu服务器跑深度学习

gpu服务器跑深度学习 内容精选换一换GPU加速型云服务器(GPU Accelerated Cloud Server, GACS)能够提供强大的浮点计算能力,从容应对高实时、高并发的海量计算场景。GPU加速型云服务器包括G系列和P系列两类。其中:G系列:图形加速型弹性云服务器…

如何通过优化主页大小,将网站大小减少 62%

什么是图像压缩? 压缩图像是指在保持可接受的视觉质量水平的同时减小图像文件的大小。我使用imagemin来压缩我网站上的图像。 要使用 imagemin,请确保已安装了 Node.js,然后打开终端窗口,cd 到项目的文件夹,并运行以…

5个常用的上传图片进行搜索的网站

1.http://www.tineye.com/ 最常用的图片搜索引擎,一般需要尽可能的接近原图的文件才能锁定图片网址,不过准确度极高。目前缺点是图片收录主要为欧美地区,而且收录量也不是很大。 2.http://www.gazopa.com/ 如图所示相似图片搜索,想…

一个知名网站的微服务架构最佳实现

译者语:如果你的项目正在从单体升级为微服务而忧心;或者你在实践微服务过程中手忙脚乱,本文都是你不容错过的好文。 微服务架构的目标是帮助工程团队更快、更安全、更高质量地交付产品。拆分服务允许团队快速迭代的同时,保证了对系…

创业之前,网站先行

可能你们还没有准备好向世人展示你们的产品,但你们可以先做一些前期工作,先为产品搭建个网站,做好形象工作。我并不是说创业公司都不可以在暗地里开发自己的产品,直到产品成型后才公之于众。但我觉得,如果你已经为你的…

IT创业失败案例解析 - 第四篇 (一家失败的招聘网站)

原文标题:My eHarmony for Hiring Failure(查看原文推荐) 原文作者:eHarmony 双语对照 前几天我通读了我最新博文的评论,它着实吸引了很多评论,像其他一些带有煽动性标题的文章一样,最终&#x…

linux 绑定域名到网站目录,教你绑定域名到你空间的子目录(亲测可用)

近日脑洞大开,Project Ai需要一个论坛,然而为了装逼优雅,我想用个二级域名绑定到我论坛。但万网的虚拟主机默认没绑定域名到子目录这个功能的.中间省略经过一番折腾后,我发现了一个方法(亲测万网可用)其实原理也很简单&#xff0c…

php网站程序哪个好,php的cms系统哪个好

php的cms系统哪个好?国内常见的CMS有dedecms、PHPCMS、WordPress、帝国cms、5UCMS等。相对较好的应该属帝国cms了。帝国cms非常老牌的CMS,就如同该CMS官网介绍的安全、强大、稳定、灵活。安全性:高,姜就是老的辣,老牌的…

【转载】一次面试引发的思考(中小型网站优化思考)

前言 故事的起因是这样的,由于本人地处偏僻工作地点在美丽的冰城哈尔滨虽然地方很美丽,但是这里的软件行业实在是算不上“美丽”,这么多年由于个人原因或者公司原因经常换工作,因为这里都是中小型公司,没有什么大公司。…

tp5网站 服务器部署,tp5云服务器部署

tp5云服务器部署 内容精选换一换SAP B1的部署方案如图1所示。说明如下:VPC网络:为了保证网络的安全,SAP B1系统中所有节点在一个VPC网络内,且所有节点应属于同一个AZ(Available Zone)。公网子网区:NAT(Network Address…

html 隐藏广告代码大全,JS广告代码_JS广告代码大全_js特效代码_js特效代码大全 - 懒人建站...

网站设置点击任何地方弹出新页面广告只弹出,可指定时间间隔。利用Cookie记忆,超过指定时间刷新页面广告会再次生效。参数说明: href:http://www.51xuediannao.com/, //链接地址,必须配置成你的地址 target:_blank, zIndex:9999999…

利用 IIS日志追查网站入侵者

<script type"text/javascript"></script> <script type"text/javascript" src"http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>以前黑站黑了很多&#xff0c;但是就没有想过会不会被追踪到&…

nginx配置多个ssl证书_给自己的网站主页配置ssl证书

使用https 可以防止数据在传输过程中产生一些不必要的泄露&#xff0c;未 的页面在经过ssl证书的签发后会变成https开头&#xff0c;下面记录一下配置https加密的整个过程购买域名首先第一步我们为了防止自己的公网ip暴露出去&#xff0c;需要给自己的网站设定一个全球唯一的域…

网站搭建教程(详细步骤)

文章目录网站组成一、服务器二、网站程序三、域名空间基本介绍网站空间如何购买空间&#xff08;云虚拟主机&#xff09;如何登陆服务器网站创建安装宝塔并配置信息云虚拟机安装宝塔修改账号密码安装软件创建站点上传程序创建多个链接网站组成 一、服务器 什么是服务器? 我…

25台服务器怎样支撑世界第54大网站

StackOverflow是一个IT技术问答网站&#xff0c;用户可以在网站上提交和回答问题。当下的StackOverflow已拥有400万个用户&#xff0c;4000万个回答&#xff0c;月PV5.6亿&#xff0c;世界排行第54。然而值得关注的是&#xff0c;支撑他们网站的全部服务器只有25台&#xff0c;…

华为云网站解析

来源&#xff1a;微信公众号「编程学习基地」 文章目录配置网站解析&#xff08;华为云注册域名&#xff09;操作流程步骤一&#xff1a;查看域名步骤二&#xff1a;为域名添加A记录集步骤三&#xff1a;为子域名添加A记录集配置网站解析&#xff08;华为云注册域名&#xff0…

码支付如何对接网站_扫码支付解决新方案——自助设备优先

前几天和朋友一起出去,在一个小摊贩哪里买东西,由于摊主的年纪较大,暂时不会弄二维码收款,我们出门又没带现金,所以我们只好到附近的自助售卖机上面去买饮料了。出乎意料的是附近的自助售卖机上面,竟然不支持二维码支付,还保留纸币和硬币的支付方式。小编很是吃惊!那么今天小编…

ourphp傲派企业建站系统如何对接短信功能?

OURPHP 可以快速、安全的开启一个大气、功能强大的企业网站,它不但可以帮助您的企业树立形象,还可以实现在您自已的官方网站上展开电子商务。OURPHP理论上支持创建世界上所有国家语言的网站&#xff0c;那么电商平台的短信功能如何接入呢&#xff1f;今天我们来分享下。 插件说…

python在线开发网站_Django开发在线教育网站1

Django的基本结构 现在&#xff0c;我们在使用Python进行网站开发的过程中&#xff0c;不可避免地会使用到Django框架&#xff1b;我们将从一个项目实战出发来熟悉Django整个开发的流程&#xff1b;便于让大家在项目开发的过程中&#xff0c;深入地理解Django的使用&#xff0c…

基于javaweb的黑马旅游网站来源_宁波成“春节旅游过年”黑马城市 这十个景区最热门...

用旅游的方式过年已成为新年俗&#xff0c;哪些城市是今年旅游过年的"黑马"&#xff1f;据携程最新发布的数据显示&#xff0c;宁波上榜“2020年旅游过年十大国内黑马城市”。同时入选的城市还有&#xff1a;丽水、福州、汕头、腾冲、宁蒗、兰州、长沙、沈阳。宁波为…