LINUX.ORG.RU

Cacti Data Input Method SNMPv3

 ,


0

1

Всем привет. Прошу тапками не закидывать и в сторону Zabbix не посылать. Ситуация такая. Есть у меня скрипты для мониторинга параметров серверов. На SNMPv2 все рабортает, т.к. скрипту нужно передать всего 3 парамета «hostname», «snmp_port», «community». В SNMPv3 всё иначе. Нужно передать 8 параметров: $ifAlias = snmp3_get("$hostname:$snmp_port", "$security_name", "$security_level", "$auth_protocol", "$auth_passphrase", "$privacy_protocol","$privacy_passphrase", "$object_id", 7200000);

Из справки Cacti в Data Input Method я могу передать:

«If this field should be treated specially by host templates, indicate so here. Valid keywords for this field are ‘hostname, host_id, location, snmp_community, snmp_username, snmp_password, snmp_auth_protocol, snmp_priv_passphrase, snmp_priv_protocol, snmp_context, snmp_engine_id, snmp_version, snmp_port, snmp_timeout, external_id’»

Ко всему этому нужно передать «security_level».

Не могу понять как это сделать.

Я могу это сделать указав переменную в самом скрипте, но считаю данный способ не совсем правильным.

Пример скрипта:

<?php
/* do NOT run this script through a web browser */
if (!isset($_SERVER["argv"][0]) || isset($_SERVER['REQUEST_METHOD'])  || isset($_SERVER['REMOTE_ADDR'])) {
   die("<br><strong>This script is only meant to run at the command line.</strong>");
}
$no_http_headers = true;
    $hostname           = $_SERVER["argv"][1];
    $snmp_port          = $_SERVER["argv"][2];
    $security_name      = $_SERVER["argv"][3];
    $auth_protocol      = $_SERVER["argv"][4];
    $auth_passphrase    = $_SERVER["argv"][5];
    $privacy_protocol   = $_SERVER["argv"][6];
    $privacy_passphrase = $_SERVER["argv"][7];
    $object_id = ".1.3.6.1.4.1.2021.8.1.101.1";
    $seclvl = "authPriv";
   $ifAlias = snmp3_get("$hostname:$snmp_port", "$security_name", "$seclvl", "$auth_protocol", "$auth_passphrase", "$privacy_protocol", "$privacy_passphrase", "$object_id", 7200000);
    echo $ifAlias;
?>


Последнее исправление: bredis (всего исправлений: 3)