Установка Zabbix agent на Debian-based (Ubuntu) и CentOS. Настройка монитроринга MySQL.

  Мониторинг

1. Добавляем репозитории.

В случае Debian-based ОС репозитории Заббикс агента должны быть изначально. Для CentOS добавим их командой:

rpm -Uvh https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

Другие версии ищите тут: https://repo.zabbix.com/zabbix/

2. Установка Zabbix agent

Для CentOS:

yum update
yum install zabbix-agent
firewall-cmd —permanent —new-service=zabbix
firewall-cmd —permanent —service=zabbix —add-port=10050/tcp
firewall-cmd —permanent —service=zabbix —set-short=»Zabbix Agent»
firewall-cmd —permanent —add-service=zabbix

Для Debian:

apt-get install zabbix-agent

3. Настройка Zabbix agent

Для того, чтобы Zabbix Server увидел данный агент достаточно в конфиге указать IP-адрес сервера:

vi /etc/zabbix/zabbix_agentd.conf

Находим строку в которой указывается параметр Server и исправляем ее:

Server=22.22.22.22

Заодно можно изменить и название клиента и ServerActive, если планируем настроить мониторинг MySQL:

Hostname=mynewserv
ServerActive=22.22.22.22

4. Настройка мониторинга MySQL

Идем в директорию /etc/zabbix/zabbix_agentd.conf.d и создаем файл (возможно уже есть) userparameter_mysql.conf , следующего содержания:

### Set of parameters for monitoring MySQL server (v3.23.42 and later)
### Change -u and add -p if required
UserParameter=mysql.version,mysql -V
UserParameter=mysql.status[*],echo «show global status where Variable_name=’$1′;» | HOME=/var/lib/zabbix mysql -N | awk ‘{print $$2}’
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
# ‘sum’ on data_length or index_length alone needed when we are getting this information for whole database instead of a single table
UserParameter=mysql.size[*],echo «select sum($(case «$3″ in both|»») echo «data_length+index_length»;; data|index) echo «$3_length»;; free) echo «data_free»;; esac)) from information_schema.tables$([[ «$1» = «all» || ! «$1″ ]] || echo » where table_schema=’$1′»)$([[ «$2» = «all» || ! «$2» ]] || echo «and table_name=’$2′»);» | HOME=/var/lib/zabbix mysql -N

Если файл уже есть, просто посмотрите что в HOME и идем туда. Создаем в папке /var/lib/zabbix, файл .my.cnf :

[client]
user = zabbix
password = password

Заходим в MySQL под рутом и создаем этого юзера:

GRANT USAGE ON *.* TO ‘zabbix’@’%’ IDENTIFIED BY ‘password’;
FLUSH PRIVILEGES;

Перезагружаем zabbix-agent и добавляем шаблон Template DB MySQL к данному хосту в zabbix.