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

Мне нужно было настроить мониторинг Zabbix на целом зоопарке всевозможных серверов различных версий. Среди них были в том числе сервера на старенькой Freebsd 8.2, которая уже давно не обновлялась. Порты, пакеты, все было очень старое, не обновлялось пару лет так точно. Я решил пойти по самому быстрому и простому пути в этом деле, чем и хочу поделиться.

Онлайн-курс по устройству компьютерных сетей

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Итак, у нас имеется Freebsd сервер:

# uname -v
FreeBSD 8.2-RELEASE #4: Wed Nov 30 16:29:43 MSK 2011

Попытка сходу поставить zabbix-agent из портов закончилась неудачей. Какие-то зависимости нужно было обновить. Да и версия там была очень старая. На сервере работает много сервисов, которые не хотелось тревожить. Такие обновления часто заканчиваются всевозможными проблемами с зависимостями. В общем, не хотелось рисковать и сильно заморачиваться.

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

Я решил пойти по другому пути. Скачать готовый скомпилированный агент и запустить его. Идем на страничку http://www.zabbix.com/download.php и скачиваем последнюю версию под нашу систему:

# mkdir /root/zabbix-agent && cd /root/zabbix-agent
# fetch http://www.zabbix.com/downloads/2.4.4/zabbix_agents_2.4.4.freebsd8_2.i386.tar.gz

Распаковываем скачанный архив:

# tar -xzvf  zabbix_agents_2.4.4.freebsd8_2.i386.tar.gz

У нас на выходе 3 папки: bin, conf, sbin

Копируем файлы из папки:

bin в папку /usr/local/bin
sbin в папку /usr/local/sbin
conf копируем файл zabbix_agentd.conf в папку /usr/local/etc

Добавляем в файл /etc/rc.conf строку:

zabbix_agentd_enable="YES"

Создаем в папке /usr/local/etc/rc.d файл zabbix_agentd:

# cd /usr/local/etc/rc.d
# mcedit zabbix_agentd
#!/bin/sh

# REQUIRE: DAEMON
# PROVIDE: zabbix_agentd

. /etc/rc.subr

name="zabbix_agentd"
rcvar=`set_rcvar`
command="${prefix:-"/usr/local"}/sbin/${name}"

load_rc_config ${name}
run_rc_command "$1"

Делаем его исполняемым:

# chmod 0754 zabbix_agentd

Последний этап - создаем пользователя zabbix, без него сервис стартовать не будет, напишет ошибку, что не может работать под root:

# adduser

Username: zabbix
Full name: zabbix agent
Uid (Leave empty for default):
Login group [zabbix]:
Login group is zabbix. Invite zabbix into other groups? []:
Login class [default]:
Shell (sh csh tcsh bash rbash nologin) [sh]: bash
Home directory [/home/zabbix]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : zabbix
Password : *****
Full Name : zabbix agent
Uid : 1002
Class :
Groups : zabbix
Home : /home/zabbix
Home Mode :
Shell : /usr/local/bin/bash
Locked : no
OK? (yes/no): yes
adduser: INFO: Successfully added (zabbix) to the user database.
Add another user? (yes/no): no
Goodbye!

Редактируем конфиг zabbix_agentd.conf под себя. Я рекомендую там как минимум изменить параметр:

LogFile=/var/log/zabbix/zabbix_agentd.log

И создать папку zabbix в папке /var/logs

# cd /var/log/ && mkdir zabbix && chown zabbix:zabbix zabbix/

Теперь можно запускать zabbix агент:

# /usr/local/etc/rc.d/zabbix_agentd start

freebsd zabbix agent

Проверяем лог файл на наличие ошибок:

# cat /var/log/zabbix/zabbix_agentd.log
62813:20150903:184744.602 Starting Zabbix Agent [xs-router]. Zabbix 2.4.4.
62813:20150903:184744.602 using configuration file: /usr/local/etc/zabbix_agentd.conf
62814:20150903:184744.603 agent #0 started [collector]
62816:20150903:184744.603 agent #2 started [listener #2]
62817:20150903:184744.603 agent #3 started [listener #3]
62818:20150903:184744.603 agent #4 started [active checks #1]
62815:20150903:184744.603 agent #1 started [listener #1]

Все в порядке. Можно добавлять новый узел на сервер и снимать статистику.

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Дополнительные материалы по Freebsd

Рекомендую полезные материалы по Freebsd:
  • Установка
  • Настройка
  • Обновление
  • Шлюз
  • Прокси сервер
  • Веб сервер NGINX
  • Веб сервер Apache
