ffan/qalarm

ffan qalarm php sdk

This package's canonical repository appears to be gone and the package has been frozen as a result.

Installs: 8

Dependents: 0

Suggesters: 0

Security: 0

Type:project

2.1.0 2016-08-15 00:56 UTC

This package is not auto-updated.

Last update: 2019-03-12 12:31:38 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分钟失效