MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 精选文章 / 正文

prometheus搭建

2024-12-13 13:36 huorong 精选文章 7 ℃ 0 评论

本人最近学习了prometheus监控,把自己的学习心得与痛苦分享一下,我身为网工不喜欢描述背后逻辑是什么,只关注如何搭建与使用;以下我自己总结的学习路程:
1、prometheus部署

2、监控设备

3、PromQL数据使用

4、告警规则设置

5、报警媒介安装

6、细节优化与群集部署等

环境部署:

系统版本:Linux host1 3.10.0-957.el7.x86_64

prometheus版本:prometheus-2.49.0-rc.1.linux-amd64.tar.gz【官网下载:https://prometheus.io/download/

告警插件版本:alertmanager-0.26.0.linux-amd64.tar.gz【官网下载:https://prometheus.io/download/

安装包自行下载,不再讲述,如有问题,关注私信我

一、安装prometheus

自行下载安装包,解压缩并将目录移动至:/usr/local/prometheus-2.49.0

创建启动程序:/usr/lib/systemd/system/prometheus.service

--------------------------------------------------------------

[Unit]

Description=Prometheus

After=network.target

[Service]

Type=simple

ExecStart=/usr/local/prometheus-2.49.0/prometheus --config.file=/usr/local/prometheus-2.49.0/prometheus.yml --storage.tsdb.path=/usr/local/prometheus-2.49.0/server/data --storage.tsdb.retention.time=120d --web.enable-lifecycle Restart=on-failure

[Install]

WantedBy=multi-user.target

--------------------------------------------------------------

systemctl start prometheus 启动prometheus服务

systemctl enable prometheus 设置为开机自启

启动成功后会监听9090端口;打开网站:localhost:9090 即可


二、监控设备

监控设备主要讲解一下如何监控linux主机,下一篇文章会分享如何监控网络设备;

监控linux主机主要采用node_exporter插件,在官网上自行下载即可https://prometheus.io/download/ 所使用的版本为:node_exporter-1.7.0;

1、自行下载安装包;解压并将目录移动至:/usr/local/node_exporter-1.7.0 并启动node

2、vim /usr/local/prometheus-2.49.0/prometheus.yml 修改prometheus配置文件

添加最后几行内容,代表监控了一台主机;

systemctl restart prometheus 重启prometheus服务

三、PromQL数据使用

无法进行一一展示,PromQL可以理解为一个数据库,保存着监控主机的所有数据,通过特定的查询函数读取自己想要的数据并进行前端展示、告警规则的配置等。这个无需安装的,部署完prometheus并监控主机后就会出现数据。

案例:

node_memory_MemFree_bytes/1024/1024 查询内存并将单位从字节转?为Mb

node_memory_MemFree_bytes/1024/1024 > 1 查询出内存并进行判断,大于1G进行报警

更多的案例参考:https://zhuanlan.zhihu.com/p/585753299 或者私信关注我进行交流


四、告警规则设置

在/usr/local/prometheus-2.49.0/目录下创建一个rulers的目录;在此目录下创建*.yml文件用来定义告警规则。

修改vim /usr/local/prometheus-2.49.0/prometheus.yml 配置文件;如下修改:

rule_files:用来指定告警文件存放目录

alerting:用来指定告警服务器

vim /usr/local/prometheus-2.49.0/rulers/node_exporter.yml 简单的参考案例

---------------------------------------------------------------

groups:

- alert: 磁盘inode使用率告警

expr: 100 - (node_filesystem_files_free{job="node_exporter",fstype=~"ext4|xfs"} / node_filesystem_files{job="node_exporter",fstype=~"ext4|xfs"}) * 100 > 80

【这里的语句就是通过PromQL查询语句实现的,在prometheus前端也可以这样查询】

for: 15m

labels:

severity: critical

opsalertname: 磁盘inode使用率告警

annotations:

summary: "磁盘Inode告警"

description: | Inode使用: {{ $value | humanize }} %, 大于告警阈值80%

---------------------------------------------------------------

五、报警媒介安装

linux-alertmanager.zip 需要此安装包,如有需要关注私信我;

解压并移动目录至/usr/local/prometheus-linux 改名prometheus-linux

添加执行权限:chmod +x PrometheusAlert

在/usr/local/prometheus-linux目录下 ./PrometheusAlert 运行

网址:http://192.168.93.141:8080/ 登录账号和密码:prometheusalert/prometheusalert

配置钉钉告警:需要在钉钉创建群组(一定要加入到相应的公司才可以) 在群里设置中有个机器人打开后Webhook有个这个,连接复制出来;

vim /usr/local/prometheus-linux/conf/app.conf 找到如图行,将webhook的链接添加到最后

告警测试:

六、细节优化与群集部署等

此功能我还在学习当中,对于一个新学者来说,前几条做到了,个人觉得才算入门

后期:配置文件细节优化、群集部署、自动发现、是否需要部署数据库等

有兴趣的私信关注我,一起交流学习。

Tags:prometheus安装

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言