【TiDB 4.0 PCTA 学习笔记】- 301+3.1.1 TiDB Cluster Monitoring(本地化部署的 TiDB 集群监控)@ 1班+付志强

课程名称:301+3.1.1 TiDB Cluster Monitoring(本地化部署的 TiDB 集群监控)

学习时长:40分钟

课程收获:了解本地化的集群监控情况。

课程内容:

讲师:马靖钰

1、 TiDB监控系统架构
TiDB的监控框架是使用了两个开源项目:Prometheus和Grafana
Prometheus是监控和告警工具,使用时序数据库保存监控数据。TiDB集群将监控数据保存在Prometheus中。
Grafana是可视化分析工具,它可以将Prometheus中的数据展示为漂亮的图表。

组件介绍
Prometheus:开源监控系统和时序数据库
Grafana:可视化分析工具
Alter_Manager:从Prometheus获取监控规则,并在需要时报警,根据配置发送邮件、slack、SMS等。
Pushgateway:从各TiDB组件收集监控数据,并将监控数据提供给Prometheus
Node_exporter:收集硬件相关的监控数据,并将监控数据提供给Prometheus
Blackbox_exporter:收集网络相关的监控数据,并将监控数据提供给Prometheus

2、 Grafana:监控可视化系统的初步了解
Grafana展示的图表是实时刷新,面板名称,时间范围

Overview面板:
当查看TiDB的运行状态时,overview面板提供了足够的信息。
分为五个标签:
Service Port status:展示所有组件的运行状态,左边为绿色代表各组件运行正常。若右边出现红色,则代表组件出现异常。
PD:做管理工作,比如:提供TSO。此标签可以查看region的调度信息。
TiDB:TiDB集群的运算节点,此标签不仅展示性能总体表现,也会展示与tikv、PD的性能表现。还会展示内存和锁相关的信息。
TiKV:是存储节点,此标签展示存储相关的性能表现,也包括coprocessor状态信息。
System Info:从操作系统层面展现运行情况,如CPU,内存,IO等。

Service Port status
展示所有组件的运行状态,进行健康检查。
Service UP:绿色代表正常,红色代表异常。

PD
主要展示region的调度信息,以及PD的响应信息。
Current storage size
Number of Regions:Region的数量
99% completed_cmds_duration_seconds:99%的请求的完成时间都 在某个时间内。
Region health:Region的健康信息。
Hot write/read region’s leader distribution:展现向一个Region进行读写的热点情况。

	PD role:代表当前是什么角色,Leader 或者 follower

TiDB面板:
主要展示性能相关的信息,会与所有组件建立连接,此面板也包含与客户端、TiKV、PD的连接信息。展示整体的性能情况。
Statement OPS:展示Statement级别的速度。
Duration:指客户端发送请求到接收请求的时间。
Connection Count:TiDB实例接收到的总的连接数量
PD TSO Wait Duration:PD请求的效率
Lock Resolve OPS:清理锁的数量。

TiKV面板
展示Region、Coprocessor和Raft的信息。包含存储相关的信息
Leader&Region:展示每个tikv节点的Leader/regions的数量。主要是查看分布是否均衡。
CPU:每个CPU的使用情况。
Server report Failure:Server的错误情况。
Scheduler pending commands:每个tikv上正在pending的情况。

System Info面板:
展示整个集群的硬件配置情况。
CPU和内存配置,CPU使用率,内存使用率,网络使用情况,IO情况。

3、 TiDB告警系统
告警管理
Prometheus中根据预设的规则配置文件,定义除报警规则和报警级别。Alert Manager根据报警规则,结合配置的邮件、短信发送相应的报警信息。
Prometheus中的规则配置;Alert Manager的报警配置

告警规则
告警规则配置在Prometheus中,配置文件位于/deploy/conf中。
报警级别
Emergency:严重的错误出现,要引起重视,迅速排查解决。
Critical:调查对系统的影响,制定解决方案。
Warning:提醒系统中有报错。

告警规则定义文件
Tikv.rules.yml,Tikv.accelerate.rules.yml,Tiflash.rules.yml,Tidb.rules.yml,Ticdc.rules.yml,pd.rules.yml,node.rules.yml,lightning.rules.yml,kafka.rules.yml,bypass.rules.yml,blacker.rules.yml,binlog.rules.yml

发送报警
发送报警需要配置alertmanager.yml文件,此文件位于/deploy/config目录下

学习过程中遇到的问题或延伸思考:

  • 问题 1:
  • 问题 2:
  • 延伸思考 1:
  • 延伸思考 2:

学习过程中参考的其他资料