使用docker部署grafana+prometheus配置
作者:runzhao 发布时间:2022-05-02 15:36:33
标签:docker,grafana,prometheus
docker-compose-monitor.yml
version: '2'
networks:
monitor:
driver: bridge
services:
influxdb:
image: influxdb:latest
container_name: tig-influxdb
ports:
- "18083:8083"
- "18086:8086"
- "18090:8090"
env_file:
- 'env.influxdb'
volumes:
# Data persistency
# sudo mkdir -p ./influxdb/data
- ./influxdb/data:/var/lib/influxdb
# 配置docker里的时间为东八区时间
- ./timezone:/etc/timezone:ro
- ./localtime:/etc/localtime:ro
restart: unless-stopped #停止后自动
telegraf:
image: telegraf:latest
container_name: tig-telegraf
links:
- influxdb
volumes:
- ./telegraf.conf:/etc/telegraf/telegraf.conf:ro
- ./timezone:/etc/timezone:ro
- ./localtime:/etc/localtime:ro
restart: unless-stopped
prometheus:
image: prom/prometheus
container_name: prometheus
hostname: prometheus
restart: always
volumes:
- /home/qa/docker/grafana/prometheus.yml:/etc/prometheus/prometheus.yml
- /home/qa/docker/grafana/node_down.yml:/etc/prometheus/node_down.yml
ports:
- '9090:9090'
networks:
- monitor
alertmanager:
image: prom/alertmanager
container_name: alertmanager
hostname: alertmanager
restart: always
volumes:
- /home/qa/docker/grafana/alertmanager.yml:/etc/alertmanager/alertmanager.yml
ports:
- '9093:9093'
networks:
- monitor
grafana:
image: grafana/grafana:6.7.4
container_name: grafana
hostname: grafana
restart: always
ports:
- '13000:3000'
networks:
- monitor
node-exporter:
image: quay.io/prometheus/node-exporter
container_name: node-exporter
hostname: node-exporter
restart: always
ports:
- '9100:9100'
networks:
- monitor
cadvisor:
image: google/cadvisor:latest
container_name: cadvisor
hostname: cadvisor
restart: always
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
ports:
- '18080:8080'
networks:
- monitor
alertmanager.yml
global:
resolve_timeout: 5m
smtp_from: '邮箱'
smtp_smarthost: 'smtp.exmail.qq.com:25'
smtp_auth_username: '邮箱'
smtp_auth_password: '密码'
smtp_require_tls: false
smtp_hello: 'qq.com'
route:
group_by: ['alertname']
group_wait: 5s
group_interval: 5s
repeat_interval: 5m
receiver: 'email'
receivers:
- name: 'email'
email_configs:
- to: '收件邮箱'
send_resolved: true
inhibit_rules:
- source_match:
severity: 'critical'
target_match:
severity: 'warning'
equal: ['alertname', 'dev', 'instance']
prometheus.yml
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).
# Alertmanager configuration
alerting:
alertmanagers:
- static_configs:
- targets: ['192.168.32.117:9093']
# - alertmanager:9093
# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
- "node_down.yml"
# - "node-exporter-alert-rules.yml"
# - "first_rules.yml"
# - "second_rules.yml"
# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
# IO存储节点组
- job_name: 'io'
scrape_interval: 8s
static_configs:#端口为node-exporter启动的端口
- targets: ['192.168.32.117:9100']
- targets: ['192.168.32.196:9100']
- targets: ['192.168.32.136:9100']
- targets: ['192.168.32.193:9100']
- targets: ['192.168.32.153:9100']
- targets: ['192.168.32.185:9100']
- targets: ['192.168.32.190:19100']
- targets: ['192.168.32.192:9100']
# The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
- job_name: 'cadvisor'
static_configs:#端口为cadvisor启动的端口
- targets: ['192.168.32.117:18080']
- targets: ['192.168.32.193:8080']
- targets: ['192.168.32.153:8080']
- targets: ['192.168.32.185:8080']
- targets: ['192.168.32.190:18080']
- targets: ['192.168.32.192:18080']
node_down.yml
groups:
- name: node_down
rules:
- alert: InstanceDown
expr: up == 0
for: 1m
labels:
user: test
annotations:
summary: 'Instance {{ $labels.instance }} down'
description: '{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 1 minutes.'
#剩余内存小于10%
- alert: 剩余内存小于10%
expr: node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 < 10
for: 2m
labels:
severity: warning
annotations:
summary: Host out of memory (instance {{ $labels.instance }})
description: "Node memory is filling up (< 10% left)\n VALUE = {{ $value }}\n LABELS = {{ $labels }}"
#剩余磁盘小于10%
- alert: 剩余磁盘小于10%
expr: (node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes < 10 and ON (instance, device, mountpoint) node_filesystem_readonly == 0
for: 2m
labels:
severity: warning
annotations:
summary: Host out of disk space (instance {{ $labels.instance }})
description: "Disk is almost full (< 10% left)\n VALUE = {{ $value }}\n LABELS = {{ $labels }}"
#cpu负载 > 80%
- alert: CPU负载 > 80%
expr: 100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m])) * 100) > 80
for: 0m
labels:
severity: warning
annotations:
summary: Host high CPU load (instance {{ $labels.instance }})
description: "CPU load is > 80%\n VALUE = {{ $value }}\n LABELS = {{ $labels }}"
告警:https://awesome-prometheus-alerts.grep.to/rules#prometheus-self-monitoring
官网仪表盘:https://grafana.com/grafana/dashboards/
来源:https://www.cnblogs.com/runzhao/p/15716274.html


