ffan / qalarm
ffan qalarm php sdk
This package's canonical repository appears to be gone and the package has been frozen as a result.
2.1.0
2016-08-15 00:56 UTC
README
介绍
接口
数据格式
两类消息类型,用type来表示,1 message[缩写m] 2 count[缩写c]
消息型数据格式
字段 | 描述 |
---|---|
type (必选) | 消息的类别(固定值m) |
project (必选) | 项目名称 (系统分配) |
module (必选) | 项目模块名称(系统分配) |
code (必选) | 错误码,用于区分不同的错误类型,可以是无空格的字符串使用方自定义 |
env (必选) | 环境(sit,pre, prod) |
time (必选) | 时间戳 |
server_ip (必选) | server端机器ip |
client_ip (必选) | client端ip |
script (必选) | 报警点 (文件名称:文件行) |
message (必选) | 错误信息 |
url (可选) | 触发错误的url |
post_data (可选) | 出错时post数据 |
cookie (可选) | 出错时的cookie数据 |
计数型数据格式
字段 | 描述 |
---|---|
type (必选) | 消息的类别(固定值c) |
o (可选) | 次数操作类型 |
c (可选) | 次数 |
k (可选) | 4元组,竖杆分隔 |
t (可选) | 时间戳 |
i (可选) | 报警机器ip |
PHP SDK使用
获取sdk
添加qalarm sdk的配置到composer.json中,更新sdk;
{
"require": {
"ffan/qalarm": "1.1.*"
}
}
or
composer require ffan/qalarm
接口定义
sdk对外暴露一个接口,定义如下,参数含义参加数据格式定义。
public static function send(
$project,
$module,
$code,
$message,
$env = self::ENV_PROD,
$server_ip = '',
$client_ip = '',
$script = '',
$count = 1,
$opertor = self::COUNTER_INC
)
使用
use FFan\Qalarm\Qalarm;
Qalarm::send('qalarm_test', 'mysql', '200', '测试错误');
dashboard
采集端
收集
日志采集端使用face日志平台提供的收集服务,收集/var/wd/wrs/logs/alarm/*.log的所有日志,发送到kafka的flume_biz_alarm这个 topic中。
采集端的监控
使用定时心跳机制,每分钟在机器上执行打点,如果心跳不存在,则认为此机器flume收集故障,进行故障排除解决。
申请部署
提jira,部门总审批通过后直接转到chengang64即可。 申请模板:
应用名: ffan_alarm
收集目录: /var/wd/wrs/logs/alarm/
IP列表:
xxxx
报警策略
- 生效时间段
- 次数
- 多少分钟内超过多少次
- 连续多少次多少分钟内超过多少次
- 消息落后5分钟失效