Установка zabbix agent на windows

Установка обновления zabbix 5.0 до 5.2

Centos 7, 8

Для начала проверим список установленных пакетов zabbix в системе. Их название может быть разным в зависимости от используемых репозиториев. К примеру, в centos 7 у пакетов может быть дополнение в виде scl к названию пакета.

Centos 7:

# rpm -qa | grep zabbix
zabbix-web-5.0.5-1.el7.noarch
zabbix-web-mysql-scl-5.0.5-1.el7.noarch
zabbix-agent-5.0.5-1.el7.x86_64
zabbix-web-deps-scl-5.0.5-1.el7.noarch
zabbix-apache-conf-scl-5.0.5-1.el7.noarch
zabbix-release-5.2-1.el7.noarch
zabbix-server-mysql-5.0.5-1.el7.x86_64

Centos 8:

# rpm -qa | grep zabbix
zabbix-server-mysql-5.0.5-1.el8.x86_64
zabbix-web-5.0.5-1.el8.noarch
zabbix-web-mysql-5.0.5-1.el8.noarch
zabbix-web-deps-5.0.5-1.el8.x86_64
zabbix-release-5.0-1.el8.noarch
zabbix-agent-5.0.5-1.el8.x86_64

Устанавливаем обновление zabbix на сервер Centos 8, выбирая установленные у вас пакеты:

# yum upgrade zabbix-web zabbix-web-mysql zabbix-server-mysql zabbix-agent

Для centos 7 будет такой список:

# yum upgrade zabbix-web zabbix-web-mysql-scl zabbix-agent zabbix-server-mysql

Обращаю внимание, что на момент написания данной статья, пакетов 5.2 для Centos 7 в репозиториях нет. В официальных инструкциях их тоже нет и не понятно, будут ли

Как только появятся, я дополню статью.

После завершения обновления, запускаем zabbix-server.

# systemctl start zabbix-server

Проверяем лог сервера. Необходимо дождаться обновления базы данных

Важно не трогать в этот момент сервер, не прерывать обновление, не пытаться его перезапустить. Если база большая, обновление может длиться очень долго

Рекомендую сначала где-то протестировать этот процесс, прежде чем обновлять прод.

# tail -f /var/log/zabbix/zabbix_server.log

В конце должны получить сообщение:

2860543:20201029:173036.441 completed 100% of database upgrade
2860543:20201029:173036.441 database upgrade fully completed

Есть ненулевой шанс, что будет какая-то ошибка с базой. Чаще всего возникают проблемы с какой-то нестандартной записью в таблице. Туда может попасть какой-то необычный символ, или с кодировкой проблемы. В этих случаях удаляйте проблемные записи, меняйте кодировку базы zabbix.

После обновления переходите в web интерфейс и проверяйте версию Zabbix. Должна быть 5.2.

На этом обновления Zabbix до 5.2 на Centos завершено.

Debian / Ubuntu

Устанавливаем само обновление zabbix на сервер с Debian или Ubuntu следующей командой:

# apt upgrade zabbix-agent zabbix-frontend-php zabbix-nginx-conf zabbix-server-mysql

После завершения обновления, запускаем сервер:

# systemctl start zabbix-server

В момент запуска произойдет обновление базы данных. Для маленькой базы (1-2 гб) это не займет много времени. Вы можете даже не заметить процесса. Если база больше, то надо подождать, пока не закончится обновление. Следить за ним можно с помощью просмотра лог файла zabbix сервера.

# tail -f /var/log/zabbix/zabbix_server.log

После завершения обновления базы, сервер запустится. После этого можно запустить и агент.

# systemctl start zabbix-agent

В логах агента и сервера можно посмотреть версию запущенных сервисов.

Starting Zabbix Agent . Zabbix 5.2.0 (revision bcf99fb248).
Starting Zabbix Server. Zabbix 5.2.0 (revision bcf99fb248).

