Promethus与BMCTrueSight集成实现(第一篇)
整个实现步骤分为四篇:
第一篇:TrueSight接口调试
第二篇:golang HTTP程序编写
第三篇:Promethus Webhook配置
第四篇:docker镜像打包和部署
一、背景
国内几乎没有Promethus与TrueSight集成实现的资料,原因主要还是因为TrueSight比较小众,过去大多是金融行业用得比较多,随后因为微服务架构、K8S、Docker这些的盛行,TrueSight已经很难体现出优势,为此BMC官方也推出了BMC Helix的产品,只是目前国内还未有完整的案例,大多是在实施中。
二、目的
本人使用和运维BMC TrueSight是在2016年,还包括了BMC Remedy、CMDB、ADDM等相关产品,希望通过此次Promethus与TrueSight集成案例,带大家去实现Promethus的事件集成,此方案也可用于需要与Promethus告警事件集成的其他的事件平台,后续也将会更多的带来相关的一些讲解和案例,帮助可能使用或正在使用BMC产品的同学更全面的了解其产品的功能,当然目前我也在着手对BMC相关产品进行技术替换,也将分享给大家。
三、实现方案
实现方案思路为通过GO或python启动HTTP服务,文章里我将以Go为例,实现Prometheus webhook的监听,处理接收到的告警事件,并将事件转发到TrueSight或者其他事件平台上,方法是通用的,大家可以自行尝试。
四、实现步骤及完整代码
1.TrueSight(版本:11.3.05.001)
1.1 TrueSight本身提供了丰富的集成方式,可以将第三方监控工具和业务系统的告警事件集成到BMC Truesight中进行统一处理和展示,包括调用BMC Truesight Restful API、BMC MSEND命令行脚本、SNMP TRAP等方式。
1.2 首先进行本地调用测试,分为2步,第一步:调用truesight认证API接口获取token(24小时有效),第二步:获取token后,再调用发送告警事件API发送事件。(本地用postman等api工具先行进行验证)
1.3 POST获取token请求地址:https://XXXX:8043/tsws/10.0/api/authenticate/login,调用时添加Header:
1.4 请求body参数:
{
"username":"账号",
"password":"密码",
"tenantName":"*"
}
1.5 收到如下返回说明获取token成功
1.6 根据拿到的token进行模拟事件发送,POST接口请求地址:https://XXXX/bppmws/api/Event/create?routingId=这里是pncell的名字&routingIdType=CELL_NAME
1.7 请求header参数(注意:authtoken后面是"空格"+token)
1.8 请求Body参数样例
[
{
"attributes" : {
"CLASS" : "DIAODU_EV" ,
"itsm_category" : "firing" ,
"itsm_company" : "" ,
"itsm_location" : "" ,
"itsm_manufacturer" : "" ,
"itsm_product_name" : "" ,
"itsm_item" : "cluster.pod.status.phase.not.running-y1k00-6bed5db83e16c8ab82b6668afddbc0c0" ,
"itsm_operational_category1" : "2023-03-01T07:02:27.334013278Z" ,
"itsm_operational_category2" : "0001-01-01T00:00:00Z" ,
"itsm_operational_category3" : "APPLICATION" ,
"mc_host" : "gjtest" ,
"mc_host_address" : "" ,
"mc_object" : "global" ,
"mc_object_class" : "Cluster" ,
"mc_origin_sev" : "Critical" ,
"mc_parameter" : "cluster.memory.utilization" ,
"mc_parameter_threshold" : "0.01" ,
"mc_parameter_value" : "0.27842724083472054" ,
"msg" : "集群的实际内存使用率2 > 0.01 "
}
}
]
1.9 返回成功样例
{
"responseList" : [
{
"mc_ueid" : "mc.pncell_GDVUTSIMAP01.207ea691.0" ,
"statusMsg" : "OK" ,
"statusCode" : "200"
}
] ,
"responseTimeStamp" : "2023-03-01T10:01:53" ,
"statusMsg" : "OK" ,
"statusCode" : "200"
}
1.10 返回失败样例(例如token失效,token值不对)
{
"responseTimeStamp" : "2023-03-01T09:50:34" ,
"statusMsg" : "Authentication failed. Invalid Username/Password OR Invalid/Expired Token" ,
"statusCode" : "401"
}
进行到这步,说明truesight的接口已经调通,下一步将带大家完整实现通过go监听promethus webhook,同时发送到truesight事件平台。
--------------------------------------------
本人录制的微服务与分布式系统实战课程(连载中):https://study.163.com/course/introduction/1213354804.htm?inLoc=ss_ssjg_qblb_%E5%BE%AE%E6%9C%8D%E5%8A%A1
在济南夫妻俩年收入15万,什么水平?什么水平不敢下结论,我3年没上班了,媳妇生完孩子也再没出去工作,所以对济南薪资体系不太清楚,看官方数据说济南平均工资7500,感觉身边大概5000左右吧,7500肯定达不到的,所以
北京人到广州是什么体验?来了快一年了,只说我自己的体会,只代表我个人。1大部分时间潮湿闷热,来了好几个月才有点儿适应当地气候,冬天湿冷,屋子里待着开电暖气,没有我们那里舒服。2蚊子多,老鼠多,蟑螂多。去过
你所谓的善良是真的善良吗?人最大的善莫过于降服己心,又有几个人能降服己心呢,每个人都活在欲望之中,为了欲望去争,去欺诈,去说谎话这就是人性。我不喜欢说自己怎么的善,也不喜欢那些把善挂在嘴上的人,每个人的善与
你们觉得甘肃天水这座城市怎么样?没去过这地方天水很好,现在比西安冷。工资低,物价高,房价高,不适合人类生存很好,有特天独厚的地理自然条件,绝对的宜居城市,它是新中国成立之初,上世纪的五六十年代,国家三线建设的基地
独生女如何防止自己家财产未来被男方家吞并?我一个同事,家里的独生女,拆二代,颇有家底。最后嫁了个凤凰男。为了防止将来自己家的财产被男方家占了。她是这样做的。自从结婚开始,自己坚持单独住。财产和父母分开。而且她每年还给父母钱
当年航母回国时,土耳其关闭海峡勒索10亿,这笔钱给了没有?没给,当时我给土耳其打了个招呼就放行了,一分钱都没要。没给,当时我儿子给土耳其打了个招呼就放行了,一分钱都没要。瓦良格号回国途中遇到了许多的问题,其中最大的问题出现在过土耳其海峡的
北京地区退休后的女性怎么打发无聊的时光?我在北京退休,来说说我退休后的生活。我是2018年55岁时退休的,快三年了。退休的那个月就得了甲亢,之后的主要精力是看病。用了二年多的时间,才让自己完全恢复正常。退休后的第二年的春
一个人死前向银行借800万,死后银行如何处理?某房地产公司的老总向银行借款800万,光是每年的利息就高达50万,是全国99以上的人都无法达到的收入。一次意外,这位房地产老总因为脑血栓去世,所欠银行的800万,这笔钱并没有成为呆
银行员工拉存款,100万提成多少?现在拉存款还有提成?你当银行是自己开的呢!目前很多银行都是存款任务,完成了有奖金,完不成扣奖金。一直以来银行都是让大家非常羡慕的行业,在银行工作的人光鲜亮丽,但这都是一些表面的东西
2021新生儿或将跌破1000万,为鼓励生三胎,国家做了哪些调整?我有两个女儿,很想生个三胎。大家帮我看一下我还有没有必要生。我们全家五口人,老婆没有工作,老妈70多岁,我有心脏病。每个月收入大概3000多块钱。大女儿读六年级,小女儿读二年级。中
义务教育阶段,为什么有些家长愿意多花学费送孩子去民办学校,而不去免学费的公立学校?这一点我是有话语权的。我的孩子外孙子现在上小学二年级,我就从一开始就打算把他送到私立学校。这主要是因为。辅导班事件造成的影响。我宁可花钱花到正地方,我也不愿意给老师送礼,这就是我做