Установка Glaber на Ubuntu 22.04
Для установки нужны привилегии root или подобные:
$ sudo -s
Добавление репозитория glaber. Устанавливаем дополнительные пакеты:
# apt-get update && apt-get install wget gnupg2 lsb-release apt-transport-https -y
Добавляем ключ репозитория:
# wget --quiet -O - https://glaber.io/repo/key/repo.gpg | apt-key add -
Добавляем репозиторий в файл списка репозиториев:
# echo "deb [arch=amd64] https://glaber.io/repo/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/glaber.list
Скачиваем и обновляем пакеты из репозитория:
# apt update
Устанавливаем Glaber сервер, веб-интерфейс, agent:
# apt install glaber-server-pgsql glaber-frontend-php php8.1-pgsql zabbix-nginx-conf zabbix-sql-scripts zabbix-agent
Предварительно установите на том же сервере или отдельном Postgresql или Mysql. Убедитесь что приложение базы данных запущено.
Наполнение базы данных
Используя команды ниже создайте базу данных и пользователя glaber:
# sudo -u postgres createuser --pwprompt glaber
# sudo -u postgres createdb -O glaber glaber
Импортируем схему базы данных и данные. Если у вас установлен пароль он будет запрошен при запуске следующей команды # zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
Предварительно Clickhouse должен быть установлен на отдельном сервере или текущем и настроен согласно нашим рекомендациям.
Импортируем схему базы данных для Clickhouse.
Скачаем схему базы данных из файла https://gitlab.com/mikler/glaber/-/blob/master/database/clickhouse/history.sql.
Далее используем этот файл для создания структуры в Clickhouse:
# clickhouse-client --password --multiquery < history.sql
Настройте учетные данные для подключения к базе данных в файле конфигурации /etc/zabbix/zabbix_server.conf:
BName=glaber
DBUser=glaber
DBPassword={пароль}
HistoryModule=clickhouse;{"url":"http://127.0.0.1:8123", "username":"default", "password":"password", "dbname":"glaber", "disable_reads":100, "timeout":10 }
Настройка PHP для запуска веб интерфейса Glaber. Измените файл /etc/zabbix/nginx.conf, раскомментируя и определяя директивы 'listen' и 'server_name':
# listen 8080;
# server_name example.com;
Запустите сервисы Glaber server, Nginx, php-fpm и agent. Также рекомендуется добавить сервисы в автозапуск системы:
# systemctl enable zabbix-server zabbix-agent nginx php8.1-fpm nginx --now
Проверьте что веб-интерфейс Glaber доступен
Рекомендации настройки Clickhouse
-
Задаём ограничение времени хранения логов.
-
Меняем или добавляем параметр в файл: cat /etc/clickhouse-server/config.d/query_log.xml
<yandex>
<query_log replace="1">
<database>system</database>
<table>query_log</table>
<flush_interval_milliseconds>7500</flush_interval_milliseconds>
<engine>
ENGINE = MergeTree
PARTITION BY event_date
ORDER BY (event_time)
TTL event_date + interval 90 day
SETTINGS ttl_only_drop_parts=1
</engine>
</query_log>
-
Отключаем thread log в файле /etc/clickhouse-server/config.d/disable_query_thread_log.xml.
-
Отключаем встроенные метрики Clickhouse если хотим мониторить его параметры внешним мониторингом.
-
Меняем или создаем файл /etc/clickhouse-server/config.d/disable_metric_logs.xml.
-
Отключаем part_log.
-
Меняем или создаем файл /etc/clickhouse-server/config.d/part_log.xml.
-
Включаем log queries (в новых версиях Clickhouse включен по-умолчанию).
-
Меняем или создаем файл /etc/clickhouse-server/users.d/log_queries.xml
-
Запись данных на диск сразу в отсортированном виде.
-
Меняем или создаем файл /etc/clickhouse-server/users.d/enable_on_disk_operations.xml.