开启左侧

ptomrtheus监控系统实际,完成企微机器人预警

[复制链接]
在线会员 9W9 发表于 2022-12-30 14:43:12 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
目次
对于prometheus架构
prometheus HA 布置
涉及组件及版原
装置包获得路子
alertmanager布置
grafana布置
nginx布置

近来正在从头成立公司的监控体系,比照了今朝的监控的体系,根底资本背使用至多的依旧是zabbix,并且版原也不竭正在革新,另有的话,即是近来刚刚出了v5版原的夜莺,以前也有调研过,后者今朝也撑持prometheus动作数据源。
终极挑选了prometheus的话,也是因为时间比力慢,公司的近况的话,也比力适宜用prometheus,以是根底资本、端心、使用层的一点儿监控用prometheus干,告警的话,开端方案用企业微疑机械人完毕,后绝能够加之邮件告警。
除prometheus的话,另有即是apm监控了,比照了skyworing、pinpoint、cat后,方案用pinpoint去完毕,那个前面的文章会干具体的介绍。
另有的话,即是用elk汇集日记,前面后对于ng的一点儿恳求照应干监控,后真个一点儿日记非常报错,也会干监控。
以前调研并实践过的夜莺v5版原:
ptomrtheus监控体系实践,完毕企微机械人预警-1.png


对于prometheus架构

最开端的设法的话,是方案干联邦散群,而后用victoriametrics,但是前面预算了下使用质,实际上是用没有到的。
最初的一个设法是如许的:
ptomrtheus监控体系实践,完毕企微机械人预警-2.png


最初实践的时候,实在不如许干,按照理论的场景,实际上是干了一个HA,以下图:
ptomrtheus监控体系实践,完毕企微机械人预警-3.png


prometheus的话,前面也是这样布置的,而后对于一点儿收罗agent,另有后绝的一点儿告警啥的,能够瞅下图:
ptomrtheus监控体系实践,完毕企微机械人预警-4.png


prometheus HA 布置

涉及组件及版原
  1. prometheus 2.36.0nginx 1.6.2alertmanager 0.24.0grafana 8.5.3
复造代码
装置包获得路子
  1. prometheus:https://github.com/prometheus/prometheus/releases/download/v2.36.1/prometheus-2.36.1.linux-amd64.tar.gzalerthttps://github.com/prometheus/alertmanager/releases/download/v0.24.0/alertmanager-0.24.0.linux-amd64.tar.gzgrafanawget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.5.6-1.x86_64.rpmnginx
复造代码
prometheus布置
此中prometheus战alert接纳tar包装置,nginx接纳编译装置,grafana接纳rpm包装置,prometheus接纳systremctl办理。
布置的话,实在很简朴
  1. cd /datatar -xvf prometheus-2.36.0.linux-amd64.tar.gzmv prometheus-2.36.0.linux-amd64 prometheusmkdir -p /data/prometheus/{log,data}
复造代码
而后改正设置文献,能够瞅下今朝的设置文献,主要是涉及到job的设置,另有alert的设置,
  1. global:  scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.  # scrape_timeout is set to the global default (10s).alerting:  alertmanagers:    - static_configs:        - targets: ['192.168.200.9:9093']rule_files:  - "rules/*_rules.yml"  # - "first_rules.yml"  # - "second_rules.yml"scrape_configs:  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.  - job_name: "prometheus"    # metrics_path defaults to '/metrics'    # scheme defaults to 'http'.    static_configs:      - targets: ["192.168.x.x:9090","192.168.x.1:9090"]  - job_name: 'linux_base'    file_sd_configs:    - refresh_interval: 1m      files:      - config_exporter.json  - job_name: blackbox_tcp    scrape_interval: 1m    metrics_path: /probe    params:      module: [tcp_connect]      file_sd_configs:    - refresh_interval: 1m      files:      - config_port.json    relabel_configs:      - source_labels: [__address__]        target_label: __param_target      - source_labels: [__param_target]        target_label: instance      - target_label: __address__        replacement: 192.168.x.2:9115
