Установка и первоначальная настройка ZABBIX PostgreSQL

Материал из ALT Linux Wiki
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Установка

Установка PostgreSQL

Установим PostgreSQL и создадим пользователя и базу для zabbix.
Установим необходимые пакеты:

# apt-get install postgresql9.6-server zabbix-server-pgsql
Внимание! Перед запуском службы необходимо создать системные базы данных:
# /etc/init.d/postgresql initdb

Добавим в автозапуск и запустим postgresql сервер:

# systemctl enable postgresql
# systemctl start postgresql

Создадим пользователя zabbix:

# su - postgres -s /bin/sh -c 'createuser --no-superuser --no-createdb --no-createrole --encrypted --pwprompt zabbix'

Создадим базу zabbix и дадим права на нее пользователю zabbix:

# su - postgres -s /bin/sh -c 'createdb -O zabbix zabbix'

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

su - postgres -s /bin/sh -c 'psql -U zabbix -f /usr/share/doc/zabbix-server-pgsql-*/schema.sql zabbix'
# остановитесь здесь, если вы создаете базу данных для Zabbix прокси
su - postgres -s /bin/sh -c 'psql -U zabbix -f /usr/share/doc/zabbix-server-pgsql-*/images.sql zabbix'
su - postgres -s /bin/sh -c 'psql -U zabbix -f /usr/share/doc/zabbix-server-pgsql-*/data.sql zabbix'

Установка Apache2

Установим необходимые пакеты:

# apt-get install apache2 apache2-mod_php5

Добавим в автозапуск и запустим apache2:

# systemctl enable httpd2
# systemctl start httpd2

Установка PHP

Установим необходимые пакеты:

# apt-get install php5

Установим необходимые zabbix-у пакеты:

# apt-get install php5-mbstring php5-sockets php5-gd2 php5-xmlreader php5-pgsql php5-ldap

Так же необходимо изменить некоторые опции php в файле /etc/php/5.6/apache2-mod_php/php.ini:

post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Europe/Moscow
always_populate_raw_post_data = -1

Перезапустим apache2:

# systemctl restart httpd2

Установка Web-интерфейса Zabbix

Установим необходимый метапакет:

# apt-get install zabbix-phpfrontend-apache2-mod_php5

Включим аддоны в apache2:

# ln -s /etc/httpd2/conf/addon.d/A.zabbix.conf /etc/httpd2/conf/extra-enabled/

Перезагрузим сервис apache2:

# systemctl restart httpd2

Поменяем права доступа к конфигурационной директории web-интерфейса, что бы web-установшик мог записать конфигурационный файл:

# chown apache2:apache2 /var/www/webapps/zabbix/frontends/php/conf

Перейдем на страницу установки zabbix server http://10.10.10.100/zabbix/

Примечание: Если при входе на страницу у Вас будет 403 ошибка (доступ запрещен), обратитесь к Zabbix_заметки#Настройка_Apache2

Жмём кнопку Next Step и попадаем на страницу проверки предварительных условий.
Доустанавливаем то что требуется и переходим на следующую страницу.
На следующей странице нас попросят ввести параметры подключения к базе данных, вводим имя базы, пользователя и пароль, которые мы задавали раннее.
По умолчанию в качестве Database schema указываем public.
Переходим к следующей странице. На ней мы можем задать имя нашего сервера. Завершаем установку.
Параметры доступа по умолчанию:

Логин: Admin
Пароль: zabbix

Установка Zabbix Server

Установим необходимые пакеты:

# apt-get install zabbix-server-pgsql

Добавим zabbix server в автозапуск и запустим его:

# systemctl enable zabbix_pgsql
# systemctl start zabbix_pgsql

Установка Zabbix Agent

Установим необходимый пакет:

# apt-get install zabbix-agent

Добавим в zabbix agent в автозапуск и запустим его:

# systemctl enable zabbix_agentd
# systemctl start zabbix_agentd

Адрес сервера, которому разрешенно обращаться к агенту задается в файле параметрами:

Server=127.0.0.1
ServerActive=127.0.0.1

Мониторинг CEPH

Настройка ноды

Установим на ноду CEPH необходимые пакеты:

# apt-get install zabbix-agent-sudo git

Загрузим необходимые файлы:

# git clone https://github.com/thelan/ceph-zabbix.git

Создадим директорию и скопируем файлы:

# mkdir /etc/zabbix/zabbix_ceph
# cp ceph-status.sh /etc/zabbix/zabbix_ceph/
# cp zabbix_agent_ceph_plugin.conf /etc/zabbix/zabbix_agentd.conf.d/

Изменить путь расположения скрипта в файле zabbix_agent_ceph_plugin.conf:

# sed -i 's/\/opt/sudo \/etc\/zabbix\/zabbix_ceph/' /etc/zabbix/zabbix_agentd.conf.d/zabbix_agent_ceph_plugin.conf

Дадим скрипту права на запуск:

# chmod +x /etc/zabbix/zabbix_ceph/ceph-status.sh

Настройка ZABBIX сервера

В web-интерфейсе сервера необходимо перейти на вкладку Configuration -> Templates -> Import
Импортировать файлы zbx_ceph_mon_template.xml zbx_ceph_osd_template.xml zbx_ceph_cluster_template.xml zbx_ceph_mds_template.xml из директории zabbix_templates, которая находится в склонированной раннее директории.
После импорта шаблонов необходимо их прикрепить к нужному хосту.

Возможные проблемы

Не работает обнаружение при помощи ICMP Ping

В журнале /var/log/zabbix/zabbix_server.log присутствуют различные ошибки касающиеся команд fping, fping6.

  • failed: /usr/sbin/fping6: can't create raw socket (must run as root?) : Permission denied

Для разрешение проблемы необходимо обеспечить запуск программ fping и fping6 с повышением привилегий. Так как сервер запускается от пользователя zabbix входящего в группу zabbix, то

chown root:zabbix /usr/sbin/fping
chown root:zabbix /usr/sbin/fping6
chmod 710 /usr/sbin/fping
chmod 710 /usr/sbin/fping6
chmod ug+s /usr/sbin/fping
chmod ug+s /usr/sbin/fping6
  • ping failed: *.*.*.*: Address family for hostname not supported

Если вы не используете полноценно ipv6 в вашей сети, рекомендуется отключить использование fping6. Для этого в конфигурационном файле /etc/zabbix/zabbix_server.conf раскомментируйте и оставьте без значения параметр

Fping6Location=

Также бывает полезно указать точное нахождение fping, в этом же файле директива:

FpingLocation=/usr/sbin/fping

Вы всегда можете проверить корректность работы команд fping и fping6 из терминала авторизовавшись пользователем zabbix

# su zabbix -s /bin/sh
$ fping 192.168.0.1
192.168.0.1 is alive