Prometheus Alertmanager Grafana 监控警报

node-exporter, Linux系统信息采集组件

prometheus , 抓取、储存监控数据,供查询指标

alertmanager , 发送警报通知

grafana , web图形展示

环境 centos7+docker

单机模式,快速搭建测试环境


#安装node-exporter

 #docker安装方式
docker rm -f node-exporter
docker run -d -p 9100:9100 \
--name node-exporter \
-h $(hostname) \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
--net="host" \
--pid="host" \
--cap-add=SYS_TIME \
--cpus 0.1 \
--memory 32M \
--restart always \
prom/node-exporter \
--path.rootfs /rootfs \
--path.procfs /host/proc \
--path.sysfs /host/sys \
--collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)" #非docker方式,正式环境推荐
#curl -s http://files.elven.vip/download/node_exporter.sh |bash #默认端口9100 可浏览器访问查看文本数据 IP:9100/metrics

#安装prometheus

 ##prometheus配置文件
# mkdir -p /data/prometheus/
# vi /data/prometheus/prometheus.yml #prometheus.yml
global:
scrape_interval: 15s # 设定抓取数据的周期,默认为1min
evaluation_interval: 15s # 设定更新rules文件的周期,默认为1min
scrape_timeout: 15s # 设定抓取数据的超时时间,默认为10s # Alertmanager配置
alerting:
alertmanagers:
- static_configs:
- targets: ["localhost:9093"]
# rule配置
rule_files:
- "/prometheus/rules.*yml" scrape_configs:
- job_name: 'node-exporter'
static_configs:
- targets: ['localhost:9100']
 ##警告规则
# vi /data/prometheus/rules.linux.yml #rules
groups:
- name: test-rules
rules:
- alert: InstanceDown #告警名称
expr: up == 0 #告警判定条件
for: 3s #持续多久后,才发送
labels: #标签
team: test
annotations: ##警报信息
summary: "{{$labels.instance}}: has been down"
description: "{{$labels.instance}}: job {{$labels.job}} has been down "
 #启动prometheus
docker rm -f prometheus
Dir=/data/prometheus
docker run -dit \
-u root --restart=always \
-h prometheus --name prometheus \
--net="host" \
-v /etc/localtime:/etc/localtime:ro \
-v $Dir:/prometheus \
-v $Dir/prometheus.yml:/etc/prometheus/prometheus.yml \
--cpus 0.5 --memory 1024M \
prom/prometheus --web.enable-lifecycle #浏览器访问 IP:9090
#修改配置后 curl -X POST http://localhost:9090/-/reload

#安装alertmanager
 #配置文件
# mkdir -p /data/prometheus/alertmanager
# vi /data/prometheus/alertmanager/alertmanager.yml # 全局配置项
global:
resolve_timeout: 5m #超时,默认5min
#邮箱smtp服务
smtp_smarthost: 'smtp.qq.com:587'
smtp_from: 'report@elven.vip'
smtp_auth_username: 'report@elven.vip'
smtp_auth_password: 'xxx密码'
smtp_hello: 'qq.com' # 路由
route:
group_by: ['alertname'] # 报警分组依据
group_wait: 20s #组等待时间
group_interval: 20s # 发送前等待时间
repeat_interval: 10m #重复周期10分钟
receiver: 'email' # 默认警报接收者 # 警报接收者
receivers:
- name: 'email' # 警报名称
email_configs:
- to: '228@elven.vip' # 接收警报的email #关于email、微信发送模板,后面单独讲
 #启动alertmanager
docker rm -f alertmanager
Dir=/data/prometheus/alertmanager
docker run -dit \
-u root --restart=always \
-h alertmanager --name alertmanager \
--net="host" \
-v /etc/localtime:/etc/localtime:ro \
-v $Dir:/alertmanager \
-v $Dir/alertmanager.yml:/etc/alertmanager/alertmanager.yml \
--cpus 0.2 --memory 128M \
prom/alertmanager #浏览器访问 IP:9093

关闭node-exporter测试

docker stop node-exporter

netstat -lntp |grep 9100

查看prometheus点击Alerts查看rules生效

查看alertmanager是否收到,等待邮件通知……


#grafana
docker rm -f grafana
docker run -dit --name grafana \
-h grafana -u root \
--restart always \
--cpus 0.2 --memory 128M \
-v /etc/localtime:/etc/localtime:ro \
-v /data/grafana:/var/lib/grafana \
--net="host" \
grafana/grafana # 浏览器访问 ip:3000 默认登录用户密码 admin
#添加数据源Add data sources选 Prometheus #可以参考这个grafana模板
#https://grafana.com/grafana/dashboards/8919
#导入 左边+按钮 -> Import -> 8919 -> prometheus选择源 -> Import

