监控报警平台

1.安装Prometheus

Prometheus(普罗米修斯)是一个系统和服务的监控系统。它以在给定的时间间隔从配置的目标收集指标数据,评估规则表达式,显示结果。并可以在观察到指定条件时触发警报。Prometheus 于 2016 年加入云原生云计算基金会(CNCF),成为继 kubernetes 之后的第二个项目,是当下容器监控的主流方案。

Prometheus是由 go 语言编写而成,采用 pull 方式获取监控的数据信息,并提供了多维度的数据模型和灵活的查询接口。Prometheus 不仅可以通过静态文件配置监控对象,还支持自动发现机制,能够通过 Kubernetes,Consul,DNS等多种方式动态获取监控对象。在数据采集方面,借助 go语言的高并发特性,单机Prometheus 可以采集数百个节点的监控数据;在数据存储方面,随着本地时序数据库的不断优化,单机 Prometheus 每秒可以采集一千万个指标,如果需要存储大量的历史监控数据,则还支持远端存储。

来看看它的架构及其一些生态系统组件:

下面我们来安装一下:

1.下载地址:

https://prometheus.io/download/

2.上传到服务器并解压:

tar -zxvf prometheus-2.29.1.linux-amd64.tar.gz

3.文件夹名字太长,重命名一下:

mv prometheus-2.29.1.linux-amd64 prometheus-2.29.1

4.启动prometheus:

cd prometheus-2.29.1
./prometheus --config.file="/data/prometheus/prometheus-2.29.1/prometheus.yml" &

5.检测是否启动成功:

//有以下三种方式可以检测
//1.查看端口情况
ss -naltp |grep 9090
//2.curl命令查看
curl http://localhost:9090/
//3.浏览器访问
http://公网ip:9090/

2.安装Grafana

Grafana 是一个可视化面板,用来搭配 Prometheus 使用。有着非常漂亮的图表和布局展示;功能齐全的度量仪表盘和图形编辑器;支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB等等作为数据源;还可以设置钉钉、邮件报警。

1.wget方式下载安装包:

wget https://dl.grafana.com/oss/release/grafana-8.1.2-1.x86_64.rpm

2.安装rpm包:

sudo yum install grafana-8.1.2-1.x86_64.rpm

3.启动grafana:

service grafana-server start

4.访问grafana网址:

//初始账号密码:admin/admin
http://公网ip:3000/

3.监控服务器各项指标

这一步需要利用 node_exporter ,它用于服务器各项指标的监控,是一个使用Go语言编写的收集器。

1.下载node_exporter:

wget https://github.com/prometheus/node_exporter/releases/download/v1.2.2/node_exporter-1.2.2.linux-amd64.tar.gz

2.解压:

tar -zxvf node_exporter-1.2.2.linux-amd64.tar.gz

3.由于文件名太长,改个名:

mv node_exporter-1.2.2.linux-amd64 node_exporter

4.赋予执行权限:

chmod 777 /data/prometheus/node_exporter/node_exporter &

5.后台运行:

nohup ./node_exporter  --web.listen-address=":9100"&

6.检测是否运行成功:

ss -naltp |grep 9100

7.修改prometheus的配置文件,增加如下配置

  - job_name: '节点名称'
    static_configs:
      - targets: ['机器ip:9100']

8.杀掉原prometheus服务,重新启动,让配置生效:

pkill prometheus

./prometheus --config.file="/data/prometheus/prometheus-2.29.1/prometheus.yml" &

9.访问prometheus网址,可以看到,已经检测到刚添加的节点已经处于up状态:

10.在grafana中添加prometheus数据源:

11.grafana提供了面板生态,上面有一些开箱即用的模版。我们可以直接拿来用,不用自己去配置自定义面板:

https://grafana.com/grafana/dashboards?search=node_exporter

搜索node_exporter,这里我们选第一个,拿到对应的id:8919

导入dashboard模版,id:8919

到这一步面板就添加好了,进入面板就可以看到如下花里胡哨的监控大盘:

其他:除了监控服务器的各项指标,也可以监控mysql、es、redis等等中间件。只需要去下载安装对应的收集器即可。

当然也可以整合 springboot 监控 jvm 的各项指标,这里就不详细讲如何操作了,感兴趣的话可以自行学习,我有空的时候再补充一下,不懂的地方可以私聊我。效果如下图所示:

4.钉钉报警

接下来我们就来讲讲:如何设置内存达到一定阀值时进行钉钉报警吧。

  1. 首先找到你要接收报警的钉钉群,添加一个机器人:

2.将webhook的url地址复制出来,在 grafana 控制台,左边栏”Alerting“模块,新建一个通知渠道。

3.新建一个自定义的dashboard和panel ,进入编辑模式

先填入计算内存百分比的PromQL,然后配置报警规则后保存

4.到这里警报就配置完了,开启警报后,当内存使用达到百分之70以上时就会收到钉钉机器人的报警了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会飞的架狗师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值