open-falcon之alarm、sender、links说明.md
alarm
功能
处理judge 产生的告警event
区分告警优先级,优先处理级别比较高的告警
为用户提供回调接口
生成告警msg
展示未恢复的告警
配置文件
{
"debug": true,
"uicToken": "",
"http": {
"enabled": true,
"listen": "0.0.0.0:9912" # 未恢复的告警就是通过alarm的http页面来看的
},
"queue": {
"sms": "/sms", # 需要与sender配置成相同的,维持默认即可
"mail": "/mail"
},
"redis": {
"addr": "127.0.0.1:6379", # 与judge、sender相同的redis地址
"maxIdle": 5,
"highQueues": [
"event:p0",
"event:p1"
],
"lowQueues": [
"event:p2",
"event:p3",
"event:p4",
"event:p5",
"event:p6"
],
"userSmsQueue": "/queue/user/sms", # 这两个queue维持默认即可
"userMailQueue": "/queue/user/mail"
},
"api": {
"portal": "http://falcon.example.com", # 内网可访问的portal的地址
"uic": "http://uic.example.com", # 内网可访问的uic(或fe)的地址
"links": "http://link.example.com" # 外网可访问的links的地址
}
}
Alarm模块收到告警事件的处理流程
高优先级
从redis list中获取事件
将事件记录在map(g.Events, event id -> event)中
处理callback
根据UIC获取这个team的手机和邮箱列表
生成短信和邮件内容
如果优先级 < 3,则发送短信 (设置的比较死板)
将内容写入『发送list』(alarm模块只负责将需要发送的短信/邮件push至redis中,使用方自行决定如何发送)
低优先级(基本同上,只是会对短信/邮件进行合并)
前面相同步骤,略
通过UIC获得这个team的成员
对于每一个用户,将内容push至一个『中间list』
每一分钟将『中间list』中的短信和邮件进行合并,然后再写入『发送list』
sender
功能
调用指定的http接口发送告警信息
配置文件
{
"debug": true,
"http": {
"enabled": true,
"listen": "0.0.0.0:6066"
},
"redis": {
"addr": "127.0.0.1:6379", # 此处配置的redis地址要和后面的judge、alarm配置成相同的
"maxIdle": 5
},
"queue": {
"sms": "/sms", # 短信队列名称,维持默认即可,alarm中也会有一个相同的配置
"mail": "/mail" # 邮件队列名称,维持默认即可,alarm中也会有一个相同的配置
},
"worker": {
"sms": 10, # 调用短信接口的最大并发量
"mail": 50 # 调用邮件接口的最大并发量
},
"api": {
"sms": "http://11.11.11.11:8000/sms", # 各公司自行提供的短信发送接口,11.11.11.11这个ip只是个例子喽
"mail": "http://11.11.11.11:9000/mail" # 各公司自行提供的邮件发送接口
}
}
links
功能
展示聚合后的告警, 当同类报警信息比较多时,alarm会把聚合后的信息发送到link,link负责展示
配置文件
# 修改一下数据库配置,数据库schema文件在scripts目录
DB_HOST = "127.0.0.1"
DB_PORT = 3306
DB_USER = "root"
DB_PASS = ""
DB_NAME = "falcon_links"
# SECRET_KEY尽量搞一个复杂点的随机字符串
SECRET_KEY = "4e.5tyg8-u9ioj"
SESSION_COOKIE_NAME = "falcon-links"
PERMANENT_SESSION_LIFETIME = 3600 * 24 * 30
# 我们可以cp config.py local_config.py用local_config.py中的配置覆盖config.py中的配置
# 嫌麻烦的话维持默认即可,也不用制作local_config.py
try:
from frame.local_config import *
except Exception, e:
print "[warning] %s" % e
open-falcon之alarm、sender、links说明.md的更多相关文章
- 【Open-Falcon】Linux下安装Open-Falcon
一.Open-Falcon组件简述 [Open-Falcon绘图相关组件] Agent: 部署在目标机器采集机器监控项 Transfer : 数据接收端,转发数据到后端Graph和Judge Gra ...
- 监控 | open-falcon | 安装
监控 | open-falcon | 安装 1. 简介 主要看中了它的水平扩展,画图比zabbix要友好,告警支持简单压缩. 绿色:基础组件: 蓝色:作图链路 红色:报警链路 橙色:域名 架构 1.1 ...
- 2015 年最热门的国人开发开源软件 TOP 50
开源中国在 2015 年得到了快速的发展,单开源软件收藏量就接近 40000 款,其中不乏优质的国产开源项目.本文从软件的收藏.下载.访问等多角度挑选出了 2015 年最热门的国产开源软件前五十名,让 ...
- 2015年热门的国产开源软件TOP 50
2015年热门的国产开源软件TOP 50 开源中国在 2015 年得到了快速的发展,单开源软件收藏量就接近 40000 款,其中不乏优质的国产开源项目.本文从软件的收藏.下载.访问等多角度挑选出了 2 ...
- C# 代理/委托 Delegate
本文转载自努力,努力,努力 1. 委托的定义:委托是函数的封装,它代表一"类"函数.他们都符合一定的签名:拥有相同的参数列表,返回值类型.同时,委托也可以看成是对函数的抽象,是函数 ...
- springJdbc(jdbcTemplate)事物拦截失效问题解决
先贴上web.xml和spring-jdbc.xml代码: web.xml代码: <context-param> <param-name>contextConfigLocati ...
- 命令行打印文件树列表: tree
Linux & Mac 1.下载tree lib //mac brew install tree //centos yum install tree //ubuntu apt-get inst ...
- 建设DevOps统一运维监控平台,全面的系统监控 Zabbix VS Nagios VS Open-Falcon OR Prometheus
前言 随着Devops.云计算.微服务.容器等理念的逐步落地和大力发展,机器越来越多,应用越来越多,服务越来越微,应用运行基础环境越来多样化,容器.虚拟机.物理机不一而足.面对动辄几百上千个虚拟机.容 ...
- 开源系统监控工具Nagios、Zabbix和Open-Falcon的功能特性汇总及优缺点比较
Nagios Nagios 全名为(Nagios Ain’t Goona Insist on Saintood),最初项目名字是 NetSaint.它是一款免费的开源 IT 基础设施监控系统,其功能强 ...
随机推荐
- CSS的块级元素和内联元素,以及float
说明:之前有一点搞错了,就是float其实是浮动起来,其它元素会位于它的底层. 最近在系统地学习HTML5,感觉补上了好多缺失的知识. 例如: 锚点定位其实可以通过 id 来实现: CSS 使用 !i ...
- Maven存储库
什么是Maven资源库? 在 Maven 术语里存储库是一个目录,即目录中保存所有项目的 jar 库,插件或任何其他项目特定文件,并可以容易由 Maven 使用. Maven库中有三种类型 local ...
- Redis集群的操作
1.原始集群 1.1 启动Redis集群 [root@cent03 ~]# /usr/local/redis/bin/redis-server /usr/local/redis-cluster/ ...
- vimdiff的常用命令
★ 跳转到下一个diff点: 请使用 ]c 命令★ 跳转到前一个diff点: 请使用 [c命令如果在命令前加上数字的话,可以跳过一个或数个差异点,从而实现跳的更远.比如如果在位于第一个差异点的行输入& ...
- ubuntu16.04 桌面图标左侧,右侧,底部进行切换
转载:https://jingyan.baidu.com/article/e52e36154e6af340c60c518c.html 传统的 Unity 桌面环境,其应用程序启动器的容器——Launc ...
- c++ A类包含B类指针,B类包含A类指针的情况
#include<stdio.h> class Bclass; class Aclass { public: friend Bclass; void func() { pB->fun ...
- spark 修改分区(存储结果需要)
修改分区就行了val rdd1 = sc.parallelize(Array(1,2,3,4,5,6,7,8))# 查看分区数rdd1.partitions.length# 改成1个分区val rd ...
- 【WP8】LoopingSelector
WP8的WindowsPhoneToolkit工具包中有一个 LoopingSelector 可以想选择日期或时间一样进行选择 1.首先当然是引用WindowsPhoneToolkit 在Nuget控 ...
- Objective-C语法之字符串NSString去掉前后空格或回车符(可以是NSCharacterSet类型的其它字符)
main.m #import <Foundation/Foundation.h> #import "NSString+Trim.h" int main(int argc ...
- ul li列表元素浮动导致border没有底边解决办法
如图,当ul li,li元素浮动,并且ul元素也overflow:hidden清除浮动的时候,给li元素加了border,但是不显示底边,这时候要看是不是没有给li元素加高,因为加了border之后默 ...