Переезд + Обновление Заббикс

Процесс установки zabbix а так же дополнительных различных вспомогательных программ
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 925
Стаж: 6 лет 2 месяца
Откуда: Вологодская область
Благодарил (а): 1 раз
Поблагодарили: 43 раза
Контактная информация:

Переезд + Обновление Заббикс

Сообщение Артём Мамзиков »



Яндекс Мой пример Обновления системы мониторинга Zabbix

Изначально заббикс 4.2.1 был собран из исходного кода
Наиболее полный перечень установки

Код: Выделить всё

./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-jabber=/usr --with-ssh2 --with-openipmi --with-ldap --with-openssl --enable-java --with-libevent --with-libpcre --with-zlib --with-libpthread --with-unixodbc --with-iconv
При переезде на новое железо и ОС с Debian9 на Debian12

Установка из пакетов в дальнейшем для удобства обновления той же версии что была собрана из исходников 4.2.1
Репозиторий 4.2
Добавляем репозиторий zabbix скачиваем подходящий пакет под ОС

Код: Выделить всё

wget https://repo.zabbix.com/zabbix/4.4/debian/pool/main/z/zabbix-release/zabbix-release_4.4-1+buster_all.deb
Устанавливаем

Код: Выделить всё

dpkg -i zabbix-release_4.4-1+buster_all.deb
Пример репозиториев Debian /etc/apt/sources.list.d/zabbix.list

Код: Выделить всё

# Zabbix main repository

# с 7.0 на 7.2
# (версия 7.2)
#deb https://repo.zabbix.com/zabbix/7.2/stable/debian bookworm main
#deb-src https://repo.zabbix.com/zabbix/7.2/stable/debian bookworm main
#deb [arch=all] https://repo.zabbix.com/zabbix/7.2/release/debian bookworm main
#deb-src https://repo.zabbix.com/zabbix/7.2/release/debian bookworm main
#deb [arch=all] https://repo.zabbix.com/zabbix-tools/debian-ubuntu bookworm main
#deb-src https://repo.zabbix.com/zabbix-tools/debian-ubuntu bookworm main
#deb https://repo.zabbix.com/zabbix/7.2/unstable/debian bookworm main
#deb-src https://repo.zabbix.com/zabbix/7.2/unstable/debian bookworm main

# с 6.4 на 7.0
# (версия 7.0)
#deb https://repo.zabbix.com/zabbix/7.0/debian bookworm main
#deb-src https://repo.zabbix.com/zabbix/7.0/debian bookworm main
# (версия 7.0)
#deb https://repo.zabbix.com/zabbix/6.5/debian bookworm main
#deb-src https://repo.zabbix.com/zabbix/6.5/debian bookworm main

# c 6.2 на 6.4
# (версия 6.4)
#deb https://repo.zabbix.com/zabbix/6.4/debian bookworm main
#deb-src https://repo.zabbix.com/zabbix/6.4/debian bookworm main
# (версия 6.4)
#deb https://repo.zabbix.com/zabbix/6.3/debian bookworm main
#deb-src https://repo.zabbix.com/zabbix/6.3/debian bookworm main
#deb https://repo.zabbix.com/zabbix/6.3/debian bullseye main
#deb-src https://repo.zabbix.com/zabbix/6.3/debian bullseye main

# c 6.0 на 6.2
# (версия 6.2)
#deb https://repo.zabbix.com/zabbix/6.2/debian bullseye main
#deb-src https://repo.zabbix.com/zabbix/6.2/debian bullseye main
# (версия 6.2)
#deb https://repo.zabbix.com/zabbix/6.1/debian bullseye main
#deb-src https://repo.zabbix.com/zabbix/6.1/debian bullseye main
#deb [arch=amd64] https://repo.zabbix.com/zabbix-agent2-plugins/1/debian bullseye main
#deb-src [arch=amd64] https://repo.zabbix.com/zabbix-agent2-plugins/1/debian bullseye main

# с 5.0 на 6.0
# (версия 6.0)
#deb https://repo.zabbix.com/zabbix/6.0/debian bookworm main
#deb-src https://repo.zabbix.com/zabbix/6.0/debian bookworm main
# (версия 6.0)
#deb https://repo.zabbix.com/zabbix/5.5/debian bookworm main
#deb-src https://repo.zabbix.com/zabbix/5.5/debian bookworm main
#deb https://repo.zabbix.com/zabbix/5.5/debian bullseye main
#deb-src https://repo.zabbix.com/zabbix/5.5/debian bullseye main
# (версия 5.4)
#deb https://repo.zabbix.com/zabbix/5.4/debian bullseye main
#deb-src https://repo.zabbix.com/zabbix/5.4/debian bullseye main
# (версия 5.4)
#deb https://repo.zabbix.com/zabbix/5.3/debian buster main
#deb-src https://repo.zabbix.com/zabbix/5.3/debian buster main
# (версия 5.2)
#deb https://repo.zabbix.com/zabbix/5.2/debian buster main
#deb-src https://repo.zabbix.com/zabbix/5.2/debian buster main
# (версия 5.2)
deb https://repo.zabbix.com/zabbix/5.1/debian buster main
deb-src https://repo.zabbix.com/zabbix/5.1/debian buster main


# с 4.5 на 5.0 (версия 5.0)
#deb http://repo.zabbix.com/zabbix/5.0/debian bullseye main
#deb-src http://repo.zabbix.com/zabbix/5.0/debian bullseye main

# с 4.4 на 4.5 (версия 5.0)
#deb https://repo.zabbix.com/zabbix/4.5/debian buster main
#deb-src https://repo.zabbix.com/zabbix/4.5/debian buster main

# с 4.2 на 4.4 (версия 4.4)
#deb http://repo.zabbix.com/zabbix/4.4/debian buster main
#deb-src http://repo.zabbix.com/zabbix/4.4/debian buster main

Обновляем список пакетов

Код: Выделить всё

apt-get update
4.2.4.2 установка (уже с libcurl4)

Код: Выделить всё

apt-get install zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-web-service zabbix-apache-conf zabbix-sql-scripts zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent2 zabbix-agent2-dbgsym
Отдельно потом напишу про некоторые моменты новой Оси дебиан 12 и заббикс 4.2.4.2 о их совместимости и настройки.

Дальше заливаем все конфиги, веб интерфейс, базу данных и все что не обходимо запускаем проверяем и после можно начинать обновление
в моем случае сперва на тесте )

Перед обновление смотрим требования изменения и созовисимые пакеты для обновления, делаем копии и после только пробуем, а лучше сперва на тестовом сервере если есть такая возможность.

Оф. Требования
Пример версии 7.0
MySQL/Percona 8.0.30-8.2.X
MariaDB 10.5.00-11.1.X
Apache 2.4 or later
PHP 8.0.0 - 8.3.X
gd 2.0.28 or later
libXML 2.6.15 or later
OpenJDK version 11.0.8

Оф. Обновление из пакетов
Оф. Пример Изменений и заметок обновлений

Проверенные обновления
с 4.2 на 4.4
с 4.4 (4.5) на 5.0
с 5.0 (5.1; 5.2; 5.4; 5.5) на 6.0
c 6.0(6.1) на 6.2
c 6.2(6.3) на 6.4
с 6.4(6.5) на 7.0
с 7.0 на 7.2
с 7.2 на 7.4

И прямые обновления рекомендуется сперва обновится до первой стабильной версии и после дальше
Прямое обновление до Zabbix 4.0.x возможно с Zabbix 3.4 .x, 3.2 .x, 3.0 .x, 2.4 .x, 2.2 .x и 2.0 .x. Для обновления с более ранних версий обратитесь к документации Zabbix для 2.0 и более ранних версий.

Прямое обновление до Zabbix 4.2.x возможно с Zabbix 4.0 .x, 3.4 .x, 3.2 .x, 3.0 .x, 2.4 .x, 2.2 .x и 2.0 .x. Для обновления с более ранних версий обратитесь к документации Zabbix для 2.0 и более ранних версий.

Прямое обновление до Zabbix 4.4.x возможно с Zabbix 4.2 .x, 4.0 .x, 3.4 .x, 3.2 .x, 3.0 .x, 2.4 .x, 2.2 .x и 2.0 .x. Для обновления с более ранних версий обратитесь к документации Zabbix для 2.0 и более ранних версий.

Прямое обновление до Zabbix 5.0.x возможно с Zabbix 4.4 .x, 4.2 .x, 4.0 .x, 3.4 .x, 3.2 .x, 3.0 .x, 2.4 .x, 2.2 .x и 2.0 .x. Для обновления с более ранних версий обратитесь к документации Zabbix для 2.0 и более ранних версий.

Прямое обновление до Zabbix 6.0.x возможно с Zabbix 5.4 .x, 5.2 .x, 5.0 .x, 4.4 .x, 4.2 .x, 4.0 .x, 3.4 .x, 3.2 .x, 3.0 .x, 2.4 .x , 2.2 .x и 2.0 .x. Для обновления с более ранних версий обратитесь к документации Zabbix для 2.0 и более ранних версий.

Прямое обновление до Zabbix 6.4.x возможно с Zabbix 6.2 .x, 6.0 .x, 5.4 .x, 5.2 .x, 5.0 .x, 4.4 .x, 4.2 .x, 4.0 .x, 3.4 .x, 3.2 .x , 3.0 .x, 2.4 .x, 2.2 .x и 2.0 .x. Для обновления с более ранних версий обратитесь к документации Zabbix для 2.0 и более ранних версий.

Прямое обновление до Zabbix 7.0.x возможно с Zabbix 6.4 .x, 6.2 .x, 6.0 .x, 5.4 .x, 5.2 .x, 5.0 .x, 4.4 .x, 4.2 .x, 4.0 .x, 3.4 .x , 3.2 .x, 3.0 .x, 2.4 .x, 2.2 .x и 2.0 .x. Для обновления с более ранних версий обратитесь к документации Zabbix для 2.0 и более ранних версий.

Прямое обновление до Zabbix 7.2.x возможно с Zabbix 7.0.x, 6.4.x, 6.2.x, 6.0.x, 5.4.x, 5.2.x, 5.0.x, 4.4.x, 4.2.x, 4.0.x, 3.4.x, 3.2.x, 3.0.x, 2.4.x, 2.2.x и 2.0.x. Для обновления с более ранних версий обратитесь к документации Zabbix для версии 2.0 и более ранних версий.

