Что занимает место в базе данных zabbix

Введение

Напоминаю одну важную деталь. Если вы ставите Zabbix Server не с нуля, а обновляете старую версию, у вас не обновляются стандартные шаблоны. А они последнее время сильно изменились, плюс появились новые. Посмотреть их можно на github — https://github.com/zabbix/zabbix/tree/master/templates.

В данном случае я буду использовать шаблон из директории /db/mysql_agent/. Он написан для старого агента. Напомню, что начиная с версии 4.4 доступна новая версия агента, написанная на Go — zabbix_agent2. Для него появился новый функционал и новые шаблоны. Я пока буду использовать старого агента, так как с новым еще не разбирался.

Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:

  1. Установка CentOS 8.
  2. Настройка CentOS 8.
  3. Установка и настройка zabbix сервера.

То же самое на Debian 10, если предпочитаете его:

  1. Установка Debian 10.
  2. Базовая настройка Debian.
  3. Установка и настройка zabbix на debian.

Ставьте себе сервер и погнали настраивать.

Особенности веб-интерфейса

Система мониторинга Zabbix располагает удобным веб-интерфейсом, в котором сгруппированы элементы управления. Консоль предусматривает просмотр собранных данных, их настройку. Для безопасности входа и работы осуществляется автоматическое отсоединение через 30 минут пользовательского бездействия.

На главном экране всегда представлена информация о состоянии узлов сети и триггеров.

Пользователю доступны пять функциональных разделов, включая Monitoring («Мониторинг»), Inventory («Инвентарные данные»), Reports («Отчеты»), Configuration («Конфигурация») и Administration («Администрирование»).

В разделе «Конфигурации» можно найти группы хостов. По каждому элементу списка можно посмотреть более подробную информацию, например, последние события и графики данных.

Управлять шаблонами, доступными администратору, можно в соответствующем подразделе — Templates («Шаблоны»).

Самые большие таблицы в бд zabbix

Следующие таблицы занимают больше всего места в базе данных:

history history_str
history_uint history_text events
history_log
  • history хранит десятичные числа
  • history_uint — целые
  • history_str, history_text, history_log — текстовые данные
  • events — всевозможные события: проблемы, внутренние события, события авторегистрации и автообнаружения

Посмотреть в базе Mysql, какая из таблиц занимает больше всего места можно следующим образом:

SELECT table_name,
       table_rows,
       data_length,
       index_length,
       round(((data_length + index_length) / 1024 / 1024 / 1024),2) "Size in GB"
FROM information_schema.tables
WHERE table_schema = "zabbix"
ORDER BY round(((data_length + index_length) / 1024 / 1024 / 1024),2) DESC
LIMIT 8;

И то же самое в PostgreSQL:

SELECT *, pg_size_pretty(total_bytes) AS total , pg_size_pretty(index_bytes) AS index ,
       pg_size_pretty(toast_bytes) AS toast , pg_size_pretty(table_bytes) AS table
FROM (SELECT *, total_bytes-index_bytes-coalesce(toast_bytes, 0) AS table_bytes
   FROM (SELECT c.oid,
             nspname AS table_schema,
             relname AS table_name ,
             c.reltuples AS row_estimate ,
             pg_total_relation_size(c.oid) AS total_bytes ,
             pg_indexes_size(c.oid) AS index_bytes ,
             pg_total_relation_size(reltoastrelid) AS toast_bytes
      FROM pg_class c
      LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
      WHERE relkind = 'r' ) a) a;

Установка собственного сервера Veliam Box

Для начала расскажу пару слов об архитектуре решения, если вы с ним еще не знакомы. Veliam состоит из следующих компонентов:

  1. Veliam Center — ядро всей системы. В случае SaaS версии, оно расположено на серверах разработчиков. В версии BOX у вас есть возможность развернуть его у себя. Ядро взаимодействует с базой данных. Вся основная информация хранится в нем.
  2. Veliam Server — сервер мониторинга. Занимается непосредственно сбором данных с объектов мониторинга. Подобных серверов может быть развернуто несколько в зависимости от схемы наблюдаемой инфраструктуры.
  3. Veliam Client — приложение, которое устанавливается на компьютер администратора системы. С помощью этого приложения происходит управление всей системой. Client подключается напрямую к ядру.

Ечли вы знакомы с архитектурой мониторинга Zabbix, то сопоставить с Veliam их можно следующим образом:

  • Veliam Center — Zabbix Server
  • Veliam Server — Zabbix Proxy
  • Veliam Client — Zabbix web interface

