基于金笛短信Web中间件实现Cacti短信报警

Posted 金笛短信

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于金笛短信Web中间件实现Cacti短信报警相关的知识,希望对你有一定的参考价值。




基于金笛短信Web中间件实现Cacti短信报警

注:此插件面向Cacti版本0.8.8h



本文的主角是Cacti,这是一款基于php的开源网络流量监测图形分析工具,同时,因其可以做到非常多自定义的监测项目,广受运维人员欢迎。

基于金笛短信Web中间件实现Cacti短信报警
(Cacti宣传图)

我们将介绍如何给Cacti设备监控系统添加短信报警,以便让运维人员及时收到设备故障报警,减少应急修复反应时间。

基于金笛短信Web中间件实现Cacti短信报警

首先介绍完成短信报警需要接触到的两个主要程序Cacti的两个插件以及金笛短信Web中间件构成

发送短信的任务由金笛短信Web中间件与金笛短信猫配合完成,下图为Web中间件的短信收发接口设置,仅需通过访问http接口,即可用Web中间件完成各类短信的收发。

基于金笛短信Web中间件实现Cacti短信报警

而Cacti这边需要两个基本插件完成报警动作,其中Settings插件提供邮件发送接口,Thold插件提供阈值触发以及报警服务,我们只需要将这两个插件进行改造即可让Cacti拥有短信报警的功能。

基于金笛短信Web中间件实现Cacti短信报警

Cacti的一般报警流程是这样的:
Cacti部署到企业内网并添加需监控的服务器,在Thold插件中设置好报警阈值,即可在发生故障时触发Settings插件的邮件报警功能。

添加短信报警功能,我们需要做的是给settings插件添加短信处理代码块,可以实现通过 金笛Web中间件 发送短信报警,及时通知运维人员进行修复。
基于金笛短信Web中间件实现Cacti短信报警

基于金笛短信Web中间件实现Cacti短信报警




基于金笛短信Web中间件实现Cacti短信报警





基于金笛短信Web中间件实现Cacti短信报警

以下讲解如何给Cacti的Settings插件添加必要的代码,为Cacti添加短信报警功能,具体实施步骤如下:


在settings插件的目录(cactipluginssettings)下找到setup.php和include目录下的mailer.php两个文件,分别对这两个文件进行如下修改:

0 1

setup.php(添加管理菜单)



将菜单代码构造如下:

基于金笛短信Web中间件实现Cacti短信报警

修改之后的效果如图,已基本将调用所有需要配置的内容囊括,而且可以在之后的代码中直接调用其值。

基于金笛短信Web中间件实现Cacti短信报警

0 2

mailer.php添加核心代码(用于发送短信的代码)



核心代码用于调用短信中间件web接口通信,可以放在mailer.php内的Mailer类中,命名为send_sms(),原理是用php的原生cURL直接调用web中间件的http接口,之后在插件中调用$Mailer->send_sms()即可实现通过中间件发短信的功能。

基于金笛短信Web中间件实现Cacti短信报警

由于代码直接调了Cacti自带的配置文本,修改配置也非常方便。
在实际实施中我们添加了较多的判定,以保证Cacti能正确让Web中间件发送短信,以防止通讯中出错,出现漏发或Cacti崩溃的情况发生,也添加了debug记录,可以在测试中及时发现问题。

0 3

mailer.php添加调用代码(发邮件同时发短信)



此文件需要更改的部分非常少,只需要在调用发邮件的方法_send_mail()之后添加调用短信发送的方法,即可调用上一步在mailer.php中构造的发短信方法来发送短信。

基于金笛短信Web中间件实现Cacti短信报警

基于金笛短信Web中间件实现Cacti短信报警

以上一系列配置避免了一个问题:
有些插件没有根据settings文档中写的推荐方式去调用settings/includes/functions.php中的发邮件方法,比如settings插件和thold插件原作者Jimmy Conner,直接在需要发邮件的地方include(mailer.php),不通过functions.php中的发邮件方法,也避免了有些时候测试时一切正常,但是实施后漏收短信的问题。

当然,也有客户不想所有通知都发短信,觉得短信太多无法体现出通知短信的重要性。可以按照以下步骤进行代码改造:
1

在需要发短信的Cacti插件中(比如thold的轮询功能polling),找到其调用发邮件的语句;

2

在发邮件的代码中找到邮件正文的变量名;

3

在调用邮件语句之后再调用一次Mailer类的send_sms()方法,将邮件正文发给这个方法;

4

测试是否能正确调用该代码。


这样,Cacti就有了发送短信的功能,如果需要定制Cacti的发短信功能或者其他软件的发短信功能,也可以直接联系我们( 400 050 1096 ),同时非常感谢您的阅读!

基于金笛短信Web中间件实现Cacti短信报警




推荐阅读




欢迎大家移步搜索“金笛通信”添加关注,或直接长按识别/手机扫描下方二维码添加关注:



金笛通信



02 该新平台发布的内容,除包含金笛短信产品相关信息外,还将全面覆盖金笛邮件系统,龙笛即时通讯系统及后续研发新品等相关资讯。

以上是关于基于金笛短信Web中间件实现Cacti短信报警的主要内容,如果未能解决你的问题,请参考以下文章

金笛短信猫+web中间件——如何发工资条

金笛中间件:基于数据库接口的短信猫通信软件

金笛中间件显示短信发送成功,但手机没收到

水文勘测中心应用金笛USB短信猫

注册充值后如何设置金笛网关通道

注册充值后如何设置金笛网关通道