Установка zabbix agent на nas4free (embedded версия)

Устанавливаем и настраиваем систему распределенного мониторинга Zabbix. Добавляем хост в систему мониторинга

Подготовка сервера

Перед установкой Zabbix выполняем подготовительные процедуры.

1. Правильное время

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

Для этого сначала задаем правильную временную зону:

\cp /usr/share/zoneinfo/Europe/Moscow /etc/localtime

* в данном примере задается московское время.

Затем устанавливаем и запускаем сервис синхронизации времени:

apt-get install chrony

systemctl enable chrony

systemctl start chrony

2. Настройка брандмауэра

Для работы сервера, открываем следующие порты:

ufw allow 80,443,10050,10051/tcp

ufw allow 10050,10051/udp

* где 80 — порт для http запросов (веб-интерфейс); 443 — для https запросов (веб-интерфейс); 10050 — порты для получения информации от zabbix агентов.

Установка сервера Zabbix

Перед тем как мы сможем установить zabbix ubuntu 17.04, 16.04 и в других версиях, потребуется кое-что настроить. Нужно установить веб-сервер, MySQL и PHP. Если эти сервисы у вас уже настроены, то просто можете пропустить этот шаг.

Установка Apache, PHP, MySQL

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

Дальше необходимо настроить правильный часовой пояс в php.ini. Вам нужна секция Data и строка timezone:

Добавление репозитория

Например, можно использовать wget для загрузки файла:

Если у вас другая операционная система, посмотрите список файлов на сервере через браузер и выберите нужный установщик. Затем установка zabbix 3.2 на Ubuntu:

Установка и настройка Zabbix

Когда репозиторий будет добавлен, можно перейти к настройке самого сервера Zabbix. Для установки программ выполните:

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

Для нормальной работы Zabbix нужна кодировка базы данных UTF-8, если вы создадите базу в кодировке utf8mb4, то получите ошибку: «Specified key was too long; max key length is 767 bytes». Дальше нужно загрузить все таблицы в базу данных, они находятся в папке /usr/share/zabbix-server-mysql/. Вместо zabbix и zabbixdb нужно указать своего пользователя и имя базы данных:

Чтобы Zabbix смог подключиться к базе данных нужно отредактировать конфигурационный файл /etc/zabbix/zabbix_server.conf и указать там данные аутентификации:

Далее, включаем конфигурационный файл zabbix для apache2:

Теперь нужно перезапустить Zabbix и Apache, чтобы применить изменения:

Установка и настройка Zabbix Ubuntu почти завершена, осталось настроить веб-интерфейс.

Настройка веб-интерфейса zabbix

Веб-интерфейс программы готов к работе, теперь вы можете его открыть, набрав в адресной строке http://адрес_сервера/zabbix/

На первой странице нажмите «Next». На следующем шаге программа проверит правильно ли настроен интерпретатор PHP:

Дальше укажите параметры доступа к базе данных, они будут использоваться для работы веб-интерфейса:

На следующем шаге можно изменить ip и порт, на котором будет слушать Zabbix:

Последний шаг, проверьте все ли верно и не нужно ли чего менять:

Если получаете такую ошибку, то файл нужно скачать и сохранить в /etc/zabbix/ вручную:

Владельца файла нужно изменить на www-data, чтобы программа имела к нему права доступа:

Теперь вернитесь в браузер и нажмите «Finish»:

Перед вами откроется окно ввода логина и пароля. Используйте стандартные значения, логин admin и пароль zabbix.

Вот и все, теперь установка Zabbix Ubuntu завершена и вы можете переходить к настройке.

Установка zabbix на Ubuntu Server 16.04

Перед установкой, нам необходимо подключить репозиторий с zabbix сервером:

sudo wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb
sudo dpkg -i zabbix-release_3.2-1+xenial_all.deb
sudo apt-get update

Устанавливаем сервер и Web морду для него

sudo apt-get install zabbix-server-mysql
sudo apt-get install zabbix-frontend-php -y

Теперь устанавливаем временной пояс в настройках PHP.

sudo mcedit /etc/apache2/conf-available/zabbix.conf

Приводим его к следующему виду:

php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Europe/Moscow

php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Europe/Moscow

Перегружаем апач:

sudo service apache2 reload

Импортируем базу данных:

Zabbix agent — основная информация

— разработан на языке C

