Содержание
Установка Glaber на AstraLinux 1.7.5
Тест проводился на:
ALSE 1.7.5.16 (Воронеж)
Glaber 3.4.74
Утилиты и библиотеки
apt install wget libopenipmi0 fping libssh-4 libodbc1 libpq5 libpcap0.8
SNMP
wget https://glaber.io/repo/astra/pool/main/n/net-snmp/s1_libsnmp-base_5.9%2Bastra173.deb wget https://glaber.io/repo/astra/pool/main/n/net-snmp/s2_libsnmp40_5.9%2Bastra173.deb wget https://glaber.io/repo/astra/pool/main/n/net-snmp/s3_snmp_5.9%2Bastra173.deb dpkg -i s1_libsnmp-base_5.9+astra173.deb dpkg -i s2_libsnmp40_5.9+astra173.deb dpkg -i s3_snmp_5.9+astra173.deb
Установка Glaber сервера
wget https://glaber.io/repo/astra/pool/main/g/glaber/glaber-server-pgsql_3.4.74-a95315eb%2Bastra1.7.3_amd64.deb dpkg -i glaber-server-pgsql_3.4.74-a95315eb+astra1.7.3_amd64.deb
Установка PostgreSQL
Установка
apt install postgresql
Запуск и автозагрузка
systemctl start postgresql systemctl enable postgresql
Редактируем настройки для инициализации базы
nano /etc/postgresql/11/main/pg_hba.conf
Добавляем в файл после:
# TYPE DATABASE USER ADDRESS METHOD local glaber zabbix trust
Сохраняем
[Ctrl] + [X]
[Y]
[Enter]
Рестарт БД
systemctl restart postgresql
Логинимся под пользователем postgres
su - postgres
Создаем пользователя с именем zabbix
Пароль для теста: 11111111
createuser --pwprompt zabbix
Создаем базу данных с именем glaber
createdb -O zabbix glaber
Инициализируем базу
zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | psql -U zabbix glaber
Выход из пользователя postgres
[Ctrl] + [D]
Настройка Glaber сервера
Редактируем
nano /etc/zabbix/zabbix_server.conf
Прописываем пользователя и пароль к БД
DBName=glaber DBUser=zabbix DBPassword=11111111
Устанавливаем в конфигурации флаг совместимости со старыми версиями БД
Так как с AstraLinux устанавливается версия PostgreSQL 11
AllowUnsupportedDBVersions=1
Запуск и автозагрузка Glaber сервер (zabbix-server)
systemctl start zabbix-server systemctl enable zabbix-server
Убеждаемся, что сервер запустился и работает ( наличие процессов
zabbix_server, отсутсвие ошибок в /var/log/zabbix/zabbix_server.log)
Установка и настройка фронтенда
Установка PHP
apt install php8.1 php8.1-fpm php8.1-pgsql php8.1-cgi php8.1-common php8.1-ldap php8.1-mbstring php8.1-snmp php8.1-gd php8.1-xml php8.1-bcmath
Настройка. В нужных блоках раскомментировать параметры если это необходимо и указать значения
nano /etc/php/8.1/fpm/php.ini
;;;;;;;;;;;;;;;;;;; ; Resource Limits ; ;;;;;;;;;;;;;;;;;;; max_execution_time = 60 max_input_time = 60 memory_limit = 512M ;;;;;;;;;;;;;;;;; ; Data Handling ; ;;;;;;;;;;;;;;;;; post_max_size = 64M ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; upload_max_filesize = 32M ;;;;;;;;;;;;;;;;;;; ; Module Settings ; ;;;;;;;;;;;;;;;;;;; date.timezone = Europe/Moscow
Перезапустить
systemctl restart php8.1-fpm
Скачать и установить Glaber фронтенд
wget https://glaber.io/repo/astra/pool/main/g/glaber/glaber-frontend-php_3.4.74-a95315eb%2Bastra1.7.3_all.deb dpkg -i glaber-frontend-php_3.4.74-a95315eb+astra1.7.3_all.deb
Установка и настройка Nginx
Установка
apt install nginx
Запуск и автозагрузка
systemctl start nginx systemctl enable nginx
Скачиваем и устанавливаем конфигурацию Glaber для Nginx
wget https://glaber.io/repo/astra/pool/main/g/glaber/glaber-nginx-conf_3.4.74-a95315eb%2Bastra1.7.3_all.deb dpkg -i glaber-nginx-conf_3.4.74-a95315eb+astra1.7.3_all.deb
Удаляем в nginx сайт по-умолчанию
rm /etc/nginx/sites-enabled/default
Копируем пример конфигурации фронтенда
cat /usr/share/zabbix/conf/zabbix.conf.php.example > /usr/share/zabbix/conf/zabbix.conf.php
Редактируем файл конфигурации
nano /usr/share/zabbix/conf/zabbix.conf.php
Тип базы: POSTGRESQL
Имя базы: glaber
Пароль: 11111111
$DB['TYPE'] = 'POSTGRESQL'; $DB['SERVER'] = 'localhost'; $DB['PORT'] = '0'; $DB['DATABASE'] = 'glaber'; $DB['USER'] = 'zabbix'; $DB['PASSWORD'] = '11111111';
Добавляем строку в блоке «http {»
nano /etc/nginx/nginx.conf
client_max_body_size 32M;
https://gitlab.com/mikler/glaber/-/blob/master/build/astra/orel/conf/nginx.conf
Редактируем настройку с другого билда, т.к. мы не используем докер
nano /etc/zabbix/nginx.conf
На всякий случай сделай бекап
server { listen 80; server_name _; root /usr/share/zabbix; index index.php; location = /favicon.ico { log_not_found off; } location / { try_files $uri $uri/ =404; } location /assets { access_log off; expires 10d; } location ~ /\.ht { deny all; } location ~ /(api\/|conf[^\.]|include|locale) { deny all; return 404; } location ~ [^/]\.php(/|$) { fastcgi_pass unix:/var/run/php/zabbix.sock; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; fastcgi_param DOCUMENT_ROOT /usr/share/zabbix; fastcgi_param SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name; fastcgi_param PATH_TRANSLATED /usr/share/zabbix$fastcgi_script_name; include fastcgi_params; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } }
Перезапускаем Nginx
systemctl restart nginx
Установка и настройка ClickHouse
Подключаем репозиторий
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 8919F6BD2B48D754 echo "deb https://packages.clickhouse.com/deb stable main" | tee /etc/apt/sources.list.d/clickhouse.list apt-get update
Установка
Пароль для теста: 22222222
apt install clickhouse-server clickhouse-client
Автозагрузка и старт
systemctl enable clickhouse-server systemctl start clickhouse-server
Проверяем
Пароль для теста: 22222222
clickhouse-client
Выход
[Q]
[Enter]
Создаем базу данных таблицы и таблицы, запросы можно найти в проекте в databases/clickhouse
https://gitlab.com/mikler/glaber/-/blob/master/database/clickhouse/history.sql
Пароль для теста: 22222222
clickhouse-client --password --multiquery < history.sql
В содержимое history.sql вставить это:
CREATE DATABASE glaber; CREATE TABLE glaber.history_dbl ( day Date, itemid UInt64, clock DateTime, hostname String, itemname String, ns UInt32, value Float64 ) ENGINE = MergeTree() PARTITION BY toYYYYMM(day) ORDER BY (itemid, clock) TTL day + INTERVAL 6 MONTH; -- CREATE TABLE glaber.history_uint ( day Date, itemid UInt64, clock DateTime, hostname String, itemname String, ns UInt32, value UInt64 ) ENGINE = MergeTree() PARTITION BY toYYYYMM(day) ORDER BY (itemid, clock) TTL day + INTERVAL 6 MONTH; CREATE TABLE glaber.history_str ( day Date, itemid UInt64, clock DateTime, hostname String, itemname String, ns UInt32, value String ) ENGINE = MergeTree() PARTITION BY toYYYYMM(day) ORDER BY (itemid, clock) TTL day + INTERVAL 6 MONTH; -- CREATE TABLE glaber.history_log ( day Date, itemid UInt64, clock DateTime, logeventid UInt64, source String, severity Int16, hostname String, itemname String, ns UInt32, value String ) ENGINE = MergeTree() PARTITION BY toYYYYMM(day) ORDER BY (itemid, clock) TTL day + INTERVAL 6 MONTH; -- CREATE TABLE glaber.trends_dbl ( day Date, itemid UInt64, clock DateTime, value_min Float64, value_max Float64, value_avg Float64, count UInt32, hostname String, itemname String ) ENGINE = MergeTree PARTITION BY toYYYYMM(day) ORDER BY (itemid, clock) TTL day + toIntervalMonth(24) SETTINGS index_granularity = 8192; -- CREATE TABLE glaber.trends_uint ( day Date, itemid UInt64, clock DateTime, value_min Int64, value_max Int64, value_avg Int64, count UInt32, hostname String, itemname String ) ENGINE = MergeTree PARTITION BY toYYYYMM(day) ORDER BY (itemid, clock) TTL day + toIntervalMonth(24) SETTINGS index_granularity = 8192;
Конфиги Clickhouse хранятся тут (на всякий случай)
/etc/clickhouse-server/config.xml
/etc/clickhouse-server/users.xml
Редактировать
nano /etc/zabbix/zabbix_server.conf
Пароль для теста: 22222222
HistoryModule=clickhouse;{"url":"http://127.0.0.1:8123", "username":"default", "password":"22222222", "dbname":"glaber", "disable_reads":100, "timeout":10 } CacheSize=256M
Перезапускаем Glaber сервер
systemctl restart zabbix-server
Glaber старт
Обязательно провести настройку, иначе в интерфейсе будут ошибки
http://<ip-server>/setup.php
Установка Zabbix-агента
Версию Zabbix можно посмотреть в панели Glaber, в самом низу web-интерфейса. (Glaber version 3.4.74 based on Zabbix 6.4.10)
Версию Linux выбираем по принципу Astra 1.7.5 собрана на основе Debian 10
Скачивание и установка
wget http://repo.zabbix.com/zabbix/6.4/debian/pool/main/z/zabbix/zabbix-agent_6.4.10-1%2Bdebian10_amd64.deb dpkg -i zabbix-agent_6.4.10-1+debian10_amd64.deb
Проблемы
Ошибка (Не видит fping):
At least one of '/usr/sbin/fping', '/usr/sbin/fping6' must exist.
Both are missing in the system.
Решение (Делаем символьне ссылки):
ln -s /usr/bin/fping /usr/sbin/fping ln -s /usr/bin/fping6 /usr/sbin/fping6