prometheus使用Alertmanager预警(邮件)

1.   Prometheus 安装

源码安装:

# wget https://github.com/prometheus/prometheus/releases/download/v1.7.1/prometheus-1.7.1.linux-amd64.tar.gz

# tar zxvf prometheus-1.7.1.linux-amd64.tar.gz

# cd prometheus-1.7.1.linux-amd6

# ./prometheus -config.file=prometheus.yml

当然你还想知道更多的参数  可以使用  ./prometheus–help

容器方式安装:

1).安装容器

yum install docker

systemctl enable docker

systemctl start docker

2).创建目录和prometheus配置文件

mkdir /prom

vi /prom/ Prometheus.yml

global:

  scrape_interval:     30s

  evaluation_interval: 30s

scrape_configs:

  - job_name: prometheus

    static_configs:

      - targets: ['122.15.3.29:9090']

        labels:

          instance: prometheus

3).拉取prometheus镜像

docker pull quay.io/prometheus/prometheus

4).启动prometheus

docker run -d \

  -p 9090:9090 \

  --name prometheus \

  -v /prom/prometheus.yml:/etc/prometheus/prometheus.yml\

  quay.io/prometheus/prometheus \

  -config.file=/etc/prometheus/prometheus.yml \

  -storage.local.path=/prometheus \

  -storage.local.memory-chunks=10000

5).参数介绍

-d选项启动在独立模式下的Prometheus的容器,这意味着容器将在后台启动,并不会按终止CTRL+C

–name选项给定容器一个名字。

-p 9090:9090的选项公开Prometheusweb端口(9090),并使其通过主机系统的外部IP地址访问。

-v […]选项挂载prometheus.yml从主机文件系统的配置文件到哪里Prometheus希望它(容器内的位置/etc/prometheus/prometheus.yml)。

-config.file选项相应地设置到Prometheus配置文件的位置,在容器内

所述-storage.local.path选项配置在容器内的指标的存储位置。

最后, -storage.local.memory-chunks选项调整Prometheus的内存使用主机系统的非常小的RAM(只有512MB)和少量的储存时间序列的量在本教程中(略低于1000)。它指示Prometheus只保留10000样品块内存(每列约10块),而不是1048576这个默认的是更多的内存的机器上运行时的Prometheus和储存

6).web界面展示

http://monitor_host:9090

要预警,首先得有监控数据,这里就简单的采集prometheus自身的数据,配置如上容器启动方式中,官方提供很多监控其它数据源的exporter 和直连的

https://prometheus.io/docs/instrumenting/exporters/

2.   Alertmanager安装

源码安装:

$ mkdir -p $GOPATH/src/github.com/prometheus

$ cd $GOPATH/src/github.com/prometheus

$ git clone https://github.com/prometheus/alertmanager.git

$ cd alertmanager

$ make build

$ ./alertmanager-config.file= alertmanager.yml

配置邮箱发送的简单例子alertmanager.yml

global:

 resolve_timeout: 5m

 # The smarthost and SMTP sender used for mail notifications.

 smtp_smarthost: smtp.gmail.com:587  #发送邮箱服务器smtp.163.com:25163的)

 smtp_from: sender@gmail.com   #发送邮箱地址

 smtp_auth_username: sender@gmail.com   #邮箱用户名

 smtp_auth_password: sender_password    #密码

 

route:

 group_by: [alertname]

 repeat_interval: 1h

 receiver: live-monitoring

 

receivers:

- name: live-monitoring

 email_configs:

 - to: receiver@gmail.com #接收邮箱地址

 

这样alertmanager 就算准备好了,在启动prometheus的时候,加入即可,例:

./prometheus -config.file=prometheus.yml -alertmanager.url http://localhost:9095,http://localhost:9094,http://localhost:9093

可以加入多个,高可用

3.   在prometheus 中配置规则,让其生效并发送邮件

Prometheus.yml 加入

rule_files:

  - "prometheus/rules/test.rules"

在 test.rules 加入一条简单的指标测试

# Alert for any instance that have a medianrequest latency >1s.

ALERT APIHighRequestLatency

  IF api_http_request_latencies_second{quantile="0.5"} >1

  FOR 1m

  ANNOTATIONS {

    summary = "High request latency on {{$labels.instance }}",

    description = "{{ $labels.instance }} has amedian request latency above 1s (current value: {{ $value }}s)",

  }

重启prometheus,等待一会儿,就可以收到报警邮件了

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
序号内容详情内容第1讲关于《Prometheus+Grafana监控 》阐述本次系统列课程主要讲述的内容第2讲Prometheus核心组件之Prometheus Server介绍Prometheus Server组件的功能和工作原理第3讲Prometheus核心组件之Exporters介绍Exporter如何将监控到的数据暴露给Prometheus Server第4讲Prometheus核心组件之AlxrtManager和PushGateway介绍AlxrtManager和PushGateway两个组件的使用第5讲Prometheus核心组件之Service Discovery介绍Prometheus是如何发现被监控对象的第6讲Prometheus核心组件之Dashboard介绍Prometheus如何与第三方展示板配合,将数据以视图的方式展现出来第7讲Prometheus时间序列理解Prometheus时间序列,理解采集的样本第8讲Prometheus的Metric类型了解Prometheus的底层数据模型第9讲初步理解PromQL理解Prometheus的PromQL工作原理第10讲PromQL操作符介绍PromQL操作符的用法:算术运算、布尔运算、集合运算和模式匹配第11讲PromQL聚合函数介绍常见的聚合函数使用:avg、max、min等第12讲PromQL内置函数介绍PromQL内置函数:rate、label_replace、label_join等第13讲HTTP API使用PromQL介绍在HTTP API使用PromQL进行瞬时数据查询和区间数据查询第14讲4个黄金指标和USE方法介绍行业常用的4个黄金指标和USE方法来分析性能结果第15讲Prometheus告警原理介绍Prometheus告警工作原理第16讲自定义Prometheus告警规则介绍如何自定义Prometheus告警规则,及参数解析第17讲部署Alertmanager介绍Docker下部署Alertmanager第18讲Alertmanager配置发送邮件介绍Alertmanager配置项的含义,配置发送邮件第19讲配置route路由配置多级route路由,以及route路由工作原理第20讲配置group告警分组将相同标签的告警合并成一个通知第21讲Alertmanager配置警告通知模板通过templates来配置自定义告警模板第22讲Alertmanager抑制机制和临时静默设置Alertmanager如何抑制警告和如何配置 Alertmanager临时静默规则第23讲部署grafana介绍如何在docker下部署grafana数据可视化平台第24讲grafana组成部分介绍grafana核心组成部分:数据源、仪表盘、用户和组织第25讲grafana之Graph面板介绍grafana的Graph面板、面板各选项的含义以及如何添加自定义面板第26讲Dashboard变量定义通过Dashboard变量定义来优化panel面板第27讲模板化Dashboard自定义和模块化Dashboard第28讲Prometheus监控系统资源使用node_exporter获取系统资源的监控数据第29讲Prometheus监控apache使用apache_exporter监控apache服务器第30讲Prometheus监控tomcat介绍如何使用prometheus获取tomcat的数据第31讲Prometheus监控nginx通过nginx-exporter让prometheus获取nginx的数据第32讲Prometheus监控mysql通过mysql-exporter让prometheus监控mysql的数据第33讲Prometheus监控redis通过redis-exporter让prometheus监控redis的数据第34讲Prometheus监控docker通过cadvisor让prometheus监控docker的数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值