prometheus监控部署及告警

openeuler部署 

一、准备

3台主机(1台安装prometheus、1台安装grafana、1台安装模拟业务)

均关闭防火墙与上下文

二、部署

prometheus

安装

做链接命令

启动
[root@prometheus prom]# nohup prometheus --config.file=/usr/local/prom/prometheus.yml  &

并在后台运行

访问

grafana

安装

添加prometheus作为数据源

启动
systemctl enable --now grafana-server.service 

访问

初始用户密码默认admin/admin

设置中文

exproter监控

监控prometheus主机

安装

启动
[root@prometheus exproter]# nohup ./node_exporter &

在prometheus添加任务
[root@prometheus prom]# vim prometheus.yml 

重启prometheus
[root@prometheus prom]# killall prometheus

[root@prometheus prom]# nohup prometheus --config.file=/usr/local/prom/prometheus.yml  &

prometheus查看

拉取的参数查看

http://192.168.11.95:9090/metrics

grafana查看

也可添加新数据源

新建仪表盘

可使用模板文件

监控server服务端主机

使用exproter监控

添加prometheus新任务

端口对应

重启

grafana网页端

监控mysql服务 

下载mysql服务

启动mysql服务 

修改密码

使用exproter模拟版

创建连接密码本

启动

创建prometheus新任务

重启

grafana网页导入 mysql图标模板

结果

监控报警

网易邮箱

开启smtp服务

使用alertmanager

编写配置文件

启动

修改prometheus

添加警告规则

重启prometheus

查看规则是否正常加载

模拟故障

结果

钉钉告警

alertmanage 配置文件失效 启动不了 

curl -X POST "https://oapi.dingtalk.com/robot/send?access_token" \
-H "Content-Type: application/json" \
-d '{"msgtype":"markdown","markdown":{"title":"测试告警","text":"### 测试告警(告警)\n#### 详情:测试 关键词匹配"}}'

添加机器人

配置alertmanage

模板

启动 alertmanage

模拟故障

### 添加监控项 为了向Prometheus添加新的监控项,通常需要通过`ServiceMonitor`资源来定义目标服务。这允许Prometheus自动发现并抓取指定的服务端点数据[^1]。 对于具体的实例处理方式,可以依据实际部署环境调整配置文件中的路径和参数匹配规则。例如,在Kubernetes环境中,可以通过如下YAML模板创建一个针对特定应用的`ServiceMonitor`: ```yaml apiVersion: monitoring.coreos.com/v1 kind: ServiceMonitor metadata: name: example-app-monitoring spec: selector: matchLabels: app.kubernetes.io/name: "example-app" endpoints: - port: http-metrics interval: 30s ``` 上述代码片段展示了如何为带有标签`app.kubernetes.io/name=example-app`的应用程序设置每三十秒一次的数据收集频率。 ### 设置告警规则 告警功能由Alertmanager组件负责管理,其配置过程涉及两部分工作:一是编写告警规则表达式;二是安装与初始化Alertmanager本身。 告警规则一般保存在一个`.rules.yml`类型的文件里,并通过命令行工具提交给Prometheus服务器解析执行。下面是一个简单的CPU利用率过高触发警告的例子: ```yaml groups: - name: example.rules rules: - alert: HighCpuUsage expr: rate(process_cpu_seconds_total[5m]) > 0.9 for: 10m labels: severity: page annotations: summary: "High CPU usage on {{ $labels.instance }}" description: "{{ $labels.instance }} has had high cpu usage (>90%) for more than 10 minutes." ``` 这段脚本会持续监测系统内所有进程在过去五分钟内的平均CPU占用率,一旦超过预设阈值即发出通知[^2]。 至于Alertmanager本身的搭建,则可通过kubectl命令直接加载预先准备好的manifest文件实现自动化部署操作: ```bash kubectl apply -f alertmanager/ ``` 此指令将会按照目录下所有的资源配置清单依次创建对应的Kubernetes对象,从而完成整个告警系统的构建。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值