Просмотрено
Месяц: Январь 2013

Лучшая бесплатная система мониторинга сети. Установка Zabbix на CenOS.

Лучшая бесплатная система мониторинга сети. Установка Zabbix на CenOS.

Лучшая бесплатная программа мониторинга сети.

ZABBIX — свободная система мониторинга и отслеживания статусов разнообразных сервисов компьютерной сети, серверов и сетевого оборудования.
Чем Zabbix понравился лично лично мне?
1. Бесплатная.
2. Гибкие настройки.
3. Выходят новые версии.
4. На официальном сайте есть русскоязычная документация.
Графически компоненты выглядят следующим образом:

Zabbix Server и Zabbix Database обычно устанавливаются на одной машине. Лишь при большом количестве наблюдаемых систем (несколько тысяч) имеет смысл разносить их по разным машинам.
Я установил Zabbix на CentOS.

Установка CentOS 6.3

Установка ZABBIX 2.0.4

Установка CentOS 6.3. (актуальная версия — 6.4)

Установка CentOS 6.3. (актуальная версия — 6.4)

CentOS является дистрибутивом GNU/Linux, основанном на свободных исходных текстах коммерческого дистрибутива Red Hat Enterprise Linux компании Red Hat, и совместимый с ним. Срок поддержки каждой версии CentOS составляет 10 лет (с помощью выпуска обновлений безопасности). Новая версия CentOS выходит раз в 2 года и каждая версия регулярно обновляется (каждые 6 месяцев) для поддержки новых аппаратных средств. В результате это приводит к безопасной, легко обслуживаемой, надежной, предсказуемой и масштабируемой Linux среде.

Будем ставить СentOS версии 6.3, x64.
Дистрибютив CentOS-6.3-x86_64-bin-DVD1
Скачать можно с зеркал, указанных на официальном сайте, а можно с http://linux70.ru/centos-download

ПРИМЕЧАНИЕ: 9 марта вышла новая версия CentOS — 6.4. Ссылка для скачивания

Т.к. я ставлю сервер, то и выбираю соответственно минимал сервер.
Настраиваю сеть:

Можно настроить сеть через правку файлов, а можно с помощью утилиты. 

Запуск производится командой:

# setup

Утилита графическая, интуитивно понятная.

Через правку файлов.
Для этого просто необходимо знать список команд редактора vi:
vi имя_файла    запуск редактора создание  файла с «именем_файла»
Esc переход из режима вставки в режим команд
:wq выход из редактора с сохранением результатов
:q! выход из редактора без сохранения.
:w имя    записать изменнения в новое имя.

Настройки сетевых карт хранятся в файлах:

/etc/sysconfig/network-scripts/ifcfg-eth*

* — за место звездочки ставится номер адаптера

DEVICEeth0″

HWADDR=»08:00:27:79:17:85″
ONBOOTyes» — включать ли интерфейс при загрузке сервера
GATEWAY=10.1.1.1 — шлюз через который мы попадаем в другие сети
IPADDR=10.1.1.100 — здесь мы задаем ip-адрес нашего интерфейса
NETMASK=255.255.255.0 — сетевая маска
BROADCAST=10.1.1.255 — адрес широковещательной рассылки
DNS1=10.1.1.2 – имя DNS сервера

# echo '1' > /proc/sys/net/ipv4/ip_forward 

После конфигурирования интерфейсов перезагрузите сетевую службу:

# service network restart
Если записать «GATEWAY=10.1.1.1» в конце файла, шлюз работать не будет.

Для проверки, что инет есть: ставим Midnight Commander

# yum install mc –y

Если настройки выдаются DHCP сервером, то:

DEVICE=»eth0″
BOOTPROTO=”dhcp”
HWADDR=»08:00:27:79:17:85″
ONBOOTyes«
Бывают случаи, когда сетевые интерфейсы не видны.
В этом случае команда

ifconfig

показывает только один сетевой интерфейс — lo.

Включаем нужный нам интерфейс eth0.

В файле 
/etc/udev/rules.d/70-persistent-net.rules

хранятся настройки карт, файл генерируется при старте системы менеджером устройств.

