Мониторинг сервера (хоста)¶
Мониториг хоста осуществляется стредствами Zabbix agent и шаблона "Linux by Zabbix agent". Полезными для наблюдения метрики:
- утилизация CPU
- утилизация дискового пространства
- утилизация диска и размер очереди диска
- утилизация ОЗУ
- динамика использования подкачки (swap)
Мониторинг Docker¶
Мониториг хоста осуществляется стредствами Zabbix agent и шаблона "Docker by Zabbix agent 2". Полезными для наблюдения метрики:
- Container {#NAME}: CPU percent usage
- Container {#NAME}: CPU kernelmode usage per second
- Container {#NAME}: CPU usermode usage per second
- Container {#NAME}: Throttling periods
- Container {#NAME}: Throttled time
- Container {#NAME}: Memory usage
- Container {#NAME}: Status
- Container {#NAME}: Restart count
- Container {#NAME}: Running
- Container {#NAME}: OOMKilled
Мониторинг ClickHouse¶
Мониториг хоста осуществляется стредствами Zabbix agent и шаблона "ClickHouse by HTTP". Шаблон может быть добавлен как к серверу на котором запущен сервис clickhouse-server так и к другому серверу, который имеет доступ по сети до сервиса clickhouse-server.
Для того чтобы Zabbix agent мог получить метрики с ClickHouse сервера необходимо экспортировать порт HTTP интерфейса ClickHouse. Для этого на сервере на котором запущен сервис clickhouse-server нужно отредактировать значение переменной AW_CLICKHOUSE_HTTP_PORT_EXPORTED в файле .env, например:
После чего выполнить перезапуск сервиса clickhouse-server:
Далее в настройках хоста, в интерфейсе Zabbix, устанавливаем значение макросов:
{$CLICKHOUSE.LLD.FILTER.DB.MATCHES} = system
{$CLICKHOUSE.PASSWORD} = <пароль пользователя для подключения к ClickHouse>
{$CLICKHOUSE.USER} = <имя пользователя для подключения к ClickHouse>
# если Zabbix agent запущен на другом сервере
{$CLICKHOUSE.HOST} = <ip-адрес сервера clickhouse>
# если порт HTTP интерфейса ClickHouse отличается от 8123
{$CLICKHOUSE.PORT} = <ноиер порта HTTP интерфнйса ClickHouse>
Имя пользователя и пароль можно найти в файле .env проверив значение переменных:
Мониторинг PostgreSQL¶
Мониториг хоста осуществляется стредствами Zabbix agent 2 и шаблона "PostgreSQL by Zabbix agent 2". Для того чтобы Zabbix agent мог осуществлять сбор метрик с PostgreSQL необходимо выполнить установку дополнительного плагина.
Установка PostgreSQL плагина для Zabbix agent для дистрибутивов Linux основанных на Debian¶
- Добавляем репозиторий Zabbix, соглано документации
- Выполняем
sudo apt update
чтобы обновить список доступных пакетов - Выполняем установку плагина командой
sudo apt install zabbix-agent2-plugin-postgresql
- Проверяем что в конфигурационном файле Zabbix agent есть строчка вида:
Include=/etc/zabbix/zabbix_agent2.d/plugins.d/*.conf
- Проверяем что файл
/etc/zabbix/zabbix_agent2.d/plugins.d/postgresql.conf
содержит строчку вида/etc/zabbix/zabbix_agent2.d/plugins.d/postgresql.conf
- Перезапускаем Zabbix agent командой:
sudo systemctl status zabbix-agent2
Установка PostgreSQL плагина для Zabbix agent для RedOS¶
В репозиториях Red OS необходимый пакет уже присутствует, для установки достаточно выполнить команду:
Установка PostgreSQL плагина для Zabbix agent для ALT Linux¶
В репозиториях ALT Linux необходимый пакет уже присутствует, для установки достаточно выполнить команду:
Установка PostgreSQL плагина для Zabbix agent для дистрибутивов Linux основанных на RedHat¶
- Добавляем репозиторий Zabbix, соглано документации
- Выполняем установку плагина командой
sudo dnf install zabbix-agent2-plugin-postgresql
- Перезапускаем Zabbix agent командой:
sudo systemctl restart zabbix-agent2
Настройка мониторинга PostgreSQL¶
Для того чтобы Zabbix agent мог получить метрики с PostgreSQL сервера необходимо экспортировать порт TCP для подключения к СУБД. Для этого на сервере на котором запущен сервис db нужно отредактировать значение переменной DB_PORT_EXPORTED в файле .env, например:
После чего выполнить перезапуск сервиса db:
Далее в настройках хоста, в интерфейсе Zabbix, устанавливаем значение макросов:
{$PG.CONNSTRING.AGENT2} = tcp://localhost:5432
{$PG.DATABASE} = workspace
{$PG.LLD.FILTER.DBNAME} = workspace
{$PG.PASSWORD} = <пароль пользователя для подключения к БД>
{$PG.USER} = <имя пользователя для подключения к БД>
Имя пользователя и пароль можно найти в файле .env проверив значение переменных:
Для хоста в интерфейсе Zabbix добавляем шаблон PostgreSQL by Zabbix agent 2