Zabbix agent is not available for 3m windows
Zabbix agent is not available (or nodata for 30m)
Тестирую Zabbix в работе.
В какой то момент многие хосты стали выдавать такое сообщение.
Добавил ресурсов на Zabbix, не помогло.
Помогает перезапуск службы, но не надолго. То есть сами агенты не останавливаются.
Куда копать, подскажите?
Ты не те ресурсы добавляешь
Смотри лог zabbix сервера на предмет лимитов. И в веб-морде на страницу мониторинга самого сервера (нужна загрузка worker’ов)
Сбор идет как agent(active)? Если метрик много, а диски не очень быстрые либо перегруз по процессору/памяти, то он может просто не успевать записывать данные в базу
Сейчас на самом сервере сообщение
Zabbix preprocessing worker processes more than 75% busy
Смотрю что есть в конфиге про это…
по моему про это в конфигах ничего не было. Причина может быть в нехватке ресурсов или кривом препроцессинге (например жручие скрипты на js или многократный парсинг одного и того же)
в логах много такого
Отключил мониторинг TEMPLATE MS SQL DB, и все зашевелилось
cannot extract value from json by path. no data matches the specified path
Как вариант, за установленный промежуток времени, сервер не получил полного ответа от агента. То ли агент нетороплив, то ли ответ слишком громоздкий, то ли ещё невесть что.
Можно посмотреть в сторону смягчения настроек для этого агента (время отклика, количество попыток).
Если совсем тухло будет, то поднять там неподалёку zabbix-proxy, который на себя весь сбор и процессинг возьмёт.
Зайти на zabbix_agent, и какие параметры посмотреть?
Zabbix: установка и базовая настройка системы мониторинга
Zabbix это open-source система мониторинга корпоративного уровня. На текущий момент Zabbix одна из самых популярных и функциональных бесплатных систем мониторинга. Благодаря простой установке и настройке Zabbix можно использовать для мониторинга крупных инфраструктур с сотнями серверов, так и для мелких конфигураций. В этой статье мы рассмотрим, как выполнить установку и базовую настройку сервера Zabbix 4.4 с веб-интерфейсом на базе Linux Ubuntu и CentOS, установить агенты Zabbix на сервере Windows и Linux, и добавить новые хосты в систему мониторинга.
Общий интерфейс Zabbix сервера представлен на скриншоте ниже.
Из чего состоит Zabbix и что он может?
Zabbix простой установке и настройке, написан на C (сервер, прокси и агент) и PHP (фронтенд). Zabbix Server и Zabbix Proxy может работать только на Linux системах. Агент можно установить на большом количестве поддерживаемых ОС и платформах.
Инсталляция Zabbix сервера состоит из:
Обычно схема работы выглядит так:
Zabbix может работать со всеми известными протоколами, а благодаря системе внешних скриптов, Zabbix может выполнять и получать данные из любых исполняемых скриптов/бинарников.
Установка Zabbix Server в Linux (Ubuntu, CentOS)
В этой статье мы рассмотрим пример установки Zabbix Server 4.4 на Linux (на примере Ubuntu Server 18.4 и CentOS) через пакетный менеджер.
Перейдите на страницу загрузки https://www.zabbix.com/download и выберите репозиторий, соответствующий вашему дистрибутиву Linux. Готовые пакеты есть для всех популярных дистрибутивов.
Например, для установки Zabbix на Ubuntu 18.04 нужно последовательно выбрать :
Скачем и добавим репозиторий:
Теперь можно установить необходимые пакеты:
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agent
Предполагаем, что на сервере уже установлены: nginx, MySQL/MariaDB, php и php-fpm. Теперь через пакетный менеджер установим сам сервер Zabbix и агент:
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-agent
Осталось создать базу данных для Zabbix в MySQL (вместо MySQL можно использовать PostgreSQL, просто замените в командах ‘mysql’ на ‘pgsql’).
Создайте базу данных и дайте права пользователю, из-под которого Zabbix будет обращаться к базе данных:
Импортируйте базу данных Zabbix. Нужно будет ввести пароль, который вы указали при создании пользователя.
Измените конфигурационный файл /etc/zabbix/zabbix_server.conf, укажите пароль от вновь созданного пользователя.
Так как в моем случае веб сервером служит nginx, нужно изменить nginx.conf, раскомментировав следующие строчки
Выставим временную зону в PHP. В файле /etc/zabbix/php-fpm.conf раскомментируем строчку
Дополнительно можно выставить следующие параметры PHP в /etc/php.ini :
Добавьте службу zabbix-server в автозапуск и запустите ее:
# systemctl enable zabbix-server zabbix-agent nginx php7.2-fpm
# systemctl restart zabbix-server zabbix-agent nginx php7.2-fpm
Настройка веб-интерфейса Zabbix
Теперь нужно настроить frontend (веб-интерфейс) Zabbix. В браузере откройте указанный ранее URL адрес zabbix сервера. В моем случае это test.zabbix.local (или на домен, который вы указывали. Не забудьте прописать его у себя в hosts файле или на DNS сервере).
Убедитесь, что во всех требования инсталлятора указано ОК.
Укажите данные для подключения к БД. Используйте пользователя и пароль, который создали ранее.
Укажите название Zabbix сервера. Порт рекомендую оставлять стандартный – TCP 10051.
Не забудьте открыть данные порты. Например, на Zabbix сервере на базе CentOS можно открыть порты в firewalld с помощью firewall-cmd:
А на агенте достаточно открыть 10050:
Не забудьте перезагрузить firewalld:
На этом установка сервера Zabbix Server завершена.
На странице https://www.zabbix.com/download есть пошаговые инструкции для установки Zabbix Server на другие операционные системы, а так же инструкции как собрать zabbix-server из исходного кода или запустить его в docker контейнерах.
Установка Zabbix Agent в Windows
Попробуем установить Zabbix агент на сервер Windows и добавим его на наш сервер мониторинга Zabbix. Скачать версию Zabbix агент для Windows можно здесь: https://www.zabbix.com/download_agents.
Выберите нужную версию агента под Windows. Я выберу формат msi (amd64) (без OpenSSL). Если вы планируете устанавливать zabbix agent на сервера/компьютеры домена через групповые политики или SCCM, то можете скачать zip архив с бинарными файлами и конфигурационными файлами.
Запустите инсталлятор, примите лицензионное соглашение, укажите запрошенные данные. Обратите внимание, что в поле “Server or Proxy for active checks” я указал IP адрес в формате IP:PORT. Поскольку порт я оставлял стандартный, я пишу IP:10051.
Далее еще пару раз нажмем Next и Install.
После этого убедимся, что наш агент установлен. В списке служб должен появиться сервис Zabbix Agent.
На клиенте Windows нужно разрещить входящие подключения с IP адреса сервера Zabbix в Брандмауэре Windows:
Добавление устройства на Zabbix-сервере
Чтобы убедиться в работоспособности агента, нужно добавить хост testnode2 на Zabbix сервер и назначить ему проверки (checks).
При установке агента мы указывали сервер в формате IP:PORT как раз для активных проверок.
Нажмите Create host и заполните данные. Обратите внимание, что Host name хоста должен полностью совпадать с hostname машины или значением параметра Hostname в конфиге агента.
Во вкладке Templates добавить несколько встроенных Windows шаблонов. Шаблоны в Zabbix это наборы значений, триггеров, графов и правил обнаружения, которые могут быть назначены одному или нескольким хостам.
Эти интегрированные шаблоны имеют постфикс “active”, значит, будут использоваться активные проверки.
Нажмите Add. Чтобы не ждать пока сервер и агент увидят друг друга (обычно занимает пару минут), перезагрузите службу Zabbix Agent на testnode2 и проверьте лог агента (C:\Program Files\Zabbix Agent\zabbix_agentd.txt).
В этом разделе отображаются последние данные, которые пришли на сервер по выбранным хостам или группам хостов.
Обратите внимание на то, что в дашборде Zabbix висит уведомление о том, что служба BITS не запущена. Это уведомление появилось потому что мы назначили стандартные шаблоны нашему хосту. В одном из шаблонов был мониторинг сервиса BITS и соответствующий триггер, который срабатывает если служба BITS находится не в статусе Running.
На этом настройка Windows Agentа завершена.
Установка Zabbix Agent в Linux
Перед тем как мы запустим zabbix агент, нужно отредактировать конфигурационный файл /etc/zabbix/zabbix_agentd.conf. В нем нужно указать IP адрес сервера Zabbix для активных проверок.
После этого запустите сервис агента:
# service zabbix-agent start
Убедитесь, что агент успешно запустился.
Строка cannot parse list of active checks говорит о том, что на сервере нет активных проверок для этого хоста.
Перезагрузите Zabbix агент и проверьте лог.
Проверьте, что данные от агента появились на сервере Zabbix.
На этом настройка Zabbix-агента на Linux системе завершена. В следующей статье мы рассмотрим безагентный мониторинг доступности узлов в Zabbix через ICMP Ping.
Установка Zabbix agent на Windows
В нашем примере мы установим агент для Zabbix на Windows в качестве службы, а также сделаем минимальную настройку для отправки данных на сервер.
Загрузка агента
Переходим на страницу загрузки агента Zabbix и выбираем платформу операционной системы (x32 или x64) и версию агента, например:
* помимо этого, мы можем выбрать вариант дистрибутива: с использованием шифрования или нет, а также файл установки — msi пакет или архив. В данном примере мы выбрали версию 5.
В зависимости от выбранных критериев поиска агента, ниже мы можем увидеть несколько вариантов для загрузки. Находим нужный и кликаем по DOWNLOAD для скачивания файла:
Ждем окончания загрузки и переходим к установке.
Установка агента
В зависимости от загрузки типа пакета (MSI или архив) будут разные методы установки. Рассмотрим оба.
Установка из MSI-пакета
Это удобный вариант, который позволит установить агента с помощью мастера. Чтобы начать, кликаем дважды по скачанному пакету и в окне приветствия нажимаем Next:
Принимаем лицензионное соглашение, установив галочку I accept the terms in the License Agreement и нажимаем Next:
В следующем окне оставляем имя компьютера, на который устанавливается агент и вводим имя или IP-адрес сервера zabbix, после кликаем по Next:
* в данном примере имя нашего компьютера Windows PC, а сервера — zabbix-server.dmosk.local.
Выбираем компоненты, которые хотим установить — можно просто оставить все по умолчанию и нажимаем Next:
Подтверждаем установку, кликая по Install:
Ждем завершения процесса — агент установлен.
Установка из архива
Данный метод требует дополнительных манипуляций, но с его помощью можно автоматизировать процесс. Мы рассмотрим только установку.
Распаковываем содержимое скачанного архива в каталог, где будут находиться файлы программы, например в C:\Program Files\Zabbix Agent. В итоге, у нас получится:
Открываем WordPad от администратора и в нем открываем конфигурационный файл conf/zabbix_agentd.conf и правим опцию для сервера zabbix — находим строку:
* где zabbix-server.dmosk.local — имя сервера Zabbix.
Теперь открываем командную строку от администратора и выполняем команду для установки агента:
* где C:\Program Files\Zabbix Agent — папка, куда мы распаковали архив.
Мы должны увидеть что-то на подобие:
zabbix_agentd.exe [468]: service [Zabbix Agent] installed successfully
zabbix_agentd.exe [468]: event source [Zabbix Agent] installed successfully
Теперь открываем службы Windows и находим «Zabbix Agent» — кликаем по ней правой кнопкой мыши и выбираем Запустить:
Настройка брандмауэра
Если в нашей системе работает брандмауэр Windows, необходимо разрешить порт 10050 или приложение zabbix agent.
Это же действие можно выполнить в powershell — запускаем ее от администратора и вводим команду:
Или мы можем добавить в исключение порт. Это можно сделать также из командной строки poweshell:
Проверка работы
Чтобы убедиться в работоспособности агента, мы можем зайти на сервер zabbix и выполнить подключение по telnet, например, командой:
telnet 192.168.1.15 10050
* где 192.168.1.15 — IP-адрес компьютера с установленным Zabbix.
Connected to nr-fs-06.
Escape character is ‘^]’.
.. и через небольшой интервал времени:
Connection closed by foreign host.
Но если агент не запущен или не работает, мы увидим ошибку:
В панели сервера в узлах сети при корректной установке и настройке, мы также должны увидеть доступность компьютера по агенту:
Настройка zabbix server и zabbix agent
Есть сервер с уже установленным zabbix на debian. На windows сервере служба zabbix работает, но с zabbix сервера я не вижу windows server.
Конфиг zabbix агента
Есть ли какие-нибудь настройки iptables на zabbix сервере не знаю.
в директории zabbix-агента должна быть файлик с логом. брэндмауэр какой-нибудь покупной или встроенный в виндовз?
telnet на виндовую машину на порт заббикс клиента подключается?
Ну у меня с таким логом все работает. (но я брэндмауэр не отключал, а просто вписал исключение для zabbix_agentd)
Если порт не указать, вообще не подключается.
ну если порт не указать, то телнет лезет на порт по-дефолту, 23, там точно ничего нет.
Если соединение открывается, значит порт все-таки открыт.
Далее смотрите zabbix_server.log на предмет записей по этому хосту.
В логе куча записей от mikrotik, мониторю его по snmp, в этой каше что-то найти можно только по поиску.
Какой магии ты ожидаешь? Ты должен сам завести хост на заббикс сервере, без вариантов
Прочти документацию в части добавления нового агента
но с zabbix сервера я не вижу windows server.
Ты и не должен. Пиши по русски, что данные не приходят или что?
А он че его не добавил? ЛОЛ
если данные не приходят, дергай zabbix_get
Ты должен сам завести хост на заббикс сервере, без вариантов
Ну не так уж и без вариантов. Создание правила обнаружения тоже подойдёт, а может у ТС уже и настроены они.
Судя по вопросу, ничего у него не настроено
ТС, без обид, но вопрос действительно детский
На сервере все у меня настроено. Создал узел сети, прописал там ip, порт, добавил шаблон windows. Я это не стал писать, потому что и так понятно, что все это сделано.
Скомпилировал zabbix_get (его на серваке не было), данные могу запросить с сервера zabbix. Они приходят. В веб интерфейсе все равно пусто.
Узел сети создан, но данные на него не приходят.
А, значит вашу фразу
данные могу запросить с сервера zabbix. Они приходят.
я некорректно распарсил.
Ну в таком случае покажите нам страницу настройки узла сети в zabbix сервере, потому что сетевых препятствий на получение данных нет.
обрезали много, ну да ладно, поговорим. И что, сверху он помечен красным, но статус «активировано»?
Он помечен зеленыи и статус активирован. Но иконка zbx не активна (это, видимо, значит, что агент не видно.
Т.е. с помощью zabbix_get я получаю данные (т.е. в винде все нормально), а в веб интерфейсе не могу их посмотреть.
Ну теперь все ясно. У вас не добавлено на хост ни одного шаблона. Заббикс-сервер и не пытался на клиент ходить, ему просто нет такой задачи.
Добавьте шаблоны (по-дефолту вроде есть какой-то шаблон для вин-серверов) и тогда у заббикс-сервера появится мотивация обратиться к клиенту и собрать какие-либо данные.
Попробовал еще раз шаблон добавить и сервер внезапно появился. В самом деле, детская ошибка. Я не нажимал обновить, когда добавлял шаблон.
Все работает. Спасибо.
Извини, если резко отвечал. Веб-морда у zabbix’а действительно норкоманская
Zabbix настройка мониторинга температуры
Появилась у меня потребность мониторить температуру windows серверов в Zabbix. Из систем мониторинга он мне больше всего нравится, поэтому смотрел в его сторону. Решение задачи оказалось неожиданно простым, о чем я и хочу вам рассказать.
Введение
Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:
То же самое на Debian 10, если предпочитаете его:
Текущая статья писалась для версии 2.4, все скриншоты приведены из нее. В настоящее время уже вышли более новые версии, но вся нижеизложенная инструкция не потеряла актуальности. Все будет работать и в новой версии.
Подготовка к мониторингу в Zabbix
Описанным мной способом можно мониторить температуру не только windows серверов, но и любых рабочих станций, если будет такая необходимость. Схема мониторинга следующая:
Существует бесплатная утилита Open Hardware Monitor, которая может показывать температуру некоторых датчиков сервера. Вообще говоря, она много чего может показывать (напряжение, скорость вентиляторов, загрузку процессора), но в данном случае нас интересует только температура. У этой утилиты есть версия, работающая в командной строке. Из командной строки показания датчиков можно записывать в файл. Этот файл можно анализировать и забирать из него необходимую для мониторинга информацию. Дальше эта информация передается в сервер Zabbix с помощью опции UserParameter. Все достаточно просто и в то же время эффективно.
Приступим к реализации. Скачиваем GUI версию утилиты по ссылке, приведенной ранее и консольную версию OpenHardwareMonitorReport. Запускаем GUI на сервере и смотрим, какие датчики нам доступны для мониторинга.
Программа увидела несколько датчиков. С процессором все понятно, а вот три других датчика не ясно, чью температуру показывают. Я хотел мониторить температуру процессора и материнской платы. Узнать, какая температура относится к материнской плате можно несколькими способами. Конкретно в данной ситуации я просто запустил портированную версию AIDA64 и посмотрел, какие показания у датчика материнской платы:
Можно было пойти другим путем, зайти в IPMI панель, если она есть, и посмотреть там. Я работал с серверами SuperMicro, там она есть. Я на всякий случай зашел и проверил:
Открываем файл 1.txt. Ищем там строки
Нас интересует выделенный текст. По нему мы будем вычленять температуру для мониторинга и передавать ее на Zabbix сервер. Создаем в этой же папке 2 bat файла следующего содержания:
CPUTemperature.bat
MotherTemperature.bat
Запускаем эти батники в командной строке и проверяем вывод. Там должны быть только цифры температуры:
Отлично, на выходе готовые цифры, которые мы будем передавать в Zabbix. Займемся его настройкой.
Настройка Zabbix agent в Windows
Предполагается, что у вас уже настроен сервер мониторинга Zabbix и подключены клиенты, которые ему передают информацию. В данном материале я не буду касаться непосредственно установки и настройки сервера Zabbix, это будет отдельный материал. Сейчас же мы берем готовый файл конфигурации агента zabbix_agentd.win.conf и добавляем в самый конец файла следующие строки:
Перезапускаем службу агента Zabbix, чтобы изменения вступили в силу.
Настройка мониторинга на Zabbix сервере
Теперь идем на сервер. У меня Zabbix установлен на сервере CentOS, хотя это не принципиально. Добавляем новый Item. Пойти можно двумя путями:
Параметр Temperature.CPU тот же самый, что и в файле конфигурации агента.
По аналогии создаем итем Mother Temperatue:
Нажимаем graph и смотрим график:
Запускаем GUI интерфейс и смотрим, какие датчики мы сможем мониторить:
Нас будет интересовать температура обоих ядер процессора. Теперь запускаем OpenHardwareMonitorReport.exe с выводом информации в текстовый файл. Смотрим, как выглядят строки с интересующей нас информацией:
Создаем два bat файла следующего содержания:
CPU1Temperature.bat
CPU2Temperature.bat
Редактируем конфигурационный файл zabbix_agentd.win.conf агента Zabbix на клиенте. Добавляем в конец две строки:
Перезапускаем службу агента, чтобы изменения вступили в силу.
Дальше идем на сервер Zabbix и по аналогии с предыдущим сервером создаем там Итемы мониторинга. Причем итемы создаем не в шаблоне, а в конкретном сервере, который будем мониторить. Параметр key в этих итемах будет соответственно Temperature.CPU1 и Temperature.CPU2 Ждем некоторое время и проверяем результат.
item became not supported
Во время отладки работ я столкнулся с проблемами. Периодически Item отваливались и получали статус: Not Supported. При этом в логах сервера были следующие записи:
То есть данные то собирались, то переставали собираться. Иногда, чтобы данные снова пошли, приходилось удалять итем и создавать его заново. Некоторое время я повозился, пока не понял, в чем дело.
Я обратил внимание, что при запуске батника из командной строки, вывод данных происходит с приличной задержкой в 3-5 секунд. В Zabbix по-умолчанию стоит параметр, по которому агент ожидает ответа от скрипта 3 секунды и на сервере есть подобный параметр, по которому сервер ждет ответа от агента 3 секунды. Если за это время данные не поступают, то итем переходит в статус Not Supported и данные с него не собираются.
Чтобы избавиться от этой ошибки, необходимо увеличить таймаут до 15-ти секунд. Меняем параметр в конфиге на клиентах и на сервере. Он и там и там один и тот же:
Потом перезапускаем сервер и агентов и ждем результатов. Больше ошибок быть не должно.
На этом, собственно настройка мониторинга температуры окончена. Можно дальше все оформить как полагается: настроить тригеры, оповещения, графики красивые нарисовать. Кому что нужно. Я себе вывел вот такую картинку для наглядности: