Подготовка сервера
Перед установкой 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а завершена.