Описание установки Freebsd 11 на одиночный диск, либо на софтовый raid1, сделанный средствами zfs, которые поддерживает стандартный установщик.
Базовая настройка Freebsd, которую можно выполнить после установки сервера общего назначения. Представлены некоторые рекомендации по повышению удобства пользования и безопасности.
Описание и нюансы обновления системы Freebsd с помощью утилиты freebsd-update. Показано пошагово на конкретном примере обновления.
Настройка Freebsd шлюза для обеспечения выхода в интернет. Используется ipfw и ядерный нат, dnsmasq в качестве dhcp и dns сервера. Мониторинг сетевой активности с помощью iftop.
Подробная настройка на Freebsd прокси сервера squid + sams2 - панели управления для удобного администрирования.
Настройка максимально быстрого web сервера на базе Freebsd и nginx + php-fpm. Существенный прирост производительности по сравнению с классическим apache.
Настройка web сервера на Freebsd в связке с apache, nginx, php и mysql. Пошаговая установка и настройка каждого компонента.

Дополнительные материалы по Zabbix

Онлайн-курс по устройству компьютерных сетей.

На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Рекомендую полезные материалы по Zabbix:
Настройки системы
  • Установка 4.0
  • Обновление 3.0 -> 3.2
  • Обновление 3.4 -> 4.0
  • Установка Zabbix Proxy
  • Работа на NGINX
Видео и подробное описание установки и настройки Zabbix 4.0, а также установка агентов на linux и windows и подключение их к мониторингу.
Подробное описание обновления системы мониторинга zabbix версии 3.4 до новой версии 4.0.
Пошаговая процедура обновления сервера мониторинга zabbix 2.4 до 3.0. Подробное описание каждого шага с пояснениями и рекомендациями.
Подробное описание установки и настройки zabbix proxy для организации распределенной системы мониторинга. Все показано на примерах.
Подробное описание установки системы мониторинга Zabbix на веб сервер на базе nginx + php-fpm.
Мониторинг служб и сервисов
 
  • Температура процессора
  • Nginx и php-fpm
  • Mysql репликация
  • Службы Linux
  • Рейд mdadm
  • Транки Asterisk
  • Synology
Мониторинг температуры процессора с помощью zabbix на Windows сервере с использованием пользовательских скриптов.
Настройка полноценного мониторинга web сервера nginx и php-fpm в zabbix с помощью скриптов и пользовательских параметров.
Мониторинг репликации mysql с помощью Zabbix. Подробный разбор методики и тестирование работы.
Описание настройки мониторинга tcp служб с помощью zabbix и его инструмента простых проверок (simple checks)
Настройка мониторинга рейда mdadm с помощью zabbix. Подробное пояснение принципа работы и пошаговая инструкция.
Подробное описание мониторинга регистраций транков (trunk) в asterisk с помощью сервера мониторинга zabbix.
Подробная инструкция со скриншотами по настройке мониторинга по snmp дискового хранилища synology с помощью сервера мониторинга zabbix.
Мониторинг различных значений
  • Мониторинг сайта
  • Мониторинг бэкапов
  • Размер бэкапа
  • Делегирование домена
  • Значения из текстового файла
  • Мониторинг логов
Настройка мониторинга web сайта в zabbix. Параметры для наблюдения - доступность сайта, время отклика, скорость доступа к сайту.
Один из способов мониторинга бэкапов с помощью zabbix через проверку даты последнего изменения файла из архивной копии с помощью vfs.file.time.
Подробное описание настройки мониторинга размера бэкапов в Zabbix с помощью внешних скриптов.
Пример настройки мониторинга за временем делегирования домена с помощью Zabbix и внешнего скрипта. Все скрипты и готовый шаблон представлены.
Описание мониторинга лог файлов в zabbix на примере анализа лога программы apcupsd. Отправка оповещений по событиям из лога.

Автор Zerox

Владимир, системный администратор, автор сайта. Люблю настраивать сервера, изучать что-то новое, делиться знаниями, писать интересные и полезные статьи. Открыт к диалогу и сотрудничеству. Если вам интересно узнать обо мне побольше, то можете послушать интервью. Запись на моем канале - https://t.me/srv_admin/425 или на сайте в контактах.

6 комментариев

  1. Аноним

    Мы с коллегой довели до такого вида инит-скрипт.

    #!/bin/sh

    # REQUIRE: DAEMON
    # PROVIDE: zabbix_agentd

    . /etc/rc.subr

    name="zabbix_agentd"
    rcvar="zabbix_agentd_enable"
    start_cmd="start_zabbix_agentd"
    pidfile=/var/run/${name}.pid
    laws=zabbix:zabbix

    start_zabbix_agentd()
    {
    touch $pidfile
    chown $laws $pidfile
    <>/sbin/${name}
    }

    load_rc_config ${name}
    run_rc_command "$1"

  2. Да это готовый версия 10

  3. /usr/local/etc/rc.d/zabbix_agentd: set_rcvar: not found
    Starting zabbix_agentd.
    Shared object "libkvm.so.5" not found, required by "zabbix_agentd"
    /usr/local/etc/rc.d/zabbix_agentd: WARNING: failed to start zabbix_agentd

    После запуска агента такая ошибка что может быть?

    • Скорее всего надо компилировать из исходников агента. Я так понимаю это готовый не запускается.
      А версия freebsd какая? Лучше из портов поставить, если версия не очень старая.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить комментарий" Я даю согласие на обработку персональных данных.
Используешь Telegram? Подпишись на канал автора →
This is default text for notification bar