一个监控体系的核心,prometheus完成对实例数据的收集、监控,grafana将收集的业务数据汇总成报表,最后有alertmanager根据不同的业务告警配置生成不同维度的告警,这可以就算是一个运维监控体系的核心功能了
tar xvfz prometheus-*.tar.gz
cd prometheus-*
//后台运行
./prometheus --web.listen-address=:19090 --config.file=prometheus.yml &
//停止
pkill prometheus
核心配置
#监控java服务
- job_name: "javaDemo"
metrics_path: "/actuator/prometheus"
static_configs:
- targets: ["127.0.0.1:5170"]
#其他服务
- job_name: "prometheus"
static_configs:
- targets: ["192.168.3.105:19090"]
grafana 图标展示//下载安装
wget https://packages.grafana.com/enterprise/rpm/grafana-enterprise-8.3.6-1.x86_64.rpm
yum install grafana-enterprise-8.3.6-1.x86_64.rpm
//启动服务
systemctl start grafana-server
//grafana命令帮助
grafana-cli -h / --help
grafana-cli --pluginsDir "/home/prometheus/grafana/plugins" plugins install plugin-id
alertmanager 告警通知[Unit]
Description=alertmanager
[Service]
ExecStart=/prometheus/alertmanager-0.23/alertmanager \
--config.file=/prometheus/alertmanager-0.23/alertmanager.yml
Restart=on-failure
[Install]
WantedBy=multi-user.target
./alertmanager --config.file=alertmanager.yml --web.listen-address=":19093"
//如果9094端口被占用,需要关闭集群模式
./alertmanager --web.listen-address=localhost:19093 --cluster.listen-address= \
#修改prometheus配置
alerting:
alertmanagers:
- static_configs:
- targets: ['localhost:9093']
rule_files:
- "/prometheus/alertmanager-0.23/rules/*.yml"
告警模板内容
groups:
- name: node-alert
rules:
- alert: 主机停止运行
expr: up{job="node_info"} == 0
for: 15s
labels:
severity: 1
nodename: "{{ $labels.app }}"
annotations:
summary: "{{ $labels.app }}已停止运行超过15s!"
description: ""
- alert: 主机内存使用率过高
expr: (1 - (node_memory_MemAvailable_bytes / (node_memory_MemTotal_bytes))) * 100 >90
for: 10s # 告警持续时间,超过这个时间才会发送给alertmanager
labels:
severity: warning
nodename: "{{ $labels.app }}"
annotations:
summary: "服务器实例 {{ $labels.app }}内存使用率过高"
description: "{{ $labels.app }}的内存使用率超过90%,当前使用率[{{ $value }}]."
- alert: 主机cpu使用率过高
expr: 100-avg(irate(node_cpu_seconds_total{mode="idle"}[5m])) by(instance)*100 >80
for: 1m
labels:
severity: warning
nodename: "{{ $labels.app }}"
annotations:
summary: "服务器实例 {{ $labels.app }} cpu使用率过高"
description: "{{ $labels.app }}的cpu使用率超过80%,当前使用率[{{ $value }}]."
- alert: 主机磁盘使用率过高
expr: 100 - node_filesystem_avail_bytes{fstype=~"ext4|xfs",mountpoint="/"} * 100 / node_filesystem_size_bytes{fstype=~"ext4|xfs",mountpoint="/"} >80
for: 1m
labels:
severity: warning
nodename: "{{ $labels.app }}"
annotations:
summary: "服务器实例 {{ $labels.app }} 磁盘使用率过高"
description: "{{ $labels.app }}的disk使用率超过80%,当前使用率[{{ $value }}]."
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