Zabbix — система моніторингу стану серверів, мережевого обладнання та різних сервісів1. Безкоштовна, з відкритим кодом.
Я опишу процес встановлення на Ubuntu + MySQL.
Версії Zabbix
Хоч на даний момент (тимчасово) існують дві паралельні гілки: 1.8 та 2.0, саме 2.x є найновішою розробкою. 1.8.x не розвивається і підтримується, я так розумію, лише для усунення важливих помилок.
Для операційної системи добре підходить Ubuntu 12.04 LTS, бо це реліз з розширеним терміном підтримки. Але, на жаль, репозиторії 12.04 містять лише Zabbix 1.82.
Ubuntu 12.10 вже має в офіційних репозиторіях Zabbix 2.2. Тому краще зупинитись на цій версії.
Загальна інформація щодо встановлення
План такий:
- Встановлюємо ОС (Ubuntu 12.10)
- Встановлюємо та оптимізовуємо MySQL
- Встановлюємо Zabbix
Встановлення та оптимізація MySQL
sudo apt-get install mysql-server
Після встановлення потрібно зробити декілька твіків:
- Рознести InnoDB-таблиці бази в різні файли3
- Збільшити буфер пам’яті для InnoDB, щоб база менше лазила на диск
- Відключити бінарні логи4, щоб підвищити загальну продуктивність
Отже, у файлі /etc/mysql/my.cnf додати:
[mysqld]
# Таблиці — окремими файлами
innodb_file_per_table
innodb_flush_method=O_DIRECT
# Буфер, 70-80% від оперативки!!!
innodb_buffer_pool_size=1500M
# 25% від значення innodb_buffer_pool_size
innodb_log_file_size=400M
Там само, змінити параметр thread_stack5:
thread_stack = 256K
І відключити бінарні логи4 (через консоль MySQL):
mysql -u root -p
SET sql_log_bin=0;
Не забудьте перевантажити MySQL.
Встановлення Zabbix
sudo apt-get install zabbix-server-mysql
База даних для Zabbix:
mysql -p -e "create database zabbix character set utf8"
Створення користувача MySQl для підключення сервера Zabbix:
mysql -p -e "grant all on zabbix.* to 'zabbix'@'localhost' identified by 'SECRETPASSWORD'"
Заливка структури та базових налаштувань в базу:
zcat /usr/share/zabbix-server-mysql/{schema,images,data}.sql.gz \
| mysql -uzabbix -pSECRETPASSWORD zabbix
Параметри підключення потрібно вказати в конфігураційному файлі Zabbix /etc/zabbix/zabbix_server.conf.
В Ubuntu 12.10 сервіс Zabbix, за замовчуванням вимкнено. Дозволи його роботу треба у файлі /etc/default/zabbix-server:
START=yes
Веб-інтерфейс
sudo apt-get install zabbix-frontend-php
Усі залежності (веб сервер) підтягнуться автоматично. При потребі підлаштувати Apache (адреса, директорія тощо).
Зайти на IP-адресу Zabbix-інтерфейсу. Пройти майстер налаштувань (вказати дані бази даних).

Стандартне ім’я користувача/пароль: Admin / zabbix .
Доступний також український інтерфейс.
Різне
Для надсилання електронної пошти (сповіщень) потрібно встановити поштовий сервер:
sudo apt-get install postfix
Тип сервера: Internet site.
Для роботи з SNMP підтягнути MIB-файли (інакше логи писатимуть snmp_build: unknown failure):
sudo apt-get install snmp-mibs-downloader
Додаткові посилання:
- Офіційна документація Zabbix: http://www.zabbix.com/documentation/2.0/manual.
- /usr/share/doc/zabbix-server-mysql/
-
За допомогою Zabbix можна бачити як працює обладнання, що коїться з мережею, малювати графіки, "карти", переглядати історію, повідомляти про проблеми чи автоматично реагувати на них. Можливостей система має дуже багато, всіх не перелічити. І, що важливо, виглядає по-людськи. Приблизні аналоги: Cacti, Nagios та інші. Працює на Linux/Unix/BSD та Windows (лише клієнт), використовуючи для зберігання даних бази MySQL/Oracle/PostgreSQL/SQLite/IBM DB2. Веб-інтерфейс на PHP. ↩
-
В неофіційних репозиторіях (PPA) можна знайти Zabbix 2.x і для Ubuntu 12.04. ↩
-
У форматі InnoDB усі дані зберігаються в одному-єдиному файлі. По-перше, одного разу, через помилку жорсткого диску цей файл в нас зіпсувався і вся база стала недоступна (а відновлювати усю базу дуже довго). По-друге, InnoDB має погану звичку — постійно зростати і файл на диску не зменшується навіть після видалення даних з бази (допомагає лише повний dump-restore). ↩
-
Документація Zabbix також рекомендує відключати бін. логи. Детальніше про бінарні логи на оф. сторінці MySQL. ↩↩
-
Зміна параметру thread_stack це рекомендація з /usr/share/doc/zabbix-server-mysql/NEWS.Debian.gz. ↩
