Присматриваем за окнами. Windows + Zabbix
Введение
Практика «Агента»
Если у Вас установлен Zabbix агент, то общаться мы будем с ОС через него.
При просмотра шаблона Template OS Windows обращаем внимание на элемент данных:
Average disk write queue length perf_counter[\234(_Total)\1404].
Что же означают эти цифры \234(_Total)\1404. ?
В ОС Windows эти цифры обозначают внутренние идентификаторы счетчиков производительности. Но если у Вас установленна база Zabbix с кодировкой UTF8, то ничего не мешает нам использовать русские названия в счетчиках
Получаем счетчики следующим образом:
typeperf -q
А если у нас несколько жестких дисков (интерфейсов и т.п.):
typeperf -qx
Слишком много информации? Фильтруем:
typeperf «\Физический диск(_Total)\»
Другой вариант получить счетчики:
lodctr /s:perfcount.txt
Открыв файл мы увидем идентификаторы и их название в начале на английском, а затем на русском языке.
Практика SNMP
Но что делать, когда нельзя (или нет желания) установить агент?
Для этого, мы будем читать счетчики через SNMP:
snmpwalk -Of -c public -v 2c 192.168.0.1
Если выполнять под ОС Windows, то результат будет вида:
.iso.3.6.1.2.1.1.1.0 = STRING: «Hardware: Intel64 Family 6 Model 44 Stepping 2 AT/AT COMPATIBLE — Software: Windows Version 6.1 (Build 7601 Multiprocessor Free)»
Если выполнять под ОС Linux, то результат будет вида:
.iso.org.dod.internet.mgmt.mib-2.system.sysDescr.0 = STRING: Hardware: Intel64 Family 6 Model 44 Stepping 2 AT/AT COMPATIBLE — Software: Windows Version 6.1 (Build 7601 Multiprocessor Free)
(Также можно поискать соответствие цифр с названиями на http://support.ipmonitor.com/snmp_center.aspx)
Linux вариант более информативный.
Заключение
Осталось подключить необходмые счетки и можно будет следить за производительностью системы.
Zabbix Documentation 5.2
Sidebar
Настройка шаблонов для Zabbix агента
Шаги для обеспечения правильной работы шаблонов, которые собирают метрики с помощью Zabbix агент:
1. Убедитесь, что на узле сети установлен агент Zabbix. Для активных проверок также убедитесь, что узел сети добавлен в параметр ServerActive файла конфигурации агента.
2. Привяжите шаблон к целевому узлу сети (если шаблон недоступен в вашей установке Zabbix, вам может потребоваться сначала импортировать файл .xml шаблона — см. инструкции в разделе Готовые шаблоны).
3. При необходимости измените значения обязательных макросов.
4. Настройте объект для мониторинга так, чтобы разрешить обмен данными с Zabbix — см. инструкции в столбце Дополнительные шаги/комментарии.
Шаблон | Обязательные макросы | Дополнительные шаги/комментарии |
---|---|---|
Template App Apache by Zabbix agent | — имя хоста или IP-адрес страницы состояния Apache (по умолчанию: 127.0.0.1) — путь URL (по умолчанию: server-status?auto) — порт страницы состояния Apache (по умолчанию: 80) | Должен быть установлен модуль Apache mod_status (см. подробнее в документации Apache). Чтобы проверить доступность, выполните: httpd -M 2>/dev/null | grep status_module |
Пример конфигурации Apache:
SetHandler server-status
Require host example.com
— порт узла сети или контейнера HAProxy Stats (по умолчанию: 8404)
— схема страницы HAProxy Stats. Поддерживается: http (по умолчанию), https
— сервис проверки порта (по умолчанию: http). См. подробнее в разделе net.tcp.service.
Web Server
IIS Management Scripts and Tools
См. подробнее в документации IIS.
— путь к странице Nginx stub_status (по умолчанию: basic_status)
— порт узла сети или контейнера Nginx stub_status (по умолчанию: 80)
Чтобы проверить доступность, выполните:
nginx -V 2>&1 | grep -o with-http_stub_status_module
<$RABBITMQ.API .USER>, <$RABBITMQ.API .PASSWORD> — учетные данные для входа в RabbitMQ (по умолчанию имя пользователя: zbx_monitor, пароль: zabbix)
Чтобы создать пользователя RabbitMQ с необходимыми разрешениями для мониторинга, запустите:
rabbitmqctl add_user zbx_monitor
rabbitmqctl set_permissions -p / zbx_monitor «» «» «.*»
rabbitmqctl set_user_tags zbx_monitor monitoring
Если кластер состоит из нескольких узлов, рекомендуется назначить шаблон мониторинга кластера отдельному балансирующему узлу сети. В случае мониторинга кластера с одним узлом, шаблон кластера можно назначить узлу сети с шаблоном узла.
— порт службы базы данных (по умолчанию: 3306)
2. Скопируйте файл template_db_mysql.conf из каталога templates Zabbix в папку с конфигурацией Zabbix агента (по умолчанию /etc/zabbix/zabbix_agentd.d/) и перезапустите Zabbix агент.
3. Создайте пользователя MySQL zbx_monitor . Чтобы предоставить пользователю необходимые привилегии, выполните:
GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO ‘ ‘@’%’;
(см. подробнее в документации MySQL).
4. Создайте .my.cnf в домашнем каталоге Zabbix агента для Linux (/var/lib/zabbix по умолчанию) или my.cnf в c:\ для Windows. В файле должно быть три строки:
[client]
user=’zbx_monitor’
password=’
‘
— каталог сокета или узел сети сервера базы данных (по умолчанию:127.0.0.1)
— порт сервера базы данных (по умолчанию: 5432)
— имя пользователя базы данных (по умолчанию: zbx_monitor)
CREATE USER zbx_monitor WITH PASSWORD ‘
‘ INHERIT;
GRANT pg_monitor TO zbx_monitor;
Для более старых версий PostgreSQL, выполните:
CREATE USER zbx_monitor WITH PASSWORD ‘
‘;
GRANT SELECT ON pg_stat_database TO zbx_monitor;
2. Скопируйте postgresql/ в домашний каталог Zabbix агента (/var/lib/zabbix/).
3. Скопируйте template_db_postgresql.conf из папки в Zabbix templates в папку конфигурации Zabbix агента (/etc/zabbix/zabbix_agentd.d/) и перезапустите Zabbix агент.
4. Отредактируйте pg_hba.conf , чтобы разрешить соединения от агента Zabbix (см. подробнее в документации PostgreSQL).
Примеры строк:
host all zbx_monitor 127.0.0.1/32 trust
host all zbx_monitor 0.0.0.0/0 md5
host all zbx_monitor ::0/0 md5
5. Для мониторинга удаленного сервера создайте файл .pgpass в домашнем каталоге Zabbix агента (/var/lib/zabbix/) и добавьте строки с информацией об экземпляре, порте, базе данных, пользователе и пароле (см. подробнее в документации PostgreSQL).
Примеры строк:
:5432:postgres:zbx_monitor:
Шаблоны Windows в ZABBIX
Шаблоны Windows в ZABBIX отличаются главным образом использованием специфическими для этой ОС счетчиками производительности. Счетчики представляют из себя встроенное средство анализа основных показателей операционной системы, некоторого программного обеспечения, а также аппаратных ресурсов. Подавляющее большинство серьезных систем мониторинга умеют использовать эти счетчики, вот и ZABBIX не исключение . В этой статье я постараюсь рассказать об основных «подводных камнях», встретившихся мне при работе с этим инструментом.
Вводная статья по шаблонам мониторинга ZABBIX — Шаблоны ZABBIX.
Если вам интересна тематика ZABBIX, рекомендую обратиться к основной статье — Система мониторинга ZABBIX, в ней вы найдете дополнительную информацию.
Шаблоны Windows — нюансы
Прочитав документацию ZABBIX касательно настройки счетчиков (кому интересно, глава «6 Счетчики производительности Windows«), я поразился насколько все просто и был удивлен столь богатой функциональностью, но не тут то было… Поначалу я пользовался встроенными в систему шаблонами, но в итоге на некоторых узлах сети счетчики у меня работали, а на некоторых данные просто не приходили не по одному ключу. В конечном счете я решил пройти процесс создания ключа данных с использованием счетчика Windoows с самого начала и до момента пока не увижу красивые графики с необходимой мне информацией.
В руководстве все просто:
Вы можете эффективно мониторить счетчики производительности Windows используя ключ perf_counter[].
Например:
perf_counter[«\Processor(0)\Interrupts/sec»]
или
perf_counter[«\Processor(0)\Interrupts/sec», 10]
Но почему счетчики работают не на каждом узле сети? Ответ тоже прост:
В зависимости от настроек местоположения, именования счетчиков производительности могут быть разными на разных серверах Windows. Это может ввести определенные проблемы при создании шаблонов для Windows, имеющих разные настройки местоположения.
Каждый счетчик производительности может быть переведен в цифровую форму, которая является уникальной и независимой от языковых настроек, так что вы можете использовать числовое представление, а не строковое.
Для того чтобы найти цифровые эквиваленты, выполните regedit, а затем найдите HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009.
Напрашивается следующий вывод: буквенное представление счетчиков работает только на системе с языком, который аналогичен языку счетчиков в вашем шаблоне. В итоге я решил использовать только цифровое представление и перевести все необходимые мне данные на эту форму.
С переводом все элементарно: просто ищем необходимый ключ реестра (см. выше), выгружаем данные в любой текстовый файл и ищем необходимые ключи:
Здесь вы можете найти соответствующие числа для каждой части строки счетчика производительности, как для ‘\System\% Processor Time’:
System -> 2
% Processor Time -> 6
Затем используйте эти числа для преобразования пути в числа:
\2\6
UPD: 2016.05.19: есть некоторые неприятные нюансы, подробнее см. в Изменения счетчиков производительности CPU
Но тут меня ждал сюрприз: на некоторых серверах с использованием большого количества ролей я находил в этом файле несколько ключей данных! Какой из них выбрать, какой будет правильным? Я определил для себя следующие правила: поскольку счетчик состоит из двух параметров, надо найти сначала первый (ваш Кэп), запомнить примерное месторасположение в файле, а потом найти второй и если он будет выше первого по месторасположению, то игнорировать его; если же сразу после месторасположения первого мы найдем ниже него несколько одинаковых вторых ключей, то нам будет нужен ближайший к первому второй ключ. Подобная логика должна вам помочь выбрать правильный ключ данных. В противном случае получаемая информация будет некорректная или в ней не будет смысла, либо вы вообще не получите никаких данных. Нигде в интернете этого я почему-то не нашел, видимо авторы статей не слишком сильно углублялись в мониторинг счетчиков.
Далее. Следующий неприятный момент в этой системе мониторинга — это типы данных элементов мониторинга. В принципе все просто, но вы должны помнить, что тип данных автоматически не определяется и вы должны определить его самостоятельно и, что самое главное, при неправильном выборе вы останетесь без данных, они просто не будут приниматься. В случае со счетчиками производительности вам будет нужен исключительно «Числовой (с плавающей точкой)» как показано на скриншоте ниже:
Чтобы уяснить это простое правило, несколько лет назад у меня ушла куча времени и я дошел почти до отчаяния, ведь не знал ни основные проблемы при настройке, ни методики «траблшутинга». В таких случаях есть одно проверенное средство — zabbix_get, рекомендую использовать его всякий раз. когда вы находитесь в тупике.
В принципе это все, что я и хотел сказать. В интернете куча статей на тему «zabbix счетчики производительности» и копировать я их не намерен, я лишь хочу поделиться основным опытом в решении ранее казалось бы тупиковых проблем. Мало кто ставит целью не изобретение велосипеда, а описание рассуждений и логики мышления при решении обыденных для них задач, но ведь информации в интернете сейчас масса, а вырабатыванию подхода не учит почти никто.
Шаблон template os windows by zabbix agent
Темплейты для выполнения резервного копирования.
- Template Backup MySQL — темплейт для резервного копирования и мониторинга резервного копирования БД MySQL;
- Template Backup mediawiki — темплейт для резервного копирования и мониторинга резервного копирования mediawiki;
- Template Backup redmine — темплейт для резервного копирования и мониторинга резервного копирования redmine;
Темплейты для мониторинга сервисов установленных на ОС Linux.
- Template App Apache2 — темплейт для мониторинга сервера apache2 на ОС Linux;
- Template App MySQL — темплейт для мониторинга сервера MySQL на ОС Linux;
- Template App PostgreSQL — темплейт для мониторинга сервера PostgreSQL на ОС Linux;
- Template App Snort — темплейт для мониторинга IPS/IDS Snort на ОС Linux;
- Template App Suricata — темплейт для мониторинга IPS/IDS Suricata на OC Linux;
- Template App Tor — темплейт для мониторинга сервера Tor на ОС Linux;
- Template App Yota — темплейт для мониторинга сетевого интерфейса Yota;
- Template App Zabbix agent ext — темплейт-расширение стандартного Template App Zabbix agent;
- Template App Zabbix ext — темплейт-расширение стандартных Template App Zabbix Server и Template App Zabbix Proxy;
- Template App apt-cacher-ng — темплейт для мониторинга apt-cacher-ng на ОС Linux;
- Template App bind9 — темплейт для мониторинга bind на ОС Linux;
- Template App conntrack — темплейт для мониторинга сервиса conntrack на ОС Linux;
- Template App ejabber — темплейт для мониторинга сервиса ejabber на ОС Linux;
- Template App gitlab — темплейт для мониторинга gitlab, установленого из omnibus пакета;
- Template App isc-dhcp-server — темплейт для мониторинга isc-dhcp сервера на OC Linux;
- Template App mediawiki — темплейт для мониторинга mediawiki на ОС Linux;
- Template App nginx — темплейт для мониторинга сервиса nginx на ОС Linux;
- Template App openvpn — темплейт для мониторинга сервиса openvpn на ОС Libux;
- Template App pacemaker — темплейт для мониторинга отказоустойчивого кластера на основе Pacemaker на ОС Linux;
- Template App privoxy — темплейт для мониторинга privoxy на ОС Linux;
- Template App redis — темплейт для мониторинга сервера БД Redis на ОС Linux;
- Template App redmine — темплейт для мониторинга redmine на ОС Linux;
- Template App snorby — темплейт для мониторинга Web-приложения snorby на ОС Linux;
- Template App unicorn — темплейт для мониторинга Web-сервера unicorn на ОС Linux;
- Template SNMP Squid Proxy — темплейт для мониторинга squid. copy from
Темплейты для мониторинга сервисов установленных на ОС Windows.
- Template App KAV — темплейт для мониторинга событий Антивируса Касперского на ОС Windows;
- Template App RDP — темплейт для мониторинга Remote Desktop Services на ОС Windows;
- Template App WSUS — темплейт для мониторинга WSUS;
- Template App WindowsBackup — темплейт для мониторинга резервного копирования Windows;
- Template App Windows DC — темплейт для мониторинга состояния и производительности Windows DC;
- Template App Windows DNS — темплейт для мониторинга состояния и производительности Windows DNS;
- Template App Windows IIS — темплейт для мониторинга Windows IIS;
Темплейты для мониторинга *nix подобных операционных систем.
- Template OS Debina — темплейт для мониторинга ОС Debian;
Темплейты для мониторинга ОС Windows
- Template OS Windows — темплейт для мониторинга ОС Windows.
Темплейты для мониторинга различного оборудования.
- Template HW HP1920 — темплейт для мониторинга коммутаторов серии HP1920 по протоколу SNMP;
- Template HW HP2530 — темплейт для мониторинга коммутаторов серии HP2530 по протоколу SNMP;
- Template HW LMSENSORS — темплейт для мониторинга температурных датчиков ЦПУ, чипсета и т.п. через модуль lm-sensor на ОС Linux;
- Template HW SMART — темплейт для мониторинга параметров S.M.A.R.T. HDD на ОС Linux;
- Template HW Supermicro X8QB6 — темплейт для мониторинга серверов Supermicro X8QB6 по протоколу IPMI;
Темплейты для удаленного мониторинга сервисов и т.п.
- Template Rmt Active Directory — темплейт для мониторинга Active Directory;
- Template Rmt PingNslookup — темплейт для мониторинга состояния соединения с сетью интернет на ОС Linux;
- Template Rmt gateway — темплейт для мониторинга MAC default gateway и публичного IP адреса на ОС Linux;
- Template Rmt speedtest — темплейт для мониторинга доступной скорости соединения с интернет на ОС Linux;
About
Коллекция темплейтов для cиcтемы мониторинга zabbix 3.0