Oct. 16th, 2015

terwik: (Default)
Не знаю чи комусь іншому це буде цікавим, але для себе оставлю, бо дуже довго трахався, щоб потім не забути.

Значить так. Якщо є net-snmp і необхідно налаштувати на серваку, щоб він віддавав по SNMP щось потрібне тільки тобі і хитрожопе, в тому форматі в якому потрібно тобі програма мінімум наступна.

Скрипт може вміти приймати з командної стрічки параметри - "-n", "-s", "-t", "-g" (одночасно лише один з них) + OID або просто OID.
"-n" + OID результатом має бути свій аналог дії snmpgetnext
"-s" + OID результатом має бути свій аналог дії snmpset
"-t" + OID не зрозумів що, не використовував на даний момент
"-g" + OID результатом має бути свій аналог дії snmpget
Ну і сам по собі OID результатом має бути свій аналог дії snmpget

Для моїх цілей (потрібна була можливість отримувати один з параметрів сервера по snmpget) виявилося достатнім забезпечити роботоздатність параметрів "-g" + OID та просто OID.

У випадку цих параметрів на вивід скрипт повинен давати 3 стрічки - 1-ша це OID, що відповідає за необхідний параметр, 2-га стандартний тип snmp - integer там чи string, наприклад, 3-тій значення самого параметру.
В результаті має бути щось на зразок
[server]# ./test.php -g .1.3.3.3.3.3.3.3.3.3.3.3
.1.3.3.3.3.3.3.3.3.3.3.3
integer
150
[server]#

Після цього необхідно поправити трішки конфіг snmpd.conf. В мене запрацювало після того, як додав стрічку
pass .1.3.3.3.3.3.3.3.3 /usr/local/blablabla/test.php

Ну і рестартанути його.
В результаті
[server]# snmpget -v 1 IP -c read_community -Ov .1.3.3.3.3.3.3.3.3.3.3.3
INTEGER: 150
[server]#

Усьо, тепер його можна прикручувати до нагіусів, кактішок та інших необхідних речей там де це потрібно. Юхууу

P.S. Наведений OID не використовувався, мабуть не варто такий брати в реальності.

Profile

terwik: (Default)
terwik

January 2022

M T W T F S S
      12
3456789
10111213141516
17181920212223
24252627282930
31      

Expand Cut Tags

No cut tags