Введение
В своей инструкции по установке и настройке zabbix я вообще не затрагиваю вопрос базы данных mysql или производительности сервера в целом. Я просто беру дефолтные настройки mariadb, которые идут с установкой и использую их. Когда у вас не очень большая инфраструктура на мониторинге этого вполне достаточно, чтобы нормально пользоваться системой.
Если вы активно используете zabbix и внедряете его повсеместно во все используемые системы (а я рекомендую так делать), то вы рано или поздно столкнетесь с вопросом производительности системы мониторинга и размера базы данных zabbix.
Тема производительности zabbix очень индивидуальная. Она напрямую зависит от того, как вы его используете, а схемы мониторинга могут быть очень разные. Одно дело мониторить несколько серверов, а другое дело нагруженные свичи на 48 портов со съемом метрик с каждого порта раз в 30 секунд.
Чтобы помочь вам разобраться в этой теме и прикинуть, к чему готовиться, я поделюсь с вами своим опытом эксплуатации заббикса, его нагрузки, производительности и обслуживания базы данных mysql. Расскажу, как можно уменьшить размер базы.
Сжатие и оптимизация таблиц InnoDB
Файлы ibdata1 и ib_log
Большинство проектов с таблицами InnoDB имеют проблемы с большими файлами ibdata1 и ib_log. В большинстве случаев это связано с неправильной конфигурацией MySQL/MariaDB или архитектурой БД. Вся информация из таблиц InnoDB хранится в файле ibdata1, пространство которого само не используется. Я предпочитаю хранить данные таблицы в отдельных файлах ibd*. Для этого добавьте в my.cnf следующую строку:
innodb_file_per_table
или
innodb_file_per_table = 1
Если ваш сервер настроен и у вас есть продуктивные базы данных с таблицами InnoDB, сделайте следующее:
- Сделайте резервную копию всех баз данных на вашем сервере (кроме mysql и performance_schema). Вы можете получить дамп базы данных с помощью этой команды:
- После создания резервной копии базы данных остановите сервер mysql/mariadb;
- Измените настройки в my.cfg;
- Удалите файлы ibdata1 и ib_log;
- Запустите демон mysql/mariadb;
- Восстановить все базы из резервной копии:
После этого все таблицы InnoDB будут храниться в отдельных файлах, и ibdata1 перестанет экспоненциально расти.
Сжатие таблиц InnoDB
Вы можете сжимать таблицы с текстовыми данными / данными BLOB и экономить довольно много места на диске.
У меня есть база данных innodb_test, содержащая таблицы, которые потенциально могут быть сжаты, и поэтому я могу освободить место на диске. Прежде чем что-либо делать, я рекомендую сделать резервную копию всех баз данных. Подключитесь к серверу mysql:
# mysql -u root -p
Выберите нужную базу данных в консоли mysql:
# use innodb_test;
Чтобы отобразить список таблиц и их размеры, используйте следующий запрос:
SELECT table_name AS "Table", ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size in (MB)" FROM information_schema.TABLES WHERE table_schema = "innodb_test" ORDER BY (data_length + index_length) DESC;
Где innodb_test — имя вашей базы данных.
Некоторые таблицы могут быть сжаты. Возьмем для примера таблицу b_crm_event_relations. Запустите этот запрос:
mysql> ALTER TABLE b_crm_event_relations ROW_FORMAT=COMPRESSED;
После его запуска вы можете увидеть, что размер таблицы уменьшился с 26 МБ до 11 МБ из-за сжатия.
Сжимая таблицы, вы можете сэкономить много дискового пространства на вашем хосте. Однако при работе со сжатыми таблицами нагрузка на процессор возрастает. Используйте сжатие для таблиц db, если у вас нет проблем с ресурсами процессора, но есть проблема с дисковым пространством.
1-й способ
Скрипт создания проверочного файла
Я использую описанную выше схему для бэкапа как windows так и linux серверов. Поэтому скрипта будет 2, для каждой системы. Вот пример такого скрипта для linux:
# mcedit create-timestamp.sh #!/bin/sh echo `date +"%Y-%m-%d_%H-%M"` > /shares/docs/timestamp
Скрипт просто создает файл и записывает в него текущую дату. Нам этого достаточно. Писать туда можно все, что угодно, так как проверять мы будем не содержимое, а дату последнего изменения.
Добавляем этот скрипт в cron:
# mcedit /etc/crontab #Create timestamp for backup monitoring 1 15 * * * root /root/bin/create-timestamp.sh
Раз в день в 15:01 скрипт будет создавать файл, перезаписывая предыдущий.
Делаем то же самое на windows. Создаем файл create-timestamp.bat следующего содержания:
echo %date:~-10% > D:documentstimestamp
И добавляем его в планировщик windows. Не забудьте указать, чтобы скрипт запускался вне зависимости от регистрации пользователя, то есть чтобы он работал, даже если в системе никто не залогинен.
Запустите оба скрипта, чтобы проверить, что все в порядке, и необходимые файлы создаются.
Запустите стандартные скрипты бэкапа, чтобы созданные файлы переместились на резервные сервера. После этого можно приступать к настройке мониторинга за изменением файлов в zabbix.
Настраиваем мониторинг бэкапов через проверку даты изменения файлов
Дальше привычное дело по созданию итемов и триггеров. Идем в панель управления zabbix, открываем раздел Configuration -> Hosts, выбираем сервер, на котором у нас хранятся бэкапы и создаем там итем со следующими параметрами:
На скриншот не влезла вся строка параметра Key, поэтому привожу ее здесь:
vfs.file.time[/mnt/data/BackUp/xb-share/documents/timestamp,modify]
/mnt/data/BackUp/xb-share/documents/timestamp | Путь к проверяемому файлу на сервере бэкапов |
modify | Время изменения файла. Параметр может принимать значения: access — время последнего доступа, change — время последнего изменения |
Не очень понимаю, чем отличается время изменения, от времени последнего изменения. Эта информация из документации zabbix. Для того, чтобы у вас корректно собирались данные, необходимо, чтобы у пользователя zabbix были права на чтение указанного файла. Обязательно проверьте это. Я не сделал это, через одну из папок агент не мог пройти из-за недостатка прав. В итоге получил ошибку:
17177:20160321:002008.008 item "xb-share-documents:vfs.file.time[/mnt/data/BackUp/xb-share/documents/timestamp]" became not supported: Not supported by Zabbix Agent
Из текста не понятно, в чем проблема. Про права я догадался. Обновление итема установил раз в 10 минут (параметр update interval), чаще не вижу смысла, можно вообще поставить пару раз в сутки, в зависимости от вашего плана архивации данных.
Теперь создадим триггер для этого элемента данных:
Разберем, что у нас в выражении написано:
{xm-backup:vfs.file.time[/mnt/data/BackUp/xb-share/documents/timestamp,modify].now(0)}-{xm-backup:vfs.file.time[/mnt/data/BackUp/xb-share/documents/timestamp,modify].last(0)}>172800
xm-backup — сервер, на котором хранятся бэкапы. Мы берем текущее время, вычитаем из него время последнего изменения файла. Если оно больше 172800 секунд (2 суток), то срабатывает триггер. Вы можете сами выбрать подходящий вам интервал времени сравнения в зависимости от плана бэкапа.
Для тестирования работы оповещений отключите в один из дней скрипты на источниках, создающие проверочный файл. Как только он просрочится, сработает триггер.
На этом все. Мы настроили простейший мониторинг бэкапов с помощью zabbix. Если по какой-то причине файлы перестанут синхронизироваться с сервером резервных копий, вы узнаете об этом и сможете вовремя обнаружить проблему.
Настройка мониторинга
Объекты мониторинга в систему вы можете добавлять как вручную, так и автоматически. Причем ручной ввод возможен как по ip адресам, так и по DNS или Netbios именам.
Далее я просканирую локальную сеть и добавлю найденные объекты автоматически. Для этого идем в Client и выбираем там установленный ранее сервер. После этого нажимаем Сканирование сети.
У меня он нашел все, что было доступно по сети — 2 windows сервера, 2 linux сервера и 2 микротика. Последних он никак не пометил, а вот первых двух определил, кто есть кто. Обнаружил открытые порты управления rdp, ssh и некоторые другие. Вы можете сразу же вручную переименовать те устройства, что обнаружены по ip адресам.
Для того, чтобы добавить информацию с узла в систему мониторинга, надо указать учетные данные для подключения. Для этого выбираем найденный хост, жмем правую кнопку мышки и выбираем раздел Задать пароли для раздела аналитика.
В зависимости от того, какая операционная система на сервере, надо будет указать либо WMI, либо SSH пользователя. После этого данные начнут поступать на сервер, и их можно будет анализировать. Чтобы получить актуальную инфомрацию, нужно будет подождать несколько минут после добавления учетных данных.
Если вы используете нестандартные порты на своих устройствах, то это не проблема. Изменить их можно, открыв на редактирование объект мониторинга, во вкладке порты.
Я не буду подробно останавливаться на собираемых метриках, так как этот вопрос внимательно рассмотрел в статье. С тех пор существенных изменений в этой части программы не было, кроме того, что появилась возможность мониторить linux машины.
Так же из нововведений — возможность настраивать пороги срабатывания триггеров. Например, вы можете указать, что предупреждение об окончании свободного места на диске будет приходить, когда останется свободных 5%. Причем настройки могут наследоваться от группы хостов, от самого хоста, либо настраиваться для каждого диска в отдельности. То же самое с остальными метриками.
Как и в любой системе мониторинга вы сможете посмотреть исторические данные по каждому хосту, чтобы оценить динамику потребления ресурсов. С помощью этой информации, к примеру, можно прикинуть, когда закончится место на диске. Выглядит историческая информация примерно так.
Права доступа, разрешения и привилегии
XtraBackup должна иметь возможность:
-
Подключиться к вашему серверу MySQL.
-
Обладать правами доступа к каталогу datadir.
-
Во время создания резервной копии иметь права на запись в указанный через параметр target-dir каталог.
Что такое datadir?
datadir — это каталог, в котором сервер баз данных MySQL хранит данные. Все базы данных, все таблицы находятся там. В большинстве дистрибутивов Linux по умолчанию таким каталогом является /var/lib/mysql.
Что такое target-dir каталог?
target-dir — это каталог, в который будет сохранена резервная копия.
Пользователю базы данных необходимы следующие права доступа к таблицам и базам данных, подлежащих резервному копированию:
-
RELOAD и LOCK TABLES
-
REPLICATION CLIENT
-
CREATE TABLESPACE
-
PROCESS
-
SUPER
-
CREATE
-
INSERT
-
SELECT
Конфигурация
Конфигурация XtraBackup выполняется с помощью опций, которые ведут себя так же, как и стандартные параметры MySQL.
Что это значит?
Конфигурационные параметры могут быть указаны либо в командной строке, либо в файле конфигурации СУБД, например в /etc/my.cnf.
Утилита XtraBackup после запуска считывает разделы и из конфигурационных файлов MySQL. Это делается для того, чтобы утилита могла использовать настройки вашей СУБД без необходимости указания параметров руками при каждом резервном копировании.
Например, значение datadir и некоторые параметры InnoDB XtraBackup получаем из конфигурации вашей СУБД.
Если для работы XtraBackup вы хотите переопределить параметры, которые находятся в секции , то просто укажите их в конфигурационном файле в секции . Поскольку они будут прочитаны позже, их приоритет будут выше.
Вам можете не добавлять никаких параметров в my.cnf. Все требуемые параметры допустимо указывать в командной строке. Обычно единственное, что может быть удобно разместить в разделе вашего my.cnf — это параметр target_dir, который по умолчанию определяет каталог, в который будут помещены резервные копии. Но это не обязательно.
Пример указания пути к каталогу с резервной копией в my.cnf:
Как спланировать нагрузку на Zabbix
Под небольшой структурой, упомянутой в начале, я подразумеваю 50-100 узлов (не сетевое оборудование с десятками портов) сети на мониторинге и примерно 2000-4000 активных элементов данных, которые записывают 20-40 новых значений в секунду. Под такую сеть вам будет достаточно небольшой виртуальной машины с 2 ядрами и 4 гб памяти. База данных на преимущественно стандартных шаблонах будет расти примерно на 2-4 Гб в год. Дальше еще меньше, так как будет автоматически очищаться.
Для мониторинга такой сети можно вообще не выполнять никаких дополнительных настроек. Мониторинг будет вполне нормально работать. Если же нагрузка начнет расти, то первое, с чем вы столкнетесь — это с размером и производительностью базы данных. База zabbix будет расти пропорционально подключению к ней хостов. И с этим придется что-то делать.
Для решения вопроса производительности нужно будет двигаться в двух направлениях:
- Очистка базы от ненужных данных.
- Увеличение производительности сервера mysql.
Каждый из указанных вопросов многогранен. Далее мы частично их рассмотрим и выполним наиболее простые, очевидные и результативные изменения.
Добавляем новые шаблоны
В 5 версии Zabbix появились новые усовершенствованные шаблоны, но после обновления они не появились автоматически. Добавим их вручную.
Конечно, возможно придется отказаться от старых шаблонов, но это уже другая история.
Обновляем прокси и агентов
Обновление Zabbix-прокси практически такое же как и для сервера, но с одним исключением. Вместо команды:
нужно использовать:
В остальном никаких проблем быть не должно. Вы всегда можете проверить какие пакеты Zabbix установлены на сервере с Zabbix-прокси, чтобы знать что обновлять. Команды для просмотра списка мы уже рассматривали выше.
Что касается агентов, то тут тоже ничего нового. Просто актуализируйте репозиторий и выполните:
На самом деле мы это уже сделали на сервере в примере выше.
Обновить агентов в других ОС также не сложная: скачивайте новый дистрибутив и устанавливайте / обновляете его компоненты. Никаких сложностей не должно быть. Если же будут, то обратитесь к официальной документации.
Продолжение следует
Теперь мы используем Zabbix 5 версии, задача успешно выполнена.
Это была еще одна небольшая публикация по теме мониторинга с помощью Zabbix. В следующих статьях мы поговорим о создании своего шаблон для сбора метрик и рассмотрим некоторые особенности этого процесса, настроим уведомления в Telegram-канал, а также получении данных с Prometheus и визуализации данных в Grafana. И, конечно же, оптимизация производительности сервера мониторинга Zabbix!
Будьте на связи
Будьте в курсе
Создание материалов будет продолжаться. Хотите быть в курсе последних обновлений? Подписывайтесь на канал.
По любым вопросам пишите на электронную почту. Адрес в самом низу страницы.
← Предыдущая
публикация
Следующая
публикация →
1) Запросы для чистки базы:
-- keep 1 week of history and 3 months of trends \SET history_interval 7 \SET trends_interval 90 DELETE FROM alerts WHERE age(to_timestamp(alerts.clock)) > (:history_interval * INTERVAL '1 day'); DELETE FROM acknowledges WHERE age(to_timestamp(acknowledges.clock)) > (:history_interval * INTERVAL '1 day'); DELETE FROM events WHERE age(to_timestamp(events.clock)) > (:history_interval * INTERVAL '1 day'); DELETE FROM history WHERE age(to_timestamp(history.clock)) > (:history_interval * INTERVAL '1 day'); DELETE FROM history_uint WHERE age(to_timestamp(history_uint.clock)) > (:history_interval * INTERVAL '1 day') ; DELETE FROM history_str WHERE age(to_timestamp(history_str.clock)) > (:history_interval * INTERVAL '1 day') ; DELETE FROM history_text WHERE age(to_timestamp(history_text.clock)) > (:history_interval * INTERVAL '1 day') ; DELETE FROM history_log WHERE age(to_timestamp(history_log.clock)) > (:history_interval * INTERVAL '1 day') ; DELETE FROM trends WHERE age(to_timestamp(trends.clock)) > (:trends_interval * INTERVAL '1 day'); DELETE FROM trends_uint WHERE age(to_timestamp(trends_uint.clock)) > (:trends_interval * INTERVAL '1 day') ; |
Непосредственно запуск:
time sudo -u postgres psql -A -R ' : ' -P 'footer=off' zabbix < delete-old-data.pg.sql |
Zabbix — Мониторинг коммутатора через SNMP
Хотите узнать, как настроить Zabbix для мониторинга коммутатора с использованием SNMP? В этом руководстве мы покажем вам, как контролировать сетевой коммутатор через SNMP-сервер Zabbix.
• Zabbix версия: 4.4.0
Прежде чем мы начнем, вам нужно настроить SNMP на вашем сетевом коммутаторе.
Вот несколько примеров конфигурации SNMP:
• Конфигурация SNMP на коммутаторе HP
• Конфигурация SNMP на коммутаторе Cisco
Список оборудования:
В следующем разделе представлен список оборудования, использованного для создания этого учебника Zabbix.
Каждое оборудование, перечисленное выше, можно найти на сайте Amazon.
Zabbix Playlist:
На этой странице мы предлагаем быстрый доступ к списку видео, связанных с установкой Zabbix.
Playlist
Не забудьте подписаться на наш канал на YouTube FKIT.
На этой странице мы предлагаем быстрый доступ к списку учебных пособий, связанных с установкой Zabbix.
Учебное пособие — Zabbix Monitor Switch через SNMP
Получите доступ к панели инструментов Zabbix-сервера и добавьте сетевой коммутатор в качестве хоста.
Откройте браузер и введите IP-адрес вашего веб-сервера плюс / zabbix.
В нашем примере в браузере был введен следующий URL:
• http://192.168.0.10/zabbix
На экране входа в систему используйте имя пользователя по умолчанию и пароль по умолчанию.
• Имя пользователя по умолчанию: Admin
• Пароль по умолчанию: zabbix
После успешного входа вы будете отправлены на Zabbix Dashboard.
На экране панели инструментов откройте меню «Конфигурация» и выберите опцию «Хост».
В правом верхнем углу экрана нажмите кнопку «Создать хост».
На экране конфигурации хоста вам нужно будет ввести следующую информацию:
• Имя хоста — введите имя хоста для идентификации коммутатора.
• Видимое имя хоста — повторите имя хоста.
• Новая группа — введите имя для идентификации группы похожих устройств.
• Интерфейс агента — нажмите на кнопку Удалить.
• Интерфейс SNMP — нажмите кнопку «Добавить» и введите IP-адрес сетевого коммутатора.
Вот оригинальное изображение, перед нашей конфигурацией.
Вот новое изображение с нашей конфигурацией.
Далее нам нужно настроить сообщество SNMP, которое Zabbix будет использовать для подключения к сетевому коммутатору.
Откройте вкладку «Макросы» в верхней части экрана.
Создайте макрос с именем: {$ SNMP_COMMUNITY}
Значение макроса {$ SNMP_COMMUNITY} должно быть сообществом сетевого коммутатора SNMP.
В нашем примере значением {$ SNMP_COMMUNITY} является GokuBlack
Далее нам нужно связать хост с определенным шаблоном сетевого монитора.
По умолчанию Zabbix поставляется с большим разнообразием шаблонов мониторинга.
Откройте вкладку «Шаблоны» в верхней части экрана.
Найдите и выберите шаблон с именем: Шаблон Net Network Generic Device SNMPv2
Через несколько минут вы сможете увидеть первоначальный результат на Zabbix Dashboard.
Окончательный результат займет не менее часа.
По умолчанию Zabbix будет ждать 1 час, чтобы определить количество интерфейсов, доступных на коммутаторе.
По умолчанию Zabbix будет ждать 1 час, прежде чем собирать информацию из интерфейсов сетевого коммутатора.
Поздравляем! Вы настроили Zabbix сервер для мониторинга сетевого коммутатора.
2020-01-08T17:13:12-03:00
Установка собственного сервера Veliam Box
Для начала расскажу пару слов об архитектуре решения, если вы с ним еще не знакомы. Veliam состоит из следующих компонентов:
- Veliam Center — ядро всей системы. В случае SaaS версии, оно расположено на серверах разработчиков. В версии BOX у вас есть возможность развернуть его у себя. Ядро взаимодействует с базой данных. Вся основная информация хранится в нем.
- Veliam Server — сервер мониторинга. Занимается непосредственно сбором данных с объектов мониторинга. Подобных серверов может быть развернуто несколько в зависимости от схемы наблюдаемой инфраструктуры.
- Veliam Client — приложение, которое устанавливается на компьютер администратора системы. С помощью этого приложения происходит управление всей системой. Client подключается напрямую к ядру.
Ечли вы знакомы с архитектурой мониторинга Zabbix, то сопоставить с Veliam их можно следующим образом:
- Veliam Center — Zabbix Server
- Veliam Server — Zabbix Proxy
- Veliam Client — Zabbix web interface
Для того, чтобы развернуть Veliam Center у себя, необходимо его скачать. Это можно сделать в личном кабинете, предварительно зарегистрировавшись в нем.
Дистрибутив весит чуть более 200мб. Установить его можно на любую современную Windows систему. Для экономии можно взять Windows 10, не обязательно серверную версию. Если предполагается мониторинг небольшой инфраструктуры, все 3 компонента системы можно установить на один и тот же компьютер или виртуальную машину. Если же потребуется масштабирование, то каждый компонент может быть установлен отдельно.
Инсталлятор показывает требуемое доступное место с большим запасом. Так как все данные будут храниться локально в базе данных, желательно озаботиться наличием свободного места заранее. Непосредственно для установки достаточно будет примерно 1 Гб свободного места на все.
После установки вам нужно будет подключить Veliam Server к Center. Если все установлено локально на один компьютер, то в качестве адреса укажите 127.0.0.1. Логин и пароль по умолчанию — admin / admin.
Если все прошло успешно, то увидите информационное сообщение об этом.
Теперь можно запустить Veliam Client Box (ярлык должен быть на рабочем столе) и подключиться к системе для дальнейшей настройки. Для этого нужно добавить адрес Center в клиенте. Если подключаетесь локально, указываем 127.0.0.1. Но я бы рекомендовал установить клиент на свое рабочее устройство. Так будет просто удобнее. Если вы будете активно использовать систему, то клиент нужен будет постоянно. При подключении используем ту же самую учетную запись — admin / admin.
После того, как вы первый раз подключитесь к Veliam Center, увидите информацию о том, что он не активирован. Активировать пробную версию на 30 дней можно через личный кабинет. Для этого в клиенте перейдите в раздел Активация и нажмите Активировать офлайн.
Скопируйте строку запроса лицензии и переместитесь в личный кабинет https://lic.veliam.com в раздел Лицензии коробочной версии и сертификаты поддержки. Там выберите строку с неактивированной лицензией и далее в поле с запросом лицензии вставьте запрос, который вы скопировали в клиенте. В ответ получите строку с активацией.
Скопируйте ее и вставьте в клиенте в поле Строка активации. Все, ваш Veliam Box активирован и готов к настройке.
Подготовка к обновлению
Важная информация перед обновлением. Версия 5.2 без длительной поддержки. Через пол года к ней перестанут выходить обновления, так что вам обязательно придется обновляться на следующую версию. Если для вас не критичны нововведения этого релиза, пропускайте его и ждите новой LTS версии.
Если у вас версия ниже 5.0, то предварительно обновите ее до указанной. У меня есть цикл статей на тему обновления Zabbix:
- 2.4 до 3.0
- 3.0 до 3.2
- 3.2 до 3.4
- 3.4 до 4.0
- 4.0 до 4.2
- 4.2 до 4.4
- 4.4 до 5.0
Перед обновлением, сделаем на всякий случай бэкап базы данных. Для этого предварительно остановим сервер с агентом.
У меня что-то активно писалось в базу, поэтому сервер выключался долго. Я проверил лог zabbix-server, чтобы убедиться в корректном выключении. Там все нормально было, сервер штатно завершил работу, дописав то, что у него там накопилось. Так что бэкапим.
zabbix | название базы данных заббикса |
-uzabbix | ключ -u и дальше имя пользователя базы данных |
-p’password’ | ключ -p и дальше пароль пользователя бд, если в пароле есть спецсимволы, экранируйте их одиночными кавычками |
На всякий случай сохраним php скрипты админки, чтобы можно было оперативно запустить старую версию в случае нештатной ситуации. Хотя лично я сделал снепшот виртуалки перед обновлением, чтобы откатиться назад в случае проблем.
Centos 7
Подключаем репозиторий версии zabbix 5.0:
# rpm -Uvh https://repo.zabbix.com/zabbix/5.2/rhel/7/x86_64/zabbix-release-5.2-1.el7.noarch.rpm
Centos 8
# rpm -Uvh https://repo.zabbix.com/zabbix/5.2/rhel/8/x86_64/zabbix-release-5.2-1.el8.noarch.rpmСтарый репозиторий от версии 4.4 будет автоматически удален.
Очищаем и пересоздаем кэш yum:
Удаляем пакет текущего репозитория:
Подключаем новый:
Обновляем информацию о репозиториях:
Удаляем пакет текущего репозитория:
Подключаем новый:
Обновляем информацию о репозиториях:
Ubuntu 20
Удаляем пакет текущего репозитория:
Подключаем новый:
Обновляем информацию о репозиториях:
Если у вас другие версии систем, то простой найдите ссылки пакетов под свою версию в официальном репозитории — https://repo.zabbix.com/zabbix/5.2/ Дальнейшее обновление не будет отличаться от текущего.
К обновлению подготовились, можно приступать.
Заключение
Я показал простейший пример работы с json для тех, кто никогда не использовал его в zabbix. Благодаря тому, что в какой-то не очень давней версии появились зависимые элементы, работа с мониторингом сильно упростилась. Первое, что мне пришло в голову, когда нужно было выбрать отдельные значения из json вывода — написать баш скрипт. Это не сложно, я бы быстро распарсил и вытащил те данные, что мне нужны. Но вспомнив про зависимые элементы и возможность обработки данных в самом заббиксе, решил посмотреть в эту сторону и не ошибся. Так действительно проще и удобнее. За нас уже все сделали разработчики.
Скорее всего вам понадобится не просто парсинг json файла, но и автообнаружение на основе данных из него и автоматическое создание итемов. Но это уже тема отдельной статьи. А на сегодняшний момент это все, что я хотел рассказать, пока выдалась возможность поделиться информацией.
Онлайн курс Infrastructure as a code
Если у вас есть желание научиться автоматизировать свою работу, избавить себя и команду от рутины, рекомендую пройти онлайн курс Infrastructure as a code. в OTUS. Обучение длится 4 месяца.
Что даст вам этот курс:
- Познакомитесь с Terraform.
- Изучите систему управления конфигурацией Ansible.
- Познакомитесь с другими системами управления конфигурацией — Chef, Puppet, SaltStack.
- Узнаете, чем отличается изменяемая инфраструктура от неизменяемой, а также научитесь выбирать и управлять ей.
- В заключительном модуле изучите инструменты CI/CD: это GitLab и Jenkins
Смотрите подробнее программу по .