【知识】7.Prometheus-可视化工具Granafa介绍和
1. 摘要
Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。
本文介绍Grafana的安装,以及配合Prometheus完成MySQL数据库和主机节点的监控可视化实践。
2. Grafana的介绍
Grafana是一个用于可视化大型测量数据的开源系统,它的功能非常强大,界面也非常漂亮,使用它可以创建自定义的控制面板,你可以在面板中配置要显示的数据和显示方式,它支持很多不同的数据源,比如:Graphite、InfluxDB、OpenTSDB、Elasticsearch、Prometheus 等,而且它也支持众多的插件 。
Grafana软件有7大特点:
①可视化:快速和灵活的客户端图形具有多种选项。面板插件为许多不同的方式可视化指标和日志。
②报警:可视化地为最重要的指标定义警报规则。Grafana将持续评估它们,并发送通知。
③通知:警报更改状态时,它会发出通知。接收电子邮件通知。
④动态仪表盘:使用模板变量创建动态和可重用的仪表板,这些模板变量作为下拉菜单出现在仪表板顶部。
⑤混合数据源:在同一个图中混合不同的数据源!可以根据每个查询指定数据源。这甚至适用于自定义数据源。
⑥注释:注释来自不同数据源图表。将鼠标悬停在事件上可以显示完整的事件元数据和标记。
⑦过滤器:过滤器允许您动态创建新的键/值过滤器,这些过滤器将自动应用于使用该数据源的所有查询。
3.docker安装Grafana
Ubuntu下docker安装Grafana,命令如下:
cd /home/datadisk
mkdir grafana
cd grafana
docker run -d -p 3000:3000 --name=grafana -v grafana-storage:/var/lib/grafana grafana/grafana
安装后访问:
docker exec -it grafana /bin/sh
访问网页:http://114.67.107.227:3000/login
登录的默认密码为admin/admin,首次登录需要修改。
4. 添加Prometheus数据源
(1)添加之前安装的Prometheus的访问网址作为数据源。
(2)导入模板
使用编号导入模板,Grafana服务需要联网,否则需要到Grafana模板下载JSON文件导入。
说明:
- 主机监控展示看板Node-exporter导入 8919 模板
- 容器监控展示看板cadvisor-exporter导入193 模板
- 应用监控展示看板jmx-exporter导入8563 模板
- Redis监控展示看板Redis-exporter导入2751 模板
- 进程监控展示看板Process-exporter导入249 模板
- 相关mysql 状态监控7362:
更多模板登录官网查询:https://grafana.com/grafana/dashboards
查看Node-exporter的信息:
查看MySQL-exporter的信息
更多配置参考:https://www.jianshu.com/p/0d82c7ccc85a
5 . Grafana告警配置
(1) SMTP邮箱配置
/usr/share/grafana/conf/defaults.ini
修改邮箱相关的配置,例如下面。重启grafan系统。
#################################### SMTP / Emailing #####################
[smtp]
enabled = true
host = smtp.exmail.qq.com:25
user = help@artarva.com
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
password = """your password"""
;cert_file =
;key_file =
;skip_verify = false
from_address = help@artarva.com
from_name = Grafana
ehlo_identity =
startTLS_policy =
[emails]
welcome_email_on_sign_up = false
templates_pattern = emails/*.html
(2)配置通知邮箱
在grafana
点击"Test"按钮,目标邮箱如果收到Grafana测试邮件,则配置成功。
辉哥在采用163邮箱服务器时,该测试邮件被识别为垃圾邮件拒绝发了,更换为企业邮箱则成功了。
(3)告警配置
导入8919模板,想对内存,CPU和硬盘使用进行监控,但是发现编辑panel并没有页面的Alert的TAB页面。
关键字:Template variables are not supported in alert queries
分析:由于Prometheus告警不支持变量,而模板面板使用了大量变量,导致不可使用告警。
解决办法:单独配置个告警的视图,用正则匹配出所有的主机 或者 每台主机单独一个查询语句。
辉哥采用新建一个panel,然后采用每台机器单独一个查询语句的方式进行设置面板。
(1 - (node_memory_MemAvailable_bytes{instance="101.133.173.223:9102"} / (node_memory_MemTotal_bytes{instance="101.133.173.223:9102"})))* 100
然后切换到ALERT页面,设置好告警触发条件和之前配置的邮件通道。
当内存使用率超限时就可以收到告警邮件了。
6. 参考
(1) Prometheus + Granafa 构建高大上的MySQL监控平台【MySQL主备】
https://didispace-wx.blog.csdn.net/article/details/111828879
使用Prometheus和Grafana监控Mysql服务器性能
https://segmentfault.com/a/1190000007040144
(2) Grafana的介绍与使用
https://www.jianshu.com/p/0d82c7ccc85a
(3) Grafana可视化工具介绍
https://cloud.tencent.com/developer/article/1422917
(4) GRAFANA的介绍与使用
https://www.freesion.com/article/8352484243/
(5) 可视化工具Grafana:简介及安装
https://www.cnblogs.com/imyalost/p/9873641.html
(6) grafana官网
https://grafana.com/docs/
(7) 官网配置介绍
https://grafana.com/docs/grafana/latest/administration/configure-docker/
(8) grafana模板查找
https://grafana.com/grafana/dashboards
(9) Grafana告警配置并发送邮件
https://www.imooc.com/article/73338?block_id=tuijian_wz