Приветствую, около недели назад столкнулся с проблемой, нужно было развернуть glaber, официальная инструкция от разработчика устарела, и большая часть написанного не работает. Glaber разворачивал на виртуальной машине, на 11 дебиане. Я новичок, и скорее всего можно упростить и улучшить и мою инструкцию, с идеями жду в комментариях.
Я мучался с его установкой около недели, хочу помочь другим людям, в инетах очень мало информации по нему, и по сути официальный сайт это все что есть, по той причине и решил записать гайд.
Как и писал разработчик, glaber работает на 2х БД, а именно clickhouse(хранит историю) и postgreSQL(хранит настройки). Официальный гайд можно найти в интернете. Каждый свой шаг я не описывал, если не понятно зачем то или иное, то всю основную информацию можно прочитать в оф.гайде. Если будут вопросы, то по возможности буду отвечать.
Разработчика зовут Михаил Макуров
Кому удобнее, прикреплю текстовый файл.
Сразу обращу ваше внимание, те строки что не были помечены "Вставить вручную" уже есть внутри файла, и все что нужно - это подставить значения как у меня!
Сама инструкция:
1.
apt-get update
apt-get upgrade
apt-get dist-upgrade
apt-get autoremove
2.
dpkg‑reconfigure locales
(Отметить и поставить ru_RU.UTF-8 и ru_RU.ISO-8859-5\ Дефолтной в следующем окне поставить ru_RU.UTF-8 )
3.
timedatectl set-timezone Asia/Yekaterinburg (Ваш часовой пояс)
4.
nano /etc/systemd/timesyncd.conf
NTP=192.168.1.1 (Строку раскомментировать)
5.
nano /etc/apt/sources.list
deb http://ftp.ru.debian.org/debian sid main
6.
apt update
apt install fontconfig-config fonts-dejavu fonts-dejavu-core fonts-dejavu-extra fping libfontconfig1 libgd3 libjbig0 libjpeg62-turbo libjpeg62-turbo-dev libmysqlclient21 libnginx-mod-http-image-filter libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream libodbc1 libonig5 libopenipmi0 libpq5 libsensors-config libsensors5 libsnmp-base libsnmp40 libtiff5 libwebp6 libxpm4 mysql-common nginx nginx-common nginx-core php-bcmath php-common php-fpm php-gd php-ldap php-mbstring php-mysql php-xml php8.2-bcmath php8.2-cli php8.2-common php8.2-fpm php8.2-gd php8.2-ldap php8.2-mbstring php8.2-mysql php8.2-opcache php8.2-readline php8.2-xml php-bcmath php-json
8.
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/debian $(lsb_release -sc) main" > /etc/apt/sources.list.d/glaber.list
apt-get update
9. Установка PostgreSQL
wget https://repo.zabbix.com/zabbix/5.4/debian/pool/main/z/zabbix-release/zabbix-release_5.4- 1+debian11_all.deb
dpkg -i zabbix-release_5.4-1+debian11_all.
apt update
apt install sudo
apt install glaber-server-pgsql glaber-nginx-conf glaber-frontend-php php8.2-pgsql zabbix-agent zabbix-sql-scripts postgresql-13 postgresql-client-13
10.
cd /
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix
!!!! ПАРОЛЬ zabbix !!!! (Ставил свой пароль и заббикс ругалася, возможно я ошибся, так что можете попробовать задать свой)
11.
zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -u zabbix psql zabbix
12.
nano /etc/zabbix/zabbix_server.conf
DBName=zabbix DBUser=zabbix DBPassword=zabbix (пароль без кавычек)
13.
nano /etc/php/8.2/fpm/php.ini строку extensions php-gd раскомментировать(;)
memory_limit = 512M (Добавить вручную)
post_max_size = 64M
max_execution_time = 60
upload_max_filesize = 32M
date.timezone = Asia/Yekaterinburg
sudo systemctl restart php8.2-fpm
14.
nano /etc/nginx/nginx.conf
В блоке http {
client_max_body_size 32M; (Добавить вручную)
15.
nano /etc/zabbix/nginx.conf (Раскомментировать строку listen 80)
16.
unlink /etc/nginx/sites-enabled/default
sudo apt install --only-upgrade libpcre2-8-0
service nginx restart
service php8.2-fpm restart
sudo apt-get update
(ОБЯЗАТЕЛЬНО! Если не поставить пакет, то будет жаловаться на php-gd)
17. Установка Clickhouse
sudo apt-get install -y apt-transport-https ca-certificates dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754
echo "deb https://repo.yandex.ru/clickhouse/deb stable main" | sudo tee /etc/apt/sources.list.d/clickhouse.list
sudo apt-get update
sudo apt-get install -y clickhouse-server clickhouse-client
(В процессе установки запросит пароль, ставьте какой хотите, в инструкции я везде использовал пароль zabbix)
18.
touch history.sql
nano history.sql
sudo systemctl start clickhouse-server --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;
19.
nano /etc/zabbix/zabbix_server.conf
CacheSize=2G (Вставить вручную)
StartGlbWorkers=1(Вставить вручную)
StartGlbPingers=1
StartPreprocessorManagers=4
HistoryModule=clickhouse;{"url":"http://127.0.0.1:8123", "username":"default", "password":"пароль от clickhouse(в моем случае zabbix)":", "dbname":"glaber", "disable_reads":100, "timeout":10 }
WorkerScripts=/usr/lib/zabbix/workerscripts/
ValueCacheDumpLocation=/tmp/vcdump/
20.
mkdir /tmp/vcdump/
chmod 777 /tmp/vcdump/
chown -R zabbix:zabbix /tmp/vcdump/ (возможно не нужно)
mkdir /usr/sbin/glbmap
chmod +s /usr/sbin/glbmap
apt install snmp
apt install snmp-mibs-downloader (скорее всего будет отсутствовать) скачать напрямую с репозитория дебиан:
wget http://ftp.ru.debian.org/debian/pool/non-free/s/snmp-mibs-downloader/snmp-mibs-downloader_1.6_all.deb
apt --fix-broken install
dpkg -i snmp-mibs-downloader_1.6_all.deb
21.
rm /etc/zabbix/web/zabbix.conf.php
nano /etc/clickhouse-server/users.xml - <password>Сюда пароль от кликхауса</password>
22.
service clickhouse-server restart
service postgresql restar
service nginx restart
service php8.2-fpm restart
service zabbix-server restart
service zabbix-agent restart
23.
systemctl enable nginx php8.2-fpm clickhouse-server postgresql zabbix-server zabbix-agent
Дальше заходим в веб интерфейс и настраиваем:





Стандартный логин и пароль для входа: Admin/zabbix
Ну и всё! Глабер функционирует и полностью работает.