# dnf -y update # dnf -y install epel-release # dnf -y install net-tools vim mc wget unzip bash-completion glibc-langpack-ru
Отключаем или настраиваем SELinux в /etc/selinux/config, заодно можно сразу же настроить firewall-cmd на открытие нужных портов (http, https, 10051)
Установим TimescaleDB и PostgreSQL12
# dnf -y install https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm # tee /etc/yum.repos.d/timescale_timescaledb.repo <<EOL [timescale_timescaledb] name=timescale_timescaledb baseurl=https://packagecloud.io/timescale/timescaledb/el/7/\$basearch repo_gpgcheck=1 gpgcheck=0 enabled=1 gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt metadata_expire=300 EOL # dnf -y update # dnf module disable postgresql # dnf -y install postgresql12-server postgresql12 timescaledb-postgresql-12 # /usr/pgsql-12/bin/postgresql-12-setup initdb
В автоматизированном режиме тюним PostgreSQL12. И в дальнейшем если будем менять ресурсы сервера, то нужно будет запускать заново tune, ну или в ручную редактировать конфиг.
# timescaledb-tune --pg-config=/usr/pgsql-12/bin/pg_config # systemctl start postgresql-12 # systemctl enable postgresql-12
Создаем пользователя в PSQL и базу zabbix
# sudo -u postgres createuser --pwprompt zabbix # sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix # zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -u zabbix psql zabbix # echo "CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;" | sudo -u postgres psql zabbix # wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.0.tar.gz # tar -zxvf zabbix-5.0.0.tar.gz # cat /zabbix-5.0.0/database/postgresql/timescaledb.sql | sudo -u zabbix psql zabbix
Добавим разрешение на подключение zabbix к psql, для этого добавим в файл /var/lib/pgsql/12/data/pg_hba.conf строку:
host zabbix zabbix 127.0.0.1/32 md5
# systemctl restart postgresql-12
Настроим nginx и php-fpm
# dnf -y install nginx
В /etc/nginx/conf.d/ создадим файл для нашего сервера zabbix.conf. У меня примерно такой конфиг:
server { listen 80; root /usr/share/zabbix; access_log /var/log/nginx/zabbix.com.ru.log; server_name zabbix.com.ru; location / { index index.php index.html index.htm; } location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/zabbix.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } server { listen 443 default ssl; # SSL Certificate, Key and Settings ssl_certificate /etc/nginx/ssl/cert.pem ; ssl_certificate_key /etc/nginx/ssl/key.pem; ssl_session_cache shared:SSL:10m; root /usr/share/zabbix; access_log /var/log/nginx/zabbix.com.ru.log; server_name s-zabbix.com.ru; location / { index index.php index.html index.htm; } location ~ \.php$ { fastcgi_pass unix:/run/php-fpm/zabbix.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Настроен http и https (не забудьте положить сертификаты или сгенерировать), а так же настроен php-fpm через сокет (/etc/php-fpm.d/zabbix.conf)
В /etc/php-fpm.d/zabbix.conf раскомментим последнюю строку и впишем свой регион.
php_value[date.timezone] = Europe/Moscow
Установим Zabbix 5.0
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm # dnf -y install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-agent
В конфиг zabbix пропишем параметры для подключения к базе. В /etc/zabbix/zabbix_server.conf:
DBHost=127.0.0.1
DBName=zabbix
DBUser=zabbix
DBPassword=пароль
На этом всё, можно запускать и донастраивать через web интерфейс
# systemctl start nginx php-fpm zabbix-server zabbix-agent # systemctl enable nginx php-fpm zabbix-server zabbix-agent
Если возникли проблемы с базой, подключитесь под учеткой zabbix и проверьте, что всё ок:
# psql -U zabbix -d zabbix -h 127.0.0.1 zabbix=> \l
Так же не забывайте про firewall и логи:
# firewall-cmd --list-all # netstat -ntulp # cat /var/log/zabbix/zabbix_server.log
Ваша статья не подразумевает удаленное подключение к базе
находим postgresql.conf
Находим и редактируем следующее:
listen_addresses = ‘*’
И это логично, база и zabbix на одном сервере.
Открывать базу на удаленное подключение чревато утечками информации, поэтому если и открывать, то нужно и парольно нормально защитить и фаерволом ограничить хосты подключения.
Пароль на вход в zabbix
Admin
zabbix
Спасибо за пост! Тоже перехожу на Timescaledb, надоела такак же проблема!
я правильно пнимаю что при его использовании housekeeper можно не влючать?
И если его включить то он будет использовать надскройки Timescaledb для очистки а не свои скрипты=)
housekeeper всё равно работает, но по другому механизму, чистка происходит не записями, а блоками.
В настройках Zabbix можно задать период очистки.
доброго времени.
почему пошли ошибки в доступе ?
[root@zabbix ~]# sudo -u postgres createuser —pwprompt zabbix
could not change directory to «/root»: Отказано в доступе
Enter password for new role:
Enter it again:
[root@zabbix ~]# sudo -u postgres createuser —pwprompt zabbix
could not change directory to «/root»: Отказано в доступе
Enter password for new role:
Enter it again:
createuser: error: creation of new role failed: ERROR: role «zabbix» already exists
[root@zabbix ~]# psql
psql: ошибка: FATAL: role «root» does not exist
[root@zabbix ~]# su postgres
bash-4.4$ sudo -u postgres createuser —pwprompt zabbix
postgres is not in the sudoers file. This incident will be reported.
bash-4.4$ exit
exit
[root@zabbix ~]# sudo -u postgres createuser —pwprompt zabbix
could not change directory to «/root»: Отказано в доступе
Enter password for new role:
Enter it again:
createuser: error: creation of new role failed: ERROR: role «zabbix» already exists
[root@zabbix ~]# sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
could not change directory to «/root»: Отказано в доступе
[root@zabbix ~]# sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
could not change directory to «/root»: Отказано в доступе
createdb: error: database creation failed: ERROR: database «zabbix» already exists
[root@zabbix ~]# -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
-bash: -u: команда не найдена
[root@zabbix ~]# sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
could not change directory to «/root»: Отказано в доступе
createdb: error: database creation failed: ERROR: database «zabbix» already exists
[root@zabbix ~]# zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -u zabbix psql zabbix
gzip: /usr/share/doc/zabbix-server-pgsql/create.sql.gz: No such file or directory
sudo: неизвестный пользователь: zabbix
sudo: не удаётся инициализировать модуль политики
[root@zabbix ~]# su postgres
bash-4.4$ psql
could not change directory to «/root»: Отказано в доступе
psql (12.5)
Type «help» for help.
postgres=# showdatabases;
ERROR: syntax error at or near «showdatabases»
СТРОКА 1: showdatabases;
^
postgres=# show databases;
ERROR: unrecognized configuration parameter «databases»
postgres=# show database;
ERROR: unrecognized configuration parameter «database»
postgres=# \q
bash-4.4$ exit
exit
[root@zabbix ~]# sudo -i -u postgres psql
psql (12.5)
Введите «help», чтобы получить справку.
postgres=# dt
postgres-# \dt
Отношения не найдены.
postgres-# \l
Список баз данных
Имя | Владелец | Кодировка | LC_COLLATE | LC_CTYPE | Права доступа
————+———-+————+————-+————-+————————
postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +
| | | | | postgres=CTc/postgres
zabbix | zabbix | UTF8 | en_US.UTF-8 | en_US.UTF-8 |
(4 строки)
Насколько я вижу базу и пользователя вы все таки создали.
Можно использовать такую конструкцию sudo -i -u postgres psql и все будет ок.
Ошибки с доступом к каталогу могут быть связаны с тем, что команда из этого каталога и запускалась. Как вариант можно было сделать cd /var и запустить еще раз команду.
Доброго времени суток. Заббикс сервер стартанул, но при установке через веб интерфейс пишет:
Cannot connect to the database.
Error connecting to database.
Пользователь для БД создан в конфиге заббикс сервера прописан. Postgresql слушает 80 порт.
В чем может быть причина?
Собственно нужно проверять настройки доступа к БД.
Возможно обратить внимание на настройки доступа тут /var/lib/pgsql/12/data/pg_hba.conf
Если база postgres почему подключение к mysql
tail -f /var/log/zabbix/zabbix_server.log
5327:20210227:185506.710 [Z3001] connection to database ‘zabbix’ failed: [2002] Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
А так я ото всюду к базе цепляюсь
Эта статья не инструкция для новичка
система установленная с нуля идем по пунктам и упираемся в
zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -u zabbix psql zabbix
gzip: /usr/share/doc/zabbix-server-pgsql/create.sql.gz: No such file or directory
sudo: неизвестный пользователь: zabbix
sudo: не удаётся инициализировать модуль политики
Там нет этого каталога
Спасибо за труды )))
psql -U zabbix -d zabbix -h 127.0.0.1
psql: ошибка: ВАЖНО: пользователь «zabbix» не прошёл проверку подлинности (Ident)
[root@host80 postgresql]#
Подскажите пож. пути решения. Команда:
echo «CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;» | sudo -u postgres psql zabbix
выдает ошибку:
ОШИБКА: для расширения «timescaledb» не определён путь установки или обновления для версии «2.1.0»
Скорее всего проблема с версиями. ОС Centos 8?
Да 8 все по вашей инструкции. чистая установка.
Давайте сравним версии:
# rpm -qa | grep -E ‘postgres|timescale’
timescaledb-2-loader-postgresql-12-2.1.0-0.el7.x86_64
timescaledb-postgresql-12-1.7.5-0.el7.x86_64
postgresql12-libs-12.6-1PGDG.rhel8.x86_64
postgresql12-server-12.6-1PGDG.rhel8.x86_64
postgresql12-12.6-1PGDG.rhel8.x86_64
———————
timescaledb-2-loader-postgresql-12-2.1.0-0.el7.x86_64
timescaledb-postgresql-12-1.7.5-0.el7.x86_64
timescaledb-tools-0.11.0-0.el7.x86_64
Да, у вас версии новее, скорее всего там что-то не совместимо. Вот рабочие версии пакетов:
timescaledb-tools-0.8.1-0.el7.x86_64
postgresql12-libs-12.3-1PGDG.rhel8.x86_64
postgresql12-server-12.3-1PGDG.rhel8.x86_64
timescaledb-postgresql-12-1.7.1-0.el7.x86_64
postgresql12-12.3-1PGDG.rhel8.x86_64
_____
Конкретные версии можно устанавливать так:
dnf —showduplicates list postgresql12-server — покажет все версии
А дальше конкретную версию ставишь
Спасибо!!! Попробуем.
Ага интересно . C нуля cent8 установил накатил
rpm -Uvh https://repo.zabbix.com/zabbix/5.3/rhel/8/x86_64/zabbix-release-5.3-1.el8.noarch.rpm
dnf clean all
dnf install zabbix-server-pgsql zabbix-web-pgsql zabbix-nginx-conf zabbix-agent
rpm -Uvh https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
dnf clean all
dnf -qy module disable postgresql
dnf -y install postgresql12 postgresql12-server
/usr/pgsql-12/bin/postgresql-12-setup initdb
systemctl enable —now postgresql-12
sudo -u postgres createuser —pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix
zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix ————————И тут ошибка путь есть а файла create.sql.gz нету !
я чисто эксперементирую поэтому меня не напрягает баги собирать )))
Не обломайтесь выложите чистое руководство с нуля cent8 по полочкам начиная с ngnx ,php
Я рад, что у вас есть много времени по нескольку раз в месяц пробовать устанавливать Zabbix. Если вы можете поделитесь с пользователями своей актуально инструкцией.
Я не пишу официальную документацию по установке каких-либо продуктов, все что написано тут это чисто мой опыт и если он кому-то еще пригодиться, то хорошо, нет, так нет.
Вот инструкция вдруг кому понадобится https://youtu.be/c2StvD19Jw8
Centos 8 + Zabbix 5.0 + Nginx + PostgreSQL12
Буду полезен ВСЕМ кто сталкнулся с такой проблемой !!!!!!!!!!!!!!!!
zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -u zabbix psql zabbix
gzip: /usr/share/doc/zabbix-server-pgsql/create.sql.gz: No such file or directory
Переодически возвращался к проблеме и если вдруг кому понадобиться решение есть !
на cenos 8 не отрабатывала команда rpm -Uvh https://repo.zabbix.com/zabbix/5.2/rhel/8/x86_64/zabbix-release-5.2-1.el8.noarch.rpm
вот правильный вывод ее
# rpm -Uvh https://repo.zabbix.com/zabbix/5.2/rhel/8/x86_64/zabbix-release-5.2-1.el8.noarch.rpm
Retrieving https://repo.zabbix.com/zabbix/5.2/rhel/8/x86_64/zabbix-release-5.2-1.el8.noarch.rpm
warning: /var/tmp/rpm-tmp.J66Yfw: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY
Verifying… ################################# [100%]
Preparing… ################################# [100%]
Updating / installing…
1:zabbix-release-5.2-1.el8 ################################# [100%]
У меня почему то при выполнении не было этого !!!
1:zabbix-release-5.2-1.el8 ################################# [100%]
Я просто добавил репу сам
mcedit /etc/yum.repos.d/zabbix.repo
Вставляем это
[zabbix]
name=Zabbix Official Repository — $basearch
baseurl=http://repo.zabbix.com/zabbix/5.2/rhel/8/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-non-supported]
name=Zabbix Official Repository non-supported — $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/8/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1