До этого момента я с не сталкивался с snmp, слышал раньше, представлял для чего используют, но не более. И тут столкнулся с задачей мониторинга сервера с помощью snmp протокола. Спросить не у кого, разбирался сам. В интернете полно статей, что это за протокол и для чего используется, но конкретно для меня не нашел. Начну с постановки задачи для snmp мониторинга: Есть некий сервер на ОС debian9 , с него надо получать информацию о работающих процессах. Далее обрабатывать эту информацию буду с помощью системы мониторинга nagios.
Рассматриваем установку снмп на сервер со средой linux debian 9:
sudo apt-get install snmp snmpd
Проверяем что работает:snmpwalk -v 2c -c public localhost
далее сделаем копию оригинального конфигурационного файла на всякий случай:sudo cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.orig
Проверяем что копия создаласьls /etc/snmp/
И заходим в сам файл для правок:
sudo vim /etc/snmp/snmpd.conf
Во первых меняем агенту адрес, чтобы можно было проводить опрос с других серверов,# Listen for connections from the local system only agentAddress udp:127.0.0.1:161 → agentAddress udp:0.0.0.0:161
Далее сверяем и меняем OID на ту глубину куда нужно копать:# system + hrSystem groups only view systemonly included .1.3.6.1.2.1.1 view systemonly included .1.3.6.1.2.1.25.1
Я оставил себе:# system + hrSystem groups only view systemonly included .1.3.6.1
Далее в службе доступа меняем пароль на какой нибудь сложный:# Default access to basic system info rocommunity public default -V systemonly # rocommunity6 is for IPv6 rocommunity6 public default -V systemonly --> # Default access to basic system info rocommunity webwpWEBWPwebwp default -V systemonly # rocommunity6 is for IPv6 #rocommunity6 public default -V systemonly
Следом идет раздел SYSTEM INFORMATION Добавляем процессы которые нужно отслеживать, я добавил эти сервисы и разделы:# Process Monitoring proc nagios proc sshd proc snmpd proc fail2ban-server # At least one 'sendmail' process, but no more than 10 proc sendmail 10 1 disk / disk /var
Остальное пока не трогал.
Сохраняю конфиг и перезагружаю службу. sudo service snmpd restart sudo service snmpd status и проверяю как работает: snmpwalk -v 2c -c public localhost // не должен работать snmpwalk -v 2c -c webwpWEBWPwebwp ***IPсервера*** .1.3.6.1.4.1.2021.2.1.2 -OQn Должен показать таблицу процессов которые добавил для отображения
Как это использовать: Я это использую для контроля узлов через систему мониторинга nagios с помощью скриптового сценария check_process_snmp_com.pl написанного на языке Perl. Запрос выглядит так: /usr/lib/nagios/plugins/check_process_snmp_com.pl 185.63.191.152:161 webwpWEBWPwebwp fail2ban-server sshd snmpd nagios Приходящий ответ так: CRITICAL: fail2ban-server(1) sshd(3) snmpd(1) ! <short>nagios(0)</short>
Как быть дальше? Дальше надо включить сетевой экран, отгородив себя от недоброжелателей например: sudo apt install ufw Разрешить подключаться только указанным ИП sudo iptables -A INPUT -p udp -s ***IP*** --dport 161 -j ACCEPT sudo iptables -A INPUT -p udp -s ***IP*** --dport 162 -j ACCEPT Разобраться как снимать другие параметры и пользоваться на здоровье!
Спасибо за то что дочитали webwp.ru! И до новых встреч!