Инсталляция и настройка Zabbix на FreeBSD 7.2

Решил написать статью по инсталяции и настройке 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

В браузере набираем

http://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/) и жмем далее. Конфигурирование фронтенда закончено.

В браузере набираем

http://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  тривиальна.

Замечание: при переходе на новую версию нет необходимости обновлять агентов на всех машинах, т.к. хорошо работают старые версии агентов.

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

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