Прямое обновление до Zabbix 7.4.x возможно с Zabbix 7.2.x, 7.0.x, 6.4.x, 6.2.x, 6.0.x, 5.4.x, 5.2.x, 5.0.x, 4.4.x, 4.2.x, 4.0.x, 3.4.x, 3.2.x, 3.0.x, 2.4.x, 2.2.x и 2.0.x. Для обновления с более ранних версий обратитесь к документации Zabbix для версии 2.0 и более ранних версий.

Версии Репозитория=Версия Пакета
4.4=4.4
4.5=5.0
5.0=5.0
5.1=5.2
5.2=5.2
5.3=5.4
5.4=5.4
5.5=6.0
6.0=6.0
6.1=6.2
6.2=6.2
6.3=6.4
6.4=6.4
6.5=7.0
7.0=7.0
7.2=7.2

Требования к БД
До версии 5 заббикс просит формат utf8 и utf8_bin
Начиная с 5 версии поддерживает utf8mb3 и utf8mb3_bin (5 версия не знает и не понимает формат utf8mb4 и utf8mb4_bin)
Начиная с 6 версии поддерживает utf8mb4 и utf8mb4_bin

Будет ли работать 4.1-4.4 версия zabbix на utf8mb3 и utf8mb3_bin ? да будет, только конфиг веб подключения нужно прописать руками.

Ошибки 4 версии при новой MariaDB 10
Новому веб интерфейсу не понравилась текущая кодировка базы
Details Cannot connect to the database.
Incorrect default charset for Zabbix database: "utf8mb3" instead "UTF8".
В Логе
2931:20250204:151900.244 Zabbix supports only "utf8" character set. Database "zabbixdb" has default character set "utf8mb3"
2931:20250204:151900.244 Zabbix supports only "utf8_bin" collation. Database "zabbixdb" has default collation "utf8mb3_bin"


Новые БД от 6 версии создаются уже так
create database zabbixdb character set utf8mb4 collate utf8mb4_bin;

Исторически, MySQL и производные от неё использовали 'utf8' как синоним для utf8mb3 - собственная 3-байтовая реализация командой разработчиков MySQL стандарта UTF8, который является 4-байтовым.
Начиная с версии MySQL 8.0.28 и MariaDB 10.6.1, набор символов 'utf8mb3' является устаревшим и в какой-то момент его поддержка будет прекращена, в то время как 'utf8' станет ссылкой на 'utf8mb4'
Во избежание проблем в будущем, строго рекомендуется использовать 'utf8mb4'.
Другим преимуществом переключения на 'utf8mb4' является поддержка дополнительных символов Юникода
Обратите внимание, что кодировка 'utf8mb4' может занимать чуть больше места на диске, чем раньше.

Требования к PHP
4.0-zabbix 5.4.0 php
4.2-zabbix работает на 7.3 php (на 7.4 уже есть ошибки)
5.0-zabbix 7.2 php
6.0-zabbix 7.4 php 7.2.5-8.0-8.3 или новее. 8.0 и 8.1 с Zabbix 6.0.6; 8.2 с Zabbix 6.0.14; 8.3 с Zabbix 6.0.26.
7.0-zabbix 8.0.0- 8.3.X php


Список пакетов Debian: 7.2
zabbix-release - репозиторий zabbix

zabbix-server-mysql - Основной сервер Zabbix, использующий MySQL в качестве базы данных для хранения данных мониторинга.
zabbix-server-mysql-dbgsym - Пакет отладки для zabbix-server-mysql, полезен для разработчиков и отладки.
zabbix-frontend-php - Веб-интерфейс Zabbix, PHP который предоставляет графический интерфейс для управления мониторингом.
zabbix-java-gateway - Компонент для интеграции Java-приложений с Zabbix, позволяющий собирать данные мониторинга из Java-среды.
zabbix-sender - Утилита траппер командной строки для отправки данных мониторинга на сервер Zabbix или прокси.
zabbix-sender-dbgsym - Пакет отладки для zabbix-sender.
zabbix-get - Утилита командной строки для получения данных от агента Zabbix.
zabbix-get-dbgsym - Пакет отладки для zabbix-get.
zabbix-agent - Демон для мониторинга различных параметров сервера и отправки данных на сервер Zabbix.
zabbix-agent-dbgsym - Пакет отладки для zabbix-agent.
От версии 4.4
zabbix-agent2 - Обновленная версия агента, поддерживающая более широкий набор функций и возможностей мониторинга.
zabbix-agent2-dbgsym - Пакет отладки для zabbix-agent2.
zabbix-apache-conf - Конфигурация для интеграции Zabbix с веб-сервером Apache.
zabbix-js - Утилита командной строки для тестирования встроенных скриптов.
zabbix-js-dbgsym - Пакет отладки для zabbix-js.

Пакеты для: nginx, pgsql, proxy
zabbix-nginx-conf - Конфигурация для интеграции Zabbix с веб-сервером Nginx.
zabbix-server-pgsql - Основной сервер Zabbix, использующий PostgreSQL в качестве базы данных.
zabbix-server-pgsql-dbgsym - Пакет отладки для zabbix-server-pgsql.
zabbix-proxy-mysql - Прокси-сервер Zabbix, использующий MySQL для хранения данных.
zabbix-proxy-mysql-dbgsym - Пакет отладки для zabbix-proxy-mysql.
zabbix-proxy-pgsql - Прокси-сервер Zabbix, использующий PostgreSQL.
zabbix-proxy-pgsql-dbgsym - Пакет отладки для zabbix-proxy-pgsql.
zabbix-proxy-sqlite3 - Прокси-сервер Zabbix, использующий SQLite для хранения данных.
zabbix-proxy-sqlite3-dbgsym - Пакет отладки для zabbix-proxy-sqlite3.


От версии 5.4 (репозиторий 5.3 и выше)
zabbix-sql-scripts - Скрипты SQL для работы с базой данных Zabbix.
zabbix-web-service - Приложение для предоставления веб-сервисов компонентам Zabbix.

Плагины начиная от версии 6.0 (репозиторий 5.5 и выше)
zabbix-agent2-plugin-ember-plus - Плагин для мониторинга Ember+ устройств.
zabbix-agent2-plugin-mongodb - Плагин для мониторинга MongoDB.
zabbix-agent2-plugin-mssql - Плагин для мониторинга Microsoft SQL Server.
zabbix-agent2-plugin-postgresql - Плагин для мониторинга PostgreSQL.
От версии 7.2
zabbix-agent2-plugin-nvidia-gpu - Плагин для мониторинга графических процессоров NVIDIA.



Останавливаем заббикс сервер

Код: Выделить всё

service zabbix-server stop
service zabbix-agent stop
Будут ли заменены шаблоны на новые ? нет шаблоны все останутся какие есть, если нужно скачиваем с официального сайта последние версии шаблонов.
У меня сделано партицирование базы данных что с ней будет (создадутся ключи к таблицам будут ли корректное удаление потом или что то заблокирует файл) Напишу позже после тестов пока вроде ничего не сломалось работает как работало партицирование.

Восстановить копию базы на тест
zcat /root/ZabbixBK/REPLACE-zabbixdb-2024.06.11.sql.gz | mysql -uroot -p zabbixdb


Обновление с 4.2 на 4.4
На 4.4 Обновление только уже установленных пакетов и подтянутся зависимости обновления если это не обходимо.

Код: Выделить всё

apt-get install --only-upgrade zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym
Запрос обновления
Показать
Чтение информации о состоянии… Готово
Пропускается zabbix-apache-conf: пакет не установлен, а запрошено только обновление.
Пропускается zabbix-js: пакет не установлен, а запрошено только обновление.
Пропускается zabbix-js-dbgsym: пакет не установлен, а запрошено только обновление.
Уже установлен пакет zabbix-agent самой новой версии (1:5.0.9-1+buster).
Уже установлен пакет zabbix-agent-dbgsym самой новой версии (1:5.0.9-1+buster).
Предлагаемые пакеты:
zabbix-apache-conf zabbix-nginx-conf
Следующие пакеты будут обновлены:
zabbix-frontend-php zabbix-get zabbix-get-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-server-mysql zabbix-server-mysql-dbgsym
Обновлено 8 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 6 826 kB архивов.
После данной операции объём занятого дискового пространства возрастёт на 1 080 kB.
Хотите продолжить? [Д/н]

Затем, чтобы обновить веб-интерфейс с Apache должным образом, также выполните:
установите не обходимый пакет zabbix-apache-conf zabbix-nginx-conf

Код: Выделить всё

apt-get install zabbix-apache-conf
Пакеты 4.4 версии
zabbix-frontend-php недоступен
zabbix-server-mysql недоступен

От версии 4.4 доступны пакеты
заббикс агент 2
zabbix-agent2
zabbix-agent2-dbgsym
zabbix-apache-conf
zabbix-js
zabbix-js-dbgsym

4.4 - прогоним поверх установкой должен написать что у нас уже все установлено данной версии

Код: Выделить всё

apt-get install zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php  zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym
Следующие НОВЫЕ пакеты будут установлены:
zabbix-agent2 zabbix-agent2-dbgsym zabbix-apache-conf zabbix-js zabbix-js-dbgsym
Обновлено 0 пакетов, установлено 5 новых пакетов

Код: Выделить всё

service zabbix-server start

Код: Выделить всё

service zabbix-agent start
Процесс Zabbix сервера после запуска автоматически обновит схему базы данных.
При запуске Zabbix сервер сообщает текущую (обязательную и опциональную) и требуемую версии базы данных.
Если текущая обязательная версия старше чем требуемая версия, Zabbix сервер автоматически выполнит требуемые патчи обновления базы данных.
Начало и прогресс (в процентах) обновления базы данных записываются в файл журнала Zabbix сервера.
Когда обновление завершится, в файл журнала запишется сообщение "database upgrade fully completed".
Если какой-либо из патчей обновления будет ошибочным, Zabbix сервер не запустится.
Zabbix сервер также не запустится, если текущая обязательная версия более новая чем требуемая.
Zabbix сервер запустится только, если текущая обязательная версия базы данных соответствует требуемой обязательной версии.