Записываем mac адреса и обозначения сетевых карт.
Mac адрес берется с этого параметра ATTR{address}==»08:00:27:40:03:63″ 
Обозначение адаптера берется с этого параметра Name=»eth0″ 
После того как мы узнали Mac адрес и обозначение, создаем файлы вручную и конфигурируем их как описано выше.

/proc/sys/net/ipv4/ip_forward – включение маршрутизации для своих интерфейсов, если у вас два или более интерфейсов её нужно включить. Включение осуществляется передачей “1” в этот файл.
После установки ОС переходим к установке непосредственно системы мониторинга ZABBIX.
Установка ZABBIX 2.0.4 на СentOS 6.3

Установка ZABBIX 2.0.4 на СentOS 6.3

Для начала найдем репозитарий с актуальной версией zabbix. Актуальная версия на момент написания статьи — zabbix 2.0.4. Заходим на http://repo.zabbixzone.com/centos/6Server/x86_64/ и видим:

2013-Jan-05 00:48:25
17.6K
application/x-redhat-package-manager

То, что нам надо.

Подключаем репозитарий (и ключ)

# rpm —import http://repo.zabbixzone.com/centos/RPM-GPG-KEY-zabbixzone
# rpm -Uvh http://repo.zabbixzone.com/centos/zabbixzone-release-0.0-1.noarch.rpm

Ставим пакеты

yum install mysql-server zabbix-server-mysql zabbix-web-mysql zabbix-agent



Устанавливаем, включаем в автозагрузку и запускаем сервис.

[root@zabbix ~]# yum install mysql-server

[root@zabbix ~]# chkconfig mysqld on
[root@zabbix ~]# service mysqld start
Starting mysqld:  

Запускаем скрипт-помощник по настройке mysql, изначально предназначенный для улучшения защищенности.

[root@zabbix ~]# mysql_secure_installation

Enter current password for root (enter for none):    # Пароль по умолчанию пустой,

                                                                        # поэтому смело жмем Enter
Set root password? [Y/n] Y                                 # Устанавливаем новый пароль root
New password:
Re-enter new password: 
Remove anonymous users? [Y/n] Y                     # Удаляем анонимных пользователей
Disallow root login remotely? [Y/n] Y                    # Запрещаем удаленный вход для root
Remove test database and access to it? [Y/n] Y   # Удаляем тестовую базу данных
Reload privilege tables now? [Y/n] Y                    # Перезапускаем привилегии

Создаем базу данных для Zabbix-сервера с пользователем zabbix и пролем zabbix_passwd.


[root@zabbix ~]# mysql -uroot -p
Enter password:
mysql> create database zabbix;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by «ваш пароль»;
mysql> flush privileges;
mysql> quit;

Переходим в каталог /usr/share/doc/zabbix-server-mysql-2.0.4/create и импортируем данные.

Имя каталога различается в зависимости от версии.
После ввода команд необходимо ввести пароль, установленный на базу zabbix.

[root@zabbix ~]# cd /usr/share/doc/zabbix-server-mysql-2.0.4/create 
[root@zabbix mysql]# mysql –u zabbix –p zabbix < schema.sql 
[root@zabbix mysql]# mysql –u zabbix –p zabbix < images.sql 
[root@zabbix mysql]# mysql –u zabbix –p zabbix_passwd zabbix < data.sql

На этом настройка Mysql-сервера завершена.

Открываем для редактирования /etc/zabbix/zabbix_server.conf (конфигурационный файл Zabbix-сервера) и указываем пароль
DBPassword=zabbix_passwd    # Обычно этот параметр закомментирован
Включаем в автозагрузку и запускаем Zabbix-сервер
[root@zabbix mysql]# chkconfig zabbix-server on

[root@zabbix mysql]# service zabbix-server start

Открываем для редактирования файл /etc/php.ini и правим настройки PHP.

post_max_size = 16M
max_execution_time = 300
max_input_time = 300
date.timezone = Europe/Moscow
Включаем в автозагрузку и запускаем Web-сервер Apache.
[root@zabbix mysql]# chkconfig httpd on

[root@zabbix mysql]# service httpd start

Настройка разрешений.
Для взаимодействия внешних Zabbix-агентов с сервером правим Iptables:

[root@zabbix ~]# iptables -A INPUT -p tcp -m state —state NEW -m tcp —dport 10051 -j ACCEPT
[root@zabbix ~]# service iptables save

Для работы самого WEB-сервиса даем разрешение в фаерволе на http

