grafana初级入门
预备知识
Metrics、Tracing和Logging的区别
监控、链路追踪及日志作为实时监测系统运行状况,这三个领域都有对应的工具和解决方案。
Metrics 监控指标的定义,特征是它们是可聚合的:它们是在一段时间内组成单个逻辑指标、计数器或直方图的原子项。
Logging 日志的定义,特征是它处理离散事件。
Tracing 它定义,特征是它处理请求范围内的信息--任何可以绑定到系统中单个事务对象的生命周期的数据或元数据。
详细参考文档。
监控系统
白盒监控
通过了解系统内部来预测实际运行情况,预测和实际是否一致。预判可能出现的问题。
黑盒监控
在系统或者服务在发生故障时能够快速通知相关的人员进行处理。
度量指标 Metrics
- 计量器(Gauge):瞬间状态。例如:内存使用,CPU占用等。
- 计数器(Counter):累计型的度量指标。它是一个只能递增的数值。例如:服务请求数。
- 直方图(Histogram):对观察结果进行采样。通常是请求持续时间或者响应耗时这样的数据。
- 汇总(Summary):对观察结果进行采样。除了可以统计采样值总和和总数,还能按照分位数统计。
当然,对数据思考的角度不同也还有其他的类别。常用的前3种。
合适的场景选择合适的指标。
什么是工具
没有它的时候,无所谓;有它的时候,也无所谓;
需要它的时候,就有所谓了。
grafana是什么
grafana是一个开源的UI界面解决方案。
grafana是一个开源的、仪表盘式的分析监控平台。
grafana是一个用于监控指标分析和图表展示的工具。
grafana支持多种数据源,如Elasticsearch, Influxdb, Graphite, Prometheus, AWS,Mysql等。
官网:https://grafana.com/grafana
关键词:
Visualize | 可视化 |
---|---|
Unify | 统一 |
Extend | 可扩展 |
Alert | 告警 |
Open | 全平台 |
Collaborate | 协作 |
一句话:将数据池中的数据展示给用户。
grafana能做什么
监控mysql状态
监控Node状态
监控redis状态
这3个需要前置promethues。有机会下次讲promethues。
对接mysql里面的数据 目前三消正在用的
grafana安装
这里是别人写的教程
这里是官方教程
建议不要install,包下载好后,直接找到grafana-server程序,然后执行./grafana-server &就可以了。
打开浏览器,输入IP+端口,3000为grafana的默认端口。
对接mysql数据
grafana直连mysql,数据可视化。
具体实操。
可扩展
6个关键词,重点写这一块。
插件:面板(Panel),数据源(Data Source),应用(app)
面板:和echarts类似,但是比echarts更灵活、易用
数据源:每一种数据源有不同的接入方式
应用:不太了解
数据源:分为数据库状态和数据库数据。
- 数据库状态:基本都能搞
- 数据库数据:有些不能搞。例如redis mongo,想想为什么?
自定义面板插件官方说明
自定义数据源插件官方说明
FAQ
- 同一个数据,不同人员看的角度不同,怎么办?
比如同一个数据,需要从A、B、C三个维度查看。展示的方式人的偏好也不同。
现在彩虹是做不到的。因为页面调整在他们手里。
grafana可以,使用者可以自由调整面板。
- 学习门槛怎样?
不高。会sql就可以,但是对sql还是有一定的要求。虽然grafana对每一种数据源的语法不同,但是它没有创造语法,仅是对数据库本身提供语法的封装,方便使用。
- 一个页面是否可以同时展示不同数据源的数据?
可以的。
- 一个dashboard是否可以同时展示不同数据源的数据?
不可以。
- 如果数据分布在2个不同的数据源,并且需要经常操作,不是很方便,怎么办?
可以前面放置promethues,将数据聚合,然后将promethues作为唯一数据源。
如果小规模使用,不建议这样做。数据经过了一次周转,降低了自由度。
思想
- 开放和自由,满足不同的需求
- 工欲善其事必先利其器
- 开发过程中引入工具,降低未来的修复成本