zabbix + Perl + JSON

Fórumok

Van valakinek tapasztalata azzal kapcsolatban, hogy a hosztok inventory értékeit hogyan lehet átnevezni, ill bővíteni új értékekkel?

pl. nincs olyan sor az inventoryban, hogy "Zabbix Agent version"

egészen konkrétan van néhány licence köteles alkalmazásunk, pl: MS Office
szeretnék létrehozni ehhez és más licence köteles alkalmazásokhoz 1-1 inventory értéket
így a leltár menünél rá tudnék szűrni arra, hogy egy-egy alkalmazásból összesen mennyi található a céges gépeken összesen
ezzel kapnánk arról képet, hogy a megvásárolt licence mennyiségből mennyit használtunk fel

viszont nem jöttem rá, hogy hogyan tudok új sort hozzárendelni a meglévő inventory értékekhez

a másik problémám az, hogy bár a leltár menünél a zabbix összegzi mondjuk az azonos verziójú oprendszerek számát,
de hogyan tudok ezekhez riasztásokat beállítani?
pl. tegyük fel hogy van 150 win7 licence a cégnél, jó volna ha 140 felhasznált licence-nél már jelezne a zabbix

Tud valaki ezekre valamilyen megoldást?

Előre is köszi a segítséget!

Hozzászólások

Elvileg az /include/hosts.inc.php fájlt kell átírni, ill. a /src/libs/zbxdbhigh/db.c fájlt kell szerkeszteni a DBget_inventory_field résznél.
Viszont ez még kevés, valószínűleg adatbázis szinten is módosítani kellene az inventory megnevezéseket, ill. új sor esetén gondolom új értéket kellene létrehozni az adatbázisban.

Esetleg a JSON-ról tud valaki valamit? Megbízható, működik rendesen?:)
Most akadt egy kis problémám az automatikus hosztfelvétellel, úgy láttam hogy a JSON képes új hoszt felvételére:
http://www.zabbix.com/documentation/2.0/manual/appendix/api/host/create
egyelőre csak ismerkedek vele :)

Sajnos a JSON-al vannak gondjaim...
A perl scriptem így néz ki:
ez alapján készítettem:
http://www.zabbix.com/documentation/2.0/manual/appendix/api/host/create

#!/usr/bin/perl

use 5.010;
use strict;
use warnings;
use JSON::RPC::Client;
use Data::Dumper;

# Authenticate yourself
my $client = new JSON::RPC::Client;
my $url = 'http://*******/zabbix/api_jsonrpc.php';
my $authID;
my $response;

my $json = {
jsonrpc => "2.0",
method => "user.login",
params => {
user => "******",
password => "********"
},
id => 1
};

$response = $client->call($url, $json);

# Check if response was successful
die "Authentication failed\n" unless $response->content->{'result'};

$authID = $response->content->{'result'};
print "Authentication successful. Auth ID: " . $authID . "\n";
#$client = new JSON::RPC::Client;
$json = {
jsonrpc=> '2.0',
method => 'host.create',
params =>
{
{
type => '1',
main => '1',
useip => '1',
ip => '*******',
dns =>'******',
port =>'10050'
},
groups =>
{
groupid => 52
}
},
id => 2,
auth => "$authID"
};
$response = $client->call($url, $json);
print Dumper($response);

Van valakinek ötlete hogy mit rontok el a hosztfelvételnél?
A groupID létezik, az IP, és a DNS is létezik...

Előre is köszönöm a segítséget!

sajnos nem...

10 hosztból kettőt talál meg, és ahhoz a kettőhöz hozzáadja a maradék 8 hosztot interfészként...
nem tudom mi lehet a probléma, mert pl. a hosztnév minden hoszton más és más...
valahogy automatizálni szeretném ennek ellenére a hosztfelvételt
elvileg a JSON erre lenne megoldás ha jól értettem