【企业监控应用实战笔记】

使用环境

操作系统,CentOS Linux 7 (Core) hostnamectl

prometheus+grafana+alertmanager

prometheus

Prometheus是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF托管的项目,在kubernetes容器管理系统中,通常会搭配prometheus进行监控,同时也支持多种exporter采集数据,还支持pushgateway进行数据上报,Prometheus性能足够支撑上万台规模的集群。

  1. promethus ,使用docker安装;
docker run --restart=always --name prometheus -d -p 9090:9090 \
 -v /docker/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
 -v /docker/prometheus/node_exporter_rules.yml:/etc/prometheus/node_exporter_rules.yml \
 prom/prometheus

2.prometheus.yml 配置文件;

global:
  scrape_interval:     15s
  evaluation_interval: 15s
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      - 192.168.0.133:9093
rule_files:
  - "/etc/prometheus/node_exporter_rules.yml"
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']
  - job_name: 'Liunx'
    static_configs:
    - targets: ['192.168.0.111:9100','192.168.0.133:9100']
  - job_name: 'docker'
    static_configs:
    - targets: ['192.168.0.133:9200','192.168.0.111:9200']

  1. node_exporter_rules.yml 监控主机 配置文件
# 服务器资源告警策略
groups:
- name: "服务器资源监控"
  rules:
  - alert: "内存使用率过高"
    expr: (node_memory_Buffers_bytes+node_memory_Cached_bytes+node_memory_MemFree_bytes)/node_memory_MemTotal_bytes*100 > 30
    for: 1m  # 告警持续时间,超过这个时间才会发送给alertmanager
    labels:
      severity: "critical"
    annotations:
      summary: "{{ $labels.instance }} 内存使用率过高,请尽快处理!"
      description: "{{ $labels.instance }}内存使用率超过30%,当前使用率{{ $value }}%."

安装grafana

Grafana 官方是这么介绍 Grafana 的:grafana是用于可视化大型测量数据的开源程序,他提供了强大和优雅的方式去创建、共享、浏览数据。dashboard中显示了你不同metric数据源中的数据。

Grafana 官方还对 Grafana 的适用场景以及基本特征作了介绍:

grafana最常用于因特网基础设施和应用分析,但在其他领域也有机会用到,比如:工业传感器、家庭自动化、过程控制等等。
grafana有热插拔控制面板和可扩展的数据源,目前已经支持Graphite、InfluxDB、OpenTSDB、Elasticsearch。

docker安装grafana

docker run -d --restart=always --name=grafana -p 3000:3000 grafana/grafana

访问地址:http://$ip:3000
初始 用户名密码 admin admin
设置新密码 123456

node_exporter 主机 仪表盘id: 8919 || 9276
google/cadvisor 窗器 仪表盘id: 193

安装主机采集器 node_exporter

https://prometheus.io 去下载 node_exporter-1.5.0.linux-amd64.tar.gz

tar zxvf node_exporter-1.5.0.linux-amd64.tar.gz
# vi /usr/lib/systemd/system/node_exporter.service
[Unit]
Description=node_exporter
[Service]
ExecStart=/safe/node_exporter/node_exporter
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[install]
WanteBy-multi=user.target

设置 node_exporter开机启动

systemctl daemon-reload             -- 加载系统配置
systemctl start node_exporter        
systemctl enable node_exporter

安装窗口采集器 cadvisor

docker run \
-v=/:/rootfs:ro \
-v=/var/run:/var/run:rw \
-v=/sys:/sys:ro \
-v=/var/lib/docker/:/var/lib/docker:ro \
-v=/dev/disk/:/dev/disk:ro \
-p=9200:8080 \
--detach=true \
--name=cadvisor \
--restart=always \
google/cadvisor 

安装告警 alertmanager

# vi /usr/lib/systemd/system/alertmanager.service
[Unit]
Description=alertmanager
[Service]
ExecStart=/safe/alertmanager/alertmanager --storage.path="/safe/alertmanager/data/" --config.file=/safe/alertmanager/alertmanager.yml
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[install]
WanteBy-multi=user.target

alertmanager.yml

global:
  resolve_timeout: 5m #每5分钟检测一次是否恢复
  # smtp配置
  smtp_from: "945389565@qq.com" # 发送邮件主题
  smtp_smarthost: 'smtp.qq.com:25' # 邮箱服务器的SMTP主机配置
  smtp_auth_username: "945389565@qq.com" # 登录用户名
  smtp_auth_password: "hxvpujmyivafbegb" # 此处的auth password是邮箱的第三方登录授权密码,而非用户密码,尽量用QQ来测试。
  smtp_require_tls: false # 有些邮箱需要开启此配置,这里使用的是163邮箱,仅做测试,不需要开启此功能。
route:
  group_by: ['alertname']
  group_wait: 5s
  group_interval: 5s
  repeat_interval: 24h
  receiver: 'email'
receivers:
- name: 'email'
  email_configs:
  - to: '857423357@qq.com'
    send_resolved: true
inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
    equal: ['alertname', 'dev', 'instance']

访问地址 http://ip:9093
设置alertmanager 开机启动

systemctl daemon-reload             -- 加载系统配置
systemctl start alertmanager        
systemctl enable alertmanager        

创建一个表格

一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

Prometheus常用告警规则rules.yml
https://blog.51cto.com/u_64214/6080565

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值