Для того, чтобы развернуть Veliam Center у себя, необходимо его скачать. Это можно сделать в личном кабинете, предварительно зарегистрировавшись в нем.

Дистрибутив весит чуть более 200мб. Установить его можно на любую современную Windows систему. Для экономии можно взять Windows 10, не обязательно серверную версию. Если предполагается мониторинг небольшой инфраструктуры, все 3 компонента системы можно установить на один и тот же компьютер или виртуальную машину. Если же потребуется масштабирование, то каждый компонент может быть установлен отдельно.

Инсталлятор показывает требуемое доступное место с большим запасом. Так как все данные будут храниться локально в базе данных, желательно озаботиться наличием свободного места заранее. Непосредственно для установки достаточно будет примерно 1 Гб свободного места на все.

После установки вам нужно будет подключить Veliam Server к Center. Если все установлено локально на один компьютер, то в качестве адреса укажите 127.0.0.1. Логин и пароль по умолчанию — admin / admin.

Если все прошло успешно, то увидите информационное сообщение об этом.

Теперь можно запустить Veliam Client Box (ярлык должен быть на рабочем столе) и подключиться к системе для дальнейшей настройки. Для этого нужно добавить адрес Center в клиенте. Если подключаетесь локально, указываем 127.0.0.1. Но я бы рекомендовал установить клиент на свое рабочее устройство. Так будет просто удобнее. Если вы будете активно использовать систему, то клиент нужен будет постоянно. При подключении используем ту же самую учетную запись — admin / admin.

После того, как вы первый раз подключитесь к Veliam Center, увидите информацию о том, что он не активирован. Активировать пробную версию на 30 дней можно через личный кабинет. Для этого в клиенте перейдите в раздел Активация и нажмите Активировать офлайн.

Скопируйте строку запроса лицензии и переместитесь в личный кабинет https://lic.veliam.com в раздел Лицензии коробочной версии и сертификаты поддержки. Там выберите строку с неактивированной лицензией и далее в поле с запросом лицензии вставьте запрос, который вы скопировали в клиенте. В ответ получите строку с активацией.

Скопируйте ее и вставьте в клиенте в поле Строка активации. Все, ваш Veliam Box активирован и готов к настройке.

Подготовка mysql к мониторингу

Для примера настроим мониторинг Mysql на самом сервере мониторинга Zabbix. Так как это часто узкое место производительности системы, мониторинг базы zabbix лишним не будет. Первым делом добавим новые параметры в агенте. Для этого создаем конфигурационный файл /etc/zabbix/zabbix_agentd.d/template_db_mysql.conf следующего содержания.

UserParameter=mysql.ping, mysqladmin -h"$1" -P"$2" ping
UserParameter=mysql.get_status_variables, mysql -h"$1" -P"$2" -sNX -e "show global status"
UserParameter=mysql.version, mysqladmin -s -h"$1" -P"$2" version
UserParameter=mysql.db.discovery, mysql -h"$1" -P"$2" -sN -e "show databases"
UserParameter=mysql.dbsize, mysql -h"$1" -P"$2" -sN -e "SELECT COALESCE(SUM(DATA_LENGTH + INDEX_LENGTH),0) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"
UserParameter=mysql.replication.discovery, mysql -h"$1" -P"$2" -sNX -e "show slave status"
UserParameter=mysql.slave_status, mysql -h"$1" -P"$2" -sNX -e "show slave status"

После этого сразу перезапустим zabbix-agent.

# systemctl restart zabbix-agent

Дальше идем в консоль mysql и создаем пользователя, от которого будет работать мониторинг. Ему достаточно ограниченных прав на чтение.

# mysql -uroot -p
> CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY 'TTRy1bRRgLIB';
> GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
> quit

Теперь смотрим, где у нас домашняя директория пользователя zabbix.

# cat /etc/passwd | grep zabbix
zabbix:x:990:986:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin

У меня ее не было, так что создаем.

# mkdir /var/lib/zabbix

Кладем в эту директорию конфиг .my.cnf с реквизитами доступа к серверу mysql.

user='zbx_monitor'
password='TTRy1bRRgLIB'

Назначаем пользователя zabbix владельцем своей домашней директории и файла в ней. Файлу ограничиваем доступ.

# chown -R zabbix. /var/lib/zabbix
# chmod 400 /var/lib/zabbix/.my.cnf

Подготовка к мониторингу mysql сервера завершена. Идем теперь в web интерфейс системы мониторинга Zabbix.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: