====== Установка 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:///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
===== Репозитории с DEB пакетами =====
* [[https://glaber.io/repo/astra/pool/main/g/glaber/]]
* [[https://glaber.io/repo/astra/pool/main/n/net-snmp/]]
===== Источники =====
* [[https://docs.glaber.io/ru/setup/astra/]]
* [[https://docs.glaber.io/ru/setup/snmpv3sha2/]]