— может собирать данные с процессора, памяти, диска и сетевого интерфейса
— малый размер и низкий ресурс
— благодаря малой занимаемой площади и широкой настройкой агент может работать на устройствах с ограниченными ресурсами
— конфигурации мониторинга централизованы на сервере Zabbix, что упрощает управление агентом Zabbix

— может использовать один файл конфигурации на всех серверах.

— может работать на различных поддерживаемых платформах, включая Linux, UNIX и Windows

Функции агента

Ниже приведен список проверок Zabbix агента из коробки.
Следует отметить, однако, что встроенные функции агента могут быть расширены с помощью следующих методов: загружаемые модулей , пользовательских параметров, использованием утилиты Zabbix sender.

Сеть

Пакеты / переданные байты 

Ошибки / отброшенные пакеты 

коллизий

Процессор

Средняя нагрузка (load average)

процессора в режиме ожидания / данные использования

процессора отдельным процессом

Память

Свободная / используемая память 

Файл подкачки (Swap)

 Диск

Свободно / используется 

Чтение и запись I/O

Сервисы

Статус процесса 

использования памяти процесса 

Состояние службы (SSH, ntp, LDAP, SMTP, FTP, HTTP, pop, NNTP, IMAP) 

Windows состояние служб 

разрешения DNS 

соединения TCP 

Время отклика TCP

Файлы

Размер файла / время 

создания файла

Контрольная сумма 

MD5 хэш 

поиска RegExp

Журнал

Текстовый журнал для 

Windows EventLog

Другие

Время работы системы 

Системное время 

пользователи , подключенные пользователи 

счетчики производительности (Windows)

IPv6 поддержка

находим свой версию копируем путь загрузки версии
Для CentOS

Например

  • yum install -y http://repo.zabbix.com/zabbix/3.5/rhel/6/x86_64/zabbix-agent-4.0.0-1.1alpha2.el6.x86_64.rpm
  • chkconfig zabbix-agent on

Установка агента на Debian 7 для сервера 2.4.8

  • wget http://repo.zabbix.com/zabbix/2.4/debian/pool/main/z/zabbix/zabbix-agent_2.4.8-1+jessie_amd64.deb
  • dpkg -i zabbix-agent_2.4.8-1+jessie_amd64.deb
  • apt-get update

Установка агента на Debian 8 4.0.0

  • wget http://repo.zabbix.com/zabbix/3.5/debian/pool/main/z/zabbix/zabbix-agent_4.0.0alpha5-1%2Bjessie_amd64.deb
  • dpkg -i zabbix-agent_4.0.0alpha5-1+jessie_amd64.deb
  • apt-get update

Узнать версию уже установленного пакета

zabbix_agentd -V

Добавляем в автозагрузку

update-rc.d zabbix-agent defaults

Для CentOS так

chkconfig zabbix-agent on

Копируем файл конфигурации

Открываем для редактирования

Редактируем такие поля:
(Обязательные выделены)
Для отслеживания ошибок включить

Настройка максимального размера ротации лога в MB . 0 — отключение ротации.

Настройка IP адреса источника для исходящих подключений. Грубо говоря IP сервера, где установлен агент которым он отвечать будет серверу
Настройка списка IP адресов (или имен хостов) Zabbix серверов, разделенных запятыми. Пробелы недопустимы. Если ServerActive не указан, то первая запись из списка будет использоваться для получения списка активных проверок и отправки результатов активных проверок.
Количество форков zabbix_agentd, для обработки пассивных проверок. Другими словами количество агентов запущенных по умолчанию вместе со стартом агента ( имеет смысл уменьшать только в том случае если задач на него положено будет мало – и память не позволяет держать их в запущенном состоянии .)
Список пар IP:порт (или имя хоста:порт) разделенных запятыми Zabbix серверов для активных проверок. Пробелы недопустимы.

Уникальное название хоста, регистрозависим. Должен совпадать с настройками слушателя на сервере.

Включаем отдельные файлы или все файлы из папки с файлом конфигурации.

Еще можно добавить передачу ip_conntrack сервера

На этом основная настройка закончена.
Сохраняем, закрываем редактор, перезапускаем агент

service zabbix-agent restart

Проверка

  • ps aux | grep zabbix
  • netstat -anp | grep 10050

Не забываем открыть порт и IP сервера Zabbix в конфигурационном файле iptables

И применяем на лету
Сразу проверить побежали пакеты или нет можно так

Проверка доступности с Zabbix сервера

  • telnet zabbix_agent_IP 10050
  • tcpdump -i eth4.111 port 10050

Centos 7

  • systemctl enable zabbix-agent
  • systemctl start zabbix-agent
  • systemctl status zabbix-agent

Подготовка у установке

Прежде чем нам установить сам zabbix server, нам необходимо подготовить наш сервер. Для этого нам необходимо установить MySQL для базы данных сервера и Apache, чтобы мы имели возможность заходить на сервер.

Установка MySQL

Данной командой устанавливаем MySQL сервер:

sudo apt install mysql-server mysql-client -y

Во время установки нас попросят придумать пароль для пользователя root пользователя mysql

Вводим пароль и нажимаем Enter, нас просят его повторить. Повторяем и снова нажимаем Enter.

Теперь заходим в командную строку mysql сервера:

sudo mysql -u root -p

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

Теперь нам необходимо создать базу и пользователя для нашего сервера, для этого в консоли mysql вводим (точка с запятой (;) в конце каждой строчки обязательна!):

CREATE DATABASE zabbix character set utf8 collate utf8_bin;
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 'zabbix' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;

Установка Apache2

Наш следующий этап — установка и подготовка Apache2 к работе. Начнем с установки:

sudo apt-get install apache2 -y

Установим PHP зависимости, они нам пригодятся:

sudo apt-get install php-mbstring php-bcmath php-xml -y

Добавим библиотеки:

sudo apt-get install libapache2-mod-php7.0

Перезапускаем Apache2:

sudo service apache2 reload

Пока на этом все, позже вернемся к его дальнейшей настройке. Переходим к непосредственной установке zabbix server’a.

Вход в Nas4Free web

На находящемся в той же подсети ноутбуке или настольном компе входим в браузер, набираем в адресной строке 192.168.1.29 — те IP, который мы NAS задали. Если видим экран с запросом имени и пароля — у нас получилось.

PS: Кстати, сама установка — раза в два быстрее, чем это все прочитать и в 10 — чем написать :)

Если не видим (1) проверяем, что NAS нормально загрузился путем подключения монитора и клавы.
(2) проверяем сеть — пингуем 192.168.1.29, убеждаемся что комп и NAS в одной подсети, те оба имеют IP вида 192.168.1.X, смотрим, что роутер в той же подсети и т.д.

16) Если ввести пару логин пароль (по умолчанию admin и nas4free) , можно видеть WEB гуй nas4free

Первоначальная настройка

Идём в System- General setup
Здесь можно выбрать
Language (язык). Я, впрочем, предпочитаю английский
Hostname (имя NAS) — для первого NAS менять умолчание nas4free смысла нет, но если NAS побее одного в одной сети — это сделует сделать
Domain (домен) — значение по умолчанию local вполне разумно, но обратиться к NAS как http://nas4free.local вы сможете только если в сети, обычно на роутере, настроен локальный DNS сервер этого домена.
DNS IP 4 — должно быть как на картинке. Если не так — значит в прошлых пунктах вы что-то недоделали — стоит задать.
Time zone (часовой пояс) — стоит задать ваш
Enable NTP (включить запрос времени с сервера времени) — ставим галочку, более ничего не меняем. Понятно, будет работать только при наличии подключения локальной сети к Internet.

17) Дальше можно поменять пароль администратора по умолчанию во вкладке Password. Это хорошая практика, но не так чтобы обязательная в доверенной домашней сети.PS: Пароль root и пароль пользователя admin от вебгуя совпадают.

18) Мы настроили всего-ничего, но хорошая привычка — после каждого изменения — сохранять конфиг. Только сохранять его ВО ВНЕ NAS :)

System- Backup/Restore — и жмём кнопку Download configuration, сохраняем конфигурационный файл. В нём содержатся все настройки NAS. Если что-то пойдёт не так — вы сможете установить NASD а чистую флешку, скормить системе этот конфиг — и все настройки на месте.

Так же рекомендую почитать:

Настройка Samba (шара) на nas4freeНастройка DLNA/UPnP на nas4freeУстановка zabbix agent на nas4free (embedded версия)

Настройка Zabbix Proxy на CentOS 7

Переходим к настройке только что установленного нами прокси. Открываем файл конфигурации zabbix proxy для настройки:

mcedit /etc/zabbix/zabbix_proxy.conf

Изменим самые важные параметры:

server=84.143.241.246 //Адрес zabbix-server (Основной сервер, с которым будем настраивать соединение
hostname=zproxy //Имя прокси сервера, которое будет использоваться на сервере)
DBName=/var/lib/sqlite/zabbix.db //Путь к базе данных zabbix proxy

Добавляем proxy в автозагрузку и запускаем:

systemctl enable zabbix-proxy
systemctl start zabbix-proxy

Прокси запустился, но он еще ничего не выполняет и не мониторит. Для того, чтобы он начала работать, нам необходимо зайти в основной сервер и настроить там Proxy. Для этого идем в web панель zabbix, переходим в раздел Administration -> Proxies (Администрирование -> Прокси) и справа нажимаем на кнопку Create proxy (Создать прокси):

Заполняете необходимые поля. В данном случае обязательное только одно поле Proxy name.

Имя прокси — Имя прокси сервера, должно соответствовать параметру hostname в файле конфигурации проксиРежим прокси — Режим работы: Активный — прокси всегда сам обращается к основному серверу и отправляет данные, Пассивный — команды на получение данных каждый раз инициирует основной серверУзлы сети — Хосты, которые будут мониториться через этот прокси. Если у Вас есть хосты, которые Вы уже готовы мониторить через прокси, переносим их в левый столбецОписание — Произвольное описание сервера

Ниже приведу пример того, как у меня работает Proxy:

Как видите, у меня мониторится 258 узлов и VPS 561, справляется на базе SQLite3 без проблем

Теперь давайте добавим в мониторинг сам же Zabbix Proxy.

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

mcedit /etc/zabbix/zabbix_agentd.conf
Server=10.7.71.2
ServerActive=10.7.71.2
Hostname=zproxy3-pro

Не забывайте указывать именно Ваши IP и Hostname

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

systemctl enable zabbix-agent
systemctl start zabbix-agent

Теперь добавим его в панель Zabbix. Для этого создаем новый узел сети Настройка -> Узлы сети -> Создать узел сети

Вводим локальный IP вашего zabbix proxy и выбираем «Наблюдение через прокси» Ваше имя хоста zabbix proxy (в моем случае он называется «zproxy3-pro»)

После того, как добавите новый хост на основном сервере, он добавится к конфигурацию прокси через 60 секунд (по умолчанию, в настройках прокси можно изменить период получения конфигурации от основного сервера). Если Вы не хотите ждать, то можно перезапустить Zabbix Proxy для немедленного получения конфигурации:

systemctl restart zabbix-proxy

Добавление устройства на Zabbix-сервере

Чтобы убедиться в работоспособности агента, нужно добавить хост testnode2 на Zabbix сервер и назначить ему проверки (checks).

Заметка. В заббиксе есть 2 типа проверок:

  • Пассивные – Zabbix сервер запрашивает у агента какие-либо данные;
  • Активные – агент посылает на сервер данные;

При установке агента мы указывали сервер в формате IP:PORT как раз для активных проверок.

Добавление нового устройства для мониторинга в Zabbix выполняется через Web-интерфейс. Перейдите в раздел Configuration -> Hosts.

Нажмите Create host и заполните данные

Обратите внимание, что Host name хоста должен полностью совпадать с hostname машины или значением параметра Hostname в конфиге агента

Во вкладке Templates добавить несколько встроенных Windows шаблонов. Шаблоны в Zabbix это наборы значений, триггеров, графов и правил обнаружения, которые могут быть назначены одному или нескольким хостам.

Эти интегрированные шаблоны имеют постфикс “active”, значит, будут использоваться активные проверки.

Нажмите Add. Чтобы не ждать пока сервер и агент увидят друг друга (обычно занимает пару минут), перезагрузите службу Zabbix Agent на testnode2 и проверьте лог агента (C:\Program Files\Zabbix Agent\zabbix_agentd.txt).

Сообщение “started ” говорит о том, что на сервере найдены активные проверки для этого хоста. Теперь посмотрим на данные, которые пришли на сервер Zabbix от агента. Для этого в Zabbix перейдите на Monitoring -> Latest Data и выберете нужный вам хост в поле Hosts.

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

Обратите внимание на то, что в дашборде Zabbix висит уведомление о том, что служба BITS не запущена. Это уведомление появилось потому что мы назначили стандартные шаблоны нашему хосту

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

На этом настройка Windows Agentа завершена.

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

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.