8673:20161117:104750.259 current database version (mandatory/optional): 03040000/03040000
8673:20161117:104750.259 required mandatory version: 03040000
До начала запуска процесса сервера:
Убедитесь, что пользователь базы данных имеет достаточно прав (create table, drop table, create index, drop index).
Убедитесь что у вас достаточно свободного дискового пространства.

Код: Выделить всё

tail -f /var/log/zabbix/zabbix_server.log
Процесс обновления
Показать
2931:20250204:151750.488 completed 31% of database upgrade
2931:20250204:151750.621 completed 32% of database upgrade
2931:20250204:151750.763 completed 34% of database upgrade
2931:20250204:151752.215 completed 36% of database upgrade
2931:20250204:151753.993 completed 37% of database upgrade
2931:20250204:151755.884 completed 39% of database upgrade
2931:20250204:151756.727 completed 41% of database upgrade
2931:20250204:151758.536 completed 43% of database upgrade
2931:20250204:151758.612 completed 44% of database upgrade
2931:20250204:151758.787 completed 46% of database upgrade
2931:20250204:151758.862 completed 48% of database upgrade
2931:20250204:151801.863 completed 50% of database upgrade
2931:20250204:151802.047 completed 51% of database upgrade
2931:20250204:151802.230 completed 53% of database upgrade
2931:20250204:151802.422 completed 55% of database upgrade
2931:20250204:151802.569 completed 56% of database upgrade
2931:20250204:151802.872 completed 58% of database upgrade
2931:20250204:151803.063 completed 60% of database upgrade
2931:20250204:151806.125 completed 62% of database upgrade
2931:20250204:151807.517 completed 63% of database upgrade
2931:20250204:151810.336 completed 65% of database upgrade
2931:20250204:151817.427 slow query: 7.091152 sec, "insert into host_inventory (select * from host_inventory_tmp)"
2931:20250204:151817.788 completed 67% of database upgrade
2931:20250204:151819.954 completed 68% of database upgrade
2931:20250204:151828.725 slow query: 8.771384 sec, "alter table `host_inventory` add constraint c_host_inventory_1 foreign key (`hostid`) references `hosts` (`hostid`) on delete cascade"
2931:20250204:151828.916 completed 70% of database upgrade
2931:20250204:151832.410 slow query: 3.494596 sec, "alter table `media_type` add `script` text not null"
2931:20250204:151832.624 completed 72% of database upgrade
2931:20250204:151836.362 slow query: 3.738183 sec, "alter table `media_type` add `timeout` varchar(32) default '30s' not null"
2931:20250204:151836.557 completed 74% of database upgrade
2931:20250204:151839.408 completed 75% of database upgrade
2931:20250204:151842.009 completed 77% of database upgrade
2931:20250204:151844.707 completed 79% of database upgrade
2931:20250204:151848.249 slow query: 3.541313 sec, "alter table `media_type` add `event_menu_name` varchar(255) default '' not null"
2931:20250204:151848.324 completed 81% of database upgrade
2931:20250204:151849.600 completed 82% of database upgrade
2931:20250204:151850.526 completed 84% of database upgrade
2931:20250204:151852.544 completed 86% of database upgrade
2931:20250204:151854.464 completed 87% of database upgrade
2931:20250204:151855.572 completed 89% of database upgrade
2931:20250204:151857.189 completed 91% of database upgrade
2931:20250204:151858.392 completed 93% of database upgrade
2931:20250204:151859.910 completed 94% of database upgrade
2931:20250204:151859.984 completed 96% of database upgrade
2931:20250204:151900.110 completed 98% of database upgrade
2931:20250204:151900.243 completed 100% of database upgrade
2931:20250204:151900.243 database upgrade fully completed
2931:20250204:151900.244 Zabbix supports only "utf8" character set. Database "zabbixdb" has default character set "utf8mb3"
2931:20250204:151900.244 Zabbix supports only "utf8_bin" collation. Database "zabbixdb" has default collation "utf8mb3_bin"
2931:20250204:151900.247 character set name or collation name that is not supported by Zabbix found in 409 column(s) of database "zabbixdb"
2931:20250204:151900.247 only character set "utf8" and collation "utf8_bin" should be used in database
2931:20250204:151900.248 server #0 started [main process]
3033:20250204:151900.248 server #1 started [configuration syncer #1]
3033:20250204:151907.256 slow query: 6.781771 sec, "select i.itemid,i.hostid,i.status,i.type,i.value_type,i.key_,i.snmp_community,i.snmp_oid,i.port,i.snmpv3_securityname,i.snmpv3_securitylevel,i.snmpv3_authpassphrase,i.snmpv3_privpassphrase,i.ipmi_sensor,i.delay,i.trapper_hosts,i.logtimefmt,i.params,ir.state,i.authtype,i.username,i.password,i.publickey,i.privatekey,i.flags,i.interfaceid,i.snmpv3_authprotocol,i.snmpv3_privprotocol,i.snmpv3_contextname,ir.lastlogsize,ir.mtime,i.history,i.trends,i.inventory_link,i.valuemapid,i.units,ir.error,i.jmx_endpoint,i.master_itemid,i.timeout,i.url,i.query_fields,i.posts,i.status_codes,i.follow_redirects,i.post_type,i.http_proxy,i.headers,i.retrieve_mode,i.request_method,i.output_format,i.ssl_cert_file,i.ssl_key_file,i.ssl_key_password,i.verify_peer,i.verify_host,i.allow_traps,i.templateid,id.parent_itemid from items i inner join hosts h on i.hostid=h.hostid left join item_discovery id on i.itemid=id.itemid join item_rtdata ir on i.itemid=ir.itemid where h.status in (0,1) and i.flags<>2"
3033:20250204:151921.036 slow query: 9.056989 sec, "select pp.item_preprocid,pp.itemid,pp.type,pp.params,pp.step,i.hostid,pp.error_handler,pp.error_handler_params,i.type,i.key_,h.proxy_hostid from item_preproc pp,items i,hosts h where pp.itemid=i.itemid and i.hostid=h.hostid and (h.proxy_hostid is null or i.type in (5,8,15)) and h.status in (0,1) and i.flags<>2 order by pp.itemid"
3033:20250204:151924.837 slow query: 3.114176 sec, "select i.itemid,f.functionid,f.name,f.parameter,t.triggerid from hosts h,items i,functions f,triggers t where h.hostid=i.hostid and i.itemid=f.itemid and f.triggerid=t.triggerid and h.status in (0,1) and t.flags<>2"
3033:20250204:151927.969 slow query: 3.073479 sec, "select distinct t.triggerid,t.description,t.expression,t.error,t.priority,t.type,t.value,t.state,t.lastchange,t.status,t.recovery_mode,t.recovery_expression,t.correlation_mode,t.correlation_tag,opdata from hosts h,items i,functions f,triggers t where h.hostid=i.hostid and i.itemid=f.itemid and f.triggerid=t.triggerid and h.status in (0,1) and t.flags<>2"
или

Код: Выделить всё

tail -f /var/log/zabbix/zabbix_proxy.log
во второй SSH сессии будут отображаться последние записи из файла журнала и возможные ошибки в режиме реального времени.
Такой подход может быть критичным на продуктивных серверах

Обновление завершено проверяем работу наблюдаем какое то время за логами все ли там хорошо.

Если база данных была создана по умолчанию без дополнительных параметров на новой версии MySQL мы можем получить формат utf8mb4 и utf8mb4_bin это формат подходит только для версии 6 заббикса и выше, для 5 версии подходит utf8mb3 и utf8mb3_bin, для 4 и ниже просит utf8 и utf8_bin, но как я писал выше в новых версиях таких нет.
Для 4 версии utf8mb4 и utf8mb4_bin будем менять на utf8mb3 и utf8mb3_bin заббиикс будет работать, только файл конфигурации веб интерфейса надо прописать руками.
Переводим БД и Таблицы в utf8mb3 и utf8mb3_bin
Показать
Восстановление набора символов и параметров сортировки базы данных Zabbix

В PhpMyAdmin
Набор символов базы данных и сопоставление:

Код: Выделить всё

SELECT @@character_set_database, @@collation_database;
получаем ответ
utf8mb4 | utf8mb4_general_ci

Остановите Zabbix.
Создайте резервную копию базы данных!
Исправьте набор символов и сопоставление на уровне базы данных:

Код: Выделить всё

ALTER DATABASE zabbixdb CHARACTER SET utf8mb3 COLLATE utf8mb3_bin;
В новой версии нет такой кодировки
ALTER DATABASE zabbixdb CHARACTER SET utf8 COLLATE utf8_bin;

Проверим

Код: Выделить всё

SELECT @@character_set_database, @@collation_database;
Ответ
utf8mb3 utf8mb3_bin вот теперь хорошо
В новой версии нет такой кодировки
utf8 utf8_bin


Исправить набор символов и сопоставление на уровне таблицы и столбца
Создадим процедуру
от версии 4.4 до 6.0
Процедура для формата utf8 utf8_bin
Показать
utf8_convert.sql

Код: Выделить всё

/* журнал изменений:
   2020.08.19 - первоначальный выпуск
   2020.09.04 - исправлен синтаксис для работы в MySQL
*/

