一、背景

由于各个服务日志格式不统一,导致现在添加日志监控,在数据收集方面比较困难,因此需要对日志格式进行统一

二、涉及的平台、技术等

Grafana平台地址 账号:admin,密码:Okay@123

metrics举例

Prometheus-webUI(这是公司的不写地址了)

Prometheus学习文档

grafana学习文档

grafana官网地址
在这里插入图片描述

1.k8s基础的知识

在这里插入图片描述
deployment:pod依据deployment的yaml文件来进行创建
pod:k8s中最小的单位,pod中有容器,容器中部署我们的业务代码
svc:负责容器内部流量的转发
健康检查:liveness存活检查,也就是看容器是否健康,如果检查失败,将杀死容器,根据Pod的重启策略来操作;Readiness就绪检查,也就是看服务是否能正常请求,如果失败,容器的Ready将为False,流量将不会调度此pod,直到下次请求成功

2.Prometheus监控

2.1、prometheus简介:
Prometheus 是由 SoundCloud 开源监控告警解决方案。

2.2、架构原理:
1.通过配置exporters(是一个agent)来监听需要监控的服务

2.通过在deployment中配置标签,来自动发现需要监控的服务

3.以上2点结合起来,通过url:域名:端口/metrics可以访问到具体获取到的数据

4.prometheus每隔规定时间去访问/metrics来获取数据,并将数据存入硬盘

5.根据配置时规定的报警规则,触发报警条件后,就通知alertmanager来进行发送报警

6.获取到的数据,在Grafana平台通过指定的规则,以图表的方式给展示出来

3.Grafana平台

3.1、grafana简介:
Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。

3.2、模板样式
模板样式可以根据自己的需要,在官网中进行选择,如下图,搜索mysql,将展示各种符合mysql监控的模板
在这里插入图片描述
3.3、展示数据
通过PromQL(Prometheus Query Language 是 Prometheus 自己开发的数据查询 DSL 语言),来检索出需要的数据,例如:
在这里插入图片描述
表示,在每分钟内,pod名称为$pod,返回code不等于200的数量

三、功能展示

1.服务数据相关监控,如总请求数趋势图、错误数趋势图、平均响应时间趋势图等等
在这里插入图片描述
2.服务探活功能

探活机制:每隔5秒访问服务域名,如果访问不同,则判定为服务异常,这时Grafana监控中相关数据变为红色(绿色为服务正常时的颜色),如下:
在这里插入图片描述
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