open-falcon短信报警

网络上有很多open-falcon短信报警的教程,但是很多都是通过open-falcon官网推荐的LinkedSee灵犀来配置的,灵犀包含短信服务、邮件服务和电话服务。但是因为目前公司已经有了下发短信的平台,就不用再开灵犀的账号了。
open-falcon短信报警的逻辑如下:
配置短信接口地址–>配置告警策略–>绑定主机–>触发报警–>调用短信接口–>发送接收人电话号码+短信内容给短信发送平台–>短信发送平台下发短信
所以目前主要需要做的就是写一个调用短信的接口接收报警信息并上传到短信发送平台。然后再配置文件里配置这个接口即可。

1、编写短信接口脚本

接口是用python写的,使用的是Flask框架,Flask默认监听5000端口。脚本内容如下:

from flask import Flask, request
import json
import urllib
import urllib.request

app = Flask(__name__)

# 只接受post方法访问
@app.route("/sms/send", methods=["GET","POST"])
def check():
    # 默认返回内容
    if request.method == 'POST':
        return_dict = {'return_code': '200', 'return_info': '处理成功', 'result': False}
        # 判断入参是否为空
        if request.args is None:
            return_dict['return_code'] = '5004'
            return_dict['return_info'] = '请求参数为空'
            return json.dumps(return_dict, ensure_ascii=False)
        # 获取传入的params参数
        mobile = request.form['tos']#获取收件人手机号
        content = request.form['content']#获取短信内容
        mobile = mobile.split(',')
        for i in mobile:
        # 对参数进行操作
            send(i,content)#循环给每一个手机号发送短信内容
    return(content)

def send(mobile,content):
    account = 'aaa' #短信下发平台账号
    password = 'aaa'#短信下发平台密码
    text = '监控报警:' + content + '。'
    data = {'account': account, 'password' : password, 'content': text, 'mobile':mobile,'format':'json' }
    req = urllib.request.urlopen(
        url = 'http://106.ihuyi.com/webservice/sms.php?method=Submit',#平台发送短信请求地址
        data = urllib.parse.urlencode(data).encode('utf-8')
    )
    content  = req.read()
    print(content)

if __name__ == "__main__":
    app.run(debug=True)

2、脚本生成可执行文件:

Pyinstaller -F open-falcon-sms.py

生成的可执行文件在脚本同级目录下的dist目录下。
后台运行可执行文件

nohup ./open-falcon-sms >/dev/null 2>log &

3、配置短信接口地址:

open-falcon 的报警模块为alarm模块,配置短信和邮件、微信报警的配置文件为alarm/config/cfg.json,内容如下:
在这里插入图片描述在红框中填写短信接口,如我配置的接口就是Flask框架的端口+配置的url:sms/send。
配置完成之后重启alarm模块即可。
重启方式为进入open-falcon路径下,使用如下命令启动:

./open-falcon restart alarm

4、配置告警策略

因为有几台windows服务器有时候会异常重启,为了及时响应,我以此为例配置一个短信告警策略。策略截图如下:
在这里插入图片描述

  • Max:最大报警次数,如果告警了之后没有及时处理,会进行下一次告警,做多告警Max此。告警间隔为5分钟
  • P:告警等级,如果告警等级小于3,表示短信、邮件都告警;如果告警等级大于等于3,表是只进行邮件告警。
  • note:告警时发送的备注内容
  • 第二行的一整行内容为策略内容:这一行意思是如果有一次启动时间小于10min即会告警(#后的数值表示连续发生的次数,如果为#2,表示连续两次发生这个事情才会告警)

在这里插入图片描述
在此处配置接收告警的组,该组中配置了组员信息。

5、将策略绑定到主机上

进入HostGroup模块中,添加新的HostGroup,hosts中添加endpoint,templates中选择策略绑定即可。
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

现在可以重启某一个服务器,过一会即可收到短信告警。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Open-Falcon 是一款开源的监控系统,可以监控各种资源的状态,包括服务器负载、网络状态、应用程序指标等。它提供了丰富的监控指标和灵活的告警机制,可以帮助运维人员及时发现和解决问题。下面是 Spring Boot 整合 Open-Falcon 的简单示例。 1. 引入依赖 在 pom.xml 文件中添加 Open-Falcon 的客户端依赖: ```xml <dependency> <groupId>com.github.open-falcon</groupId> <artifactId>falcon-sdk-java</artifactId> <version>0.1.0</version> </dependency> ``` 2. 配置 Open-Falcon 客户端 在 application.properties 文件中配置 Open-Falcon 客户端相关属性: ```properties # Open-Falcon 服务地址 falcon.server=http://localhost:6060/api/push # 应用程序名称 falcon.endpoint=my-application ``` 3. 编写监控指标 在代码中编写需要监控的指标,如 CPU 使用率、内存使用率等。可以使用 Open-Falcon 客户端提供的 API 将指标发送到 Open-Falcon 服务端: ```java import com.github.openfalcon.push.PushClient; import com.github.openfalcon.push.PushEntity; public class MyMonitor { private PushClient pushClient; public MyMonitor(String falconServer, String endpoint) { pushClient = new PushClient(falconServer, endpoint); } public void reportCpuUsage(float usage) { PushEntity entity = new PushEntity("cpu.usage", String.valueOf(usage), "", ""); pushClient.push(entity); } public void reportMemoryUsage(float usage) { PushEntity entity = new PushEntity("memory.usage", String.valueOf(usage), "", ""); pushClient.push(entity); } // 其他监控指标 } ``` 4. 启动应用程序 在应用程序启动时,创建监控对象,并在需要监控的地方调用相应的监控方法。 ```java import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); MyMonitor monitor = new MyMonitor("http://localhost:6060/api/push", "my-application"); while (true) { float cpuUsage = getCpuUsage(); float memoryUsage = getMemoryUsage(); monitor.reportCpuUsage(cpuUsage); monitor.reportMemoryUsage(memoryUsage); Thread.sleep(1000); } } private static float getCpuUsage() { // 获取 CPU 使用率 return 0.5f; } private static float getMemoryUsage() { // 获取内存使用率 return 0.6f; } } ``` 以上是一个简单的 Spring Boot 整合 Open-Falcon 的示例,具体的监控指标和告警机制可以根据实际需求进行调整。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值