вторник, 11 марта 2014 г.

Zabbix. Урок №8. Установка Zabbix на Centos (Installing Zabbix on Centos)

В предыдущих постах я рассказывал о том, как установить Zabbix на Ubuntu. Однако, согласно рекомендациям Zabbix, для крупных инсталляций используется Centos/Red Hat. Приступим.
Для начала я установил Centos 6.5 x64 на VirtualBox. Включил один сетевой адаптер, тип подключения: "Сетевой мост".
Для начала настроим сеть.


vi /etc/sysconfig/network-scripts/ifcfg-eth0


DEVICE=eth0 #имя адаптера

HWADDR=08:00:27:AB:6B:C3 #мак-адрес менять не надо
TYPE=Ethernet #тип подключения
UUID=049a960c-8d2c-4031-90ba-6f7502f357b4 #идентификатор интерфейса (не трогаем)
ONBOOT=yes #запускать при загрузке
NM_CONTROLLED=yes #контролируется ли интерфейс службой NetworkManager
BOOTPROTO=none #DHCP не используем
IPADDR=192.168.1.52 #IP адрес нашего Zabbix сервера
NETMASK=255.255.255.0 #макса сети
GATEWAY=192.168.1.1 #шлюз по умолчанию (в данном случае это адрес роутера)
DNS1=8.8.8.8 #DNS адрес


Сохраняем (В редакторе vi это делается нажав на Esc, затем ":" вводим "wq"). Для надежности перезагружаем виртуальную машину. Видим что настройки применились. Подключаемся по SSH к виртуальной машине. Я использовал Putty для подключения. Делается для удобства работы (можно копировать текст в консоль прямо из своей системы) На сколько мне известно openssh-server установлен на centos по умолчанию. Если не установлен, то ставим:

yum install openssh-server

1)Теперь добавим свежий репозиторий Zabbix. Найти актуальный можно здесь. В моем случае это:

rpm -ihv http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm

Если будете искать сами, то увидите что там много файлов. Копировать надо именно "noarch".

2)Делаем update

yum update


3)Переходим к установке

yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

4)Ставим MySQL

yum install mysql-server

service mysqld start

5)Настроим MySQL

mysql_secure_installation

- Enter current password for root (enter for none): <Press enter without password>
- Set root password? [Y/n] <Enter Y>
- Remove anonymous users? [Y/n] <Enter Y>
- Disallow root login remotely? [Y/n] <Enter n>
- Remove test database and access to it? [Y/n] <Enter Y>

- Reload privilege tables now? [Y/n] <Enter Y>

6)Создадим базу данных

# mysql -uroot -p<root пароль>

(пример: mysql -uroot -pparol)

mysql> create database zabbix character set utf8;

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> exit


cd /usr/share/doc/zabbix-server-mysql-2.0.10/create

mysql -uroot -p<root пароль> zabbix < schema.sql

mysql -uroot -p<root пароль> zabbix < images.sql
mysql -uroot -p<root пароль> zabbix < data.sql

7)Правим базу данных

vi /etc/zabbix/zabbix_server.conf

Правим следующие строчки:

– DBHost=localhost (раскомментируем данную строку)

– DBName=zabbix
– DBUser=zabbix
– DBPassword=zabbix (раскомментируем эту строку)


8)Стартуем Zabbix-сервер и Zabbix-агент

service zabbix-server start

service zabbix-agent start

9)Поправим конфигурационный файл Apache

vi /etc/httpd/conf.d/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 date.timezone Europe/Riga и правим на:

php_value date.timezone Europe/Moscow
Сохраняем и делаем рестарт службы

service httpd restart


10)Может возникнуть следующая ошибка:
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
Решается так:

vi /etc/httpd/conf/httpd.conf

дописываем строчку 

ServerName localhost

снова делаем рестарт

service httpd restart

Stopping httpd: [ OK ]
Starting httpd: [ OK ]


11)Прописываем автозагрузку

chkconfig zabbix-server on

chkconfig zabbix-agent on
chkconfig mysqld on
chkconfig httpd on

12)Теперь необходимо настроить фаервол. Вы можете прописать конкретные правила, либо выключить фаервол вообще, что я собственно и сделал:

service iptables stop

chkconfig iptables off

13)Подключаемся с помощью браузера. В моем случае это http://192.168.1.52/zabbix. И приступаем к установке.
Правим настройки базы данных, в соответствии с ранее созданной базой данных.
Логинемся под Username: Admin и Password: zabbix
Может возникнуть следующая ошибка:

"Zabbix server is not running: the information displayed may not be current."

Необходимо выключить SELinux. В Fedora Core, CentOS и RedHat Enterprise, достаточно отредактировать /etc/selinux/config и изменить параметр SELINUX=enforcing на SELINUX=permissive, после чего перезагрузить систему.
Снова заходим на вебинтерфейс.
И когда я подумал что установка закончена, то обнаружил, что если экстренно выключать виртуальную машину появляется следующая ошибка:
Database error: Error connecting to database [Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (13)]
Помогло удаление файла /var/lib/mysql/mysql.sock. После этого потребовалось перезапустить mysql и zabbix server.
service mysqld restart
service zabbix-server restart
С чем это связано я так и не понял, но при штатном выключении (или перезагрузке) виртуальной машины все работает нормально.

10 комментариев:

  1. Огромное спасибо, очень хорошая статья!

    ОтветитьУдалить
  2. Этот комментарий был удален автором.

    ОтветитьУдалить
  3. Этот комментарий был удален автором.

    ОтветитьУдалить
  4. Спасибо за наглядную инструкцию!
    Пара комментариев:
    1) после grant all privileges также потребовалась выполнить
    flush privileges;
    2) для применения настройки selinux, вместо перезагрузки, достаточно выполнить
    setenforce 0

    ОтветитьУдалить
    Ответы
    1. спасибо за дополнение, уверен кому-нибудь пригодится.

      Удалить

Блог развивается при поддержке

Блог развивается при поддержке
Защищаем настоящие ценности клиента

Translate

Популярные сообщения

Blog Archive

Технологии Blogger.

Google+ Followers