Showing posts with label zabbix. Show all posts
Showing posts with label zabbix. Show all posts

Tuesday, October 22, 2019

Zabbix: настройка мониторинга

Всем привет!
В этой статье рассмотрим настройку мониторинга на zabbix'e: подключим шаблон мониторинга, включим мониторинга порта и системных компонентов. В качестве подопытного возьмем сервер Apache.
Что имеем в самом начале - это установленный сервер Zabbix'a на CentOs'e.

Для начала посмотрим, что предлагает использовать сам Zabbix для мониторинга веб-сервера Apache. Вариантов много, остановимся на решении без подключения внешних скриптов (Template App Apache2 for Zabbix 4.0 that works without any external scripts). Из этого решения нам нужен файл xml, загружаем. При импорте у меня он не захотел импортироваться сразу, поэтому пришлось скопировать содержимое, а сам файлик создать отдельно. 
Проверяем, что модуль status_module в апаче установлен, если нет - устанавливаем.
httpd -M 2>/dev/null | grep status_module

В конфиг апача вносим такие настройки:
<Location /server-status>
    SetHandler server-status
    Order deny,allow
</Location>
ExtendedStatus On 

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

На странице Templates создаем новый шаблон изxml-файла.
На странице Configuration-Hosts создаем  новый хост: указываем имя и группу(рекомендую создать отдельную групу для ваших серверов, а не использовать группу по умолчанию).
В настройках агента(/etc/zabbix/zabbix_agentd.conf) этого нового хоста, не забудьте добавить разрешения для основного сервера, с которого осуществляется мониторинг, у меня это 10.30.1.41
Server=127.0.0.1, 10.30.1.41

Далее - прицепляем импортированный шаблон "Template App Apache2 Zabbix agent".

Переходим на вкладку Applications, там должно появиться ваше первое приложения для апача. Добавим еще одно, назовем его Open ports, внутри этого приложения кликаем на Add item - добавим новое условие мониторинга. Указываем название и приложение. В настройках нас интересует ключ net.tcp.service[http,10.30.1.41,80] (служба http, айпи-адрес и порт).
Сохраняем. Ждем пару минут, переходим на вкладку Monitoring-Latest data
Итак, для текущего примера получаем минимальный пакет для мониторинга веб-сервера и работающего порта. В дашборд выведу пару графиков, выглядят они, конечно, приятно, но по большому счету это просто красота:) 


Успехов!

Friday, October 18, 2019

Zabbix: установка оффлайн

Всем привет!
Сегодня устанавливаем Zabbix в оффлайн режиме. Как обычно в оф. документации все просто, проверим - так ли это. Для данной задачи используется сервер с CentOs'ом, который имеет доступ в интернет, чтобы можно было скачать нужные пакеты, и второй сервер без доступа к интернету. На этот сервер и будем устанавливать заббикс.
Для начала берем все нужное(загружаем в папку tmp):
yum install --downloadonly --downloaddir=/tmp /
zabbix40-server-mysql /
zabbix40-web-mysql /
zabbix40-agent /
yum install createrepo -y --downloadonly --downloaddir=/tmp 

Возможно, что еще понадобятся и эти зависимости: deltarpm, python-deltarpm
С помощью createrepo сделаем репозитарий из локальной нашей папки с загруженными пакетами:

createrepo /custom_repo/
Перенесем туда все пакеты, далее переподключаем репозиторий.
yum clear all
yum repolist 

Загрузили, перенесли все пакеты на второй сервер.
Приступаем к установке и сразу же получаем ошибку:
Error: Package: zabbix40-server-mysql-4.0.12-1.el7.x86_64 (LocalRepo)
           Requires: libcrypto.so.10(OPENSSL_1.0.2)(64bit)

Версия openssl требует обновления.
Бежим качаем 2 пакета(на текущий момент такая версия):
openssl-1.0.2k-19.el7.x86_64.rpm
openssl-libs-1.0.2k-19.el7.x86_64.rpm
Далее удаляем старый openssl, обновляем openssl-libs(зависимости) и устанавливаем новую версию openssl. Продолжаем установку:
yum install zabbix40-server-4.0.12-1.el7.noarch.rpm

Далее все гут, едем дальше.
yum install  zabbix40-web-4.0.12-1.el7.noarch.rpm
Получаю ошибку:
Error: Package: php-5.4.16-46.el7.x86_64 (LocalRepo)
           Requires: httpd-mmn = 20120211x8664


Отсутствует httpd - идем качаем зависимости:
yum install httpd -y --downloadonly --downloaddir=/tmp
yum install apr.x86_64 -y --downloadonly --downloaddir=/tmp
yum install apr-util -y --downloadonly --downloaddir=/tmp
yum install httpd-tools -y --downloadonly --downloaddir=/tmp
yum install mailcap -y --downloadonly --downloaddir=/tmp
Продолжаем установку httpd:

yum install httpd

yum install zabbix40-web-4.0.12-1.el7.noarch.rpm 

Далее идет установка СУБД, я устанавливаю MariaDB.

 yum install mariadb-server-5.5.64-1.el7.x86_64.rpm

Если вы получаете ошибки такого рода:
#systemctl status mysql
● mysql.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)
# mysql
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

Значит у вас не запущен сервер СУБД - проверьте тот ли пакет вы установили и запустите службу. 

systemctl start mariadb.service
Создаем БД и импортируем скрипты для работы(строго по порядку):
shell> mysql -uroot -p<пароль> 
mysql> create database zabbix character set utf8 collate utf8_bin; 
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<пароль>'; 
mysql> quit;

shell> cd database/mysql 
shell> mysql -uzabbix -p<пароль> zabbix < schema.sql
shell> mysql -uzabbix -p<пароль> zabbix < images.sql 
shell> mysql -uzabbix -p<пароль> zabbix < data.sql

В конфиге сервера /etc/zabbix/zabbix_server.conf указываем настройки сервера:
DBHost=localhost 
DBName=zabbix 
DBUser=zabbix 
DBPassword=zabbix_pass
Запускаем сервер
systemctl start zabbix-server
Не забываем включить его в автозапуск
systemctl enable zabbix-serverЕсли у вас на этом же сервере стоит и агент, то включаем его:
systemctl enable zabbix-agent.service 
Вносим изменения в настройки httpd и php. Например, date.timezone = Europe/Moscowр, у меня конфиги из папки http не считывались и возникла ошибка:
Time zone for PHP is not set (configuration parameter "date.timezone").
Поэтому пришлось поправить этот параметр в /etc/php.ini
date.timezone = Europe/Moscow
Запускаем httpd и браузером заходим на адрес сервера http://ip-servera/zabbix
Заполняем все поля, указывваем параметры подклюбчения, имя сервера и другие настройки.
Установка на этом завершена. Логин-пароль по умолчанию Admin/zabbix. 

Успехов!