Теперь можно идти в веб интерфейс и смотреть на обновленную версию zabbix server. Перед этим почистите кэш браузера и удалите куки от страницы заббикса. Если этого не сделать, то могут быть проблемы и ошибки, с чем я не раз сталкивался. Если у вас в качестве веб сервера используется nginx, не забудьте поменять владельца директории /etc/zabbix/web на nginx, в том случае, если веб сервер работает от него. После обновления он будет принадлежать apache, а web интерфейс не заработает.

# chown -R nginx:nginx /etc/zabbix/web

Теперь можете лицезреть обновленную версию web интерфейса в браузере.

Установка Zabbix agent на Windows

Переходим на страницу загрузок Zabbix agent и скачиваем самую последнюю версию агента для Windows нужной разрядности.

Распаковываем архив. Создаем на диске С: папку zabbix и купируем туда следующие файлы:

  • zabbix_agentd.exe
  • zabbix_get.exe
  • zabbix_sender.exe
  • zabbix_agentd.conf

Открываем командную строку с правами администратора и выполняем следующую команду для установки zabbix agent на операционную систему Windows:

= код для копирования =
c:/zabbix/zabbix_agentd.exe --config c:/zabbix/zabbix_agentd.conf --install

Открываем файл zabbix_agentd.win.conf любым текстовым редактором (можно WordPAD) и изменяем следующие параметры:

с:/zabbix/zabbix_agenttd.conf
= необходимые параметры c пояснениями = 
LogFile=c:\zabbix\zabbix_agentd.log 
LogFileSize=1
Server=192.168.0.109 # IP адрес сервера Zabbix
ServerActive=192.168.0.109 # IP сервера Zabbix на который активный агент будет отправлять данные 
Hostname=test # имя узла мониторинга, которое указано на сервере zabbix

Не забываем создать разрешающее правило в Брандмауэр, если он у вас включен. Находясь в настройках Брендмауэра идем по пути:

Дополнительные параметры — Правило для входящих подключений — Создать правило.

  • Тип правила: Для порта;
  • Протоколы и порты: Протокол TCP; Определенные локальные порты: 10050;
  • Действие: Разрешить подключение;
  • Профиль (ставим галочки): Доменный, Частный, Публичный;
  • Имя: Zabbix Agent 10050.

В случае использования активного агента идем по пути (даже если не используется лучше открыть):

Дополнительные параметры — Правило для исходящих подключений — Создать правило.

  • Тип правила: Для порта;
  • Протоколы и порты: Протокол TCP; Определенные локальные порты: 10051;
  • Действие: Разрешить подключение;
  • Профиль (ставим галочки): Доменный, Частный, Публичный;
  • Имя: Zabbix Agent 10051.

Ищем службу с именем Zabbix agent в оснастке со службами запускаем ее.

Если все прошло успешно то в логе c:\zabbix\zabbix_agentd.log вы увидите примерно такую информацию:

3728:20190724:153807.390 Starting Zabbix Agent . Zabbix 4.2.4 (revision 059af02).
3728:20190724:153807.394 **** Enabled features ****
3728:20190724:153807.397 IPv6 support: YES
3728:20190724:153807.400 TLS support: NO
3728:20190724:153807.402 **************************
3728:20190724:153807.406 using configuration file: c:\zabbix\zabbix_agentd.conf
3728:20190724:153807.410 agent #0 started 
3448:20190724:153807.412 agent #1 started 
5744:20190724:153807.441 agent #2 started 
6856:20190724:153807.628 agent #3 started 
6868:20190724:153807.766 agent #4 started 
3532:20190724:153807.880 agent #5 started 

В вариантах агента есть возможность выбрать автоматический установщик, но мне больше нравится настраивать руками.

Какой агент лучше использовать?

Какой агент использовать это дело вкуса. По моему мнению если у вас небольшая сеть и в которую редко добавляются новые узлы, то можно использовать пассивный агент.

