php-zabbix-agent with active option
Zabbix Agent with active option implemented in PHP
Forked from wizardjedi/php-zabbix-agent
composer.json
file
1. Create {
"require" : {
"gogasan/php-zabbix-agent" : "dev-master"
},
"minimum-stability": "dev",
"prefer-stable": true,
"repositories": [
{
"url": "https://github.com/gogasan24ru/php-zabbix-agent.git",
"type": "git"
}
]
}
2. Update composer dependencies
$ composer update
autoload.php
to your app
3. Add include("vendor/autoload.php");
4.1. Simple script without active part
<?php
include("vendor/autoload.php");
$agent = ZabbixAgent::create(10051);
$agent->start();
$agent->setItem("some.key", ZabbixTimeDuration::now());
while (true) {
echo "Usefull payload\n";
$agent->tick();
usleep(500000);
}
4.2. Simple script with active part
<?php
include("vendor/autoload.php");
$agent = ZabbixAgent::create(10051);
$agent -> setupActive("127.0.0.1", //zabbix server should run
10051,
"PHP-zabbix-agent",//hostname should match
"agent_debug_dev" //or setup agent discovery action
);
$agent->start();
$agent->setItem("some.key", ZabbixTimeDuration::now());
while (true) {
echo "Useful payload\n";
$agent->tick();
usleep(500000);
}
5. Main classes
ZabbixPrimitiveItem
- holds primitive values like int, string, float. Returnvar_export()
'ed string for object or arrayZabbixTimeDuration
- holds duration from moment in past to current time.- Use
acceptIfNewer($timeValue)
to move moment near in past
- Use
ZabbixAvgRate
- calculates rate of processing- Use
acquire($count)
method to inform item of processed objects count.
- Use
ZabbixArgumentedItem
- holds item with arguments, useClosure
to add function, seeexample.php
for details.ZabbixDiscoveryTrap
- holds item returning discovery data for used key.