- Установка и первоначальная настройка ZABBIX PostgreSQL
- Установка Apache2
- Установка PHP
- Установка Web-интерфейса Zabbix
- Установка Zabbix Server
- Установка Zabbix Agent
- Zabbix заметки
- Подготовка
- Настройка Apache2
- Редактирвать php
- Пользователь zabbix
- Настройка MySQL
- Переходим в режим GUI, заключительного этапа установки Zabbix
- Сохранение и Восстановление Zabbix
- Справочная информация
Установка и первоначальная настройка ZABBIX 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' 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
Установим необходимые пакеты:
Установим необходимые zabbix-у пакеты:
# apt-get install php5-mbstring php5-sockets php5-gd2 php5-xmlreader php5-pgsql
Так же необходимо изменить некоторые опции 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
Установка Web-интерфейса Zabbix
Установим необходимый метапакет:
# apt-get install zabbix-phpfrontend-apache2-mod_php5
# ln -s /etc/httpd2/conf/addon.d/A.zabbix.conf /etc/httpd2/conf/extra-enabled/
Перезагрузим сервис apache2:
Поменяем права доступа к конфигурационной директории web-интерфейса, что бы web-установшик мог записать конфигурационный файл:
# chown apache2:apache2 /var/www/webapps/zabbix/frontends/php/conf
Перейдем на страницу установки zabbix server http://10.10.10.100/zabbix/
Жмём кнопку 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
Zabbix заметки
Администрирование ИТ предприятия невозможно без современных средств мониторинга и анализа, позволяющих реагировать на критические ситуации, отслеживать динамику работы серверов, рабочих станций и приложений. Из доступных СПО для мониторинга можно выделить Zabbix, лицензия GPL- несанкционный инструмент, с гибкой перенастройкой предустановленных шаблонов. Zabbix обеспечивает своевременное реагирование на внештатные ситуации в ИТ учреждениях, позволяя администратору прибывать в состоянии постоянного изумления.
Подготовка
Сервер ALT_xxx x86; x86_64
- Имя сервера Zabbix (предпочтительно)
- Запуск сценария предустановки («вытягивает» необходимые пакеты)
# apt-get install zabbix-preinstall
Проверяем наличие требуемых пакетов:
# apt-get install zabbix-phpfrontend-apache2 # apt-get install zabbix-phpfrontend-engine # apt-get install zabbix-server-mysql # apt-get install zabbix-phpfrontend-php5 # apt-get install zabbix-server-common # apt-get install zabbix-common # apt-get install zabbix-phpfrontend-apache2-mod_php5 # apt-get install zabbix-agent # apt-get install apache2 # apt-get install MySQL-server # apt-get install php5-sockets # apt-get install php5-xmlreader # apt-get install php5-ldap
Настройка Apache2
# mcedit /etc/httpd2/conf/sites-available/default.conf DocumentRoot "/var/www/html/"
# mcedit /etc/httpd2/conf/sites-available/default.conf
# chown -R apache2:apache2 /var/www/webapps # chmod -R 771 /var/www/webapps # namei -mol /var/www/webapps/zabbix/ drwxrws--x apache2 apache2 webapps
# find /var/www/webapps/zabbix -type f -exec chmod 644 <> \; # find /var/www/webapps/zabbix -type d -exec chmod 755 <> \;
# namei -mol /var/www/webapps/zabbix/frontends/php/ drwxrws--x apache2 apache2 webapps drwxr-xr-x apache2 apache2 zabbix drwxr-xr-x apache2 apache2 frontends drwxr-xr-x apache2 apache2 php -rw-r--r-- apache2 apache2 zabbix.php
//или # mcedit ----------------------------------------- Имя существующего файла (для ссылки): /etc/httpd2/conf/addon.d/A.zabbix.conf Имя символической ссылки: /etc/httpd2/conf/extra-enabled/A.zabbix.conf -------------------------------------------- //или # ln -s /etc/httpd2/conf/addon.d/A.zabbix.conf /etc/httpd2/conf/extra-enabled # ls -la /etc/httpd2/conf/extra-enabled/ . lrwxrwxrwx 1 root root 38 апр 21 21:47 A.zabbix.conf -> /etc/httpd2/conf/addon.d/A.zabbix.conf lrwxrwxrwx 1 root root 39 апр 9 21:25 httpd-autoindex.conf -> ../extra-available/httpd-autoindex.conf lrwxrwxrwx 1 root root 37 апр 9 21:25 httpd-default.conf -> ../extra-available/httpd-default.conf lrwxrwxrwx 1 root root 35 апр 9 21:25 httpd-icons.conf -> ../extra-available/httpd-icons.conf lrwxrwxrwx 1 root root 39 апр 9 21:25 httpd-languages.conf -> ../extra-available/httpd-languages.conf lrwxrwxrwx 1 root root 34 апр 9 21:25 httpd-mime.conf -> ../extra-available/httpd-mime.conf lrwxrwxrwx 1 root root 33 апр 9 21:25 httpd-mpm.conf -> ../extra-available/httpd-mpm.conf lrwxrwxrwx 1 root root 48 апр 9 21:25 httpd-multilang-errordoc.conf -> ../extra-available/httpd-multilang-errordoc.conf # cat /etc/httpd2/conf/extra-enabled/A.zabbix.conf Alias /zabbix /var/www/webapps/zabbix/frontends/phpOptions FollowSymLinks AllowOverride AuthConfig Limit Order allow,deny Allow from all # service httpd2 restart //или # systemctl restart httpd2
Редактирвать php
# mcedit /etc/php/5.x/apache2-mod_php/php.ini max_execution_time = 600 max_input_time = 600 memory_limit = 256М post_max_size = 32M upload_max_filesize = 20M date.timezone = Europe/Moscow always_populate_raw_post_data= -1 # service httpd2 restart # service httpd2 on //или # systemctl restart httpd2 # systemctl enable httpd2
Пользователь zabbix
Для управления zabbix-процессами, выделена специальная учётная запись, имя=zabbix
# apt-get install zabbix-agent # id zabbix uid=xxx(zabbix) gid=xxx(zabbix) группы=xxx(zabbix),19(proc)
Ручная установка учётной записи имя=zabbix
# groupadd zabbix # useradd -g zabbix zabbix //Права на каталоги # namei -mol /var/log/zabbix/ drwxr-xr-x root root / drwxr-xr-x root root var drwxr-xr-x root root log drwxrwxr-t root zabbix zabbix # namei -mol /var/run/zabbix/ drwxr-xr-x root root / drwxr-xr-x root root var drwxr-xr-x root root run drwxr-xr-x zabbix zabbix zabbix
Установка пароля, только для серверной учётной записи, имя=zabbix
# passwd zabbix . Enter new password: zabbix Re-type new password: zabbix
Настройка MySQL
# service mysqld start # chkconfig mysqld on //или # systemctl start mysqld # systemctl enable mysqld
Устанавливаем пароль mysql
# mysqladmin -u root password zabbix
# mysql -uroot -pzabbix # mysql> create database zabbix character set utf8;
создание суперпользователя БД zabbix; имя zabbix, пароль zabbix
# mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; # mysql> exit
Импорт шаблонов zabbix в БД mysql
# ls -l /usr/share/doc //смотрим какая версия MySQL # cd /usr/share/doc/zabbix-server-mysql-x.x.x //или # cd /usr/share/doc/zabbix-common-database-mysql-x.x.xx
# mysql -uroot -pzabbix zabbix < schema.sql # mysql -uroot -pzabbix zabbix < images.sql # mysql -uroot -pzabbix zabbix < data.sql
# service mysqld restart //или # systemctl restart zabbix_mysql
# mysqlcheck -uroot -pzabbix --auto-repair --check --all-databases
# mysql -uroot -pzabbix mysql> SELECT table_schema "databases name", sum( data_length + index_length) / 1024 / 1024 "Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema ; +--------------------+----------------------+ | databases name | Data Base Size in MB| +--------------------+----------------------+ | information_schema | 0.15625000 | | mysql | 2.28296661 | | performance_schema | 0.00000000 | | sys | 0.01562500 | | zabbix | 1623.98437500 | +--------------------+----------------------+ 5 rows in set, 48 warnings (0,80 sec) mysql> quit
Переходим в режим GUI, заключительного этапа установки Zabbix
Запустите Firefox и введите адрес
- http://ip/zabbix/frontends/php (В дистрибутиве 8.2 с версией Zabbix 3.0 пришлось ввести "http://ip/zabbix", где ip это адрес сервера)
- Мастер предварительной настройки севера zabbix проведёт Вас по шагам и задаст вопросы.
- После того, как на все вопросы мастера настройки будут получены ответы, возникнет окно с приглашением ввести логин и пароль для первого входа
- логин admin
- пароль zabbix
- Не забудьте изменить пароль
Сохранение и Восстановление Zabbix
Для того, чтобы сделать резервную копию необходимо определить файловую структуру резервного копирования. Вероятнее всего нам потребуется сохранить БД, файл конфигурации Zabbix сервера и файл настроек серверного агента. Создадим инструкцию которая будет по расписанию crontab, примерно раз в неделю в 00ч 00м запускать файл zabb_bk с правами:
Поместим файл zabb_bk в каталог /usr/local/bin
# crontab -e #minute (0-59), #| hour (0-23), #| | day of the month (1-31), #| | | month of the year (1-12), #| | | | day of the week (0-6 with 0=Sunday). #| | | | | commands 00 00 * * 0 zabbix_bk
#!/bin/bash TEMPDIR=/tmp/zb_bk/ BACKUPDIR=/home/ mkdir -p $TEMPDIR # Стор Apache2 systemctl stop httpd2 # Стоп zabbix mysql systemctl stop zabbix_mysql # Создать dump MySQL и копировать во временный каталог mysqldump -uroot -pzabbix -A > $TEMPDIR/all_bd.sql # Старт Apache2 systemctl start httpd2 # Старт zabbix mysql systemctl start zabbix_mysql # Копировать каталоги во временную директорию cp -r /etc/zabbix/zabbix_server.conf $TEMPDIR cp -r /var/www/webapps/zabbix/frontends/php/conf/zabbix.conf.php $TEMPDIR # Сжать и добавить дату создания(максимально до 31 дня месяца) tar -cjf $BACKUPDIR/zabbix_`date +%d`_back.tar.bz2 $TEMPDIR # Очистить временный каталог rm -rf /tmp/zb_bk
Созданный архив, zabbix_23_back.tar.bz2, также можно хранить на специальном сервере для резервных копий вашей компании Для восстановления Zabbix после краха в следствии природных, техногенных явлений или после санкционного давления, необходимо при установке нового сервера zabbix полностью восстановить имя сервера, IP сервера, пароль root mysql сервера после чего выполнить все вышеуказанные манипуляции и действия по установке вашего Zabbix сервера, сам zabbix лучше той же версии, что был, всё проверить, после чего приступить к восстановлению выполнив последовательность команд:
# cd /home tar xvf zabbix_23_back.tar.bz2 cd /tmp/zb_bk mysql -uroot -pzabbix -A < all_bd.sql cp -r zabbix_server.conf /etc/zabbix/zabbix_server.conf cp -r zabbix.conf.php /var/www/webapps/zabbix/frontends/php/conf/zabbix.conf.php //перегрузить # systemctl restart mysqld # systemctl restart httpd2
Справочная информация
# vim /etc/zabbix/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix
# vim /etc/zabbix/zabbix_agentd.conf ListenPort=10050 ServerActive=zabbix.ivn Hostname=zabbix
# vim /var/www/webapps/zabbix/frontends/php/conf/zabbix.conf.php
# service zabbix_mysql start|stop|restart|status //или # systemctl start|stop|restart|status zabbix_mysql
# service zabbix_agentd start|stop|restart|status //или # systemctl start|stop|restart|status zabbix_agentd
# service mysqld start|stop|restart|status //или # systemctl start|stop|restart|status mysqld
# service httpd2 start|stop|restart|status //или # systemctl start|stop|restart|status httpd2
# tail -f /var/log/zabbix/zabbix_server.log //сервер # tail -f /var/log/zabbix/zabbix_agentd.log //агент # journalctl -f //OC
# mysqldump -uroot -pzabbix -A>zabb_bk.sql # /etc/php # /etc/zabbix # /var/www/webapps/zabbix
Основная документация Zabbix [1]