DELIMITER $$
CREATE PROCEDURE zbx_convert_utf8 ()
BEGIN
	declare cmd varchar(255) default "";
	declare finished integer default 0;

	declare cur_command cursor for 
		SELECT command
		FROM
		    (/* Этот оператор "select" работает со столбцами типа "text", чтобы предотвратить
                их автоматическое преобразование в тип "mediumtext".
                Цель состоит в том, чтобы создавать такие операторы, как
		         ALTER TABLE zabbix.hosts MODIFY COLUMN description text CHARACTER SET utf8 COLLATE utf8_bin not null;
		     */
		     SELECT table_name AS sort1, 'A' AS sort2,
		            CONCAT('ALTER TABLE ', table_schema, '.', table_name,
		                   ' MODIFY COLUMN ', column_name, ' ', column_type,
		                   ' CHARACTER SET utf8 COLLATE utf8_bin',
		                case
		                    when column_default is null then ''
		                    else concat(' default ', column_default, ' ')
		                end,
		                case
		                    when is_nullable = 'no' then ' not null '
		                    else ''
		                end,
		            ';') AS command
		        FROM information_schema.columns
		        WHERE table_schema = @ZABBIX_DATABASE        
		           AND column_type = 'text'
		    UNION
		     /* его инструкция "select" касается настройки набора символов и параметров сортировки для
                каждой таблицы и преобразования полей varchar для каждой таблицы.
                Необходимо обработать все таблицы (даже те, в которых столбцы содержат только цифры).
                в противном случае при будущих обновлениях Zabbix в эти таблицы могут быть добавлены текстовые столбцы (например, varchar)
                или числовые столбцы могут быть преобразованы в текстовые, и
                старый набор символов/параметры сортировки могут появиться снова.
                Цель состоит в том, чтобы создать такие инструкции, как
		         ALTER TABLE zabbix.hosts CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;
		     */
		     SELECT table_name AS sort1,'B' AS sort2,
		            CONCAT('ALTER TABLE ', table_schema, '.', table_name,
		                   ' CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;') AS command
		        FROM information_schema.tables
		        WHERE table_schema = @ZABBIX_DATABASE) s
		/* Сортировка важна: инструкции 'MODIFY COLUMN' должны предшествовать инструкциям 'CONVERT TO'
		   for each table. */
		ORDER BY sort1, sort2;
	
	declare continue handler for not found set finished = 1;

	open cur_command;
	cmd_loop: loop
		fetch cur_command into cmd;
		if finished = 1 then
			leave cmd_loop;
		end if;
		SET @value = cmd;
		PREPARE stmt FROM @value;
		EXECUTE stmt;
		DEALLOCATE PREPARE stmt;
	end loop cmd_loop;
	close cur_command;

END$$

DELIMITER ;
Процедура для utf8mb3 utf8mb3_bin

Код: Выделить всё

DELIMITER $$

CREATE PROCEDURE zbx_convert_utf8_3 ()
BEGIN
    DECLARE cmd VARCHAR(255) DEFAULT "";
    DECLARE finished INTEGER DEFAULT 0;

    DECLARE cur_command CURSOR FOR 
        SELECT command
        FROM (
            SELECT table_name AS sort1, 'A' AS sort2,
                   CONCAT('ALTER TABLE ', table_schema, '.', table_name,
                          ' MODIFY COLUMN ', column_name, ' ', column_type,
                          ' CHARACTER SET utf8mb3 COLLATE utf8mb3_bin',
                       CASE
                           WHEN column_default IS NULL THEN ''
                           ELSE CONCAT(' DEFAULT ', column_default, ' ')
                       END,
                       CASE
                           WHEN is_nullable = 'NO' THEN ' NOT NULL '
                           ELSE ''
                       END,
                   ';') AS command
            FROM information_schema.columns
            WHERE table_schema = @ZABBIX_DATABASE        
              AND column_type = 'text'
            UNION
            SELECT table_name AS sort1, 'B' AS sort2,
                   CONCAT('ALTER TABLE ', table_schema, '.', table_name,
                          ' CONVERT TO CHARACTER SET utf8mb3 COLLATE utf8mb3_bin;') AS command
            FROM information_schema.tables
            WHERE table_schema = @ZABBIX_DATABASE
        ) s
        ORDER BY sort1, sort2;

    DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1;

    OPEN cur_command;
    cmd_loop: LOOP
        FETCH cur_command INTO cmd;
        IF finished = 1 THEN
            LEAVE cmd_loop;
        END IF;
        SET @value = cmd;
        PREPARE stmt FROM @value;
        EXECUTE stmt;
        DEALLOCATE PREPARE stmt;
    END LOOP cmd_loop;
    CLOSE cur_command;

END$$

DELIMITER ;
Запустим процедуру изменения кодировки

Код: Выделить всё

SET @ZABBIX_DATABASE = 'zabbixdb';
SET innodb_strict_mode = OFF;
CALL zbx_convert_utf8_3();
SET innodb_strict_mode = ON;
Для UTF-8 если более старая БД заменить вызов процедуры на CALL zbx_convert_utf8();
описание команд
Показать
-- Установите имя вашей базы данных
SET @ZABBIX_DATABASE = 'zabbixdb';
-- Для MariaDB временно отключите режим строгого соблюдения правил InnoDB
SET innodb_strict_mode = OFF;
-- Вызовите процедуру
CALL zbx_convert_utf8_3();
-- Включите режим строгого соблюдения правил InnoDB обратно для MariaDB
SET innodb_strict_mode = ON;
-- Удалите процедуру
DROP PROCEDURE zbx_convert_utf8;
Проверка что все таблицы и столбцы применились

Код: Выделить всё

SELECT TABLE_NAME, COLUMN_NAME, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'zabbixdb' AND CHARACTER_SET_NAME != 'utf8mb3';
Если все хорошо ответ будет пустым

Проверяем веб интерфейс и запускам заббикс сервер
Далее Обновление zabbix Х.Х где Х.Х - это ветка репозитория, а не версия заббикс она не всегда совпадает с веткой

Обновление zabbix 5.0
Обновим список пакетов

Код: Выделить всё

apt-get update
Обновляем версию

Код: Выделить всё

apt-get install --only-upgrade zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
zabbix-agent2 zabbix-agent2-dbgsym
Предлагаемые пакеты:
zabbix-nginx-conf
Следующие пакеты будут обновлены:
zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-apache-conf zabbix-frontend-php zabbix-get zabbix-get-dbgsym zabbix-java-gateway zabbix-js zabbix-js-dbgsym zabbix-sender zabbix-sender-dbgsym zabbix-server-mysql zabbix-server-mysql-dbgsym
Обновлено 15 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 20,3 MB архивов.

Можно еще прогнать установкой, если все хорошо напишет что все актуально если что то не хватает установит

Код: Выделить всё

apt-get install zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php  zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym
Запускаем Заббикс сервер

Код: Выделить всё

service zabbix-server start
Наблюдаем за процессом обновления

Код: Выделить всё

tail -f /var/log/zabbix/zabbix_server.log

Обновление zabbix 5.1
Обновим список пакетов

Код: Выделить всё

apt-get update
Обновляем версию

Код: Выделить всё

apt-get install --only-upgrade zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Будут установлены следующие дополнительные пакеты:
zabbix-agent2 zabbix-agent2-dbgsym
Предлагаемые пакеты:
zabbix-nginx-conf
Следующие пакеты будут обновлены:
zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-apache-conf zabbix-frontend-php zabbix-get zabbix-get-dbgsym zabbix-java-gateway zabbix-js zabbix-js-dbgsym zabbix-sender zabbix-sender-dbgsym zabbix-server-mysql
zabbix-server-mysql-dbgsym
Обновлено 15 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 17,4 MB архивов.
После данной операции объём занятого дискового пространства уменьшится на 2 099 kB.

Пройтись установкой

Код: Выделить всё

apt-get install zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym
Запускаем Заббикс сервер

Код: Выделить всё

service zabbix-server start
Наблюдаем за процессом обновления

Код: Выделить всё

tail -f /var/log/zabbix/zabbix_server.log
Обновление zabbix 5.2
Обновим список пакетов

Код: Выделить всё

apt-get update
Обновляем версию

Код: Выделить всё

apt-get install --only-upgrade zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Предлагаемые пакеты:
zabbix-nginx-conf
Следующие пакеты будут обновлены:
zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-apache-conf zabbix-frontend-php zabbix-get zabbix-get-dbgsym zabbix-java-gateway zabbix-js zabbix-js-dbgsym zabbix-sender zabbix-sender-dbgsym zabbix-server-mysql zabbix-server-mysql-dbgsym
Обновлено 15 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 18,8 MB архивов.
После данной операции объём занятого дискового пространства возрастёт на 2 980 kB.

Пройтись установкой

Код: Выделить всё

apt-get install zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php  zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym
Запускаем Заббикс сервер

Код: Выделить всё

service zabbix-server start
Наблюдаем за процессом обновления

Код: Выделить всё

tail -f /var/log/zabbix/zabbix_server.log

Обновление zabbix 5.3 (много лога по обновлению БД вышло)
Обновим список пакетов

Код: Выделить всё

apt-get update
Обновляем версию

Код: Выделить всё

apt-get install --only-upgrade zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
Пропускается zabbix-sql-scripts: пакет не установлен, а запрошено только обновление.
Пропускается zabbix-web-service: пакет не установлен, а запрошено только обновление.
Предлагаемые пакеты:
zabbix-nginx-conf
Следующие пакеты будут обновлены:
zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-apache-conf zabbix-frontend-php zabbix-get zabbix-get-dbgsym zabbix-java-gateway zabbix-js zabbix-js-dbgsym zabbix-sender zabbix-sender-dbgsym zabbix-server-mysql zabbix-server-mysql-dbgsym
Обновлено 15 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 17,1 MB архивов

От версии 5.4 (репозиторий 5.3 и выше) доступны пакеты:
zabbix-sql-scripts
zabbix-web-service

Установка пакетов

Код: Выделить всё

apt-get install zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php  zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service
Следующие НОВЫЕ пакеты будут установлены:
zabbix-sql-scripts zabbix-web-service
Обновлено 0 пакетов, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 7 575 kB архивов.

Запускаем Заббикс сервер

Код: Выделить всё

service zabbix-server start
Наблюдаем за процессом обновления

Код: Выделить всё

tail -f /var/log/zabbix/zabbix_server.log
Веб интерфейсе появились ошибки
Undefined offset: 45139 [zabbix.php:22 → require_once() → ZBase->run() → ZBase->processRequest() → CController->run() → CControllerWidgetProblemsView->doAction() → CScreenProblem::getData() in include/classes/screens/CScreenProblem.php:343]
Undefined offset: 45597 [zabbix.php:22 → require_once() → ZBase->run() → ZBase->processRequest() → CController->run() → CControllerWidgetProblemsView->doAction() → CScreenProblem::getData() in include/classes/screens/CScreenProblem.php:343]


Обновление zabbix 5.4
Обновим список пакетов

