Prometheus+Grafana搭建监控平台
作者 | 舒祝
来源 | 新钛云服(ID:newtyun)
转载请联系授权(微信ID:zlm935177782)
1、 安装Prometheus
目录:/usr/local
下载:wget https://github.com/prometheus/prometheus/releases/download/v2.13.0/prometheus-2.13.0.linux-amd64.tar.gz
解压:tar -zxvf prometheus-2.13.0.linux-amd64.tar.gz
创建软链接:ln -s prometheus-2.13.0.linux-amd64 prometheus
prometheus的默认配置文件prometheus.yml内容如下:
prometheus的启动很简单,可以直接启动解压目录的二进制文件prometheus即可,为了方便统一管理,这里使用systemd来启停prometheus,并指定数据统一存放目录。
创建数据存放目录:mkdir -p /data/prometheus
配置systemd来启停prometheus服务:vi /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/data/prometheus
Restart=on-failure
[Install]
WantedBy=multi-user.target
启动prometheus服务:systemctl start prometheus
查看prometheus的web页面,默认启动9090端口。
2、 安装Grafana
目录:/usr/local
下载:wget https://dl.grafana.com/oss/release/grafana-6.4.2.linux-amd64.tar.gz
解压:tar -zxvf grafana-6.4.2.linux-amd64.tar.gz
创建软链接:ln -s grafana-6.4.2 grafana
创建数据目录:mkdir -p /data/grafana
修改 /usr/local/grafana/conf/defaults.ini 文件,配置为上面新建的数据目录。
data = /data/grafana/data
logs = /data/grafana/log
plugins = /data/grafana/plugins
provisioning = /data/grafana/conf/provisioning
配置systemd来启停grafana服务:vi /etc/systemd/system/grafana.service
[Unit]
Description=Grafana
After=network.target
[Service]
Type=notify
ExecStart=/usr/local/grafana/bin/grafana-server -homepath /usr/local/grafana
Restart=on-failure
[Install]
WantedBy=multi-user.target
启动grafana服务:systemctl start grafana
grafana已经安装完毕。默认情况下,grafanar会启动3000端口,我们使用浏览器打开grafana页面,然后输入默认的账号密码 admin/admin登录。
添加数据源,把grafana和prometheus关联起来:
step4中填写安装prometheus的服务器ip地址,端口9090,之后点击save保存,完成数据源添加。
添加数据源之后,我们就可以针对这些数据来绘制图表了。grafana有大量的图表模板,我们只需要导入模板即可。下面对主机运行的一些数据进行采集展示。我们可以使用Node Exporter采集主机的运行指标如CPU, 内存,磁盘等信息。
3、 安装node exporter
目录:/usr/local
下载:wget https://github.com/prometheus/node_exporter/releases/download/v0.18.1/node_exporter-0.18.1.linux-amd64.tar.gz
解压:tar -zxvf node_exporter-0.18.1.linux-amd64.tar.gz
创建软链接:ln -s node_exporter-0.18.1.linux-amd64 node_exporter
直接启动/usr/local/node_exporter/node_exporter的文件,默认启动9100端口,去修改prometheus的配置文件prometheus.yml ,最后一行修改为 - targets: ['localhost:9100'],重启prometheus服务。
发现Prometheus的Targets已经改变。
现在我们可以导入模版进行数据的展示。可以去官网查找自己需要的模版:https://grafana.com/grafana/dashboards
Step2中输入模版ID,step3中选择之前添加的prometheus数据源。
最终效果图:
4、 邮件告警配置
Step3中选择Email方式,step5中收件邮箱可以添加多个使用英文逗号隔开即可。此时点击Send Test会弹出图上所示的错误,此时要去prometheus的conf下面配置
defaults.ini。
默认配置:
修改配置后:
user = ****** 邮箱用户
password =******* 邮件服务器登录密码
from_address = ******* 发送告警邮件的邮箱
from_name = Grafana 发送告警邮件的名称
重启grafana服务,再次尝试Send Test,发送成功,收件箱收到如下消息。
channel配置好了之后我们就可以添加alert了,当超过Alert阈值后邮箱就会收到邮件预警了。