prometheus+grafana 对于现在这个时间点来说,相信很多同行都应该已经开始玩起来了,当仍然可能有一部分人可能还不知道prometheus+grafana 的存在,也可能还有一部分人虽然知道它的存在,但却懒于动手,如果是这样,那后面的内容你可得打起精神来了,因为可能你会被grafana炫酷的视觉效果惊艳到。
让我们一起了解一下吧。
首先,简单介绍下prometheus+grafana 这对鸳鸯到底是什么:
prometheus 是由 SoundCloud 开发的开源监控报警系统和时序列数据库(TSDB),prometheus是一个监控采集与数据存储框架(监控server端),具体采集什么数据依赖于具体的exporter(监控client端),例如:采集MySQL的数据需要使用到mysql_exporter,prometheus调用mysql_expoter采集到mysql的监控指标之后,把mysql_exporter采集到的数据存放到prometheus所在服务器的磁盘数据文件中保存。它的各个组件基本都是用 golang 编写,对编译和部署十分友好.并且没有特殊依赖,基本都是独立工作。以下是prometheus架构图(图片来源:https://prometheus.io/docs/introduction/overview/)
grafana是一个高颜值的监控绘图程序,也是一个可视化面板(Dashboard),grafana的厉害之处除了高颜值,还支持多种数据源(支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源)、支持灵活丰富的dashboard配置选项(例如:可以把多个实例的相同采集项配置在一个展示框里),使得相较于其他开源监控系统来说更易用性,学习成本更低。从视觉上来说,比以往的任何开源的监控系统都看起来要养眼很多,下面先看两张监控效果图:
相信审美还算正常的人都不会说上面两张图很丑吧,那么问题来了,我们该如何玩起来呢?下面就简单为大家介绍如何快速搭建起来!
这里方便演示过程,我们准备了如下两台测试服务器
-
prometheus+grafana server端主机:10.10.30.165
-
MySQL 客户端主机:10.10.20.14
1、安装prometheus
1.1. 下载安装包
对于prometheus,假设我们需要监控MySQL,那么我们需要下载至少3个组件,如下:
-
prometheus程序包
-
node_exporter:监控主机磁盘、内存、CPU等硬件性能指标的采集程序包
-
mysql_exporter: 监控mysql各种性能指标的采集程序包
下载链接(该页面始终只有一个最新版本):https://prometheus.io/download/
-
下载prometheus
-
下载node_exporter
-
下载mysqld_exporter
-
PS:如果你还需要配置监控告警,需要下载alertmanager程序包
1.2. 解压程序包
解压prometheus
[root@localhost ~]# mkdir /data
[root@localhost ~]# tar xvf