Prometheus Alertmanager Grafana 监控警报的更多相关文章

  1. Prometheus+Alertmanager+Grafana监控组件容器部署

    直接上部署配置文件 docker-compose.yml version: '3' networks: monitor: driver: bridge services: prometheus: im ...

  2. jmx_prometheus_javaagent+prometheus+alertmanager+grafana完成容器化java监控告警(二)

    一.拓扑图 二.收集数据 2.1前期准备 创建共享目录,即为了各节点都创建该目录,有两个文件,做数据共享 /home/target/prom-jvm-demo 1.下载文件 jmx_prometheu ...

  3. Longhorn,企业级云原生容器分布式存储 - 监控(Prometheus+AlertManager+Grafana)

    内容来源于官方 Longhorn 1.1.2 英文技术手册. 系列 Longhorn 是什么? Longhorn 企业级云原生容器分布式存储解决方案设计架构和概念 Longhorn 企业级云原生容器分 ...

  4. cadvisor+prometheus+alertmanager+grafana完成容器化监控告警(一)

    一.概况 1.拓扑图 2.名词解释 Grafana 可视化监控容器运行情况 Prometheus: 开源系统监视和警报工具包 Alertmanager 一个独立的组件,负责接收并处理来自Prometh ...

  5. prometheus+alertmanager+granafa监控总结,安装基于docker-compose(长期更新)

    最近自己个人尝试在使用prometheus+grafana监控工作业务上的指标, 但是报警功能还没有实际用上,但是感觉是很好用,写下一些啃prometheus官网文档并且自己用到的一些配置的总结,后续 ...

  6. 【集群监控】Docker上部署Prometheus+Alertmanager+Grafana实现集群监控

    Docker部署 下载 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.re ...

  7. Spark应用监控解决方案--使用Prometheus和Grafana监控Spark应用

    Spark任务启动后,我们通常都是通过跳板机去Spark UI界面查看对应任务的信息,一旦任务多了之后,这将会是让人头疼的问题.如果能将所有任务信息集中起来监控,那将会是很完美的事情. 通过Spark ...

  8. 使用Prometheus和Grafana监控emqx集群

    以 Prometheus为例: emqx_prometheus 支持将数据推送至 Pushgateway 中,然后再由 Promethues Server 拉取进行存储. 注意:emqx_promet ...

  9. 使用Prometheus和Grafana监控nacos集群

    官方文档:https://nacos.io/zh-cn/docs/monitor-guide.html 按照部署文档搭建好Nacos集群 配置application.properties文件,暴露me ...

随机推荐

  1. Codeforces Round #427 (Div. 2) - C

    题目链接:http://codeforces.com/contest/835/problem/C 题意:在二维坐标里,有n个星星,m个询问,星星的最大亮度c.然后输入n个星星的坐标和初始亮度,对于每个 ...

  2. 大数据数据库HBase(一)——架构原理

    一.HBase简介 1.1.Hadoop生态系统 1.2.非关系型数据库知识面扩展  Cassandra hbase mongodb Couchdb,文件存储数据库 Neo4j非关系型图数据库 1.3 ...

  3. 分页控件SSTab

    一.分页控件SSTab概述1.作用:采用分页形式查询或编辑数据表中数据.2.添加到控件箱菜单命令:工程 | 部件,选择:Microsoft Tabbed Dialog Control 6.0 (SP6 ...

  4. 10年前文章_解决parted 编译出错问题

    找到 include/site/i386-linux 文件,修改定义ac_cv_sizeof_off_t 的长度,从原来的4改为8 ac_cv_sizeof_off_t=8 删除 build_dir/ ...

  5. 主流Linux发行版及联系

    一.主流Linux主流发行版 RedHat:Red Hat Linux是由Red Hat公司发行的一个Linux发行包.其1.0版本于1994年11月3日发行,虽然其历史不及Slackware般悠久, ...

  6. Django【第8篇】:Django之查询知识点总结

    关于查询知识点总结 models.Book.objects.filter(**kwargs): querySet [obj1,obj2]models.Book.objects.filter(**kwa ...

  7. react 详细解析学习笔记

    React的介绍: React来自于Facebook公司的开源项目 React 可以开发单页面应用       spa(单页面应用) react 组件化模块化  开发模式 React通过对DOM的模拟 ...

  8. 使用VisualStudio 开发Arduino

    Arduino IDE界面简洁,整体功能还算完善,相比其他编译器明显的不足就是不能进行硬件调试,再就是没有代码提示功能,文件关系不清晰.头文件打开不方便. VisualStudio作为时下最为流行的W ...

  9. HBase设计规范(转载)

    在这里讲什么设计规范实在是有些不知天高地厚,毕竟笔者本人也只是一个大数据技术的初学者,断然不敢制订什么设计规范的,所以请原谅我的狂妄,这个设计规范,只是本人对自己制订的,与别人无关. 之前,HBase ...

  10. 6362. 【NOIP2019模拟2019.9.18】数星星

    题目描述 题解 一种好想/好写/跑得比**记者还快的做法: 对所有询问排序,按照R递增的顺序来处理 维护每个点最后一次被覆盖的时间,显然当前右端点为R时的答案为所有时间≥L的点的权值之和 LCT随便覆 ...