描述


  • 上篇文章Prometheus、Alertmanager、Grafana讲述到了最基础的邮件告警和基础的告警规则。 生产环境中,只有邮件告警,基础的告警规则是不够的,需要多种告警方式,接收方式。
  • 此次文章中增加内容如下:
    1. 增加阿里云的电话告警通知
    2. 增加 http、port、ssl等监控项
    3. 更多的告警规则编写、详解
    4. 如果是==你自己的阿里账号,没有公司资质是不行的==。==运营商必须要求阿里再次企业认证==

准备

  • 基础环境

    1. 上篇文章中部署的环境都是必须存在的。
    2. 阿里云账号,公司资质等材料,更多请往下看此篇文章
    3. 接受电话的手机号、邮箱
    4. 充值阿里云的 ==50分钟国内语音通知套餐包(公共号池)==(测试,便宜,我用了5块钱)

开始部署

  • 账号申请

  1. 阿里云账号申请这里就略过了,让公司给你账号。如果是你自己的账号,没有公司资质是不行的。
  2. 点击添加新资质后,如图:
    下面还有企业信息,这里就不详细添加了。这需要你自己找公司要材料,按照要求填写。等审核通过。
  3. 开通语音通知,如图:
    ![image.png] (

    https://s2.51cto.com/images/20210617/1623899818653287.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)其中 模版内容 需要正确填写,如有特殊需求,请参考开发文档

  • 购买 ==国内语音通知套餐包(公共号池)== 如图:

  • 下载SDK并根据接口定义编码,直接下载地址为:SDK-PHP下载如图:

  • 服务器配置

  • 需要你的 nginx+php7 的环境。自行搭建。上传下载好的 dyvms_php.zip 包,解压至 nginx 的 html 目录下,解压后,生成的目录名称是:aliyun-dyvms-php-sdk 。nginx.conf 的配置如下:

  • ``` server { listen 80; server_name alter.aa.com; root /usr/local/PrometheusAlert/aliyun-dyvms-php-sdk/api_demo; index index.php index.html index.htm default.php default.htm default.html;

    location / {try_files $uri $uri/ /index.php?$args;if (!-e $request_filename){rewrite  ^(.*)$  /index.php?s=$1  last;   break;}}location ~ \.php$ {fastcgi_pass   127.0.0.1:9000;fastcgi_split_path_info  ^(.+\.php)(.*)$;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;fastcgi_param  PATH_INFO $fastcgi_path_info;include        fastcgi_params;

    } }

- 修改配置
-

vim ./aliyun-dyvms-php-sdk/api_demo/singleCallByTts.php #修改内容如下: //30行左右,这个key 不用我多说在哪里找吧 - 。- $accessKeyId = "LTAI5xxxxxxxxxxx"; $accessKeySecret = "CjAKGxxxxxxxxxxx"; //53 行左右 必填-被叫显号,由于我们是公共号池,没有买专号,所以留空 $request->setCalledShowNumber(""); //必填-被叫号码 $request->setCalledNumber("18010000000"); //必填-Tts模板Code,这个号是你在 阿里云 上语音通知添加模板的时候生成的值,当你添加的模板通过后,会有一个模板ID ,此处就是填写它的值 $request->setTtsCode("TTS_218275320"); //选填-Tts模板中的变量替换JSON,假如Tts模板中存在变量,则此处必填。添加模板的时候 ==模板内容==中填写了code 的变量,就需要用在此处赋值。 $request->setTtsParam("{"code":"服务告警,请检查"}");

- 上面的 ==TTS_218275320== 还有 ==code== 变量,在如下图中标出。
![image.png](https://s2.51cto.com/images/20210617/1623904707755643.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
- 启动 php-fpm 和 nginx。
### 修改 Alertmanager 告警方式
- 修改 vim alertmanager.yml

#上面的配置略过,参考上一篇文章 【Prometheus、Alertmanager、Grafana 监控 Linux 与 MySQL】 route: group_by: ['alertname'] # 报警分组依据 group_wait: 10s #当新的告警组被创建时,等到此时间后才发送初始通知 group_interval: 10s #当第一次告警通知发出后,等待此时间后,开始发送为该组触发的新告警。 repeat_interval: 1h #告警通知成功发送后,问题没有恢复,需要再次重复发送的时间 receiver: 'email' # 默认报警接收者 routes:

  • receiver: 'webhook_email' # 告警规则中有 level: error标签的需要邮件和电话同时告警 match: level: error

定义接收者的邮箱或电话方式

receivers:

  • name: 'webhook_email' email_configs: #定义邮件发送,可以参考上一篇文章

    • to: '{{ template "email.to" . }}' html: '{{ template "email.to.html" . }}' send_resolved: true headers: { Subject: "报警邮件"} webhook_configs: #这里就是定义电话告警
    • url: 'http://alter.aa.com/singleCallByTts.php' #php 的api 接口,使用阿里云,这就是你php 搭建的一个项目,填写完整的路径 send_resolved: false
  • name: 'email' #这里单独再次定义一次是为了 识别没有 level: error标签的只需要邮件告警 email_configs:

    • to: '{{ template "email.to" . }}' html: '{{ template "email.to.html" . }}' send_resolved: true headers: { Subject: "报警邮件"}
----
### 验证
- 创建一条告警规则,如下:
  • alert: node-up expr: up{job="node-exporter"} == 1 #这里正确的值应该是0,但是这需要验证是否有电话过来,所以改为1 for: 5s labels: severity: ERROR level: error annotations: summary: "{{ $labels.instance }} 已停止15s!" description: "{{ $labels.instance }} 检测到异常!请重点关注!!!" value: "{{ $value }}" ```

    结束语

  • 在填写 企业资质、语音模板时,遇到问题需要多阅读 帮助文档,地址为:阿里语音帮助文档
  • 可以直接访问 http://alter.aa.com/singleCallByTts.php 查看是否有电话过来,还有返回的参数值。参数值代表的意思,参考阿里语音帮助文档
  • 此篇文章中,需要在告警规则中添加 level: error 才会有电话和邮件告警,否则只有邮件告警。此标签可以自行修改,但是各个地方需要一致。
  • php 安装时,有可能你的模块不够,不全等问题,自己百度一下就可以。

Alertmanager 使用阿里云电话告警。相关推荐

  1. 阿里云平台微信告警(基于收费平台)

    基于现在大多数人使用微信的众多性,并且发现当阿里云发生告警时,邮箱的报警数太多,(像本人zabbix有邮箱告警,zabbix分经典网络和专有网络的报警,还有物理机的告警,都是分开平台监控的.)所以想到 ...

  2. 基于Python2.7的阿里云API调用及运维相关

    基于Python2.7的阿里云API调用及运维相关 http://blog.chinaunix.net/uid-17291169-id-5212576.html 公司部分业务放在阿里云上面,虽然阿里云 ...

  3. 「前端」给小白的阿里云轻量应用服务器使用指南

    最近一直在捣鼓阿里云服务器,想着把自己写好的一些项目部署到服务器上供其他人访问,一路上踩了不少坑,也查了不少资料,最后解决了,写个博客记录下来,也为其他想要建站的同学提供一个指引. 购买轻量应用服务器 ...

  4. 阿里云轻量应用服务器使用指南适用于所有人

    最近一直在捣鼓阿里云服务器,想着把自己写好的一些项目部署到服务器上供其他人访问,一路上踩了不少坑,也查了不少资料,最后解决了,写个博客记录下来,也为其他想要建站的同学提供一个指引. 购买轻量应用服务器 ...

  5. 阿里云mysql空间清理

    今天收到阿里云磁盘告警通知,查看了一个100G的空间已达到80G的使用量,如果决定删除2018年1月1日之前的数据,可delete后,再去查看发现磁盘可用空间并没有减少,还飞速的上涨,这可把我急坏了, ...

  6. 阿里云语音服务配合alertmanager实现电话告警

    整体思想 使用python封装一下阿里云的语音服务,暴露一个restapi地址,配置到alertmanager的receiver url上,脚本接收到alertmanager发过来的消息之后,获取告警 ...

  7. prometheus 阿里云短信告警

    prometheus + alertmanager + PrometheusAlert 要达到的效果 , 短信告警 + 解除告警 (可以自定义内容) 一.阿里云短信签名及模板设置 有4个信息 Acce ...

  8. [prometheus]Step7-prometheus使用阿里云企业邮箱告警

    prometheus使用阿里云企业邮箱告警 修改/data/alertmanager/alertmanager.yml 加入邮件配置 # 全局配置项 global:resolve_timeout: 5 ...

  9. Prometheus 使用阿里云邮件推送发送告警邮件

    我们在文章 <使用 docker-compose 搭建 prometheus 监控系统> 的基础上,增加 prometheus 的告警功能. Prometheus 指标的收集存储与告警是分 ...

最新文章

  1. MySQL 遇到的问题
  2. 科大星云诗社动态20210524
  3. 贾君鹏你妈妈喊你回家吃饭
  4. 直播报名 | 零基础 零代码 AI智能营销应用现场教学
  5. 39 网络相关函数(七)——live555源码阅读(四)网络
  6. virtualbox+oracle linux 6.3 下安装oracle 11.2.3.0
  7. k8s核心技术-持久化存储(nfs网络存储)---K8S_Google工作笔记0050
  8. 数据之路 - Python爬虫 - Scrapy框架
  9. 简单讲讲SQL注入原理防御
  10. think PHP前台模板,thinkphp5(二)前台模板的引入
  11. 期刊级别应该是怎样划分的呢?
  12. Validity和setCustomVilidity
  13. 微信小程序实现星星评分-整颗星星评分、半颗星星评分、任意颗星星展示
  14. 最短路——最短路(spfa)
  15. 商务投标的“内卷化”行为,竟无言反驳
  16. 云计算技术基础【2】
  17. 假如生活欺骗了你-普希金
  18. 计算机新建文件夹的步骤打开,电脑怎样为自己新建的文件夹加密,只能自己打开. 爱问知识人...
  19. Android模拟器报extra space is needed in addition to APK size的错误
  20. java UDP通信程序DatagramSocket数据发送

热门文章

  1. 江苏计算机一级报名公告,江苏省2021年3月全国计算机等级考试报名公告发布
  2. Linux下多显示器触屏调试与暂行解决方案
  3. 如何计算 N叉树的最大深度
  4. [转载] 全本张广泰——第十二回 广泰退贼寇 技惊哈大人
  5. MSN错误代码(error coed)解决大全
  6. vscode中前端vue项目详解_vs code 第一次创建前端项目 vuejs 从零开始
  7. dddddddddddddddddd
  8. # cs231n (四)反向传播
  9. MAGENTO网站如何设置PAYPAL收款方式
  10. 2021年上半年总结