вторник, 5 февраля 2013 г.

Установка Zabbix на CentOS 6.3 minimal

Исходные требования.
Предполагается, что CentOS 6.3 minimal установлен
Настроены ip адрес, имя хоста, и есть подключение к сети интернет.


При необходимости обновляем ядро
yum update kernel* -y
reboot
Если установка производится на VM, то устанавливаем инструменты паравиртуализации.

Установка Apache, PHP и прочих пакетов требующихся для настройки zabbix
yum install wget gcc crontab make freetype freetype-devel zlib-devel libpng-devel php php-mysql php-ldap php-xml php-mbstring php-bcmath php-gd gd gd-devel perl httpd policycoreutils-python fping libxml2 libxml2-devel  -y

Правим настройки PHP /etc/php.ini
max_execution_time = 300
max_input_time = 300
post_max_size = 16M
date.timezone = "Europe/Moscow"

Правим настройки HTTP /etc/httpd/conf/httpd.conf
ServerName <server_name>:80
DirectoryIndex index.html index.html.var index.php

Создаем пользователя под которым будет работать zabbix сервер
groupadd zabbix
useradd -g zabbix zabbix
passwd zabbix

Скачиваем дистрибутив Zabbix и распаковываем
cd /tmp
wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.4/zabbix-2.0.4.tar.gz
tar -zxvf zabbix-2.0.4.tar.gz

Устанавливаем MySQL
yum install mysql mysql-server mysql-devel -y

Настраиваем кодировку mysql на utf8 /etc/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set = utf8
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

Запускаем mysql и настраиваем пароль для root в MySQL и отключаем все не нужное
service mysqld start
/usr/bin/mysql_secure_installation

Заходим в MySQL, создаем базу данных zabbixDB. Создаем пользователя zabbix, и даем разрешения ему вносить изменения в базу zabbixDB. Инициализируем базу данных
mysql -p
CREATE DATABASE zabbixDB CHARACTER SET utf8;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON zabbixDB.* TO 'zabbix'@'localhost';
CONNECT zabbixDB;
SOURCE /tmp/zabbix-2.0.4/database/mysql/schema.sql;
SOURCE /tmp/zabbix-2.0.4/database/mysql/images.sql;
SOURCE /tmp/zabbix-2.0.4/database/mysql/data.sql;
Ctrl-C

Устанавливаем дополнительные пакеты, если будут использованы соответствующие ключи при установке zabbix
yum install curl curl-devel net-snmp net-snmp-devel net-snmp-utils libssh2 libssh2-devel openladp openldap-devel -y


Запускаем установку zabbix сервера с zabbix агентом и доп. опциями
cd /tmp/zabbix-2.0.4
./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-ldap --with-ssh2 --with-libxml2
make install

Создаем папку для логов
mkdir /var/log/zabbix
chmod 777 /var/log/zabbix

Создаем папку для pid файлов и пингера
mkdir -p /var/run/zabbix
chown zabbix /var/run/zabbix
chgrp zabbix /var/run/zabbix

Правим настройки агента (если установлен) /usr/local/etc/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log

Правим настройки сервера /usr/local/etc/zabbix_server.conf
LogFile=/var/log/zabbix/zabbix_server.log
DBName=zabbixDB
DBUser=zabbix
DBPassword=password
TmpDir=/var/run/zabbix  
PidFile=/var/run/zabbix/zabbix_server.pid

Устанавливаем Web интерфейс zabbix (frontend)
mkdir /var/www/html/zabbix
cd /tmp/zabbix-2.0.4/frontends/php/
cp -a . /var/www/html/zabbix
chmod 777 /var/www/html/zabbix/conf

Создать файл index.php (если требуется редирект из корня сразу на zabbix)
cat > /var/www/html/index.php
<?php
header('location:/zabbix');
exit();
?>
press CTRL+D to save file

Применить политику SELinux для корректной работы httpd и разрешаем использовать порт 10051
chcon -Rv --type=httpd_sys_content_t /var/www/html/
chcon --type=zabbix_var_run_t /usr/sbin/fping 
semanage port -a -t http_port_t -p tcp 10051

Разрешаем 80 порт для http и 10051 порт для zabbix сервера на файрволе iptables
iptables -I INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I OUTPUT -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
iptables -I INPUT -p tcp -m state --state NEW,ESTABLISHED -m tcp --dport 10051 -j ACCEPT
iptables -I OUTPUT -p tcp --sport 10051 -m state --state ESTABLISHED -j ACCEPT
service iptables save

Настраиваем автозагрузку zabbix_server и zabbix_agentd (здесь конфиг для CentOS совместим с Fedora)
cp /tmp/zabbix-2.0.4/misc/init.d/fedora/core5/zabbix_server /etc/init.d/
cp /tmp/zabbix-2.0.4/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/
Включаем автозагрузку
chkconfig mysqld on
chkconfig httpd on
chkconfig zabbix_server on
chkconfig zabbix_agentd on

И запускаем все службы или просто перезагружаемся
service httpd start
service zabbix_server start
service zabbix_agentd start
или
reboot

Запускаем
http://zabbix_server
если не делали редирект то
http://zabbix_server/zabbix






 Входим: Admin, пароль zabbix
 Если все нормально zabbix сервер должен отображаться запущенным

Комментариев нет:

Отправить комментарий