Встановлення сервера Zabbix та оптимізація MySQL

  у розділі Технічні теми 

Zabbix — система моніторингу стану серверів, мережевого обладнання та різних сервісів1. Безкоштовна, з відкритим кодом.

zabbix

Я опишу процес встановлення на 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. Тому краще зупинитись на цій версії.

Загальна інформація щодо встановлення

План такий:

  1. Встановлюємо ОС (Ubuntu 12.10)
  2. Встановлюємо та оптимізовуємо MySQL
  3. Встановлюємо 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-інтерфейсу. Пройти майстер налаштувань (вказати дані бази даних).

Zabbix

Стандартне ім’я користувача/пароль: Admin / zabbix .

Доступний також український інтерфейс.

Різне

Для надсилання електронної пошти (сповіщень) потрібно встановити поштовий сервер:

sudo apt-get install postfix

Тип сервера: Internet site.

Для роботи з SNMP підтягнути MIB-файли (інакше логи писатимуть snmp_build: unknown failure):

sudo apt-get install snmp-mibs-downloader

Додаткові посилання:


  1. За допомогою Zabbix можна бачити як працює обладнання, що коїться з мережею, малювати графіки, "карти", переглядати історію, повідомляти про проблеми чи автоматично реагувати на них. Можливостей система має дуже багато, всіх не перелічити. І, що важливо, виглядає по-людськи. Приблизні аналоги: Cacti, Nagios та інші. Працює на Linux/Unix/BSD та Windows (лише клієнт), використовуючи для зберігання даних бази MySQL/Oracle/PostgreSQL/SQLite/IBM DB2. Веб-інтерфейс на PHP. 

  2. В неофіційних репозиторіях (PPA) можна знайти Zabbix 2.x і для Ubuntu 12.04. 

  3. У форматі InnoDB усі дані зберігаються в одному-єдиному файлі. По-перше, одного разу, через помилку жорсткого диску цей файл в нас зіпсувався і вся база стала недоступна (а відновлювати усю базу дуже довго). По-друге, InnoDB має погану звичку — постійно зростати і файл на диску не зменшується навіть після видалення даних з бази (допомагає лише повний dump-restore). 

  4. Документація Zabbix також рекомендує відключати бін. логи. Детальніше про бінарні логи на оф. сторінці MySQL

  5. Зміна параметру thread_stack це рекомендація з /usr/share/doc/zabbix-server-mysql/NEWS.Debian.gz. 


Коментарі