[下篇] 搭建高级的性能监控系统(Prometheus+Grafana+Node Exporter+Alertmanager)

2023-11-30 16:11:50 浏览数 (1)

grafana

代码语言:javascript复制

docker stop grafanaserver
docker rm grafanaserver
docker run -i --restart=always 
--name grafanaserver 
-v /root/grafana/config/grafana.ini:/etc/grafana/grafana.ini 
-v /root/grafana/data:/var/lib/grafana 
-p 9001:3000 
-d grafana/grafana
 
 
 

/etc/grafana/grafana.ini

/etc/grafana/grafana.ini 是grafana的主要配置文件

代码语言:javascript复制

#内容太多,就不贴出来了,可自行启动容器拷贝一份出来进行修改,这里一般不修改
 
 
 

/var/lib/grafana

/var/lib/grafana是 grafana的持久化数据目录,需要从容器中映射出

温馨提示:这里需要把映射出来的数据目录修改最高权限,否则容器启动后将会出现无法访问的情况

代码语言:javascript复制

chmod 777 /root/grafana/data
 
 
 

9001:3000

9001:3000 内部端口为3000,我们映射到宿主机端口9001进行访问

访问登录页面需要输入账号密码,默认账号密码admin/admin

登录后,根据自己的需要我们设置一下系统的语言显示

再接着我们接入prometheus汇聚的数据源

仪表盘=>Connections=>Data sources

然后点右上角的Add data source ,然后选择第一个Prometheus作为数据源

填写上刚刚部署的Prometheus的地址,并设置为默认数据源,然后拉到最下面保存便接入完成了。

如果有其他特殊需求,填写相应设置即可。

然后接着导入面板,这里提供三个好看的面板,分别是8919,9276,11074

输入后点击Load既可加载面板

通过观察仪表盘,我们可以发现服务器中一些细微的问题,然后对其进行解决。

当然一些明显问题,直接通过观察健康值直接就可以分析出来。

alertmanager

这里是最后一个配置,当我们服务器出现异常警告的触发,这时候需要用到alertmanager进行邮件提醒,微信提醒,WebHook等等的推送操作,以便我们运维等人员及时发现并处理。

代码语言:javascript复制

docker stop alertmanagerserver
docker rm alertmanagerserver
docker run -i --restart=always 
--name alertmanagerserver 
-p 9002:9093 
-v /root/alertmanager/data:/alertmanager-data 
-v /root/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml 
-d prom/alertmanager --config.file=/etc/alertmanager/alertmanager.yml --storage.path=/alertmanager-data/
 
 
 

9002:9093

9002:9093 内部端口是9003,通过宿主机的9002进行访问或者代理访问

/alertmanager-data

/alertmanager-data 数据目录,持久化

/etc/alertmanager/alertmanager.yml

/etc/alertmanager/alertmanager.yml 是推送相关的配置

代码语言:javascript复制

global:
smtp_smarthost: mail.xxxxx.cn:587 #邮件服务器
smtp_from: noreply@xxxxx.cn #邮件发送者
smtp_auth_username: noreply@xxxxx.cn #账号
smtp_auth_identity: noreply@xxxxx.cn #账号
smtp_auth_password: xxxxxx #密码


route:
group_by: ['alertname']
receiver: 'default-receiver'


receivers:
- name: default-receiver
email_configs:
- to: xxxxx@qq.com #接收报警的邮箱
send_resolved: true


 
 
 

启动服务后,访问9002端口进行查看,如能进行访问,则部署成功。

接下来我们尝试关闭否个服务器的采集或者持续使用CPU利用率进行测试验证。

可以看到已经进入触发状态

当然此刻已经收到邮件的告警提示

至此!我们整个流程已经走完,运维人员、开发人员等人也要开始炸锅了。哈哈

那么当我们重新启动采集服务后,恢复正常

Q&A

这里将会总结归纳日常的解决方案(待更新)

0 人点赞