Совсем недавно вышла новая версия лучшей системы мониторинга Zabbix 2.0, с обновленным оформлением, исправлением ошибок и новыми «фичами». Пока в репозиториях еще нет пакетов для установки, будем ставить из выложенных исходников, на сайте zabbix.com.
Скачаем и распакуем архив с исходниками.
cd /home/ wget http://downloads.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.0.0/zabbix-2.0.0.tar.gz tar -xvf zabbix-2.0.0.tar.gz cd zabbix-2.0.0
Приступим к конфигурированию и установке. Предположительно у Вас уже установлен MySQL и Apache + php.
Установим необходимые пакеты
yum install zlib-devel mysql-devel glibc-devel curl-devel gcc automake net-snmp-devel
Приступаем к установке непосредственно Zabbix.
./configure --enable-server --enable-agent --enable-proxy --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-openipmi make & make install mkdir /etc/zabbix cd ../.. cp /home/zabbix-2.0.0/conf/{zabbix_server.conf,zabbix_agentd.conf,zabbix_proxy.conf} /etc/zabbix/
Далее создаем базу в MySQL для Zabbix.
mysql -u root -p mysql> create database zabbix character set utf8; mysql> grant all privileges on zabbix.* to ‘zabbix’@'localhost’ identified by ‘zabbix’; mysql>quit;
После чего, нужно скопировать схемы базы данных из подготовленых SQL файлов в дистрибутиве.
cd database/mysql/ cat mysql.sql | mysql -u zabbix -p zabbix cat images_mysql.sql | mysql -u zabbix -p zabbix cat data.sql | mysql -u zabbix -p zabbix
Далее отредактируем конфигурационные файлы сервисов Zabbix, обратите внимание, что собирали мы с zabbix_proxy, а это значить что теперь наш сервер будет работать на отличном от стандартного порту.
nano /etc/zabbix/zabbix_server.conf
ListenPort=10052 SourceIP=192.168.0.2 LogFile=/tmp/zabbix_server.log LogFileSize=1 PidFile=/tmp/zabbix_server.pid DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix DBPort=3306 StartTrappers=1 SNMPTrapperFile=/tmp/zabbix_traps.tmp SNMPTrapperFile=/tmp/zabbix_traps.tmp
Сервер в версии 2.0 будет принимать уже обработанные данные от серверов zabbix_proxy на порту 10052, таким образом мы распределим нагрузку с одного zabbix сервера на много zabbix_proxy серверов.
Далее настроим zabbix_proxy.
nano /etc/zabbix_proxy.conf
ProxyMode=0 Server=127.0.0.1 ServerPort=10052 Hostname=Zabbix proxy ListenPort=10051 SourceIP=192.168.0.2 LogFile=/tmp/zabbix_proxy.log LogFileSize=2 PidFile=/tmp/zabbix_proxy.pid DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix ProxyLocalBuffer=0 ProxyOfflineBuffer=1 HeartbeatFrequency=60 ConfigFrequency=3600 StartPollers=5 ListenIP=192.168.0.2
На этом конфигурация завершена, но службы запускать еще очень рано.
Добавим пользователя zabbix и дадим ему права на конфигурационные файлы.
useradd -m -s /bin/bash zabbix chmod 400 /etc/zabbix/zabbix_server.conf chown zabbix /etc/zabbix/zabbix_server.conf cp misc/init.d/redhat/8.0/zabbix_server /etc/init.d/zabbix_server cp misc/init.d/redhat/8.0/zabbix_agentd /etc/init.d/zabbix_agentd cp misc/init.d/redhat/8.0/zabbix_agentd /etc/init.d/zabbix_proxy chmod a+x /etc/init.d/zabbix_server chmod a+x /etc/init.d/zabbix_proxy chmod a+x /etc/init.d/zabbix_agentd
Редактируем в стартовых скриптах путь до папки, по умолчанию указанный не тот, который нам нужен.
nano /etc/init.d/zabbix_server
nano /etc/init.d/zabbix_agentd
nano /etc/init.d/zabbix_proxy
Приводим строку progdir к следующему виду.
progdir="/usr/local/sbin/"
Добавим скрипты в автозагрузку.
chkconfig --add zabbix_server chkconfig --add zabbix_agentd chkconfig --add zabbix_proxy chkconfig --level 345 zabbix_server on chkconfig --level 345 zabbix_agentd on chkconfig --level 345 zabbix_proxy on
Теперь можно стартовать службы
service zabbix_server start service zabbix_agentd start service zabbix_proxy start
Если какая либо из служб запустилась не верно, смотрим логи…
tail -50 /tmp/zabbix_server.log tail -50 /tmp/zabbix_agentd.log tail -50 /tmp/zabbix_proxy.log
Если ошибка запуска не ясна, можете писать кусок лога в комменты, помогу.
Едем дальше, службы запустились, пора заливать «веб-морду» (веб панель) ZABBIX. Для начала, скопируем скрыпты.
mkdir /var/www/html/zabbix cp -r frontends/php/* /var/www/html/zabbix chown apache:apache -R /var/www/html/zabbix/
Теперь нужно внести некоторые поправки в конфигурацию php. В файле nano /etc/php.ini приводим следующие строки к необходимому виду. Для удобства поиска, используем CTRL+W (в nano).
312 max_execution_time = 600 314 memory_limit = 256M 477 post_max_size = 32M 639 date.timezone = Europe/Moscow 1163 mbstring.func_overload = 2
Если на этом сервере хостится еще несколько сайтов, советую использовать настройки PHP чезез файл .htaccess
Создаем VirtualHost в Apache.
NameVirtualHost *:80 DocumentRoot /var/www/html/zabbix ServerName zabbix DirectoryIndex index.php AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml AddType application/x-httpd-php-source .phps ErrorLog logs/zabbix-error_log
На этом хватит возни с терминалом, последний штрих — перезапуск Apache.
service httpd restart
После чего открываем в браузере http://192.168.0.2 (IP нашего сервера или DNS имя, если Вы уже позаботились об этом), и видим веб панель установщика ZABBIX. Следуем подсказкам мастера и завершаем установку.
Доступ в панель будет осуществляться по следующим авторизационным данным.
Логин: admin
Пароль: zabbix
Проверено на 5.8 (но в данном случае это не важно, так как ошибки от системы не зависят):
Из того что обнаружено на скорую руку:
1. нет папки misc/conf/, откуда вы копировали конфиги не понятно.
2. скопировать в /etc/zabbix это одно, но как сервер узнает, что конфиги лежат там?
3. да и папки data нет.
в итоге базу сделал так
cat database/mysql/schema.sql | mysql -u zabbix -p zabbix
cat database/mysql/images.sql | mysql -u zabbix -p zabbix
cat database/mysql/data.sql | mysql -u zabbix -p zabbix
А конфиги лежат в /usr/local/etc/ и именно их читает по дефолту. Либо делать симлинки, либо редактировать прям там. или редактировать /etc/init.d/zabbix_server.
Да, действительно с некоторыми путями — напутал. прошу прощения, поправил.
По конфигам снова таки загадочная ситуация. Действительно конфиги лежат в /usr/local/etc/, но это должно быть только при использовании префикса /usr/local/ при сборке. В остальных же случаях в /etc/zabbix/…
В любом случае, приношу свои извинения за некоторые ошибки.
Приветствую!
Спасибо за мануал, пришлось меньше думать. Сначала хотел использовать постгрес, собрал с ним, поставил, но потом передумал. Сделал uninstall, clean, поставил заново, настроил sql. Полез в фронт-энд, а там на шаге тестирования коннекта с базой не могу выбрать в выпадающем меню MySQL. Только Postgresql. Все снова переставил, снес PHP-файлы, проверил конфиги — нигде ни слова про постгрес, рестартанул сервисы. Все также.
Можете подсказать как бороться? Может сталкивались? Может есть опция пропустить вебмордовый пре-инсталл?
А какой ключик надо использовать чтоб указать где должны лежать конфиги по умолчанию? ./configure —help ничего нет.
[root@falcon zabbix-2.0.0]# ./configure -help
`configure’ configures this package to adapt to many kinds of systems.
Usage: ./configure [OPTION]… [VAR=VALUE]…
To assign environment variables (e.g., CC, CFLAGS…), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, —help display this help and exit
—help=short display options specific to this package
—help=recursive display the short help of all the included packages
-V, —version display version information and exit
-q, —quiet, —silent do not print `checking …’ messages
—cache-file=FILE cache test results in FILE [disabled]
-C, —config-cache alias for `—cache-file=config.cache’
-n, —no-create do not create output files
—srcdir=DIR find the sources in DIR [configure dir or `..’]
Installation directories:
—prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
—exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, `make install’ will install all the files in
`/usr/local/bin’, `/usr/local/lib’ etc. You can specify
an installation prefix other than `/usr/local’ using `—prefix’,
for instance `—prefix=$HOME’.
For better control, use the options below.
Fine tuning of the installation directories:
—bindir=DIR user executables [EPREFIX/bin]
—sbindir=DIR system admin executables [EPREFIX/sbin]
—libexecdir=DIR program executables [EPREFIX/libexec]
—sysconfdir=DIR read-only single-machine data [PREFIX/etc]
—sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
—localstatedir=DIR modifiable single-machine data [PREFIX/var]
—libdir=DIR object code libraries [EPREFIX/lib]
—includedir=DIR C header files [PREFIX/include]
—oldincludedir=DIR C header files for non-gcc [/usr/include]
—datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
—datadir=DIR read-only architecture-independent data [DATAROOTDIR]
—infodir=DIR info documentation [DATAROOTDIR/info]
—localedir=DIR locale-dependent data [DATAROOTDIR/locale]
—mandir=DIR man documentation [DATAROOTDIR/man]
—docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
—htmldir=DIR html documentation [DOCDIR]
—dvidir=DIR dvi documentation [DOCDIR]
—pdfdir=DIR pdf documentation [DOCDIR]
—psdir=DIR ps documentation [DOCDIR]
Program names:
—program-prefix=PREFIX prepend PREFIX to installed program names
—program-suffix=SUFFIX append SUFFIX to installed program names
—program-transform-name=PROGRAM run sed PROGRAM on installed program names
System types:
—build=BUILD configure for building on BUILD [guessed]
—host=HOST cross-compile to build programs to run on HOST [BUILD]
Optional Features:
—disable-option-checking ignore unrecognized —enable/—with options
—disable-FEATURE do not include FEATURE (same as —enable-FEATURE=no)
—enable-FEATURE[=ARG] include FEATURE [ARG=yes]
—disable-dependency-tracking speeds up one-time build
—enable-dependency-tracking do not reject slow dependency extractors
—disable-largefile omit support for large files
—enable-static Build statically linked binaries
—enable-server Turn on build of Zabbix server
—enable-proxy Turn on build of Zabbix proxy
—enable-agent Turn on build of Zabbix agent and client utilities
—enable-java Turn on build of Zabbix Java gateway
—enable-ipv6 Turn on support of IPv6
Optional Packages:
—with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
—without-PACKAGE do not use PACKAGE (same as —with-PACKAGE=no)
—with-ibm-db2=[ARG] use IBM DB2 CLI from given sqllib directory
(ARG=path); use /home/db2inst1/sqllib (ARG=yes);
disable IBM DB2 support (ARG=no)
—with-ibm-db2-include=[DIR]
use IBM DB2 CLI headers from given path
—with-ibm-db2-lib=[DIR]
use IBM DB2 CLI libraries from given path
—with-mysql[=ARG] use MySQL client library [default=no], optionally
specify path to mysql_config
—with-oracle=[ARG] use Oracle OCI API from given Oracle home
(ARG=path); use existing ORACLE_HOME (ARG=yes);
disable Oracle OCI support (ARG=no)
—with-oracle-include=[DIR]
use Oracle OCI API headers from given path
—with-oracle-lib=[DIR] use Oracle OCI API libraries from given path
—with-postgresql[=ARG] use PostgreSQL library [default=no], optionally
specify path to pg_config
—with-sqlite3[=ARG] use SQLite 3 library [default=no], optionally
specify the prefix for sqlite3 library
If you want to use Jabber protocol for messaging:
—with-jabber[=DIR] Include Jabber support [default=no]. DIR is the
iksemel library install directory.
If you want to use cURL library:
—with-libcurl[=DIR] use cURL package [default=no], optionally specify
path to curl-config
What ODBC driver do you want to use (please select only one):
—with-iodbc[=ARG] use odbc driver against iODBC package [default=no],
default is to search through a number of common
places for the IODBC files.
—with-unixodbc[=ARG] use odbc driver against unixODBC package
[default=no], optionally specify full path to
odbc_config binary.
What SNMP package do you want to use (please select only one):
—with-net-snmp[=ARG] use NET-SNMP package [default=no], optionally
specify path to net-snmp-config
—with-ucd-snmp[=ARG] use UCD-SNMP package [default=no], default is to
search through a number of common places for the
UCD-SNMP files.
If you want to use SSH2 based checks:
—with-ssh2[=DIR] use SSH2 package [default=no], DIR is the SSH2
library install directory.
If you want to check IPMI devices:
—with-openipmi[=DIR] Include OPENIPMI support [default=no]. DIR is the
OPENIPMI base install directory, default is to
search through a number of common places for the
OPENIPMI files.
If you want to check LDAP servers:
—with-ldap[=DIR] Include LDAP support [default=no]. DIR is the LDAP
base install directory, default is to search through
a number of common places for the LDAP files.
Some influential environment variables: if you have libraries in a
LIBS libraries to pass to the linker, e.g. -l
CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if
CC C compiler command
CFLAGS C compiler flags
LDFLAGS linker flags, e.g. -L
nonstandard directory
you have headers in a nonstandard directory
CPP C preprocessor
PKG_CONFIG path to pkg-config utility
PKG_CONFIG_PATH
directories to add to pkg-config’s search path
PKG_CONFIG_LIBDIR
path overriding pkg-config’s built-in search path
IKSEMEL_CFLAGS
C compiler flags for IKSEMEL, overriding pkg-config
IKSEMEL_LIBS
linker flags for IKSEMEL, overriding pkg-config
Use these variables to override the choices made by `configure’ or to help
it to find libraries and programs with nonstandard names/locations.
Report bugs to the package provider.
Вам нужна строка по типу этой: ./configure —enable-server —with-mysql —with-net-snmp —with-jabber —with-libcurl
Спасибо, как раз нашел уже и попробовал. Но есть проблема: каталог создается и конфиги есть. Но при запууске все равно выдает ошибку, что нет конфига по пути по умолчанию. Не сталкивались с подобным поведением?
Сталкивался, так и не решил. Так как не принципиально.
У меня конфиги лежат в
[root@falcon]# ls -l /usr/local/etc/zabbix_*
-rw-r—r— 1 root root 2272 May 30 10:38 /usr/local/etc/zabbix_agent.conf
-rw-r—r— 1 root root 3361 Jun 7 12:42 /usr/local/etc/zabbix_agentd.conf
-rw-r—r— 1 root root 7581 Jun 6 10:55 /usr/local/etc/zabbix_proxy.conf
-rw-r—r— 1 root root 8494 Jun 8 10:16 /usr/local/etc/zabbix_server.conf
столкнулся с проблемой , установил все ок все хорошо тесты веб-мордочка проходит на коннекты к базе , запускаю сервер заббикса , все прекрасно работает логи говорят все прекрасно, но но веб-интерфейс упорно кричит что сервер заббикса не запущен…голову сломал как вылечить…
Вот здесь спека для сборки 2.0 в центос 6.2
http://pastebin.com/raw.php?i=hMLsuTiP
думаю собирать рпмки лучше чем самостоятельно компилировать.
Пытаюсь реализовать распределенную схему: Zabbix_server в одном офисе (подсеть офиса 10.0.0.0/24), хосты, которые хочу мониторить — во втором офисе (192.168.1.0/24). Во втором офисе ставлю zabbix_proxy, направляю на zabbix_server, раз в минуту связь происходит. На zabbix_server добавляю узел сети, например s1 (192.168.1.100) через zabbix_proxy. Хосты недоступны.
Ниже часть лога proxy:
s 10235:20141111:023224.203 [Z3005] query failed: [1054] Unknown column ‘p.status’ in ‘field list’ [select p.id,h.host,i.key_,p.clock,p.ns,p.times
10235:20141111:023225.234 [Z3005] query failed: [1054] Unknown column ‘p.status’ in ‘field list’ [select p.id,h.host,i.key_,p.clock,p.ns,p.times
10235:20141111:023226.257 [Z3005] query failed: [1054] Unknown column ‘p.status’ in ‘field list’ [select p.id,h.host,i.key_,p.clock,p.ns,p.times
10235:20141111:023227.303 [Z3005] query failed: [1054] Unknown column ‘p.status’ in ‘field list’ [select p.id,h.host,i.key_,p.clock,p.ns,p.times
10249:20141111:023228.338 [Z3005] query failed: [1054] Unknown column ‘t.macros’ in ‘field list’ [select t.httptestid,t.name,t.macros,t.agent,t.
10235:20141111:023228.339 [Z3005] query failed: [1054] Unknown column ‘p.status’ in ‘field list’ [select p.id,h.host,i.key_,p.clock,p.ns,p.times
10235:20141111:023229.358 [Z3005] query failed: [1054] Unknown column ‘p.status’ in ‘field list’ [select p.id,h.host,i.key_,p.clock,p.ns,p.times
10235:20141111:023230.390 [Z3005] query failed: [1054] Unknown column ‘p.status’ in ‘field list’ [select p.id,h.host,i.key_,p.clock,p.ns,p.times
10235:20141111:023231.419 [Z3005] query failed: [1054] Unknown column ‘p.status’ in ‘field list’ [select p.id,h.host,i.key_,p.clock,p.ns,p.times
10235:20141111:023232.454 [Z3005] query failed: [1054] Unknown column ‘p.status’ in ‘field list’ [select p.id,h.host,i.key_,p.clock,p.ns,p.times
10249:20141111:023233.504 [Z3005] query failed: [1054] Unknown column ‘t.macros’ in ‘field list’ [select t.httptestid,t.name,t.macros,t.agent,t.
Подскажите, пожалуйста, в чем проблема?
Судя по ошибке — ему не хватает определенной колонки в базе данных.
У вас какая версия Zabbix? Дело в том, что данная статья по относительно старой версии Zabbix.