Мне нужно было настроить мониторинг 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
Проверяем лог файл на наличие ошибок:
# 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: |
Описание установки 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: |
Настройки системы |
---|
Видео и подробное описание установки и настройки Zabbix 4.0, а также установка агентов на linux и windows и подключение их к мониторингу.
Подробное описание обновления системы мониторинга zabbix версии 3.4 до новой версии 4.0.
Пошаговая процедура обновления сервера мониторинга zabbix 2.4 до 3.0. Подробное описание каждого шага с пояснениями и рекомендациями.
Подробное описание установки и настройки zabbix proxy для организации распределенной системы мониторинга. Все показано на примерах.
Подробное описание установки системы мониторинга Zabbix на веб сервер на базе nginx + php-fpm.
|
Мониторинг служб и сервисов |
Мониторинг температуры процессора с помощью 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.
Описание мониторинга лог файлов в zabbix на примере анализа лога программы apcupsd. Отправка оповещений по событиям из лога.
|
Мы с коллегой довели до такого вида инит-скрипт.
#!/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"
Да это готовый версия 10
Для 10-ки проще из портов поставить. Не должно быть проблем.
Да спасибо уже из портов все поставил и работает спокойно
/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 какая? Лучше из портов поставить, если версия не очень старая.