Если же у вас большая сеть и на сервере десятки или сотни тысяч активных элементов данных. А также если в сети постоянно появляются новые узлы. То в этом случае лучше, а также если узлы находятся за НАТом то необходимо использовать активный zabbix агенты.

преимущества пассивного агента

Работает из «коробки»

Недостатки

  • Не работает если узел находится за NAT
  • В отличие от активного агента больше нагрузка на сервер

Преимущества активного агента

  • Меньшая нагрузка на сервер
  • Возможность работы за NAT
  • Авторегистрация узлов

Недостатки

Необходимо создавать шаблоны, в стандартной установке все шаблоны для пассивной проверке.

Подготовка к обновлению

Важная информация перед обновлением. Версия 5.4 без длительной поддержки. Через пол года к ней перестанут выходить обновления, так что вам обязательно придется обновляться на следующую версию. Если для вас не критичны нововведения этого релиза, пропускайте его и ждите новой LTS версии.

Если у вас версия ниже 5.2, то предварительно обновите ее до указанной. У меня есть цикл статей на тему обновления Zabbix:

  • 2.4 до 3.0
  • 3.0 до 3.2
  • 3.2 до 3.4
  • 3.4 до 4.0
  • 4.0 до 4.2
  • 4.2 до 4.4
  • 4.4 до 5.0
  • 5.0 до 5.2

Перед обновлением, сделаем на всякий случай бэкап базы данных. Для этого предварительно остановим сервер с агентом.

У меня что-то активно писалось в базу, поэтому сервер выключался долго. Я проверил лог zabbix-server, чтобы убедиться в корректном выключении. Там все нормально было, сервер штатно завершил работу, дописав то, что у него там накопилось. Так что бэкапим.

zabbix название базы данных заббикса
-uzabbix ключ -u и дальше имя пользователя базы данных
-p’password’ ключ -p и дальше пароль пользователя бд, если в пароле есть спецсимволы, экранируйте их одиночными кавычками

На всякий случай сохраним php скрипты админки, чтобы можно было оперативно запустить старую версию в случае нештатной ситуации. Хотя лично я сделал снепшот виртуалки перед обновлением, чтобы откатиться назад в случае проблем.

Centos 8

Подключаем репозиторий версии zabbix 5.4:

# rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-release-5.4-1.el8.noarch.rpm

Старый репозиторий от версии 5.2 будет автоматически удален.

Очищаем и пересоздаем кэш dnf:

Удаляем пакет текущего репозитория:

Подключаем новый:

Обновляем информацию о репозиториях:

Ubuntu 20

Удаляем пакет текущего репозитория:

Подключаем новый:

Обновляем информацию о репозиториях:

Если у вас другие версии систем, то простой найдите ссылки пакетов под свою версию в официальном репозитории — https://repo.zabbix.com/zabbix/5.4/ Дальнейшее обновление не будет отличаться от текущего.

К обновлению подготовились, можно приступать.

Настройка 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_get

Ну не так уж и без вариантов. Создание правила обнаружения тоже подойдёт, а может у ТС уже и настроены они.

Судя по вопросу, ничего у него не настроено

ТС, без обид, но вопрос действительно детский

На сервере все у меня настроено. Создал узел сети, прописал там ip, порт, добавил шаблон windows. Я это не стал писать, потому что и так понятно, что все это сделано.

Скомпилировал zabbix_get (его на серваке не было), данные могу запросить с сервера zabbix. Они приходят. В веб интерфейсе все равно пусто.

Узел сети создан, но данные на него не приходят.

А, значит вашу фразу

я некорректно распарсил.

Ну в таком случае покажите нам страницу настройки узла сети в zabbix сервере, потому что сетевых препятствий на получение данных нет.

обрезали много, ну да ладно, поговорим. И что, сверху он помечен красным, но статус «активировано»?

