**
1、建立文件夹
**
mkdir system_monitor
将所有的文件放在该目录下
同理建立以下文件夹
**
2、建立配置文件
**
cd 到prometheus ,执行vim prometheus.yml,这个配置文件可以理解为总控制台,所有的告警模板,信息数据读取,全是这个文件在管控。写入配置文件如下
global:
scrape_interval: 15s
evaluation_interval: 15s
alerting:
alertmanagers:
- scheme: http
static_configs:
- targets:
- "172.17.0.5:9093" #这个是读取告警的信息端口,正常来讲是当前主机IP,但是我的不知道为啥访问不到,只能用docker inspect 容器ID查看真正的地址了
rule_files:
- "/etc/prometheus/rules/node_status.yml" #这个是集成在9090端口的报警配置,读取的系统信息,注意这个是容器里的地址,也就是说,不挂载容器外的路径,在容器里是没有这个文件的,所以访问不到
scrape_configs:
- job_name: 'loaclhost'
static_configs:
- targets: ['localhost:9090']
- job_name: '192.168.1.161'
static_configs:
- targets: ['192.168.1.161:9100']
然后 wq:保存退出
**
3、建立rules文件夹,,
**这是告警模板,在Prometheus rule_files 路径下可以看到,指向的就是这个文件,不过是容器中的。建立node_status.yml文件,写入配置如下:
groups:
- name: Node_Down
rules:
- alert: Node实例已宕机
expr: up == 0
for: 10s
labels:
user: root
severity: Warning
annotations:
summary: "Instance {
{ $labels.instance }} Down"
description: "{
{ $labels.instance }} 任务 {
{ $labels.job }} 挂了."
4、生成容器:
先生成数据监测端口9100的这个容器