Prometheus和Grafana告警服务创建与对接腾讯云短信告警平台(prometheus_alert)
前言
在一个监控系统中,如果说数据链路是她的骨架,那么告警通知服务就是他的灵魂!所有的监控服务都是为了能够及时通知出来,减少人工查询状态,及时发现问题,避免不必要的大规模故障,为企业政府省钱,和保证安全而存在的。
所以能发现问题很重要,更重要的是发现问题赶快让人知道,这就是今天要说的,告警通知服务。
一个开源项目PrometheusAlert
这个项目可以给 很多第三方服务对接 ,进行电话 、短信 等告警方式 ,也是我们要用到的 ,先部署起来。
github位置
部署方式参考项目中README.md
的部署方式
那一节,要注意的是 ,他的配置文件必须在二进制文件的当前目录,conf/app.conf
叫这个名字才会读取。
原因是用到beego
框架 ,默认读取这个位置的配置文件,如果没有符合的二进制文件,可以自己编译。
GOPATH=xxxx/monitor_alert CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o xxx/monitor_alert/bin/PrometheusAlertLinuxAmd64 xxx/monitor_alert/src/PrometheusAlert/PrometheusAlert.goGOPATH=xxxx/monitor_alert CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o xxx/monitor_alert/bin/PrometheusAlertLinuxArm64 xxx/monitor_alert/src/PrometheusAlert/PrometheusAlert.goGOPATH=xxxx/monitor_alert CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o xxx/monitor_alert/bin/PrometheusAlertMacAmd64 xxx/monitor_alert/src/PrometheusAlert/PrometheusAlert.go
根据go
语言的特性,需要创建一个项目,然后在src
目录下放这个项目再编译。比如我创建的项目就叫monitor_alert
部署结束以后保存这个项目链接,这里是我在docker
里启动得到的链接http://172.17.0.3:8080
Prometheus告警服务对接
首先你得先搭建起来一整套的Prometheus
,像上图一样,如果你还没有搭建起来可以看看我之前的文章 这就是Prometheus。
安装alertmanager
告警服务(prometheus常用的告警服务)
- 创建
alertmanager.yaml
global:resolve_timeout: 5m
route:group_by: ['instance']group_wait: 10mgroup_interval: 10srepeat_interval: 10mreceiver: 'web.hook.prometheusalert'
receivers:
- name: 'web.hook.prometheusalert'webhook_configs:- url: 'http://172.17.0.3:8080/prometheus/alert'
这个配置文件里打开了webhook
服务,产生告警的时候会自动调用该api
,这个api
可以自己定制,我的链接就是上一节部署的服务url,http://172.17.0.3:8080/prometheus/alert
。
- 启动
alertmanager
使用docker启动,把刚刚创建配置文件挂载上去,暴露端口9093
(默认)
docker run -d -p 9093:9093 -v ~/Documents/code/docker/prometheus/alertmanager.yaml:/etc/alertmanager/alertmanager.yml --name alertmanager prom/alertmanager:latest
启动效果:
可以在Status
里看到你刚刚的webhook
配置内容
增加prometheus
与告警相关的配置文件。
- 创建
prometheus.rules.yml
文件
groups:- name: node_alertrules:- alert: 主机CPU告警expr: node_load1 > 0.01labels:name: prometheusalertcenterlevel: 3annotations:description: "{{ $labels.instance }} CPU load占用过高"mobile: 176xxxxxxxx
- 启动prometheus
用docker
启动
docker run -d -p 9090:9090 -v ~/Documents/code/docker/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml -v ~/Documents/code/docker/prometheus/prometheus.rules.yml:/etc/prometheus/prometheus.rules.yml --name prometheus-server prom/prometheus
注意了prometheus.yml
的配置文件是参考这篇文章 这就是Prometheus。
prometheus.rules.yml
就是刚刚的文件。
启动效果:
看,这里产生告警,你可以修改自己的告警阀值,我这里设置的大于1%就告警所以立马就告警出来了。
稍后短信就出来了。
基于granfna告警对接
- 新建告警通道
Name任意,Type选webhook,Url配置为 http://172.17.0.3:8080/grafana/txdx
,其中的ip就是刚刚安装了prometheus_alert
服务的ip。
搞定以后选Save保存。
- 配置各指标的告警规则
进入面板编辑各个指标
可以先把阀值设置低一些,测试短信发送
加号选中你刚刚设置的告警通道,message 可不写,会自动查询grafana
得到告警情况。
右上角保存
怎么对接到腾讯云短信平台?
服务器出网调用腾讯云短信服务,采用加密传输
方式。
采用SDKAppID 和 AppKey 作为安全密钥,同时需要短信签名和模板,具体加密方式见腾讯云公有云短信服务加密方式
怎么申请
短信服务开通可以访问 腾讯云短信服务,初始会免费赠送100条 。
短信条数不够可以访问购买短信包网页
对接准备
1、申请 SDK AppID 以及 App Key: 在开始本教程之前,您需要先获取 SDK AppID 和 App Key,如您尚未申请,请到 短信控制台 中添加应用。应用添加成功后您将获得 SDK AppID 以及 App Key。
注意: SDK AppID 是以 14xxxxx 开头。
2、申请签名: 下发短信必须携带签名,您可以在 短信控制台 中
申请国内短信签名
注意,假如是政府机关在这里需要选择,然后提交资料,其他就按照自己的实际情况填写就好。
3.、申请模板: 下发短信内容必须经过审核,您可以在短信控制台中申请短信模板
完成以上三项就会拿到appid
,appkey
,模板 id
,你的签名
,四个东西,便可开始填入刚刚的开源项目配置文件,或者自己进行代码开发。
短信SDK
文档参考
短信SDK
下载链接
如果喜欢用API
可以参考 文档
开始对接
进入你部署的prometheus_alert
配置 目录,例如xxx/prometheus_alert/conf/
目录,编辑app.conf
文件
找到defaultphone=176xxxxxxxx,123123123
修改为你要的手机号,可以是单个也可以是多个,多个要用英文半角逗号隔开
修改以下配置open-txdx
为1表示打开腾讯云短信告警
open-txdx=1
TXY_DX_appkey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TXY_DX_tpl_id=54xxxx
TXY_DX_sdkappid=140032xxxx
TXY_DX_sign=你的腾讯云短信平台签名
重启服务使配置生效即可。
Prometheus和Grafana告警服务创建与对接腾讯云短信告警平台(prometheus_alert)相关推荐
- Java对接腾讯云短信和阿里云天气预报
API接口提供商 短信 这里推荐阿里云,比起其他的杂牌方便很多 因为现在审核环境的问题,个人开发者比较难申请到签名和模板 我们需要创建一个微信公众号来作为应用场景 在微信官方的公众号平台上面创建 公众 ...
- Python使用腾讯云-短信服务发送手机短信
原创不易,欢迎关注我的微信公众号:司马弈 获取更多精选内容. 腾讯云短信服务介绍 目前[腾讯云短信]为客户提供[国内短信].[国内语音]和[海外短信]三大服务,腾讯云短信SDK支持以下操作: 国内短信 ...
- prometheus 阿里云短信告警
prometheus + alertmanager + PrometheusAlert 要达到的效果 , 短信告警 + 解除告警 (可以自定义内容) 一.阿里云短信签名及模板设置 有4个信息 Acce ...
- FLY攻略之第二回: 接入腾讯云短信服务 实现手机验证注册
接入腾讯云短信服务 实现手机验证注册 上回说到 ,完成了security的接入和登录功能,但是在准备登录尝试security的强大时发现,还没有完成注册功能,根本没有账号提供登录,那么这回,就实现手机 ...
- 接入腾讯云短信服务(史上最详细+该短信服务如何申请成功+发送短信验证码API讲解+相关错误分析)
2021/8/17/23:01{2021/8/17/23:01}2021/8/17/23:01 文章目录 前言 一.如何成功申请到腾讯云短信服务 1.签名申请 2.正文模板申请 二.发送短信API开发 ...
- java实现短信验证码发送(架子是springboot 服务平台选择腾讯云短信服务)
业务需求:公司扩展新业务,新增短信验证码提醒服务,负责功能模块完善 暂时只研究了腾讯短信服务的发送(看api谁都能copy出来),短信状态回执(也挺简单,只是自己想复杂了),短信回复回执(暂时没弄明白 ...
- Java后端利用腾讯云短信服务发短信
利用手机验证码进行注册或进行下一步操作已经是非常普遍的,这篇文章就教你如何是用腾讯云短信服务发送手机验证码. 文章目录 一.前提条件 二.代码实现 1.引入依赖 2.Java代码实现 3.代码改进 4 ...
- 腾讯云短信服务实现 Java 发送手机验证码(SpringBoot+Redis 实现)
文章目录 腾讯云短信服务实现 Java 发送手机验证码(SpringBoot+Redis 实现) 1.打开腾讯云短信服务 2.创建短信签名 3.创建短信正文模板 4.等待全部审核完毕即可 5.发送短信 ...
- 普歌-腾讯云短信+使用node发送短信(3种方法API、SDK)、封装工具、搭建web服务、写接口、调用接口发送短信、时效性判断、验证验证码的正确性(下)
普歌-结合腾讯云短信服务+node搭建一个简单的发送短信web小项目 涉及技术: 腾讯云服务 后端服务:node+express 前端搭建:html+js 前言:本来这篇博客应该很早就发了,中间有一些 ...
最新文章
- 爬虫-scrapy的中间件
- EL表达式中null和empty的区别
- 计算机无法创建新文件夹,无法创建文件,教您无法新建文件夹怎么办
- 在计算机科学中计算是指,在计算机中数值计算是指什么
- 最简单OGG配置方式
- 华为网络技术培训笔记之常用网络工具(一)
- JVM第二节:JVM 中的对象
- 佳能mp288清零软件,非常好用@
- Python科学计算初探——余弦相似度
- python字符串长度_在python中如何获取字符串的长度
- 16秋计算机JAVA第一节课作业(钟永钜)
- 华为OD(外包)社招技术二面,总结复盘
- python 画出决策边界_决策边界用python实现
- ddos是攻击服务器还是网站,服务器遭到DDoS攻击选高防IP还是CDN?
- 阿联酋选出首位 AI 国务部长(附Youtube视频)
- 人工智能产业链:2021年中国人工智能产业链图谱|产业链全景图
- 非关系型数据库之Redis【redis安装】
- 怎么使用XCode给iOS手机安装测试包
- 电竞达人最爱五款真无线蓝牙耳机,听声辨位低延迟TWS蓝牙耳机助你《夺冠》
- ailx10的hacknet攻略005
热门文章
- 融合最优邻域扰动和反向学习策略的蝴蝶优化算法
- vue实现全选和反选
- 基于bp神经网络的pid算法,基于单神经元的pid控制
- 《西方经济学》笔记1-需求曲线
- 第51次全国计算机等级考试,第51次全国计算机等级考试(NCRE)在我校顺利举行...
- c语言怎样画坐标轴,c语言 用小星星画各种图形(菜鸟学C语言)
- linux英文字典,linux终端下的英文字典--SDCV(转)
- CANoe.DiVa操作指南-运行环境搭建
- 力扣 1539. 第 k 个缺失的正整数
- 【web前端开发】数据库MySQL在开发环境的操作