Интеграция с системами мониторинга |
SNMP-агент Dr.Web может выступать поставщиком данных для любой системы мониторинга, использующей протокол SNMP версии 2с или 3. Перечень доступных для контроля данных и их структура описаны в файле описания MIB Dr.Web DrWeb-Snmpd.mib, поставляемом совместно с продуктом. Этот файл находится в каталоге <opt_dir>/share/drweb-snmpd/mibs. Для удобства настройки, совместно с модулем поставляются необходимые шаблоны настроек для популярных систем мониторинга: Шаблоны настроек для систем мониторинга находятся в каталоге <opt_dir>/share/drweb-snmpd/connectors. Интеграция с системой мониторинга Cacti Система мониторинга Cacti для отображения статистики о работе приложений на хостах или сетевом оборудовании использует описания объектов и их счетчиков, импортируемые из шаблонов. Поэтому сначала подготавливаются шаблоны для всех счетчиков, данные которых необходимо контролировать, а затем шаблоны счетчиков привязываются, как объекты, к шаблонам графиков. После этого шаблоны графиков привязываются к шаблонам хостов. Таким образом, шаблон хоста (устройства) получается корневым, он описывает хост, добавляемый в Cacti для наблюдения, после этого для него становятся доступными списки счетчиков, с которых будет сниматься статистика и набор преднастроенных графиков. Для подключения Dr.Web SNMPD к системе мониторинга Cacti в каталоге <opt_dir>/share/drweb-snmpd/connectors/cacti поставляется готовый XML-файл cacti_host_template_drweb.xml, содержащий шаблон описания наблюдаемого хоста с установленным антивирусным продуктом Dr.Web. Этот шаблонный файл позволяет выполнить подключение хоста к системе мониторинга, и снимать с него статистику обнаружения на хосте угроз различных типов и статистику проверки файлов. Имеется возможность импорта этого готового шаблона непосредственно в Cacti, кроме того, его можно модифицировать и создавать на его основе новые шаблоны. Подключение хоста к Cacti В данной инструкции предполагается, что система мониторинга Cacti уже корректно развернута на сервере мониторинга, а на наблюдаемом хосте корректно функционирует Dr.Web SNMPD (возможно, в режиме прокси совместно с snmpd). 1.В веб-интерфейсе Cacti выполнить импорт шаблона хоста cacti_host_template_drweb.xml (для этого нужно выбрать пункт меню Console –> Import Templates, указать путь к файлу шаблона, нажать Import). Если импорт прошел успешно, то в результатах импорта должен отображаться список импортированных объектов (шаблон хоста DrWeb Host). 2.Добавить в список Devices веб-интерфейса Cacti хост, подлежащий наблюдению (пункт меню Console –> Devices –> Add). В качестве шаблона хоста необходимо выбрать шаблон DrWeb Host, импортированный на предыдущем шаге. При добавлении хоста следует присвоить ему некоторый идентификатор (например – DrWeb-Device), указать его сетевой адрес (FQDN или IP-адрес) и задать корректные параметры SNMP (версия протокола, порт, read community и т.д., в зависимости от версии протокола). Нажать Save. Добавленный хост должен появиться в списке Devices веб-интерфейса Cacti. 3.Для добавленного устройства создать графики, отражающие работу Dr.Web на хосте. Для этого выбрать пункт меню Console –> New Graphs, выбрать наблюдаемый хост из списка устройств (в примере – DrWeb-Device), указать тип графиков – Graph Template Based. Далее отметить флажками доступные счетчики из импортированного шаблона, нажать Create. 4.Убедиться, что создались источники данных для выбранных на предыдущем шаге графиков. Для этого выбрать пункт меню Console –> Data Sources. На странице должны присутствовать источники данных из указанного списка: DrWeb-Device - adware counter * DrWeb-Device - dialers counter DrWeb-Device - hacktools counter DrWeb-Device - jokes counter DrWeb-Device - known viruses counter DrWeb-Device - riskware counter DrWeb-Device - suspicios counter DrWeb-Device - filecheck scanned bytes *) DrWeb-Device в данном случае – имя устройства, указанного вами на шаге 2. Рекомендуется для каждого источника данных убедиться, что для него создан соответствующий RRA-архив RRD Tool. Для этого необходимо щелкнуть по источнику и нажать Turn On Data Source Debug Mode. Это приведет к показу команды формирования источника данных и показу результата ее выполнения. 5.Выбрав пункт меню Console –> Graph Management, активировать графики. Имеется возможность просмотреть уже построенные графики. Для этого необходимо щелкнуть по названию интересующего графика. Если график не отображается, то нажав Turn On Graph Debug Mode, можно увидеть команду создания графика и ее результат. В списке отметить графики: DrWeb filecheck scan statistic DrWeb found malware В поле Choose an action выбрать значение Place on a Tree (Default Tree), нажать Go. 6.Для просмотра графиков щелкнуть graphs. Обратите внимание, что результаты должны появиться примерно через 10 минут после добавления источников данных. При этом графики и источники данных могут не создаться до первого опроса SNMP (примерно 5 минут от добавления устройства). В случае необходимости можно расширить набор имеющихся источников данных, и графиков, соответственно. Для этого нужно добавить новый источник данных, сформированный на основе системного шаблона SNMP - Generic OID Template. В настройках добавленного шаблона необходимо указать OID требуемого счетчика. Далее полученный Data Template следует добавить как объект к уже существующим шаблонам графиков.
С официальной документацией по настройке системы мониторинга Cacti вы можете ознакомиться по ссылке http://docs.cacti.net/manual:088. Интеграция с системой мониторинга Munin Система мониторинга Munin состоит из централизованного сервера (мастера) munin, собирающего статистику от клиентов munin-node, располагающихся локально на хостах, подлежащих наблюдению. Каждый клиент мониторинга по запросу от сервера собирает данные о работе наблюдаемого хоста, запуская плагины, предоставляющие данные для передачи на сервер. Для подключения Dr.Web SNMPD к системе мониторинга Munin в каталоге <opt_dir>/share/drweb-snmpd/connectors/munin/plugins поставляется готовый плагин сбора данных drweb, используемый munin-node. Этот плагин собирает данные для построения двух графиков: •Количество обнаруженных угроз; •Статистика проверки файлов. Плагин поддерживает использование протокола SNMP версий 1, 2c и 3. На основе данного шаблонного плагина можно создать любые плагины, опрашивающие состояние программного комплекса Dr.Web для файловых серверов UNIX через Dr.Web SNMPD. Фактически этот плагин представляет собой набор плагинов, поскольку с точки зрения Munin, один плагин выполняет возвращение данных только для одного графика. В каталоге <opt_dir>/share/drweb-snmpd/connectors/munin поставляются следующие файлы.
Подключение хоста к Munin В данной инструкции предполагается, что система мониторинга Munin уже корректно развернута на сервере мониторинга, а на наблюдаемом установлены и корректно функционируют Dr.Web SNMPD (возможно, в режиме прокси совместно с snmpd), munin-node и snmpget (пакет net-snmp). 1) Настройка на наблюдаемом хосте •Скопируйте файл drweb в каталог библиотек плагинов munin-node <munin_lib_plugins>; •Создайте две символические ссылки в каталоге <munin_plugins> плагинов munin-node: <munin_plugins>/drweb_malware -> <munin_lib_plugins>/drweb •Скопируйте файл drweb.cfg в каталог файлов конфигурации munin-node /etc/munin/munin-node, и отредактируйте в нем параметры для подключения плагинов из drweb к Dr.Web SNMPD: [drweb_*] •Отредактируйте значения перечисленных параметров, присвоив им актуальные значения (должны соответствовать настройке Dr.Web SNMPD). В примере указаны значения, использующиеся по умолчанию. •В файле конфигурации munin-node.conf укажите регулярное выражение, которому должны соответствовать IP-адреса машин, с которых разрешено подключаться к munin-node для получения значений контролируемых параметров, например: allow ^10\.20\.30\.40$ В данном случае регулярное выражение разрешает получение параметров хоста только машине с IP-адресом 10.20.30.40. •Перезапустите munin-node (например, командой service munin-node restart). Пути <munin_lib_plugins> и <munin_plugins> зависят от ОС. В ОС Debian/Ubuntu это пути /usr/share/munin/plugins и /etc/munin/plugins соответственно. 2) Настройка на сервере (мастере) Munin В конфигурационный файл мастера Munin munin.conf, который по умолчанию хранится в /etc (в системах Debian/Ubuntu – /etc/munin/munin.conf), следует добавить запись с адресом и идентификатором наблюдаемого хоста: [<ID>;<hostname>.<domain>] где <ID> - отображаемый идентификатор хоста, <hostname> - имя хоста, <domain> - имя домена, <host IP address> - IP-адрес хоста. Интеграция с системой мониторинга Zabbix Для подключения Dr.Web SNMPD к системе мониторинга Zabbix в каталоге <opt_dir>/share/drweb-snmpd/connectors/zabbix поставляются следующие файлы шаблонов.
Шаблон описания наблюдаемого хоста содержит: •Набор описаний счетчиков (Items, в терминологии Zabbix). По умолчанию шаблон настроен на использование SNMP v2. •Набор настроенных графиков: количество проверенных файлов и распределение обнаруженных угроз по типам. Подключение хоста к Zabbix В данной инструкции предполагается, что система мониторинга Zabbix уже корректно развернута на сервере мониторинга, а на наблюдаемом установлен и корректно функционирует Dr.Web SNMPD (возможно, в режиме прокси совместно с snmpd). Кроме того, если планируется получать с наблюдаемого хоста оповещения SNMP trap (в частности, об обнаружении угроз Dr.Web для файловых серверов UNIX), на сервере мониторинга также должен быть установлен пакет net-snmp (используются стандартные утилиты snmptt и snmptrapd). 1.В веб-интерфейсе Zabbix, на вкладке Configuration –> Templates, импортируйте шаблон наблюдаемого хоста из каталога <opt_dir>/share/drweb-snmpd/connectors/zabbix/zbx_drweb.xml. 2.Добавьте наблюдаемый хост в список хостов (используйте ссылку Hosts –> Create host). Укажите параметры хоста и корректные настройки SNMP-интерфейса (должны соответствовать настройкам drweb-se и snmpd на хосте): •Вкладка Host: Host name: drweb-host Visible name: DRWEB_HOST Groups: выбрать Linux servers Agent interfaces: укажите IP-адрес и порт Dr.Web SNMPD (127.0.0.1 и 10050 по умолчанию). Snmp interfaces: Нажмите add и укажите IP-адрес и порт, который прослушивается snmptrapd на хосте с Zabbix (см. ниже, 127.0.0.1 и 161 по умолчанию). •Вкладка Templates: Нажмите Add, отметьте DRWEB, нажмите select. •Вкладка Macros: Macro: {$SNMP_COMMUNITY} Value: укажите «read community» для SNMP V2c (по умолчанию – public). Нажмите Save. Примечание: Макрос {$SNMP_COMMUNITY} можно указать непосредственно в шаблоне хоста.
3.После привязки шаблона к наблюдаемому хосту, если настройки SNMP корректны, система мониторинга Zabbix начнет сбор данных для счетчиков (items), содержащихся в шаблоне, на вкладках веб-интерфейса Monitoring –> Latest Data и Monitoring –> Graphs будут отображаться собранные данные счетчиков. 4.Специальный item drweb-traps служит для сбора SNMP trap от Dr.Web SNMPD. Журнал полученных оповещений SNMP trap доступен на странице Monitoring –> Latest Data –> drweb-traps –> history. Для сбора оповещений Zabbix использует стандартные утилиты snmptt и snmptrapd из пакета net-snmp. О их настройке для получения SNMP trap от Dr.Web SNMPD см. ниже. 5.В случае необходимости, имеется возможность настроить для добавленного наблюдаемого хоста триггер, изменяющий свое состояние при получении SNMP trap от Dr.Web SNMPD. Изменение состояния этого триггера можно использовать как источник событий для формировать соответствующих нотификаций. Триггер для наблюдаемого хоста добавляется стандартным способом, ниже показан пример выражения, указываемого в поле trigger expression для описанного триггера: ({TRIGGER.VALUE}=0 & {DRWEB:snmptrap[.*\.1\.3\.6\.1\.4\.1\.29690\..*].nodata(60)}=1 )|({TRIGGER.VALUE}=1 & {DRWEB:snmptrap[.*\.1\.3\.6\.1\.4\.1\.29690\..*].nodata(60)}=0) Данный триггер срабатывает (устанавливается в значение 1), если журнал оповещений SNMP trap от Dr.Web SNMPD был обновлен в течение минуты. Если же журнал в течение минуты не обновлялся, то триггер выключается (меняет состояние на 0). Настройка приема SNMP trap для Zabbix 1.На наблюдаемом хосте в настройках Dr.Web SNMPD (SNMPD.TrapReceiver) указывается адрес, который прослушивается snmptrapd на хосте с Zabbix, например: SNMPD.TrapReceiver = 10.20.30.40:162 2.В конфигурационном файле snmptrapd (snmptrapd.conf) указывается тот же адрес, а также приложение, которое будет обрабатывать полученные SNMP trap (в данном случае – snmptthandler, компонент snmptt): snmpTrapdAddr 10.20.30.40:162 3.Компонент snmptthandler сохраняет принимаемые оповещения SNMP trap в файл на диске в соответствии с указанным форматом, который должен соответствовать регулярному выражению, заданному в шаблоне хоста для Zabbix (item drweb-traps). Формат сохраняемого сообщения об SNMP trap поставляется в файле <opt_dir>/share/drweb-snmpd/connectors/zabbix/snmptt.drweb.zabbix.conf. Этот файл необходимо скопировать в каталог /etc/snmp. 4.Кроме этого, путь к файлам формата необходимо указать в конфигурационном файле snmptt.ini: [TrapFiles] После этого, если snmptt запущен в режиме демона, то его надо перезапустить. 5.В конфигурационном файле сервера Zabbix (zabbix-server.conf) необходимо задать (или проверить наличие) следующих настроек: SNMPTrapperFile=/var/log/snmptt/snmptt.log где /var/log/snmptt/snmptt.log - это файл журнала, в который snmptt записывает информацию о поступивших оповещениях SNMP trap. Подробнее с официальной документацией по Zabbix вы можете ознакомиться по ссылке https://www.zabbix.com/documentation/. Интеграция с системой мониторинга Nagios Для подключения Dr.Web SNMPD к системе мониторинга Nagios в каталоге <opt_dir>/share/drweb-snmpd/connectors/nagios поставляются следующие файлы примеров конфигурации Nagios.
Подключение хоста к Nagios В данной инструкции предполагается, что система мониторинга Nagios уже корректно развернута на сервере мониторинга, включая настройку веб-сервера и графического средства Nagiosgraph, а на наблюдаемом установлен и корректно функционирует Dr.Web SNMPD (возможно, в режиме прокси совместно с snmpd). Кроме того, если планируется получать с наблюдаемого хоста оповещения SNMP trap (в частности, об обнаружении угроз Dr.Web для файловых серверов UNIX), на сервере мониторинга также должен быть установлен пакет net-snmp (используются стандартные утилиты snmptt и snmptrapd). В данном руководстве по подключению используются следующие соглашения о путях (реальные пути зависят от ОС и установки Nagios): •<NAGIOS_PLUGINS_DIR> – каталог плагинов Nagios, например: /usr/lib64/nagios/plugins •<NAGIOS_ETC_DIR> – каталог настроек Nagios, например: /etc/nagios •<NAGIOS_OBJECTS_DIR> – каталог объектов Nagios, например: /etc/nagios/objects •<NAGIOSGRAPH_DIR> – каталог Nagiosgraph, например: /usr/local/nagiosgraph •<NAGIOS_PERFDATA_LOG> – файл, в который Nagios записывает результаты выполнения команд проверки сервисов (должен совпадать с файлом perflog из <NAGIOSGRAPH_DIR>/etc/nagiosgraph.conf). Записи из этого файла считываются скриптом <NAGIOSGRAPH_DIR>/bin/insert.pl и записываются в соответствующие RRA-архивы RRD Tool. Настройка Nagios: 1.Скопируйте файл check_drweb в каталог <NAGIOS_PLUGINS_DIR>, а файл drweb.cfg – в каталог <NAGIOS_OBJECTS_DIR>. 2.Добавьте в группу drweb хосты с продуктом Dr.Web, подлежащие наблюдению (на них должен быть запущен Dr.Web SNMPD), по умолчанию в данную группу включен только хост localhost. 3.Отредактируйте (при необходимости) команду check_drweb, в которой указывается обращение к Dr.Web SNMPD на хостах drweb через утилиту snmplwalk: snmpwalk -c public -v 2c $HOSTADDRESS$:161 укажите правильную версию протокола SNMP и параметры (такие, как "community string" или параметры аутентификации), а также порт. Переменную $HOSTADDRESS$ необходимо оставить в команде (она заменяется Nagios на правильный адрес хоста при вызове команды автоматически). OID в команде указывать не требуется. Рекомендуется также указать команду вместе с полным путем к исполняемому файлу (обычно – /usr/local/bin/snmpwalk). 4.Подключите объекты DrWeb в конфигурационном файле <NAGIOS_ETC_DIR>/nagios.cfg, добавив в него строку cfg_file= <NAGIOS_OBJECTS_DIR>/drweb.cfg 5.Добавьте настройки RRD Tool для графиков DrWeb из файла rrdopts.conf-sample в файл <NAGIOSGRAPH_DIR>/etc/rrdopts.conf. 6.Если компонент Nagiosgraph еще не настроен, то выполните его настройку: •Скопируйте файл nagiosgraph.cfg в каталог <NAGIOS_OBJECTS_DIR> и исправте путь к скрипту insert.pl в команде process-service-perfdata-for-nagiosgraph, например, так: $ awk '$1 == "command_line" { $2 = "<NAGIOSGRAPH_DIR>/bin/insert.pl" }{ print }' ./objects/nagiosgraph.cfg > <NAGIOS_OBJECTS_DIR>/nagiosgraph.cfg •Подключите этот файл в конфигурационном файле <NAGIOS_ETC_DIR>/nagios.cfg, добавив в него строку cfg_file=<NAGIOS_OBJECTS_DIR>/nagiosgraph.cfg" 7.Проверьте значения переменных конфигурации Nagios в конфигурационном файле <NAGIOS_ETC_DIR>/nagios.cfg: check_external_commands=1 Настройка приема SNMP trap для Nagios 1.На наблюдаемом хосте в настройках Dr.Web SNMPD (SNMPD.TrapReceiver) указывается адрес, который прослушивается snmptrapd на хосте с Nagios, например: SNMPD.TrapReceiver = 10.20.30.40:162 2.Проверить наличие скрипта <NAGIOS_PLUGINS_DIR>/eventhandlers/submit_check_result, который будет вызываться при получении SNMP trap. Если этого скрипта нет, то следует скопировать в это место файл submit_check_result из <opt_dir>/share/drweb-snmpd/connectors/nagios/plugins/eventhandlers/. Необходимо в этом файле исправить путь, указанный в параметре CommandFile. Он должен иметь такое же значение, что и параметр command_file в файле <NAGIOS_ETC_DIR>/nagios.cfg. 3.Скопировать файл snmptt.drweb.nagios.conf в каталог /etc/snmp/snmp/. В этом файле необходимо изменить путь к скрипту submit_check_result, наример, используя следующую команду: $ awk '$1 == "EXEC" { $2 = <NAGIOS_PLUGINS_DIR>/eventhandlers/submit_check_result }{ print}' ./snmp/snmptt.drweb.nagios.conf > /etc/snmp/snmp/snmptt.drweb.nagios.conf 4.Добавить в файл /etc/snmp/snmptt.ini строку /etc/snmp/snmptt.drweb.nagios.conf. После этого, если snmptt запущен в режиме демона, то его надо перезапустить. После того как все тебуемые файлы конфигурации Nagios были добавлены и отредактированы, необходимо запустить Nagios в режиме отладки командой # nagios -v <NAGIOS_ETC_DIR>/nagios.cfg В этом случае Nagios проверит наличие ошибок конфигурации. В случае отсутствия ошибок затем Nagios можно перезапустить стандартно (например, командой service nagios restart). Подробнее с официальной документацией по Nagios вы можете ознакомиться по ссылке http://www.nagios.org/documentation/. |