Инструменты пользователя

Инструменты сайта


flip:glaber:installing_glaber_on_astra_linux_1.7.5

Установка 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

Репозитории с DEB пакетами

Источники

flip/glaber/installing_glaber_on_astra_linux_1.7.5.txt · Последнее изменение: 2024/10/25 09:53 — flip

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki