FastNetMon

среда, 21 октября 2009 г.

Установка системы мониторинга Zabbix Server 1.6.6 на CentOS 5 из исходного кода

Начало
Почти любая установка начинается со страницы Download http://www.zabbix.com/download.php. Zabbix исключением не будет, т.к. в репозитории CentOS его пакетов не обнаружено (в EPEL они есть, но версии 1.4.6, что сильно старо). Родной мануал по установке находится вот здесь: http://www.zabbix.com/documentation.php ; да, кстати, он в PDF, так что готовьтесь найти пдф ридер.

Подготовка
Создаём пользователя, под которым будет работать Zabbix:
useradd zabbix -m

Подключаем репозиторий Epel: http://phpsuxx.blogspot.com/2009/03/centos-rhel.html


Создаём БД, вариант для MySQL:
mysql -uroot -pyourpassword -e "CREATE DATABASE zabbix_server CHARSET 'utf8'";
mysql -uroot -pyourpassword -e "GRANT ALL PRIVILEGES ON zabbix_server.* TO 'zabbix'@'localhost' IDENTIFIED BY 'qwerty' WITH GRANT OPTION;"

Вливаем схемы таблиц:
1. переходим в папку create/schema/
2. mysql -uroot -pyourpassword -D zabbix_server -e "source mysql.sql;";
3. Идём в папку ../data
4. Повторяем операцию для images_mysql.sql и data.sql

Создаём БД, вариант для PostgreSQL:
yum -y install postgresql-devel # ставим библиотеки поддержки работы с PgSQL

Создаем БД для Zabbix: http://phpsuxx.blogspot.com/2009/03/postgresql-8-startup.html

Имя бд: zabbix_server, имя пользователя: zabbix_user

Проверяем соединение с БД: psql zabbix_server zabbix_user --password -h 127.0.0.1

Импортируем схему БД в нашу базу:
psql zabbix_server zabbix_user --password -h 127.0.0.1
\i create/schema/postgresql.sql
\i create/data/images_pgsql.sql
\i create/data/data.sql

Компиляция сервера
yum -y install gcc make curl-devel iksemel-devel net-snmp-devel

Для работы с MySQL команда конфигурации выглядит так:
./configure --prefix=/opt/zabbix_server --enable-server --with-mysql --with-libcurl --with-jabber --with-net-snmp

А для работы с PostgreSQL команда выглядит так:
./configure --prefix=/opt/zabbix_server --enable-server --with-pgsql --with-libcurl --with-jabber --with-net-snmp

make
make install
После этого сервер будет установлен в папку: /opt/zabbix_server

Конфигурирование
Дефалтовый конфиг сервера должен лежать по пути: /etc/zabbix/zabbix_server.conf
Его пример можно взять в папке misc/conf/zabbix_server.conf
mkdir -p /etc/zabbix/
cp misc/conf/zabbix_server.conf /etc/zabbix/

После этого в указанном файле надо прописать настройки бд, за них отвечают следующие параметры:
DBHost=localhost
DBName=zabbix_server
DBUser=zabbix_user
DBPassword=qwerty

Активация init скриптов
Для управления серверов через init.d создадим скрипт /etc/init.d/zabbix_server следующего содержания:


#!/bin/sh
#
# zabbix_server start/stop script for CentOS 4.x
# author: Chris Riley
# date: 2006-06-25
#
# chkconfig: 2345 55 45
# description: starts/stops zabbix_server
#
# processname: zabbix_server
# pidfile: /tmp/zabbix_server.pid
# config: /etc/zabbix/zabbix_server.conf

# Source function library.
. /etc/rc.d/init.d/functions

# Path to zabbix_server and its base path.
progdir="/opt/zabbix_server/sbin/"
prog="zabbix_server"
RETVAL=0

start() {
echo -n $"Starting $prog: "
daemon $progdir$prog
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
killproc $prog
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog /tmp/$prog.pid
}
reload() {
echo -n $"Reloading $prog: "
killproc $prog -HUP
RETVAL=$?
echo
}

# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $prog
RETVAL=$?
;;
restart)
stop
start
;;
condrestart)
if [ -f /tmp/$prog.pid ] ; then
stop
start
fi
;;
reload)
reload
;;
*)
echo $"Usage: $prog {start|stop|status|restart|condrestart|reload}"
exit 1
esac

exit $RETVAL



Даем право на исполнение: chmod +x /etc/init.d/zabbix_server
Добавляем в автозагрузку: chkconfig zabbix_server on

Запуск сервера
Теперь запускаем сервер и радуемся :)
/opt/zabbix_server/sbin/zabbix_server
ps aux | grep zabb -- а запустился ли ?)
tail /tmp/zabbix_server.log -- тут лог


Ну вот, впрчоем, и всё. Хотелось бы отметить, что это никоим образом не исчерпывающий мануал по установке, это лишь последовательность действий один раз приведшая к успеху :)

Если Вы настроились серьезно, то вот, прошу мануал по установке веб-интерфейс к Zabbix: http://phpsuxx.blogspot.com/2008/12/zabbix-php-centos-5.html

4 комментария :

  1. Ну мог бы постараться и полней выложить последовательность действий.

    ОтветитьУдалить
  2. Официальной документации никто не отменял, там подробнее до упора.

    ОтветитьУдалить
  3. SELinux вы, естественно, отключили?

    ОтветитьУдалить

Примечание. Отправлять комментарии могут только участники этого блога.