Код: Выделить всё

apt-get update
Обновляем версию

Код: Выделить всё

apt-get install --only-upgrade zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service
Чтение информации о состоянии… Готово
Следующие пакеты будут обновлены:
zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-apache-conf zabbix-frontend-php zabbix-get zabbix-get-dbgsym zabbix-java-gateway zabbix-js zabbix-js-dbgsym zabbix-sender zabbix-sender-dbgsym zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-sql-scripts
zabbix-web-service
Обновлено 17 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 24,8 MB архивов.

Установка пакетов

Код: Выделить всё

apt-get install zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php  zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service
Запускаем Заббикс сервер

Код: Выделить всё

service zabbix-server start
Наблюдаем за процессом обновления

Код: Выделить всё

tail -f /var/log/zabbix/zabbix_server.log


Начиная с версии заббикс 6.0 поддержка таблиц в формате utf8mb4 utf8mb4_bin который является 4-байтовым. (более большие поля большая вместимость)
Но можно оставить и utf8mb3 utf8mb3_bin который является 3-байтовым. Версия 6.0-6.4 точно с ней работают проверено, сам заббикс БД не обновляет на utf8mb4.

При желании можно обновить руками.
Из utf8mb3 utf8mb3_bin в utf8mb4 utf8mb4_bin для версии zabbix 6.0 и выше
Показать

Восстановление набора символов и параметров сортировки базы данных Zabbix

В PhpMyAdmin
Набор символов базы данных и сопоставление:

Код: Выделить всё

SELECT @@character_set_database, @@collation_database;
получаем ответ
utf8mb3 utf8mb3_bin

Остановите Zabbix.
Создайте резервную копию базы данных!
Исправьте набор символов и сопоставление на уровне базы данных:

Код: Выделить всё

ALTER DATABASE zabbixdb CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
Проверим

Код: Выделить всё

SELECT @@character_set_database, @@collation_database;
Ответ
utf8mb4 utf8mb4_bin вот теперь хорошо

Исправить набор символов и сопоставление на уровне таблицы и столбца
Создадим процедуру
начиная с версии 6.0 и текущую 7.5
utf8mb4_convert.sql

Код: Выделить всё

/* журнал изменений:
   2020.08.19 - первая версия
   2020.09.04 - исправлен синтаксис для запуска в MySQL
   2022.01.13 - обновлен скрипт для использования стандартного UTF8 вместо utf8mb3
*/

DELIMITER $$
CREATE PROCEDURE zbx_convert_utf8 (
)

BEGIN
	declare cmd varchar(255) default "";
	declare finished integer default 0;

	declare cur_command cursor for 
		SELECT command
		FROM
		    (/*  Этот оператор "select" работает со столбцами типа "text", чтобы предотвратить
                 их автоматическое преобразование в тип "mediumtext".
                 Цель состоит в том, чтобы создавать такие операторы, как
		         ALTER TABLE zabbix.hosts MODIFY COLUMN description text CHARACTER SET utf8mb4 COLLATE utf8mb4_bin not null;
		     */
		     SELECT table_name AS sort1,
		                   'A' AS sort2,
		            CONCAT('ALTER TABLE ', table_schema, '.', table_name,
		                   ' MODIFY COLUMN ', column_name, ' ', column_type,
		                   ' CHARACTER SET utf8mb4 COLLATE utf8mb4_bin',
		                case
		                    when column_default is null then ''
		                    else concat(' default ', column_default, ' ')
		                end,
		                case
		                    when is_nullable = 'no' then ' not null '
		                    else ''
		                end,
		            ';') AS command
		        FROM information_schema.columns
		        WHERE table_schema = @ZABBIX_DATABASE        
		           AND column_type = 'text'
		    UNION
		     /* Эта инструкция select предназначена для настройки набора символов и параметров сортировки для
                каждой таблицы и преобразования полей varchar для каждой таблицы.
                Необходимо обработать все таблицы (даже те, в которых столбцы содержат только цифры).
                в противном случае при будущих обновлениях Zabbix в эти таблицы могут быть добавлены текстовые столбцы (например, varchar)
                или числовые столбцы могут быть преобразованы в текстовые, и
                старый набор символов/параметры сортировки могут появиться снова.
                Цель состоит в том, чтобы создать такие инструкции, как
		         ALTER TABLE zabbix.hosts CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
		     */
		     SELECT table_name AS sort1,
		                   'B' AS sort2,
		            CONCAT('ALTER TABLE ', table_schema, '.', table_name,
		                   ' CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;') AS command
		        FROM information_schema.tables
		        WHERE table_schema = @ZABBIX_DATABASE) s
		/* Сортировка важна: инструкции 'MODIFY COLUMN' должны предшествовать инструкциям  'CONVERT TO' для каждой таблицы.
		 */
		ORDER BY sort1, sort2;
	
	declare continue handler for not found set finished = 1;

	open cur_command;
	cmd_loop: loop
		fetch cur_command into cmd;
		if finished = 1 then
			leave cmd_loop;
		end if;
		SET @value = cmd;
		PREPARE stmt FROM @value;
		EXECUTE stmt;
		DEALLOCATE PREPARE stmt;
	end loop cmd_loop;
	close cur_command;

END$$

DELIMITER ;
Запустим процедуру изменения кодировки

Код: Выделить всё

SET @ZABBIX_DATABASE = 'zabbixdb';
SET innodb_strict_mode = OFF;
CALL zbx_convert_utf8();
SET innodb_strict_mode = ON;
описание команд
Показать
-- Установите имя вашей базы данных
SET @ZABBIX_DATABASE = 'zabbixdb';
-- Для MariaDB временно отключите режим строгого соблюдения правил InnoDB
SET innodb_strict_mode = OFF;
-- Вызовите процедуру
CALL zbx_convert_utf8();
-- Включите режим строгого соблюдения правил InnoDB обратно для MariaDB
SET innodb_strict_mode = ON;
-- Удалите процедуру
DROP PROCEDURE zbx_convert_utf8;
Проверка что все таблицы и столбцы применились

Код: Выделить всё

SELECT TABLE_NAME, COLUMN_NAME, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = 'zabbixdb' AND CHARACTER_SET_NAME != 'utf8mb4';
Если все хорошо ответ будет пустым

Проверяем веб интерфейс и запускам заббикс сервер

Обновление zabbix 5.5
Обновим список пакетов

Код: Выделить всё

apt-get update
Обновляем версию

Код: Выделить всё

apt-get install --only-upgrade zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service
Следующие пакеты будут обновлены:
zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-apache-conf zabbix-frontend-php zabbix-get zabbix-get-dbgsym zabbix-java-gateway zabbix-js zabbix-js-dbgsym zabbix-sender zabbix-sender-dbgsym zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-sql-scripts
zabbix-web-service
Обновлено 17 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 34,0 MB архивов.

Пройтись установкой

Код: Выделить всё

apt-get install zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php  zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service
С данной версии доступны плагины
apt-get install zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql

Запускаем Заббикс сервер

Код: Выделить всё

service zabbix-server start
Наблюдаем за процессом обновления

Код: Выделить всё

tail -f /var/log/zabbix/zabbix_server.log

Обновление zabbix 6.0
Обновим список пакетов

Код: Выделить всё

apt-get update
Обновляем версию

Код: Выделить всё

apt-get install --only-upgrade zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service
Будут установлены следующие дополнительные пакеты:
zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-postgresql
Следующие пакеты будут обновлены:
zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-apache-conf zabbix-frontend-php zabbix-get zabbix-get-dbgsym zabbix-java-gateway zabbix-js zabbix-js-dbgsym zabbix-sender zabbix-sender-dbgsym zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-sql-scripts
zabbix-web-service
Обновлено 17 пакетов, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 39,9 MB архивов.

Установка пакетов

Код: Выделить всё

apt-get install zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php  zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql
Следующие НОВЫЕ пакеты будут установлены:
zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mssql
Обновлено 0 пакетов, установлено 2 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 3 702 kB архивов.

Запускаем Заббикс сервер

Код: Выделить всё

service zabbix-server start
Наблюдаем за процессом обновления

Код: Выделить всё

tail -f /var/log/zabbix/zabbix_server.log

Обновление zabbix 6.1
Обновим список пакетов

Код: Выделить всё

apt-get update
Обновляем версию

Код: Выделить всё

apt-get install --only-upgrade zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql
Следующие пакеты будут обновлены:
zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-apache-conf zabbix-frontend-php zabbix-get zabbix-get-dbgsym zabbix-java-gateway zabbix-js zabbix-js-dbgsym zabbix-sender zabbix-sender-dbgsym zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-sql-scripts
zabbix-web-service
Обновлено 17 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 31,8 MB архивов.

Установка пакетов

Код: Выделить всё

apt-get install zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php  zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql
Запускаем Заббикс сервер

Код: Выделить всё

service zabbix-server start
Наблюдаем за процессом обновления

Код: Выделить всё

tail -f /var/log/zabbix/zabbix_server.log
Minimum required PHP version is 7.4.0. перевод на 8.3php


Обновление zabbix 6.2
Обновим список пакетов

Код: Выделить всё

apt-get update
Обновляем версию

Код: Выделить всё

apt-get install --only-upgrade zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql
Следующие пакеты будут обновлены:
zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-apache-conf zabbix-frontend-php zabbix-get zabbix-get-dbgsym zabbix-java-gateway zabbix-js zabbix-js-dbgsym zabbix-sender zabbix-sender-dbgsym zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-sql-scripts
zabbix-web-service
Обновлено 17 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 31,8 MB архивов.

Установка пакетов

Код: Выделить всё

apt-get install zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php  zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql
Запускаем Заббикс сервер

Код: Выделить всё

service zabbix-server start
Наблюдаем за процессом обновления

Код: Выделить всё

tail -f /var/log/zabbix/zabbix_server.log

Обновление zabbix 6.3 версия заббикс 6.4
Обновим список пакетов

Код: Выделить всё

apt-get update
Обновляем версию

Код: Выделить всё

