mcrinquand/zabbix_monitoring

v1.0 2017-10-16 15:20 UTC

This package is not auto-updated.

Last update: 2024-09-29 03:41:51 UTC


README

该仓库旨在提供一种简单的方式来实现Zabbix监控。

安装

使用Composer将包添加为依赖项

$ php composer.phar require mcrinquand/zabbix_monitoring

在内核中启用该包

<?php
// app/AppKernel.php

public function registerBundles()
{
    $bundles = [
        // ...
        new MCD\ZabbixMonitoringBundle\MCDZabbixMonitoringBundle(),
    ];
}

配置

然后您必须配置该包。

mcd_zabbix_monitoring:
    default: zabbix
    collectors:
        zabbix:
            type: zabbix
            prefix: apache
            host: localhost
            port: 10051

目前类型仅为zabbix。

使用方法

它允许您监控像计数器这样的数据。

监控分为两部分:首先是数据的聚合,然后是数据的发送。

记录数据

对于第一部分,您必须创建一个用于监控您的数据的类。该类必须扩展MCD\ZabbixMonitoringBundle\Zabbix\Monitoring\AbstractMonitoring,并定义为服务。它期望在构造函数中有一个文件路径。该参数是存储数据的文件路径,等待发送到您的Zabbix服务器。

以下是一个访客监控器的示例。

<?php

namespace AppBundle\Monitorer;

use MCD\ZabbixMonitoringBundle\Zabbix\Monitoring\AbstractMonitoring;

class VisitorMonitorer extends AbstractMonitoring
{
}

将VisitorMonitorer设置为服务并指定数据保存的文件路径

services:
    AppBundle\Monitorer\VisitorMonitorer:
        class: 'AppBundle\Monitorer\VisitorMonitorer'
        public: true
        arguments:
            $filepath: '%kernel.root_dir%/../var/monitoring/visitor.txt'

记录一个或四个访客

$monitorer = $this->get('AppBundle\Monitorer\VisitorMonitorer');
// record one visitor
$monitorer->incrementValue();

// record four visitor
$monitorer->incrementValue(4);

发送数据

然后您可以定义任务将监控数据发送到您的Zabbix服务器。

您必须定义一个命令,使其扩展MCD\ZabbixMonitoringBundle\Zabbix\Command\AbstractMonitoringCommand,并声明为服务。将其要发送的监控类作为第二个参数。

然后您可以在crontab中声明该命令,以将值发送到Zabbix。

当命令发送数据时,它会“清除”当前计数。

作者

该包最初由Matthieu Crinquand创建。查看贡献者列表

该包受到beberlei/metrics包的启发。