У системы мониторинга PRTG очень много встроенных сенсоров, но секта "Хотящих Странного" регуляно подкидывает новые вызовы.
Возникла задача "смотреть сколько пользователей сидят в конференц комнатах астериска". SNMP нам тут "оказался не друг". Поэтому пришлось изучать тему получения информации по SSH.
Нужная информация получается по команде asterisk -rx 'meetme list' Но там много лишнего на выводе. Поэтому всё лишнее обрезаем.
asterisk -rx 'meetme list' | grep "MeetMe users:" | sed -r 's|^.+: ?([0-9]+)$|\1|' (Пример для CentOS)
На выходе скрипт дожен выдавать инфу в формате returncode:value:message
Получился следующий скрипт
#!/bin/bash
#
# Meetme
VAR=0
VAR=$(asterisk -rx 'meetme list' | grep "MeetMe users:" | sed -r 's|^.+: ?([0-9]+)$|\1|' )
echo 0:0$VAR:OK
или
#!/bin/bash
#
# Meetme
VAR=0
VAR=$(asterisk -rx 'meetme list' | grep "MeetMe users:" | awk '{print $7}')
echo 0:0$VAR:OK
Кладём наш получившийся скрипт meetme.txt в /var/prtg/scripts (важно)
Проверяем права
[root@elastix scripts]# ls -llhatr
-rwxr-xr-x 1 root root 134 Май 12 08:49 meetme.txt
В PRTG в настройках сервера указываем пароли/явки для SSH. И создаём сенсор SSH Script. Там надо убедиться что система видит нужный нам скрипт. Если не видит - копайте права.
В итоге получаем желаемую картинку.