猜你喜欢
- 7月11日消息,近日Google公布了一份网页统计报告,数据来源为Google索引的42亿个网页。网页的平均容量是320KB,(包含内嵌脚本
- IIS的安全验证机制做得很好,我们可以用ASP的安全验证来对windows 2000的管理者密码进行在线修改。当有人登录站点时,利用Serv
- 确切的说,第一次知道网络是在1999年的某一天。由于我生活在一个很偏僻的地方,那里很落后,所以知道1999年的某一天,一次偶然的机会得到一张
- 眼前,绝大部分电子商务网站玩的都是“寂寞”和“慈善”。平均推广一个新会员的成本远超过30元。“返钱”网站边搜集信息边贩卖“人口”,赚的是人头
- Godaddy主机用户怎样编辑新增的FTP用户呢?其实很简单的,你可以轻松地为Godaddy-Linux共享托管帐户或者运行IIS7的God
- 新手站长,做站前一定要明确自己的站点主题是什么,即要清楚自己的站大方向是什么。还是一句老话,新站起步,别好高骛远!别想着一步登天,做综合类站
- 就是这个表情框。我的解决办法是,首先禁止弹出表情选择框,然后替换默认表情为“题”字。效果如图演示网站http://www.cmbro.com
- 1. mpstat命令1.1 命令格式mpstat [ -A ] [ -u ] [ -V ] [ -I { SUM | CPU | SCPU
- 动易net的版本发布到现在也差不多有一年的时间了,但是给我的感觉还是很不成熟,不明白这么大的一个动易公司,哪么多的员工怎么会出现这么慢的进度
- 如果说成就某件事情需要“天时”、“地利”、“人和”的话,软文广告的成功发布也需要如此。老谢认为,软文广告发布时要和新闻粘在一起,主要是发布时
- SQL SERVER是NT平台上用的最多的数据库系统,但是它的安全问题也必须引起重视。数据库中往往存在着最有价值的信息,一旦数据被窃后果不堪
- 默认情况下windows2003是没有安装的,我们必须手工添加。POP3服务组件在“添加/删除windows组件—电子邮件服务”下,它共包括
- 北京时间10月16日消息,据国外媒体报道,甲骨文高管周四表示,将发布43种Web软件模块,帮助企业管理财务、人力资源、销售和采购等任务。这将
- 曾见某大师建议为给用户更好的内容体验,一个主题写个博客。我觉得这条得有前提,因为个人博客就应该服务于个人,总不能以破坏自己节奏的代价去迎合用
- Ubuntu 20.04已经在2020年4月份正式发布,笔者今天正式安装了一个镜像系统,并在该系统中安装vncserver以便于远程图形化管
- 随着CMS的出现,做站长变成了一件很容易的事情了。在2008年,各大CMS基本上都开发了新的版本,而且开源的队伍是越来越强大了。经过了过去的
- 不知道大家是否也跟我一样,是一只要把的自己电脑文件安排的条理有序,把没用的文件会及时删掉的程序猿呢?如果是的话,那么我们可以愉快地探讨下文章
- 需要以下设置:1、后台-采集-文档关键词维护 添加关键词及链接2、后台-系统-核心设置 关键字替换(是/否)使用本功能会影响HTML生成速度
- “如果不刷信用,谁会来买你的东西?”“当然选刷。”&
- 问题:使用GetArticleList标签,,显示的时间比较长时会换行解决方法。 解决方法:这里只要修改下文件即可,找到 Include/P