#setup

В графической утилите ставим галочку напротив WWW (HTTP)

Настраиваем агента. Открываем файл настроек /etc/zabbix/zabbix_agentd.conf


Server=zabbix.mydomain.local   # IP-адрес или DNS-имя Zabbix-сервера
Hostname=Zabbix server          # Имя хоста, которое должно совпадать с именем в 
                                                # Configuration -> Hosts в Веб-интерфейсе
Добавляем в автозапуск и запускаем:
[root@zabbix mysql]# chkconfig zabbix-agent on

[root@zabbix mysql]# service zabbix-agent start

В веб-браузере переходим по адресу http://IP-адрес/zabbix.

По умолчанию для входа в Веб-интерфейс Zabbix необходимо использовать Login name (имя пользователя) admin и Password (пароль) zabbix.
Переходим в profile (в правом верхнем углу), выбираем русский язык.
Также можно, и даже нужно, установить новый пароль.
Видим, что наш сервер с zabbix 2.0.4 мониторится.

Ошибка «zabbix server is not running»

Ошибка «zabbix server is not running»

Ошибка Zabbix сервер запущен: нет на CentOS вовсе не говорит о том, что Zabbix не работает.
Однако сама надпись действует на нервы. Приведем внешний вид Zabbix в порядок.
Для того, чтобы быть уверенным что веб-интерфейс знает запущен или нет, на сервере должен быть запущен по крайней мере один процесс траппера (параметр StartTrappers в zabbix_server.conf файле>0).
 Также надо выключить selinux
# setenforce 0

Проверили, заработало — причина найдена.

Но после перезагрузки ошибка возникает вновь.
Отключаем selinux насовсем
# vi /etc/sysconfig/selinux

меняем значение

SELINUX=disabled

# reboot
Кодировка в Zabbix.

Кодировка в Zabbix.

При установке Zabbix на CentOS база MySQL ставится в неправильной кодировке, поэтому кириллица отображается неправильно.

Мы установим PHPMyAdmin и с его помощью поменяем кодировку на utf8_unicode_ci

PHPMyAdmin — веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных.


Установка PHPMyAdmin на CentOS 6.3

Установим репозитарий RPMForge.

Импортирование ключа.

# rpm —import http://apt.sw.be/RPM-GPG-KEY.dag.txt
Подключение репозитария

Установка PHPMyAdmin.

# yum install phpmyadmin
 Теперь надо провести несколько настроек. В файле /etc/httpd/conf.d/phpmyadmin.conf 
прописать с какого ip адреса разрешить подключение (по умолчанию прописан 127.0.0.1). Прописываем через пробел необходимый адрес.
Теперь набрав в браузере http://<ip адрес сервера или доменное имя>/phpmyadmin/ — получим форму на ввод логина и пароля. 

Также в файле phpmyadmin.conf перечислено несколько алиасов, поэтому наравне с phpmyadmin можно использовать — phpMyAdmin, mysqladmin или придумать и отредактировать свой алиас.

Заходим в phpmyadmin и видим, что наша база в неправильной, т.е. в шведской кодировке.

Изменение кодировки MySQL на utf8_unicode_ci


Перейдем во вкладку SQL, вставляем текст скрипта:

SELECT CONCAT(‘ALTER TABLE `’, t.`TABLE_SCHEMA`, ‘`.`’, t.`TABLE_NAME`, ‘` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;’) as sqlcode
FROM `information_schema`.`TABLES` t
WHERE 1
AND t.`TABLE_SCHEMA` = ‘zabbix’
ORDER BY 1

Вместо zabbix вставляем свое имя базы, если она называется не так.
Выполняем.
Выполнив этот запрос, мы получим еще один SQL, модифицирующий кодировку таблиц.
Делаем экспорт, выбираем приемлемый для вас формат, например WORD.
В открывшемся файле копируем строки, ниже «Дамп данных таблицы TABLES»

Дамп данных таблицы TABLES


ALTER TABLE `zabbix`.`acknowledges` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE `zabbix`.`actions` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE `zabbix`.`alerts` CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
……………………………
И выполняем скопированный код.
Все, кодировка поменялась на utf8_unicode_ci.



Переходим в WEB-интерфейс ZABBIX, видим русский текст и радуемся.