Он помечен зеленыи и статус активирован. Но иконка zbx не активна (это, видимо, значит, что агент не видно.

Т.е. с помощью zabbix_get я получаю данные (т.е. в винде все нормально), а в веб интерфейсе не могу их посмотреть.

Ну теперь все ясно. У вас не добавлено на хост ни одного шаблона. Заббикс-сервер и не пытался на клиент ходить, ему просто нет такой задачи.

Добавьте шаблоны (по-дефолту вроде есть какой-то шаблон для вин-серверов) и тогда у заббикс-сервера появится мотивация обратиться к клиенту и собрать какие-либо данные.

Попробовал еще раз шаблон добавить и сервер внезапно появился. В самом деле, детская ошибка. Я не нажимал обновить, когда добавлял шаблон.

Все работает. Спасибо.

Извини, если резко отвечал. Веб-морда у zabbix’а действительно норкоманская

Алексей Владышев ( alexvl )

Zabbix

  • это уровень железа – что-то произошло с какой-то железякой, мы тут же об этом узнаем,
  • уровень операционной системы,
  • сеть, в основном это мониторинг через SNMP,
  • виртуальный уровень, т.е. «из коробки» мы предлагаем, например, мониторинг WMware инфраструктуры, vCenter и vSphere,
  • дальше идет middleware,
  • бизнес-приложения.

это работает быстро, по крайней мере, быстрее, т.к

сервер не должен заниматься постоянным опрашиванием устройств, сами устройства отправляют информацию,
более безопасно с точки зрения агента, потому что агент не должен слушать никакие TCP-соединения или сетевые соединения.
небольшое преимущество, то, что нам сегодня важно – в активном режиме есть буферизация. Если Zabbix-сервер недоступен по каким-то причинам, допустим, мы делаем апгрейд Zabbix-сервера, у нас downtime несколько минут, то данные будут накапливаться на стороне агента

Как только мы сервер запускаем, данные тут же отправятся на сторону сервера, и мы их сможем обрабатывать.

История. Мы основываем свое решение не только на real-time мониторинге, на оперативной информации, которую мы только-только получили, но и смотрим в историю. В историю нужно обязательно смотреть

Это важно.
Отсутствие проблемы – не есть ее решение. Я привел несколько примеров, но на самом деле, вы многие используете Zabbix, посмотрите критическим взглядом на те триггеры, которые у вас сейчас есть

Комбинация анализа истории с гистерезисом, с разными условиями для проблемы и для выхода из проблемы – она на самом деле творит чудеса. Получается такое очень-очень умное обнаружение проблем. Нужно обязательно использовать эту функциональность.
С аномалиями, опять же, мне трудно сказать, принесет ли это какую-то практическую пользу, но, по крайней мере, стоит попробовать. Что касается аномалии, в Zabbix 3.0, возможно, мы реализуем baseline monitoring. Что это означает? Baseline – это некая норма, т.е. этот baseline будет высчитываться из трендов. Если сейчас все триггеры работают с историей, то для baseline мониторинга мы будем брать информацию из трендов, из тенденций, и будет возможность, например, сравнивать поведение системы в рабочее время на прошлой неделе с поведением системы на этой неделе или сегодня. Т.е. мы что-то будем брать за основу, за нормальную ситуацию и сравнивать с тем, что есть сейчас. Это такой статистический анализ, основанный на тенденциях, на трендах.
Автоматическое решение проблем. Наверное, у каждого из вас, если вы используете систему мониторинга, есть такой класс проблем, про который вы знаете, что эта проблема произойдет рано или поздно, и с этим ничего нельзя сделать. Я привел примеры каких-то случайных падений операционной системы – мы знаем, что такая проблема есть, она может произойти в любое время, соответственно, автоматическое решение проблем – это хорошее решение.
И эскалируем проблемы. Отличный стимул для администраторов, если мы делаем эскалирование. Эскалирование не означает, что вот есть администратор, начальник, начальник начальника, начальник начальника начальника… Эскалирование – это означает, что мы сможем среагировать на проблему сразу одним способом, дальше попытаться, может быть, автоматически решить ее другим способом, и дальше, может быть, через 5 минут, если проблема все еще существует, попытаться решить ее следующим способом. Сначала мы перезапускаем сервис, проблема все еще существует, скажем, exchange не завелся с первого раза, что мы тогда можем сделать? Мы можем перезапустить сервер на физическом уровне и тогда уже смотреть, что произойдет.

Установка Zabbix agent на XigmaNAS

Открываем доступ пользователю Root по SSH в веб панели управления и заходим стандартными командами для подключения по ssh.

ssh [email protected]
[email protected]'s password: вводим пароль
Last login: Fri Jul 12 22:09:31 2019
Welcome to XigmaNAS!
nas: ~#

Еmbedded версия XigmaNAS

При использовании версии Еmbedded, вы должны понимать, что все изменения, которые вы производите в системе пропадут при перезапуске системы!

Обновляем пакеты:

pkg update

Выводим список всех возможных пакетов Zabbix:

pkg search zabbix

На момент написания статьи актуальная версия была 4.2.4:

pkg install zabbix42-agent-4.2.4

Активируем сервис как службу:

sysrc zabbix_agentd_enable=YES

Копируем конфигурационный файл настройки агента и открываем его для редактирования:

cp /usr/local/etc/zabbix42/zabbix_agentd.conf.sample /usr/local/etc/zabbix42/zabbix_agentd.conf
ee /usr/local/etc/zabbix42/zabbix_agentd.conf
= необходимые параметры c пояснениями = 
Server=192.168.0.109 # IP адрес сервера Zabbix
ServerActive=192.168.0.109 # IP сервера Zabbix на который активный агент будет отправлять данные 
Hostname=test # имя узла мониторинга, которое указано на сервере zabbix

Сохраняем файл и запускаем агент Zabbix:

service zabbix_agentd start

Для проверки смотрими логи выполнив команду:

tail -f /tmp/zabbix_agentd.log
= вывод команды =
2466:20190717:212904.511 IPv6 support: YES 
2466:20190717:212904.511 TLS support: YES 
2466:20190717:212904.511 **************************
2466:20190717:212904.511 using configuration file: /usr/local/etc/zabbix42/zabbix_agentd.conf 
2466:20190717:212904.513 agent #0 started 
2467:20190717:212904.517 agent #1 started 
2469:20190717:212904.542 agent #3 started 
2468:20190717:212904.557 agent #2 started 
2470:20190717:212904.565 agent #4 started 
2471:20190717:212904.572 agent #5 started 

Проверить статус можно следующей командой:

service zabbix_agentd status
= вывод команды =
zabbix_agentd is running as pid 1812.

Full версия XigmaNAS

Вначале выполняем действия как для Еmbedded версии.

При использовании full версии после перезагрузки агент не запуститься и при попытке запустить в ручном режиме выдаст ошибку.

service zabbix_agentd start
= вывод команды =
zabbix_agentd : user zabbix does not exist
zabbix_agentd : cannot run as root!

Ошибка говорит о том что пользователя Zabbix нет. Добавлять пользователя через консоль используя стандартные команды для FreeBSD не получится. Работать с пользователями и группами вы сможете только используя веб панель управления.

Добавте пользователя и группу Zаbbix через веб панель управления XigmaNAS. При добавлении пользователя обязательно сделайте ему домашней папку /var/run/zabbix.

В консоли из под пользователя root дайте необходимые права на папку с программой и лог файл:

chown -R zabbix:zabbix /var/run/zabbix
chown zabbix:zabbix /tmp/zabbix_agentd.log

После этого служба будет нормально стартовать после перезагрузки.

В случае если не дать права на лог файл будет ошибка. Надо или давать права на лог файл или менять путь в файле настройки.

service zabbix_agentd start
= ошибка при отсутствии прав на лог файл =
zabbix_agentd : cannot open "/tmp/zabbix_agentd.log":  Permission denied

Модуль мониторинга PostgreSQL в составе Zabbix Agent 2

Для соединения с PostgreSQL используется быстрый и популярный драйвер pgx (PG driver and toolkit for Go).

Пока мы используем два интерфейса: Exporter, вызывающий обработчик по ключу, и Configurator Zabbix Agent 2, который считывает и проверяет параметры соединения с сервером, заданные в конфигурационном файле.

Мы постарались оптимизировать работу СУБД, группируя метрики и используя обработчик (handler) для метрик и групп метрик, а также используя группы метрик в JSON как зависимые переменные (dependency items), и низкоуровневое обнаружение (discovery rules).

Основные возможности

  • сохранение постоянного соединения с PostgreSQL между проверками;
  • поддержка гибких интервалов опроса;
  • совместимость с версиями PostgreSQL, начиная с 10, и Zabbix Server, начиная с версии 4.4;
  • возможность подключения и мониторинга нескольких инстансов PostgreSQL одновременно благодаря тому, что Zabbix Agent 2 позволяет создавать несколько сессий.

Уровни параметров подключения к PostgreSQL

Всего доступны три уровня параметров подключения к PostgreSQL, т. е. задач и настроек:

  • Global,
  • Sessions,
  • Macros.
  1. Параметры Global задаются на уровне агента, параметры Session и Macros определяют параметры подключения базе.

  2. Параметры подключения к PostgreSQL — Sessions задаются в файле zabbix_agent2.conf.

Параметры подключения к PostgreSQL — Sessions

  • После ключевого слова Sessions указывается уникальное имя сессии, которое должно быть указано в ключе (шаблоне).
  • Параметры URI и UserName обязательны для каждой сессии.
  • Если имя базы не задано, используется общее по умолчанию имя базы для всех сессий для PostgreSQL, которое также задается в конфигурационном файле.
  1. Параметры подключения к PostgreSQL — Macros задаются в ключе метрики в шаблоне (аналогично способу, использованному в Zabbix Agent 1), т. е. создаются в шаблоне и далее указываются как параметры в ключе. При этом последовательность макросов фиксирована, т. е., например, URI всегда указывается на первом месте.

Параметры подключения к PostgreSQL — Macros

Модуль мониторинга PostgreSQL включает уже более 95 метрик, которые позволяют охватить довольно широкий объем параметров PostgreSQL, включая:

  • количество соединений,
  • объем баз данных,
  • архивация wal-файлов,
  • контрольные точки,
  • количество «раздувшихся» таблиц,
  • статус репликации,
  • отставание реплики.

Метрики PostgreSQL не информативны без параметров операционной системы. Но Zabbix Agent 2 уже умеет собирать параметры операционной системы, поэтому для получения полной картины просто подключаем к узлу сети необходимые шаблоны.

Обработчик (handler)

Обработчик (handler) — основная единица модуля, в которой выполняется сам запрос и которая позволяет получать метрики.

Чтобы получить простую метрику:

  1. Создаем файл для получения новой метрики:

zabbix/src/go/plugins/postgres/handler_uptime.go

  1. Подключаем пакет и указываем уникальный ключ (ключи) метрик:
  1. Создаем обработчик (handler) с запросом, т. е. инициируем переменную, в которой будет результат:
  1. Выполняем запрос:

Необходимо проверить запрос на предмет ошибок, после чего результат будет подхвачен процессом Zabbix Agent 2.

  1. Регистрируем ключ новой метрики:

После регистрации метрики можно пересобирать агент с новой метрикой.

Модуль доступен, начиная с Zabbix 5.0 на сайте https://www.zabbix.com/download. В этой версии Zabbix параметры задаются отдельно через host и port. В версии Zabbix 5.0.2, которая скоро выйдет, параметры подключения будут скомпонованы в один URI.

Спасибо за внимание!

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: