MyTetra Share
Делитесь знаниями!
конфигурационном файле для выполнения внешних скриптов
Время создания: 25.04.2013 22:01
Раздел: root - Linux - SNMP
Запись: Yurons/mytetra/master/base/1366916465ijxqxpbq4j/text.html на raw.github.com

 

конфигурационном файле для выполнения внешних скриптов

 

 

link

начиная с какой-то версии snmpd, в конфигурационном файле для выполнения внешних скриптов надо писать не "exec" или "pass", а "extend"

 

Хочу заметить, что таким образом в SNMP вывод идёт только первой строчки скрипта и она ограничена размером в 4096 Байт. Практика показала, что если информации больше, чем 4 Кб не будет, то ради скорости лучше использовать однострочный вывод информации, дабы единым snmpget`ом её вытащить.

 

как пример - скрипт для top

1. Сторона сервера

Код: Выделить всё

snmpd.conf :

exec topproc /tmp/topproc

 

Код: Выделить всё

#!/bin/sh

#topproc

top -b | sed -e '1,7d' -e '23,$d' -e 's/B //' | echo -n `awk '{print $12,$9,$10,$2":"}'` | sed 's/: /:/g'

 

2. Сторона клиента

Код: Выделить всё

#!/bin/sh

#snmp_top

snmpget -v2c -c $SNMPCOMMUNITY -Oqv $HOSTNAME .1.3.6.1.4.1.2021.8.1.101.2 | sed 's/:/\

/g'

 

Сервер snmpd.conf(вырезка):

extend .1.3.6.1.4.1.2021.8 openvz /usr/share/snmp/openvz.sh

 

openvz.sh:

Text=`cat /proc/user_beancounters`

 

# Kmemsize

echo $Text | cut -d' ' -f12

echo $Text | cut -d' ' -f13

echo $Text | cut -d' ' -f14

echo $Text | cut -d' ' -f16

 
MyTetra Share v.0.65
Яндекс индекс цитирования