apt-get install --only-upgrade zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql
Следующие пакеты будут обновлены:
zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql zabbix-apache-conf zabbix-frontend-php zabbix-get zabbix-get-dbgsym zabbix-java-gateway zabbix-js zabbix-js-dbgsym zabbix-sender
zabbix-sender-dbgsym zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-sql-scripts zabbix-web-service
Обновлено 20 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 45,0 MB архивов.

Установка пакетов

Код: Выделить всё

apt-get install zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php  zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql
Запускаем Заббикс сервер

Код: Выделить всё

service zabbix-server start
Наблюдаем за процессом обновления

Код: Выделить всё

tail -f /var/log/zabbix/zabbix_server.log
[Z3005] query failed: [1005] Can't create table `zabbixdb`.`event_symptom` (errno: 150 "Foreign key constraint is incorrectly formed") [alter table `event_symptom` add constraint c_event_symptom_1 foreign key (`eventid`) references `events` (`eventid`) on delete cascade]
[Z3005] ошибка запроса: [1005] Не удается создать таблицу `zabbixdb`.`event_symptom`
(ошибка: 150 "Неправильно сформировано ограничение внешнего ключа") [изменить таблицу `event_symptom`,
добавить ограничение c_event_symptom_1 внешний ключ (`eventid`) ссылается на `events` (`eventid`) при удалении каскад]

Эта команда вызывает ошибку
ALTER TABLE event_symptom ADD CONSTRAINT c_event_symptom_1 FOREIGN KEY (eventid) REFERENCES events (eventid) ON DELETE CASCADE;


ALTER TABLE event_symptom: Эта часть команды указывает, что мы хотим изменить структуру таблицы event_symptom.

ADD CONSTRAINT c_event_symptom_1: ADD CONSTRAINT — это команда, которая добавляет ограничение (constraint) к таблице.
В данном случае мы добавляем ограничение с именем c_event_symptom_1.
Имя ограничения (c_event_symptom_1) должно быть уникальным в пределах базы данных, чтобы избежать конфликтов.

FOREIGN KEY (eventid): Здесь мы указываем, что мы добавляем внешний ключ, который будет ссылаться на столбец eventid в таблице event_symptom.
Внешний ключ используется для обеспечения ссылочной целостности между двумя таблицами, что означает, что значения в столбце eventid в event_symptom должны
совпадать с существующими значениями в столбце eventid таблицы events.

REFERENCES events (eventid): Эта часть указывает, что внешний ключ будет ссылаться на таблицу events, конкретно на её столбец eventid.
Это значит, что все значения в eventid в таблице event_symptom должны существовать в eventid таблицы events.

ON DELETE CASCADE: Этот параметр определяет поведение при удалении записей. В данном случае, если запись из таблицы events с определённым eventid будет удалена, все связанные записи в таблице event_symptom также будут автоматически удалены.
Это помогает поддерживать согласованность данных, избегая "сиротских" записей в таблице event_symptom, которые ссылаются на несуществующие записи в events.

Так как у меня сделано Партиционирование базы данных MySQL Partitioning Zabbix оно не дает создать ключ зависимости таблиц...

Вариантов тут 3:
Вложения
events
events
events.zip
events.zip
(5.25 КБ) 0 скачиваний
количество слов: 6010
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 925
Стаж: 6 лет 2 месяца
Откуда: Вологодская область
Благодарил (а): 1 раз
Поблагодарили: 43 раза
Контактная информация:

Переезд + Обновление Заббикс

Сообщение Артём Мамзиков »

1. У брать партицирование вернуть все зависимости таблиц и включить очистку БД самим заббиксом как было из коробки.
2. Найти все зависимости в новой исходной базе, включить эти таблицы в партицирование или поиск удаление не найденных связей с таблицами и оставить партицирование БД.
3. Восстановить критические таблицы связи включить внутреннюю очистку самим заббиксом + партицирование оставшихся таблиц.

Исходная база, для теста просмотра
База у меня zabbixdb а для теста создадим zabbix
CREATE DATABASE zabbix character set utf8 collate utf8_bin;
Загружаем
zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql -uroot -p zabbix

Выгружаем партицированую таблицу партицирование-6.2events.sql и удаляем ее
Из оригинальной базы выгружаем эту же таблицу без партации-6.4-таблица-events.sql
Загружаем в нашу базу оригинальную таблицу без партации-6.4-таблица-events.sql
events.zip
events.png
И продолжаем процесс обновления
207592:20250207:085437.689 завершено 100 % обновление базы данных.
207592:20250207:085437.881 обновление базы данных полностью завершено
207592:20250207:085437.882 базу данных можно обновить для использования первичных ключей в таблицах истории.
207592:20250207:085438.432 База данных не обновлена для использования значений двойной точности. Поддержка старого числового типа будет удалена в будущих версиях.

Удалить связь
ALTER TABLE `event_symptom` DROP INDEX `event_symptom_1`;

Добавить в Процедуру DELETE_3_MONTH (запускается каждый день) (данный способ если таблица events большая может долго сравнивать и очищать)
Удаление записей из таблицы event_symptom, которые имеют eventid, не существующий в таблице events
DELETE FROM `event_symptom` WHERE `eventid` NOT IN (SELECT `eventid` FROM `events` WHERE `eventid` is NOT NULL);

Другие вариант использование триггера (не подходит так как запись удалется не командой а просто файлом истории)
будут автоматически удалять записи из event_symptom, когда соответствующие записи в events удаляются.
CREATE TRIGGER before_event_delete
BEFORE DELETE ON events
FOR EACH ROW
BEGIN
DELETE FROM event_symptom WHERE eventid = OLD.eventid;
END;

Далее обратно меняем таблицу events на партицированную (при следующем обновлении будет аналогичная ошибка)
еще партицирование слетело с таблицы auditlog


Обновление zabbix 6.4 версия заббикс 6.4

Переведем бд в формат utf8mb4 utf8mb4_bin который является 4-байтовым

Обновим список пакетов

Код: Выделить всё

apt-get update
Обновляем версию

Код: Выделить всё

apt-get install --only-upgrade zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql
Следующие пакеты будут обновлены:
zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql zabbix-apache-conf zabbix-frontend-php zabbix-get zabbix-get-dbgsym zabbix-java-gateway zabbix-js zabbix-js-dbgsym zabbix-sender
zabbix-sender-dbgsym zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-sql-scripts zabbix-web-service
Обновлено 20 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 45,0 MB архивов.

Установка пакетов

Код: Выделить всё

apt-get install zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php  zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql
Запускаем Заббикс сервер

Код: Выделить всё

service zabbix-server start
Наблюдаем за процессом обновления

Код: Выделить всё

tail -f /var/log/zabbix/zabbix_server.log
224946:20250207:103632.640 текущая версия базы данных (обязательная/необязательная): 06040000/06040036
224946:20250207:103632.640 требуется обязательная версия: 06040000
224946:20250207:103632.641 база данных может быть обновлена для использования первичных ключей в таблицах истории
224946:20250207:103632.782 База данных не обновлена для использования значений двойной точности. Поддержка старого числового типа будет удалена в будущих версиях.

Обновление zabbix 6.5 версия заббикс 7.0
Обновим список пакетов

Код: Выделить всё

apt-get update
Обновляем версию

Код: Выделить всё

apt-get install --only-upgrade zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql
Следующие пакеты будут обновлены:
zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql zabbix-apache-conf zabbix-frontend-php zabbix-get zabbix-get-dbgsym zabbix-java-gateway zabbix-js
zabbix-js-dbgsym zabbix-sender zabbix-sender-dbgsym zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-sql-scripts zabbix-web-service
Обновлено 21 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 0 пакетов не обновлено.
Необходимо скачать 47,0 MB архивов.

Установка пакетов

Код: Выделить всё

apt-get install zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php  zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql

Запускаем Заббикс сервер

Код: Выделить всё

service zabbix-server start
Наблюдаем за процессом обновления

Код: Выделить всё

tail -f /var/log/zabbix/zabbix_server.log
5834:20250207:121440.071 выполнено 100% обновление базы данных
5834:20250207:121501.349 медленный запрос: 21.277811 сек, "удалить из журнала изменений"
5834:20250207:121501.349 обновление базы данных полностью завершено
5834:20250207:121503.125 база данных может быть обновлена для использования первичных ключей в таблицах истории


Обновление zabbix 7.0 версия заббикс 7.0
Обновим список пакетов

Код: Выделить всё

apt-get update
Обновляем версию

Код: Выделить всё

apt-get install --only-upgrade zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql
Следующие пакеты будут обновлены:
zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql zabbix-apache-conf zabbix-frontend-php zabbix-get zabbix-get-dbgsym zabbix-java-gateway zabbix-js
zabbix-js-dbgsym zabbix-sender zabbix-sender-dbgsym zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-sql-scripts zabbix-web-service
Обновлено 21 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
Необходимо скачать 47,0 MB архивов.

Установка пакетов

Код: Выделить всё

apt-get install zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php  zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql

Запускаем Заббикс сервер

Код: Выделить всё

service zabbix-server start
Наблюдаем за процессом обновления

Код: Выделить всё

tail -f /var/log/zabbix/zabbix_server.log

Обновление zabbix 7.2 версия заббикс 7.2

С данной версии добавлен пакет zabbix-agent2-plugin-nvidia-gpu

Обновим список пакетов

Код: Выделить всё

apt-get update
Обновляем версию

Код: Выделить всё

apt-get install --only-upgrade zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql zabbix-agent2-plugin-nvidia-gpu
Пропускается zabbix-agent2-plugin-nvidia-gpu: пакет не установлен, а запрошено только обновление.
Следующие пакеты будут обновлены:
zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql zabbix-apache-conf zabbix-frontend-php zabbix-get zabbix-get-dbgsym zabbix-java-gateway zabbix-js
zabbix-js-dbgsym zabbix-sender zabbix-sender-dbgsym zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-sql-scripts zabbix-web-service
Обновлено 21 пакетов, установлено 0 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
Необходимо скачать 48,2 MB архивов.

Установка пакетов

Код: Выделить всё

apt-get install zabbix-server-mysql zabbix-server-mysql-dbgsym zabbix-frontend-php  zabbix-apache-conf zabbix-js zabbix-js-dbgsym zabbix-java-gateway zabbix-sender zabbix-sender-dbgsym zabbix-get zabbix-get-dbgsym zabbix-agent zabbix-agent-dbgsym zabbix-agent2 zabbix-agent2-dbgsym zabbix-sql-scripts zabbix-web-service zabbix-agent2-plugin-ember-plus zabbix-agent2-plugin-mongodb zabbix-agent2-plugin-mssql zabbix-agent2-plugin-postgresql zabbix-agent2-plugin-nvidia-gpu
Следующие НОВЫЕ пакеты будут установлены:
zabbix-agent2-plugin-nvidia-gpu
Обновлено 0 пакетов, установлено 1 новых пакетов, для удаления отмечено 0 пакетов, и 1 пакетов не обновлено.
Необходимо скачать 1 261 kB архивов.

Запускаем Заббикс сервер

Код: Выделить всё

service zabbix-server start
Наблюдаем за процессом обновления

Код: Выделить всё

tail -f /var/log/zabbix/zabbix_server.log
7467:20250207:141500.208 обновление базы данных выполнено на 100%
7467:20250207:141500.227 обновление базы данных полностью завершено
7467:20250207:141500.826 база данных может быть обновлена для использования первичных ключей в таблицах истории
7513:20250207:141500.900 запускается диспетчер гектаров
7513:20250207:141501.050 запускается диспетчер гектаров в активном режиме

Веб-интерфейс выдал сообщение:
Для завершения обновления требуется ручное вмешательство!
Начиная с официальных пакетов Zabbix 7.2, интерфейсные PHP-файлы были перенесены из /usr/share/zabbix в /usr/share/zabbix/ui.

Если вы видите это сообщение, конфигурация Zabbix для Apache должна быть обновлена вручную.

Создайте резервную копию вашего старого файла конфигурации:
# cp /etc/httpd/conf.d/zabbix.conf /etc/httpd/conf.d/zabbix.conf.bak
# cp /etc/apache2/conf-available/zabbix.conf /etc/apache2/conf-available/zabbix.conf.bak

Укажите правильный путь в файле конфигурации:
# sed -i 's:/usr/share/zabbix:/usr/share/zabbix/ui:g ' /etc/httpd/conf.d/zabbix.conf
# sed -i 's:/usr/share/zabbix:/usr/share/zabbix/ui:g '/etc/apache2/conf-available/zabbix.conf

Перезапустите веб-сервер:
# systemctl перезапустит httpd
# systemctl reload apache2
количество слов: 1199
Аватара пользователя
Артём Мамзиков
Admin
Сообщения: 925
Стаж: 6 лет 2 месяца
Откуда: Вологодская область
Благодарил (а): 1 раз
Поблагодарили: 43 раза
Контактная информация:

Переезд + Обновление Заббикс

Сообщение Артём Мамзиков »

На версии 7.2.3 на виртуалке на тесте я решил попробовать убрать партицирование таблиц MySql

Оригинальная база хранится в пакете zabbix-sql-scripts_7.2.3-1+debian12_all.deb путь до БД
\usr\share\zabbix\sql-scripts\mysql\server.sql.gz
\usr\share\zabbix\sql-scripts\postgresql\server.sql.gz

Создадим для сравнения оригинальную базу назовем ее например zabbix7_2
GRANT ALL PRIVILEGES on zabbix7_2.* to zabbix@localhost IDENTIFIED BY 'Пароль'
ALTER DATABASE zabbix7_2 CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
Загружаем оригинальную БД
mysql-zabbix-7.2.3-orig.zip
mysql-zabbix-7.2.3-orig.zip
(3.31 МБ) 0 скачиваний
tar -czvf \usr\share\zabbix\sql-scripts\mysql\server.sql.gz -C /usr/share zabbix7_2

После загрузки у нас есть оригинальная база zabbix7_2
смотрим ключи связи триггеры БД
выгружаем таблицы без данных без партицирования можно через phpnyadmin

Выбранные строки из файла server.sql.gz
Связи-zabbix-7.2.3.zip
Связи-zabbix-7.2.3.zip
(8.5 КБ) 0 скачиваний
Таблицы без партицирования-7.2.3.zip
Таблицы без партицирования-7.2.3.zip
(1.54 КБ) 0 скачиваний
Выгруженные таблицы
Таблицы без партицирования оригинал-7.2.3.zip
Таблицы без партицирования оригинал-7.2.3.zip
(2.21 КБ) 0 скачиваний

Удаляем из БД zabbixdb полностью таблицы с партицированием
acknowledges
alerts
auditlog
service_alarms
history
history_text
history_uint
history_log
history_str
trends_uint
trends
events

И загружаем обычные таблицы оригинала
отключаем в событиях партицирование, в настройках заббикса включаем очистку истории, в конфигурации заббикс сервера включаем houskeeper проверяем работу.

Виртуалки процесс тестирования обновлений.jpg
Виртуалки процесс тестирования обновлений.jpg

Несколько версий заббикса на 1 сервере для просмотра
один действующий текущий установленный другой просмотровый
Выгружаем базы или копируем предыдущий версий под другим названием, так же копируем файл конфига Apache конфига заббикса и веб интерфейс.

Например у меня будут БД:
zabbixdb4_4
zabbixdb5_0
zabbixdb5_4
zabbixdb6_4
zabbixdb7_0


zabbixdb - текущая рабочая база
zabbix7.2orig
phpmyadmin-db-zabbix
phpmyadmin-db-zabbix
Веб-интерфейс версии заббикс
/usr/share/
zabbix
zabbix4_4
zabbix5
zabbix5_4
zabbix6_4
zabbix7
Web-zabbix
Web-zabbix
Не забываем сменить в каждой версии имя БД
/conf/zabbix.conf.php

Создаем конфигурации в Apache2
/etc/apache2/conf-available/
zabbix.conf - Рабочая оригинал
zabbix4_4.conf
zabbix5.conf
zabbix5_4.conf
zabbix6_4.conf
zabbix7.conf
Apache-zabbix
Apache-zabbix
conf-available.zip
conf-available.zip
(6.95 КБ) 0 скачиваний
zabbix.conf
Показать

Код: Выделить всё

# Define /zabbix alias, this is the default
# Алиас, который указывает, что URL/zabbix Apache перенаправляет запросы в директорию /usr/share/zabbix/ui
<IfModule mod_alias.c>
    Alias /zabbix /usr/share/zabbix/ui
</IfModule>

<Directory "/usr/share/zabbix/ui">
    # разрешает следование символьным ссылкам.
    Options FollowSymLinks
    # запрещает переопределение настроек с помощью .htaccess
    AllowOverride None
    # разрешают доступ ко всем файлам в этой директории.
    Order allow,deny
    Allow from all

#    <FilesMatch \.php$>
#        SetHandler "proxy:unix:/var/run/php/php7.3-fpm.sock|fcgi://localhost"
#    </FilesMatch>

# Настройки PHP (php_value) устанавливают различные параметры для работы PHP,.
# такие как максимальное время выполнения скрипта, лимит памяти, максимальный размер загружаемого файла и т.д..
# Эти настройки применяются только если загружен соответствующий модуль PHP
#    <IfModule mod_php5.c>
#        php_value max_execution_time 300
#        php_value memory_limit 128M
#        php_value post_max_size 16M
#        php_value upload_max_filesize 2M
#        php_value max_input_time 300
#        php_value max_input_vars 10000
#        php_value always_populate_raw_post_data -1
#        # php_value date.timezone Europe/Riga
#    </IfModule>
#    <IfModule mod_php7.c>
#        php_value max_execution_time 300
#        php_value memory_limit 128M
#        php_value post_max_size 16M
#        php_value upload_max_filesize 2M
#        php_value max_input_time 300
#        php_value max_input_vars 10000
#        php_value always_populate_raw_post_data -1
#        # php_value date.timezone Europe/Riga
#    </IfModule>
</Directory>

<Directory "/usr/share/zabbix/ui/conf">
    # запрещают доступ ко всем файлам в указанных директориях.
    Order deny,allow
    Deny from all
    <files *.php>
        # дополнительно запрещает доступ к PHP-файлам в этих директориях.
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix/ui/app">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix/ui/include">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix/ui/local">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>
zabbix4_4.conf
Показать

Код: Выделить всё

# Define /zabbix alias, this is the default
# Алиас, который указывает, что URL/zabbix Apache перенаправляет запросы в директорию /usr/share/zabbix4_4
<IfModule mod_alias.c>
    Alias /zabbix4_4 /usr/share/zabbix4_4
</IfModule>

<Directory "/usr/share/zabbix4_4">
    # разрешает следование символьным ссылкам.
    Options FollowSymLinks
    # запрещает переопределение настроек с помощью .htaccess
    AllowOverride None
    # разрешают доступ ко всем файлам в этой директории.
    Order allow,deny
    Allow from all

    <FilesMatch \.php$>
        SetHandler "proxy:unix:/var/run/php/php7.3-fpm.sock|fcgi://localhost"
    </FilesMatch>

# Настройки PHP (php_value) устанавливают различные параметры для работы PHP,.
# такие как максимальное время выполнения скрипта, лимит памяти, максимальный размер загружаемого файла и т.д..
# Эти настройки применяются только если загружен соответствующий модуль PHP
#    <IfModule mod_php5.c>
#        php_value max_execution_time 300
#        php_value memory_limit 128M
#        php_value post_max_size 16M
#        php_value upload_max_filesize 2M
#        php_value max_input_time 300
#        php_value max_input_vars 10000
#        php_value always_populate_raw_post_data -1
#        # php_value date.timezone Europe/Riga
#    </IfModule>
#    <IfModule mod_php7.c>
#        php_value max_execution_time 300
#        php_value memory_limit 128M
#        php_value post_max_size 16M
#        php_value upload_max_filesize 2M
#        php_value max_input_time 300
#        php_value max_input_vars 10000
#        php_value always_populate_raw_post_data -1
#        # php_value date.timezone Europe/Riga
#    </IfModule>
</Directory>

<Directory "/usr/share/zabbix4_4/conf">
    # запрещают доступ ко всем файлам в указанных директориях.
    Order deny,allow
    Deny from all
    <files *.php>
        # дополнительно запрещает доступ к PHP-файлам в этих директориях.
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix4_4/app">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix4_4/include">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix4_4/local">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>
zabbix5.conf
Показать

Код: Выделить всё

# Define /zabbix alias, this is the default
# Алиас, который указывает, что URL/zabbix Apache перенаправляет запросы в директорию /usr/share/zabbix5
<IfModule mod_alias.c>
    Alias /zabbix5 /usr/share/zabbix5
</IfModule>

<Directory "/usr/share/zabbix5">
    # разрешает следование символьным ссылкам.
    Options FollowSymLinks
    # запрещает переопределение настроек с помощью .htaccess
    AllowOverride None
    # разрешают доступ ко всем файлам в этой директории.
    Order allow,deny
    Allow from all

    <FilesMatch \.php$>
        SetHandler "proxy:unix:/var/run/php/php7.3-fpm.sock|fcgi://localhost"
    </FilesMatch>

# Настройки PHP (php_value) устанавливают различные параметры для работы PHP,.
# такие как максимальное время выполнения скрипта, лимит памяти, максимальный размер загружаемого файла и т.д..
# Эти настройки применяются только если загружен соответствующий модуль PHP
#    <IfModule mod_php5.c>
#        php_value max_execution_time 300
#        php_value memory_limit 128M
#        php_value post_max_size 16M
#        php_value upload_max_filesize 2M
#        php_value max_input_time 300
#        php_value max_input_vars 10000
#        php_value always_populate_raw_post_data -1
#        # php_value date.timezone Europe/Riga
#    </IfModule>
#    <IfModule mod_php7.c>
#        php_value max_execution_time 300
#        php_value memory_limit 128M
#        php_value post_max_size 16M
#        php_value upload_max_filesize 2M
#        php_value max_input_time 300
#        php_value max_input_vars 10000
#        php_value always_populate_raw_post_data -1
#        # php_value date.timezone Europe/Riga
#    </IfModule>
</Directory>

<Directory "/usr/share/zabbix5/conf">
    # запрещают доступ ко всем файлам в указанных директориях.
    Order deny,allow
    Deny from all
    <files *.php>
	# дополнительно запрещает доступ к PHP-файлам в этих директориях.
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix5/app">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix5/include">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix5/local">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>
zabbix5_4.conf
Показать

Код: Выделить всё

# Define /zabbix alias, this is the default
# Алиас, который указывает, что URL/zabbix Apache перенаправляет запросы в директорию /usr/share/zabbix5_4
<IfModule mod_alias.c>
    Alias /zabbix5_4 /usr/share/zabbix5_4
</IfModule>

<Directory "/usr/share/zabbix5_4">
    # разрешает следование символьным ссылкам.
    Options FollowSymLinks
    # запрещает переопределение настроек с помощью .htaccess
    AllowOverride None
    # разрешают доступ ко всем файлам в этой директории.
    Order allow,deny
    Allow from all

    <FilesMatch \.php$>
        SetHandler "proxy:unix:/var/run/php/php7.3-fpm.sock|fcgi://localhost"
    </FilesMatch>

# Настройки PHP (php_value) устанавливают различные параметры для работы PHP,.
# такие как максимальное время выполнения скрипта, лимит памяти, максимальный размер загружаемого файла и т.д..
# Эти настройки применяются только если загружен соответствующий модуль PHP
#    <IfModule mod_php5.c>
#        php_value max_execution_time 300
#        php_value memory_limit 128M
#        php_value post_max_size 16M
#        php_value upload_max_filesize 2M
#        php_value max_input_time 300
#        php_value max_input_vars 10000
#        php_value always_populate_raw_post_data -1
#        # php_value date.timezone Europe/Riga
#    </IfModule>
#    <IfModule mod_php7.c>
#        php_value max_execution_time 300
#        php_value memory_limit 128M
#        php_value post_max_size 16M
#        php_value upload_max_filesize 2M
#        php_value max_input_time 300
#        php_value max_input_vars 10000
#        php_value always_populate_raw_post_data -1
#        # php_value date.timezone Europe/Riga
#    </IfModule>
</Directory>

<Directory "/usr/share/zabbix5_4/conf">
    # запрещают доступ ко всем файлам в указанных директориях.
    Order deny,allow
    Deny from all
    <files *.php>
        # дополнительно запрещает доступ к PHP-файлам в этих директориях.
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix5_4/app">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix5_4/include">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix5_4/local">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>
zabbix6_4.conf
Показать

Код: Выделить всё

# Define /zabbix alias, this is the default
# Алиас, который указывает, что URL/zabbix Apache перенаправляет запросы в директорию /usr/share/zabbix6_4
<IfModule mod_alias.c>
    Alias /zabbix6_4 /usr/share/zabbix6_4
</IfModule>

<Directory "/usr/share/zabbix6_4">
    # разрешает следование символьным ссылкам.
    Options FollowSymLinks
    # запрещает переопределение настроек с помощью .htaccess
    AllowOverride None
    # разрешают доступ ко всем файлам в этой директории.
    Order allow,deny
    Allow from all

#    <FilesMatch \.php$>
#        SetHandler "proxy:unix:/var/run/php/php7.3-fpm.sock|fcgi://localhost"
#    </FilesMatch>

# Настройки PHP (php_value) устанавливают различные параметры для работы PHP,.
# такие как максимальное время выполнения скрипта, лимит памяти, максимальный размер загружаемого файла и т.д..
# Эти настройки применяются только если загружен соответствующий модуль PHP
#    <IfModule mod_php5.c>
#        php_value max_execution_time 300
#        php_value memory_limit 128M
#        php_value post_max_size 16M
#        php_value upload_max_filesize 2M
#        php_value max_input_time 300
#        php_value max_input_vars 10000
#        php_value always_populate_raw_post_data -1
#        # php_value date.timezone Europe/Riga
#    </IfModule>
#    <IfModule mod_php7.c>
#        php_value max_execution_time 300
#        php_value memory_limit 128M
#        php_value post_max_size 16M
#        php_value upload_max_filesize 2M
#        php_value max_input_time 300
#        php_value max_input_vars 10000
#        php_value always_populate_raw_post_data -1
#        # php_value date.timezone Europe/Riga
#    </IfModule>
</Directory>

<Directory "/usr/share/zabbix6_4/conf">
    # запрещают доступ ко всем файлам в указанных директориях.
    Order deny,allow
    Deny from all
    <files *.php>
         # дополнительно запрещает доступ к PHP-файлам в этих директориях.
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix6_4/app">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix6_4/include">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix6_4/local">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>
zabbix7.conf
Показать

Код: Выделить всё

# Define /zabbix alias, this is the default
# Алиас, который указывает, что URL/zabbix Apache перенаправляет запросы в директорию /usr/share/zabbix7
<IfModule mod_alias.c>
    Alias /zabbix7 /usr/share/zabbix7
</IfModule>

<Directory "/usr/share/zabbix7">
    # разрешает следование символьным ссылкам.
    Options FollowSymLinks
    # запрещает переопределение настроек с помощью .htaccess
    AllowOverride None
    # разрешают доступ ко всем файлам в этой директории.
    Order allow,deny
    Allow from all

#    <FilesMatch \.php$>
#        SetHandler "proxy:unix:/var/run/php/php7.3-fpm.sock|fcgi://localhost"
#    </FilesMatch>

# Настройки PHP (php_value) устанавливают различные параметры для работы PHP,.
# такие как максимальное время выполнения скрипта, лимит памяти, максимальный размер загружаемого файла и т.д..
# Эти настройки применяются только если загружен соответствующий модуль PHP
#    <IfModule mod_php5.c>
#        php_value max_execution_time 300
#        php_value memory_limit 128M
#        php_value post_max_size 16M
#        php_value upload_max_filesize 2M
#        php_value max_input_time 300
#        php_value max_input_vars 10000
#        php_value always_populate_raw_post_data -1
#        # php_value date.timezone Europe/Riga
#    </IfModule>
#    <IfModule mod_php7.c>
#        php_value max_execution_time 300
#        php_value memory_limit 128M
#        php_value post_max_size 16M
#        php_value upload_max_filesize 2M
#        php_value max_input_time 300
#        php_value max_input_vars 10000
#        php_value always_populate_raw_post_data -1
#        # php_value date.timezone Europe/Riga
#    </IfModule>
</Directory>

<Directory "/usr/share/zabbix7/conf">
    # запрещают доступ ко всем файлам в указанных директориях.
    Order deny,allow
    Deny from all
    <files *.php>
        # дополнительно запрещает доступ к PHP-файлам в этих директориях.
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix7/app">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix7/include">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>

<Directory "/usr/share/zabbix7/local">
    Order deny,allow
    Deny from all
    <files *.php>
        Order deny,allow
        Deny from all
    </files>
</Directory>
Включаем конфигурации

Код: Выделить всё

a2enconf zabbix4_4.conf

Код: Выделить всё

a2enconf zabbix5.conf

Код: Выделить всё

a2enconf zabbix5_4.conf

Код: Выделить всё

a2enconf zabbix6_4.conf

Код: Выделить всё

a2enconf zabbix7.conf
Отключение командой: a2disconf

Проверяем конфигурацию

Код: Выделить всё

apachectl configtest
Перечитываем сервисы безе перезапуска

Код: Выделить всё

service apache2 reload
Если что то все таки не применилось тогда рестарт

Код: Выделить всё

service apache2 restart
У меня виртуалка настроена через NAT с пробросом портов по этом ссылки будут иметь следующий вид
NAT
NAT
http://127.0.0.1:8083/zabbix4_4/
http://127.0.0.1:8083/zabbix5/
http://127.0.0.1:8083/zabbix5_4/
http://127.0.0.1:8083/zabbix6_4/
http://127.0.0.1:8083/zabbix7/
http://127.0.0.1:8083/zabbix/
zabbix4.4
zabbix4.4
zabbix5
zabbix5
zabbix5.4
zabbix5.4
zabbix6.4
zabbix6.4
zabbix7
zabbix7
zabbix7.2
zabbix7.2
количество слов: 1858
Ответить Вложения 18 Пред. темаСлед. тема

Вернуться в «Установка Заббикс и Дополнений»