复造代码
尔那边的node_exporter及blackbox exporter设置文献皆是挂正在里面,并且撑持冷革新
  1. config_exporter.json
  2. config_port.json
复造代码
具体设置能够参照:
  1. [  {    "targets": [ "192.168.x.x:9100"],    "labels": {      "env": "yw"    }  }]
复造代码
prometheus颠末systemctl办理
cat /usr/lib/systemd/system/prometheus.service
  1. [Unit]Description=PrometheusAfter=network.target[Service]Type=simpleEnvironment="GOMAXPROCS=4"User=rootExecReload=/bin/kill -HUP $MAINPIDExecStart=/data/prometheus/prometheus \  --config.file=/data/prometheus/prometheus.yml \  --storage.tsdb.path=/data/prometheus/data \  --storage.tsdb.retention=30d \  --web.console.libraries=/data/prometheus/console_libraries \  --web.console.templates=/data/prometheus/consoles \  --web.listen-address=0.0.0.0:9090 \  --web.read-timeout=5m \  --web.max-connections=10 \  --query.max-concurrency=20 \  --query.timeout=2m \  --web.enable-lifecyclePrivateTmp=truePrivateDevices=trueProtectHome=trueNoNewPrivileges=trueLimitNOFILE=infinityReadWriteDirectories=/data/prometheusProtectSystem=fullSyslogIdentifier=prometheusRestart=always[Install]WantedBy=multi-user.target
复造代码
树立佳后,需要沉置下
systemctl daemon-reload
alertmanager布置

tar -xvf alertmanager-0.24.0.linux-amd64.tar.gz
改正设置文献,因为是颠末企微疑机械人来告警的,是颠末python起了一个web效劳,而后设置了web hook去完毕
  1. route:  group_by: ['alertname']  group_wait: 30s  group_interval: 5m  repeat_interval: 1h  receiver: 'web.hook'receivers:  - name: 'web.hook'    webhook_configs:      - url: 'http://192.168.x.x:5000'inhibit_rules:  - source_match:      severity: 'critical'    target_match:      severity: 'warning'    equal: ['alertname', 'dev', 'instance']
复造代码
告警的话,大要是少如许:
  1. 【规复】消耗情况 blackbox_network_stats 有报警规复告警级别: critical 告警范例: blackbox_network_stats 告警主机: 192.168.x.x:9100 告警体系: ops 告警概略: This requires i妹妹ediate action! 告警形状: resolved 触收时间: 2022-06-16 11:05:48 +08:00 触收完毕时间: 2022-06-16 16:06:48 +08:00
复造代码
具体对于python效劳的那里便没有写了,后绝有需要可目前台留行。
grafana布置

那个的话,便很简朴了,间接rpm布置
  1. rpm -ivh grafana-8.5.3-1.x86_64.rpm
复造代码
grafana的话,更多的是一个仪容盘展示,那里减了node战blackbox的,网上有蛮多老练的例子,能够间接拿去用。
ptomrtheus监控体系实践,完毕企微机械人预警-5.png


nginx布置

主要是用去背载prometheus,另有即是一点儿组件的代办署理进来
编译装置便可。
如许的话,一套最根底的监控体系即是布置完了,并且完毕了颠末企业微疑机械人的告警,前面的话,是pinpoint的一个散群化布置、ELK的散群布置。
实在布置不过第一步,前面的一点儿使用才是主要的。
您需要登录后才可以回帖 登录 | 立即注册 qq_login

本版积分规则

发布主题
阅读排行更多+
用专业创造成效
400-778-7781
周一至周五 9:00-18:00
意见反馈:server@mailiao.group
紧急联系:181-67184787
ftqrcode

扫一扫关注我们

Powered by 职贝云数A新零售门户 X3.5© 2004-2025 职贝云数 Inc.( 蜀ICP备2024104722号 )