0

Установка Zabbix 2 PostgreSQL на RHEL 6 / CentOS 6

# cat /etc/centos-release
CentOS release 6.3 (Final)
# uname -a
Linux zabbix.hotbits.ru 2.6.32-279.el6.x86_64 #1 SMP Fri Jun 22 12:19:21 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
# psql --version
psql (PostgreSQL) 8.4.13

Изменим hostname сервера

# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=zabbix.hotbits.ru

Создаём zabbix пользователя и группу

# groupadd zabbix
# useradd -g zabbix zabbix
# passwd zabbix

Качаем последний релиз и распаковываем его

# su - zabbix
$ tar xvf zabbix-2.0.6.tar.gz

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

# yum install -y gcc make postgresql postgresql-devel net-snmp-devel php php-pear policycoreutils-python php-gd php-xml php-pgsql php-bcmath php-mbstring glibc-static zlib-devel mysql-devel glibc-devel curl-devel automake mysql libidn-devel openssl-devel rpm-devel OpenIPMI-devel iksemel iksemel-devel

Запускаем PostgreSQL

# service postgresql initdb -E UTF8
# service postgresql start

Меняем метод идентификации пользователей PostgreSQL на trust

# vi /var/lib/pgsql/data/pg_hba.conf
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD

# "local" is for Unix domain socket connections only
local   all         all                               trust
# IPv4 local connections:
host    all         all         127.0.0.1/32          trust
# IPv6 local connections:
host    all         all         ::1/128               trust

Перезапуск PostgreSQL

# service postgresql restart

Создаём zabbix пользователя и базу, где secretpasswd пароль пользователя

# su - postgres
-bash-4.1$ psql
postgres=# CREATE USER zabbix CREATEDB PASSWORD 'secretpasswd';
CREATE ROLE
postgres=#\q

Заполнение базы

# su - zabbix
$ psql -U zabbix zabbix < zabbix-2.0.6/database/postgresql/schema.sql
$ psql -U zabbix zabbix < zabbix-2.0.6/database/postgresql/images.sql
$ psql -U zabbix zabbix < zabbix-2.0.6/database/postgresql/data.sql

Собираем исходники

# ./configure --enable-server --with-postgresql --with-net-snmp --enable-agent --with-libcurl --with-openipmi --with-jabber
# make install

Настройка zabbix сервера /usr/local/etc/zabbix_server.conf

# vi /usr/local/etc/zabbix_server.conf
LogFile=/var/log/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword=secretpasswd

Проверка конфига

# egrep -v '^#|^$' /usr/local/etc/zabbix_server.conf

Настройка zabbix агента /usr/local/etc/zabbix_agentd.conf

# vi /usr/local/etc/zabbix_agentd.conf[/cceWN_bash]

LogFile=/var/log/zabbix_agentd.log
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=zabbix-server.foo.bar

Проверка конфига

# egrep -v '^#|^$' /usr/local/etc/zabbix_agentd.conf

Создание лог-файлов

# touch /var/log/zabbix_server.log
# touch /var/log/zabbix_agentd.log
# chown zabbix:zabbix /var/log/zabbix_*

Подготовка фронтенда zabbix

# cd /home/zabbix/zabbix-2.0.6/frontends/php
# mkdir -p /var/www/html/zabbix | cp -a . /var/www/html/zabbix

Создание скриптов запуска

# cp /home/zabbix/zabbix-2.0.6/misc/init.d/fedora/core5/zabbix_server /etc/init.d/
# cp /home/zabbix/zabbix-2.0.6/misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/

Настройка web-сервера Apache

# vi /etc/httpd/conf/httpd.conf
NameVirtualHost *:80

<VirtualHost *:80>
    ServerAdmin admin@hotbits.ru
    DocumentRoot /var/www/html/zabbix
    ServerName zabbix.hotbits.ru
    ErrorLog logs/zabbix-error_log
    CustomLog logs/zabbix-access_log common
</VirtualHost>

Настройка правил IPTables

# vi /etc/sysconfig/iptables
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 53 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 161 -m iprange --src-range 192.168.1.1-192.168.1.254 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --sport 25 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited

COMMIT

Перезапуск IPTables

# service iptables restart

Я решил отключить SELinux, не осилил ;)

# vi /etc/selinux/config
SELINUX=disabled

После правки потребуется перезагрузка.
Отключить «на лету»:

# setenforce 0

Настраиваем PHP

# vi /etc/php.ini
date.timezone = Europe/Moscow
post_max_size = 16M
max_execution_time = 300
max_input_time = 300

Активируем сервисы

# chkconfig httpd on
# chkconfig postgresql on
# chkconfig --add zabbix_server
# chkconfig --add zabbix_agentd
# chkconfig zabbix_server on
# chkconfig zabbix_agentd on

Продолжаем конфигурацию через web

http://zabbix.hotbits.ru/

XpycT

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *