palarm/palarm

php 报警系统

安装: 11

依赖: 0

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 0

公开问题: 0

类型:项目

1.1.0 2017-01-20 06:09 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:40:49 UTC


README

# Palarm Palarm是一个用php编写的简单、可扩展的报警系统;

报警系统采用 数据收集 -- 数据提取 -- 报警策略 -- 发送报警消息 的设计思路完成;Palarm只包含后三步骤,数据收集因不同系统而异故不在本系统中。

## 数据提取

提取逻辑由三个主要方法构成

<?php

namespace Palarm\Collector;

use Palarm\Record\Collection;

interface CollectorInterface
{
    /**
     * 将数据提取成所需要的数据结构
     */
    public function collect();

    /**
     * 获取收集器所提取数据集合
     *
     * @return Collection
     */
    public function getCollection();

    /**
     * 是否直接通过策略层
     *
     * @return boolean
     */
    public function isStraight();
}

## 报警策略 策略会生成一定的消息实例

<?php

namespace Palarm\Strategy;

use Palarm\Record\Collection;

abstract class AbstractStrategy
{
    /**
     * 直接通过策略层
     */
    public function straight()
    {
        throw new \LogicException('You Must Realize This Method');
    }

    /**
     * 执行策略
     *
     * @param Collection $abstractRecord
     */
    abstract public function analyze(Collection $abstractRecord);
}

## 发送报警消息 发送消息实例;消息实例由策略层产生,本层只负责选择消息媒介,并发送消息

## 主要特性

  • 数据提取、策略、消息发送均可扩展
  • Alarm已完成逻辑封装,使用简单
  • 可绕过策略分析,直接通过策略层