Решил написать статью по инсталяции и настройке Zabbix на FreeBSD 7.2
Возможно кому-то пригодится. Причем инсталируем на чистую операционную систему,
с наложением патчей безопасности. Ядро-стандартное (Generic).
Начнем с обновления портов. Ставим cvsup-without-gui для обновления портов и установки патчей безопасности. Рекомендую изучить мануал zabbix.
Примечание:
1.В подверсиях Zabbix-1.6.X иконки имеют расширение Jpeg а не PNG. (Иконки PNG не загружаются).
2. При инсталяции ставится программа PNG 1.2.X и инсталяция прерывается.
Решается тем что, сразу после обновления, небходимо поставить порт
/usr/ports/graphics/png до инсталяции других портов.
Ставим cvsup-without-gui для обновления портов и src.
Ставим cvsup-without-gui. Интернет должем быть подключен!!!
ivcshop# cd /usr/ports/
ivcshop# cd net/cvsup-without-gui/
ivcshop# make
ivcshop# make install
ivcshop# rehash
Копируем конфигурационные файлы CVSUP в /etc.
ports-supfile —
служит для обновления портов
standard-supfile —
для наложения патчей на ОС.
Переходить на FreeBSD 8.0 — не будем.
cd /usr/share/examples/cvsup/
Копируем шаблонные файлы ports-supfile и standard-supfile в /etc для правки.
ivcshop# cp ports-supfile /etc/
ivcshop# cp standard-supfile /etc/
Правим standard-supfile.
ivcshop# ee /etc/standard-supfile
В standard-supfile должно быть описано следующее:
//////////////////
*default host=cvsup2.ru.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_7_2
*default delete use-rel-suffix
src-all
//////////////////
Обновляем src используя /etc/standard-supfile.
ivcshop# cvsup -g -L 2 /etc/standard-supfile
Правим ports-supfile
ivcshop# ee /etc/ports-supfile
Должно быть описано следующее
:
\\\\\\\\\
*default host=cvsup2.ru.FreeBSD.org
\\\\\\\\\\r
Обновляем порты:
ivcshop# cvsup -g -L 2 /etc/ports-supfile
Обновляем src для патчей:
ivcshop# cd /usr/src/
Собираем мир:
ivcshop# make buildworld
Собираем ядро:
ivcshop# make buildkernel
Инсталлируем ядро:
ivcshop# make installkernel
ivcshop# shutdown -r now
После перезагрузки выбираем в загрузочном меню:
**BOOT FreeBSD in single user mode
Монтируем :
ivcshop#mount -u /
ivcshop#mount -a -t ufs
ivcshop#swapon -a
Запускаем mergemaster для сбора данных.
ivcshop#mergemaster -p
Инсталлируем мир:
ivcshop#cd /usr/src
ivcshop# make installworld
Сравниваем изменения в конфигурационных файлах:
ivcshop#mergemaster
В данном случае нажимаем на все вопросы «d»,т.к. изменений в конфигурационных файлах нет.
Наконец-то перезагружаемся:
ivcshop#reboot
С патчами и портами все.
Теперь поставим MySQl:
ivcshop# cd /usr/ports/databases/mysql51-server/
ivcshop# make WITH_XCHARSET=all
ivcshop# make install
Создаем конфигурационный файл my.cnf для MySQL
ivcshop#cp /usr/local/share/mysql/my-small.cnf /etc/my.cnf
Редактируем /etc/rc.conf
ivcshop# ee /etc/rc.conf
Пишем строку:
mysql_enable=»YES»
Запускаем
ivcshop# /usr/local/etc/rc.d/mysql-server start
А запустился ли ?
ivcshop# ps -ax | grep mysql
72567 v0 S 0:00.01 /bin/sh /usr/local/bin/mysqld_safe —defaults-extra-f
72618 v0 S 0:00.15 /usr/local/libexec/mysqld —defaults-extra-file=/var/
72620 v0 R+ 0:00.00 grep mysql
Назначаем пароль для root MySQL
ivcshop# mysqladmin -u root password 12345
Проверяем можем ли зайти под root MySql:
ivcshop# mysql -uroot -p
Enter password:
Ищем и удаляем библиотеку libtool-1.X (инсталится по умолчанию), иначе Apache2.2 не встанет.
ivcshop# pkg_info | less
Находим libtool-1.X и удаляем:
ivcshop# pkg_delete libtool-1.5.26
Ставим libtool22 для Apache2.2:
ivcshop# cd /usr/ports/devel/libtool22/
ivcshop# make
ivcshop# make install
Ставим apache22:
ivcshop# cd /usr/ports/www/apache22
ivcshop# make
Во вкладке выбираем mod_mysql. Остальное по Вашему усмотрению.
ivcshop# make install
Добавляем строку:
apache22_enable=»YES» в /etc/rc.conf.
Ставим PHP5
ivcshop# cd /usr/ports/lang/php5
ivcshop# make
У меня выбраны следующие опции:
Options for php5 5.2.11_1
і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і
і і[X] CLI Build CLI version і і
і і[X] CGI Build CGI version і і
і і[X] APACHE Build Apache module і і
і і[ ] DEBUG Enable debug і і
і і[X] SUHOSIN Enable Suhosin protection system (not for jails) і і
і і[X] MULTIBYTE Enable zend multibyte support і і
і і[ ] IPV6 Enable ipv6 support і і
і і[X] MAILHEAD Enable mail header patch і і
і і[X] REDIRECT Enable force-cgi-redirect support (CGI only) і і
і і[X] DISCARD Enable discard-path support (CGI only) і і
і і[X] FASTCGI Enable fastcgi support (CGI only) і і
і і[X] PATHINFO Enable path-info-check support (CGI only)
ivcshop# make install
Видим следующее:
***************************************************************
Make sure index.php is part of your DirectoryIndex.
You should add the following to your Apache configuration file:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
***************************************************************
Правим конфигурационный файл Apache:
ivcshop# ee /usr/local/etc/apache22/httpd.conf
Ищем строку <IfModule dir_module> и под ней пишем: DirectoryIndex index.php index.html.
Т.е. должно быть так:
<IfModule dir_module>
DirectoryIndex index.php index.html
Ищем строку <IfModule mime_module>, под ней пишем: AddType application/x-httpd-php .php
и AddType application/x-httpd-php-source .phps
Т.е. должно быть так:
<IfModule mime_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
Ставим расширения под PHP5:
ivcshop#cd /usr/ports/lang/php5-extensions/
ivcshop#make
Options for php5-extensions 1.3
і
і ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї і
і і [X] BCMATH bc style precision math functions і і
і і [X] BZ2 bzip2 library support і і
і і [X] CALENDAR calendar conversion support і і
і і [X] CTYPE ctype functions і і
і і [X] CURL CURL support і і
і і [X] DBA dba support і і
і і [ ] DBASE dBase library support і і
і і [X] DOM DOM support і і
і і [X] EXIF EXIF support і і
і і [X] FILEINFO fileinfo support і і
і і [X] FILTER input filter support і і
і і [ ] FRIBIDI FriBidi support і і
і і [X] FTP FTP support і і
і і [X] GD GD library support і і
і і [X] GETTEXT gettext library support
[X] GMP GNU MP support і і
і і [X] HASH HASH Message Digest Framework і і
і і [X] ICONV iconv support і і
і і [X] IMAP IMAP support і і
і і [ ] INTERBASE Interbase 6 database support (Firebird) і і
і і [X] JSON JavaScript Object Serialization support і і
і і [ ] LDAP OpenLDAP support і і
і і [X] MBSTRING multibyte string support і і
і і [ ] MCRYPT Encryption support і і
і і [ ] MHASH Crypto-hashing support і і
і і [X] MING ming shockwave flash support і і
і і [ ] MSSQL MS-SQL database support і і
і і [X] MYSQL MySQL database support і і
і і [ ] MYSQLI MySQLi database support і і
і і [X] NCURSES ncurses support (CLI only)
[ ] ODBC unixODBC support і і
і і [X] OPENSSL OpenSSL support і і
і і [X] PCNTL pcntl support (CLI only) і і
і і [X] PCRE Perl Compatible Regular Expression support і і
і і [X] PDF PDFlib support (implies GD) і і
і і [X] PDO PHP Data Objects Interface (PDO) і і
і і [X] PDO_SQLITE PDO sqlite driver і і
і і [ ] PGSQL PostgreSQL database support і і
і і [X] POSIX POSIX-like functions і і
і і [X] PSPELL pspell support і і
і і [ ] READLINE readline support (CLI only) і і
і і [ ] RECODE recode support і і
і і [X] SESSION session support і і
і і [ ] SHMOP shmop support і і
і і [X] SIMPLEXML simplexml support
[ ] SNMP SNMP support і і
і і [X] SOAP SOAP support і і
і і [X] SOCKETS sockets support і і
і і [X] SPL Standard PHP Library і і
і і [ ] SQLITE sqlite support і і
і і [ ] SYBASE_CT Sybase database support і і
і і [ ] SYSVMSG System V message support і і
і і [ ] SYSVSEM System V semaphore support і і
і і [ ] SYSVSHM System V shared memory support і і
і і [X] TIDY TIDY support і і
і і [X] TOKENIZER tokenizer support і і
і і [ ] WDDX WDDX support (implies XML) і і
і і [X] XML XML support і і
[X] XMLREADER XMLReader support і і
і і [X] XMLRPC XMLRPC-EPI support і і
і і [X] XMLWRITER XMLWriter support і і
і і [X] XSL XSL support (Implies DOM) і і
і і [X] YAZ YAZ support (ANSI/NISO Z39.50) і і
і і [X] ZIP ZIP support і і
і і [X] ZLIB ZLIB support
ivcshop# make install
Создаем конфигурационный файл php.ini
ivcshop#cp /usr/local/etc/
php
.
ini
-recommended /usr/local/etc/
php
.
ini
Приступаем к настройке Zabbix.
Переходим в порт Zabbix.
cd /usr/ports/net-mgmt/zabbix-server/
ivcshop#make
Обязательно отмечаем MYSQL и FPING. Выбираем JABBER, если хотим получать уведомления по JABBER. Мне этого не нужно.
??????????????????????????????????????????????????????????????????????
? Options for zabbix-server 1.6,4 ?
? ?????????????????????????????????????????????????????????????????? ?
? ? [X] MYSQL Use MySQL backend ? ?
? ? [ ] PGSQL Use PostgreSQL backend ? ?
? ? [ ] SQLITE Use SQLite backend ? ?
? ? [ ] IPV6 Support for IPv6 ? ?
? ? [ ] LDAP Support for checking LDAP servers ? ?
? ? [ ] JABBER Use jabber media type ? ?
? ? [X] FPING Use fping for pinging hosts ? ?
??????????????????????????????????????????????????????????????????????
? [ OK ] Cancel ?
??????????????????????????????????????????????????????????????????????
За ним тянется net-snmp 5.4.2.1_6. Вот опции:
??????????????????????????????????????????????????????????????????????
? Options for net-snmp 5.4.2.1_6 ?
? ?????????????????????????????????????????????????????????????????? ?
? ? [ ] IPV6 Build with IPv6 support ? ?
? ? [ ] MFD_REWRITES Build with 64-bit Interface Counters ? ?
? ? [X] PERL Install additional perl modules ? ?
? ? [X] PERL_EMBEDDED Build embedded perl ? ?
? ? [ ] TKMIB Install graphical MIB browser ? ?
? ? [X] DUMMY Enable dummy values as placeholders ? ?
? ? [ ] DMALLOC Enable dmalloc debug memory allocator ? ?
ivcshop#make install
Получаем информацию.
======================================================================
Zabbix requires a database. If you are using SQLite, one will be
created automatically. Otherwise you can install one as follows (<db>
is your database engine and <db_client> is its client program):
Ниже описано как залить данные
% cd /usr/local/share/zabbix/server/create
% cat schema/<db>.sql data/data.sql data/images_<db>.sql | <db_client>
To upgrade an existing database, see the scripts in
/usr/local/share/zabbix/server/upgrades.
======================================================================
ivcshop# rehash
Создаем базу данных Zabbix
ivcshop# mysql -u root -p
Enter password:
mysql> create database zabbix character set utf8;
Query OK, 1 row affected (0.00 sec)
Создаем пользователя zab с паролем 12345 и даем ему полное разрешение на базу zabbix:
mysql> grant all on zabbix.* to ‘zab’@’localhost’ identified by ‘12345’;
Query OK, 0 rows affected (0.03 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye
ivcshop# cd /usr/local/share/zabbix/server/create/schema/
Смотрим, что в директории:( пишу для того,чтобы Вы себя проверяли…)
ivcshop# ls
mysql.sql oracle.sql postgresql.sql sqlite.sql
Заливаем данные для MySQL из mysql.sql.
ivcshop# cat mysql.sql | mysql -u zab -p zabbix
Enter password:
ivcshop# cd ../data/
Смотрим, что в директории:
ivcshop# ls
data.sql images_mysql.sql images_pgsql.sql
images images_oracle.sql images_sqlite3.sql
Заливаем данные из data.sql и images_mysql.sql.
ivcshop# cat data.sql | mysql -u zab -p zabbix
Enter password:
ivcshop# cat images_mysql.sql |mysql -u zab -p zabbix
Enter password:
ivcshop# cd /usr/local/etc/zabbix/
Смотрим, что в директории:
ivcshop# ls
zabbix_agent.conf zabbix_server.conf.sample
zabbix_agentd.conf
Создаем конфигурационный файл путем копирования:
ivcshop# cp zabbix_server.conf.sample zabbix_server.conf
ivcshop#ee zabbix_server.conf
Добавляем в него или раскоментируем:
<начало
ListenPort=10051
HousekeepingFrequency=2
SenderFrequency=60
DebugLevel=3
Timeout=5
UnreachablePeriod=90
PidFile=/var/tmp/zabbix_server.pid
LogFile=/var/log/zabbix_server.log
LogFileSize=1
AlertScriptsPath=/home/zabbix/bin/
FpingLocation=/usr/local/sbin/fping
DBHost=localhost
DBName=zabbix
DBUser=zab
DBPassword=12345
DBSocket=/tmp/mysql.sock
конец>
Создаем файл логов Zabbix:
ivcshop# cd /var/log/
ivcshop# touch zabbix_server.log
Даем разрешение для пользователя Zabbix на него:
ivcshop# chown zabbix:wheel zabbix_server.log
ivcshop# chmod 666 zabbix_server.log
Редактируем конфигурационный файл apache
ivcshop# ee /usr/local/etc/apache22/httpd.conf
Добавляем в конфигурацию:
Alias /zabbix/ «/usr/local/www/apache22/data/php_zabbix/»
<Directory />
AllowOverride All
Options Indexes FollowSymLinks
Order allow,deny
Allow from all
AllowOverride Options Fileinfo
</Directory>
Редактируем конфигурационный файл /etc/rc.conf
ivcshop# ee /etc/rc.conf
Добавляем строку:
zabbix_server_enable=»YES»
Запускаем Zabbix:
ivcshop# /usr/local/etc/rc.d/zabbix_server start
Копируем frontends из папки work в порту zabbix:
ivcshop# cd /usr/ports/net-mgmt/zabbix-server/work/zabbix-1.6
Смотрим, что в директории:
ivcshop# ls
AUTHORS INSTALL NEWS build config.status create include misc
COPYING Makefile README compile config.sub depcomp install-sh missing
ChangeLog Makefile.am aclocal.m4 config.guess configure docs m4 src
FAQ Makefile.in bin config.log configure.in frontends man upgrades
ivcshop# cd frontends/
Смотрим, что в директории:
ivcshop# ls
php
ivcshop# cp -R php/ /usr/local/www/apache22/data/php_zabbix/
Правим php.ini или инсталяция прервется.
ivcshop# ee /usr/local/etc/php.ini
Добавляем :
date.timezone = «Europe/Moscow»
max_execution_time = 300
После изменений
ivcshop# apachectl graceful
В браузере набираем
https://localhost/zabbix/setup.php
Начинаем инсталяцию:
1
Вкладка 1Introduction
кнопка Next
2
Вкладка Licence Agreement
галка I agree — Next
3
Вкладка Check of pree-requisites
Должно быть все OK — Next
4
Вкладка Configure DB connection
Type — MySQL
host — Localhost
port — 0
name = zab
password — 12345
кнопка Test connectiom OK
Next
5
Вкладка ZABBIX server details
Host — localhost
Port 10051
Next
6
Вкладка PRE-Installatoin Summary
Next
7
Вкладка Install
Нажать Save configuration file и загрузить сформированный кофигурационный скрипт.
Далее помещаем его на сервер Zabbix в указанный установщиком каталог (в данном случае /usr/local/share/zabbix/php/conf/) и жмем далее. Конфигурирование фронтенда закончено.
В браузере набираем
https://localhost/zabbix
Вводим логин
admin
пароль
zabbix
Инсталяция окончена.
Настраиваем SNMPD на сервере:
ivcshop# ee /etc/snmpd.config
меняем
# Change this!
read := «123456»
и
# open standard SNMP ports
begemotSnmpdPortStatus.0.0.0.0.161 = 1
begemotSnmpdPortStatus.10.10.10.202.161 = 1 (IP- adress сервера.порт)
ivcshop# ee /etc/rc.conf
Прописываем
snmpd_enable=»YES»
Проверяем работу с другим SNMP устройством.
ivcshop# snmpwalk -v 2c -c 12345 10.10.10.206
Должно показать :
SNMPv2-SMI::mib-2.47.1.3.3.1.1.1.18 = INTEGER: 18
SNMPv2-SMI::mib-2.47.1.3.3.1.1.1.19 = INTEGER: 19
SNMPv2-SMI::mib-2.47.1.3.3.1.1.1.20 = INTEGER: 20
SNMPv2-SMI::mib-2.47.1.3.3.1.1.1.21 = INTEGER: 21
SNMPv2-SMI::mib-2.47.1.3.3.1.1.1.22 = INTEGER: 22
SNMPv2-SMI::mib-2.47.1.3.3.1.1.1.23 = INTEGER: 23
SNMPv2-SMI::mib-2.47.1.3.3.1.1.1.24 = INTEGER: 24
SNMPv2-SMI::mib-2.47.1.3.3.1.1.1.25 = INTEGER: 25
SNMPv2-SMI::mib-2.47.1.3.3.1.1.1.26 = INTEGER: 26
SNMPv2-SMI::mib-2.47.1.3.3.1.1.1.27 = INTEGER: 27
SNMPv2-SMI::mib-2.47.1.4.1.0 = Timeticks: (1777) 0:00:17.77
Установка агента Zabbix на машины с ОС FreeBSD
ivcshop#cd /usr/ports/net-mgmt/zabbix-agent
ivcshop# make install
Далее правим конфигурационный файл /usr/local/etc/zabbix/zabbix_agentd.conf:
#начало
ServerPort=10051
Hostname=localhost
ListenPort=10050
ListenIP=127.0.0.1
StartAgents=5
DisableActive=1
DebugLevel=3
PidFile=/var/zabbix/zabbix_agentd.pid
# !Не забываем проверить права доступа на файл!
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=2
Timeout=3
#Конец
ivcshop# ee /etc/rc.conf
Добавляем строку:
zabbix_agentd_enable=»YES»
Запускаем агент:
ivcshop#/usr/local/etc/rc.d/zabbix_agentd start
Теперь панели управления можно добавить машину с только что установленным агентом и привязать к ней уже существующий шаблон Template_FreeBSD, хотя шаблон необходимо модернизировать — убрать не поддерживаемые Items.
Инсталяция агента под Windows тривиальна.
Замечание: при переходе на новую версию нет необходимости обновлять агентов на всех машинах, т.к. хорошо работают старые версии агентов.