
Сбор информации о количестве подключенных PPP к серверу доступа на основе Mikrotik и Linux.
Для получения такой информации нам понадобится возможность выполнения ssh команд на удаленной машине с использванием сертификатов.
1. Mikrotik
Создаем скрипт ppp_count_mikrotik:
#получаем количество активных ppp интерфейсов с удаленного сервера, с использованием сертификата
ssh –l admin_ssh –i /usr/abills/Certs/id.dsa.admin_ssh 192.168.0.1 “/ppp active count-only”
# передаем вторую цифру, дабы mrtg не ругался )
echo “0”
Т.к. я использую Mikrotik совместно с биллингом Abills, то пользователь admin_ssh и его сертификат уже имеются на Mikrotik.
В mrtg.cfg добавляем
# Count PPP
Target[ppp_count]: `путь к созданному скрипту `
Ylegend[ppp_count]: VPN Counts
ShortLegend[ppp_count]: Users 
Options[ppp_count]: gauge,noinfo,growright,transparent,nopercent
Title[ppp_count]: VPN Interface count
MaxBytes[ppp_count]: 1000
PageTop[ppp_count]: <H1>VPN interface count</H1>
Legend1[ppp_count]: Total logged users in
Legend2[ppp_count]: Unique logged users in
Legend3[ppp_count]: Maximal 5 Minute Incoming Traffic
Legend4[ppp_count]: Maximal 5 Minute Outgoing Traffic
LegendI[ppp_count]: Total Users:
LegendO[ppp_count]: Unique Users:
2. Linux
Создаем пользователя admin_ssh на сервер доступа
Копируем сертификат на удаленный сервер
scp /usr/abills/Certs/id.dsa.admin_ssh.pub [email protected]:~/.ssh/id_dsa.admin_ssh.pub
# добавляем сертификат RSA к списку доверенных сертификатов
cat id_rdsa.admin_ssh.pub >> authorized_keys# Проверяем
ssh [email protected] # должны зайти без пароля
Создаем скрипт ppp_count_linux
ssh –l admin_ssh –i /usr/abills/Certs/id.dsa.admin_ssh 192.168.0.2 “ifconfig | grep ppp | wc –l”
ehco “0”
В mrtg.cfg добавляем запись аналогично первой(для Микротика), только в секцию Target путь указуем к скипту ppp_count_linux
P.S. «ifconfig | grep ppp | wc –l» – вот это подсказал Silver, за что ему благодарность.
P.P.S. Гостевой пост подготовлен и опубликован Kaktatak. Спасибо за это дело!