ServerAdmin.ru
31.6K subscribers
843 photos
57 videos
23 files
2.99K links
Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Ресурс включён в перечень Роскомнадзора
Download Telegram
Просматривал на днях блог Zabbix. Обратил внимание на статью про интерактивные дашборды. Они вроде бы в 7-й версии появились. Может чуть раньше, уже точно не помню. Я анонсы и картинки посмотрел, немного потыкался у себя, но настраивать ничего не стал. Нужды особой не было. А тут понравились картинки, решил всё же разобраться и настроить.

В итоге всё получилось и это действительно удобно. Сделал себе основной дашборд с тремя страницами. Расскажу про каждую.

1️⃣ Страница с проблемами. У меня она всегда основная. Все проблемы на виду. Тут никаких изменений. Это старый виджет, появившийся с незапамятных времён.

2️⃣ Навигатор хостов. С ним немного повозился, так как не сразу понял, как всё это должно работать.

▪️Первый виджет - Навигатор по узлам сети с группировкой по группам.

▪️Второй - Навигатор по элементам данных. Сначала никак не мог понять, как их связать между собой, чтобы навигатор элементов отображал элементы того хоста, который выбран в навигаторе хостов. В итоге догадался, что в виджете с элементами, там где мы выбираем хост, к которому он должен быть привязан, надо выбрать не хост, а предыдущий виджет с текущей страницы.

▪️Третий виджет - Карточка хоста. Там тоже в качестве хоста указываем виджет с навигатором хостов.

▪️Четвёртый виджет - Значение элемента данных. В качестве элемента данных выбираем виджет с навигатором элементов.

▪️Пятый виджет - Топ узлов сети, отсортированных по потреблению CPU. Он сам по себе, ни к чему не привязан.

В итоге прямо на дашборде я получил обзор всех хостов с группировкой по группам. При выборе хоста я тут же получаю основную информацию по нему со ссылками на настройки хоста, последние данные, проблемы, а также навигатор по всем его элементам данных. При выборе элемента данных я получаю информацию по нему с графиком изменений. При нажатии на этот элемент, открывается график из последних данных, где можно оценить исторические изменения.

Теперь нет необходимости через меню перемещаться к списку хостов в разделе МониторингУзлы сети. Из дашборда быстрее и удобнее посмотреть всю информацию по узлу. И нет необходимости отдельно ходить в Последние данные. Опять же быстрее попасть туда из дашборда, сразу получив информацию по нужному элементу данных.

3️⃣ Третья страница у меня такая же, как вторая, но в навигаторе хостов сортировка по важности триггеров. Сразу видно все активные триггеры и их хосты. При выборе хоста в отдельном виджете отображается список активных триггеров. На этой странице удобно пробежаться по всем проблемам и оценить их.

Не зря потратил время на разбирательства. Интерактивные дашборды в Zabbix реально удобны. Мало того, что они действительно неплохо выглядят, но лично я для красоты обычно ничего не настраиваю, но и добавляют функциональность, которая упрощает эксплуатацию мониторинга. Так что ещё немного поковыряюсь с интерактивными виджетами и скорее всего распространю их на все серверы. Надо будет немного попользоваться и подумать, как их можно улучшить и сделать более удобными.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#zabbix
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍120👎2
Ко мне прилетела задача по обновлению сервера Zabbix 5.0 на Centos 7 на что-то более свежее и поддерживаемое. В идеале на Zabbix 7.0. Напомню, что система Centos 7 уже год как EOL. Zabbix 5 – последняя версия сервера, которую можно было установить на эту систему.

Большой нужды в плане функциональности обновляться нет. Мониторинг работает нормально и каких-то кардинальных изменений в нём не предвидится. Но вечно сидеть на старых версиях нельзя, так что принято решение обновиться.

Я не раз делал такие миграции. Самый надёжный способ – просто перенести вручную с Centos 7 на Debian или любую другую современную систему. Это гарантированно рабочий вариант, но нужно повозиться, ничего не забыть, не потерять, всё перенастроить. Довольно хлопотно.

Решил пойти по более простому в плане организационных моментов, но более сложном в плане технических – сделать обновление системы на Rocky Linux 8, потом на Rocky Linux 9. Сразу скажу, что у меня получилось, хотя не очень верил в успешный результат. Был чисто спортивный интерес попробовать, получится или нет.

Точную инструкцию по обновлению не написать, потому что всё очень индивидуально. Расскажу по шагам, как действовал я.

1️⃣ Для подобного рода обновлений есть один инструмент - leapp. Его и используют все форки Centos и RHEL для обновлений между релизами. Я взял за основу вот эту статью. Буквально несколько первых команд из неё пригодились.

2️⃣ Процедура подготовки к обновлению показала, что мешают обновиться пара драйверов - floppy и pata_acpi. Отключил их, прошёл основные проверки. Было много некритичных замечаний, проигнорировал их.

3️⃣ В процессе обновления было несколько ошибок из-за несовместимости пакетов и зависимостей. В системе подключено много внешних репозиториев в различными версиями php, python, версиями nginx и т.д. Всё отключил. На все ошибки зависимостей в пакетах реагировал просто - удалял проблемные пакеты. Система в итоге обновилась и превратилась в Rocky Linux 8.

4️⃣ В процессе обновления пакеты с Zabbix и MariaDB были удалены. Все данные и конфиги остались. Установил заново СУБД, проблем не возникло, запустилась.

5️⃣ Подключил репозиторий с Zabbix 6, установил необходимые пакеты, вернул старые конфиги. Сервер запустился, выполнил обновление своей базы данных и штатно заработал.

6️⃣ Дальше я вручную проверил все настройки веб сервера, php, поправил где, что нужно было. Запустил все службы. Зашёл в веб интерфейс и убедился, что мониторинг нормально работает.

В целом не сказать, что много времени потерял. Часа за 2 управился. Но это при том, что я хорошо понимаю, как всё это работает. Сразу по месту исправлял все ошибки. Особо не ковырялся и не соображал, как тут что работает. Следующий этап - обновиться на Rocky 9 и Zabbix 7. Спешки особо нет, так как текущие системы пока на поддержке. Можно подождать уже до выхода Zabbix 8. С учётом того, что 7.4 уже готова, дальше будет релиз новой ветки.

Если большого опыта работы с Zabbix Server и веб сервером нет, лучше потратить больше времени, но сделать аккуратную миграцию на новый сервер. Конкретно с Zabbix это выглядит так:

1️⃣ Ставите новую систему, настраиваете. Устанавливаете там ту же самую версию Zabbix Server. Для небольшой экономии времени можно сразу установить на один релиз выше, то есть не 5, как у меня, а сразу 6. Тоже должно сработать, но для надёжности я бы сначала ту же версию установил.

2️⃣ Со старого сервера переносите все конфиги Zabbix, останавливаете его, снимаете дамп базы данных, переносите его на новый сервер, восстанавливаете.

3️⃣ Запускаете Zabbix на новом сервере, убеждаетесь, что он нормально работает. После этого уже штатно обновляете его на новом сервере на следующий релиз. Прыгать через релиз я бы не рекомендовал, хотя видел отзывы, что так тоже получается обновиться.

Обновления форков RHEL с релиза на релиз вполне рабочие. Я не раз такое проворачивал. Хотя и считается, что обновлений между ними нет. На деле обновляются примерно так же, как и Debian с Ubuntu.

#centos #zabbix
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍108👎2
Насколько мне известно, у Zabbix до сих пор нет стандартного шаблона для мониторинга за временем оплаты домена. Про крайней мере мне такой неизвестен. Если он уже есть и я его упустил, прошу подсказать.

В разное время я реализовывал различные способы решения этой задачи. Все они один за одним собирались в статью на сайте:

Мониторинг времени делегирования домена в zabbix

Все способы, описанные там, актуальны и работают. Основное их неудобство - реализация через скрипты, от чего уже давно хочется уйти, потому что неудобно ходить в консоль и править там список доменов. Можно собрать простенький пайплайн для этого, но это тоже перебор для такой простой задачи.

Я её однажды реализовал полностью в шаблоне без скриптов с помощью внешнего сервиса Whois API и его бесплатного тарифа. В принципе, вариант рабочий, но не всегда удобно регистрироваться во внешнем сервисе, получать от него токен и в целом зависеть от его доступности.

Прикинул, как можно сделать так же удобно, реализовав всю логику только в шаблоне Zabbix, в том числе в нём же в макросах вести список доменов, но при этом без внешнего сервиса. Решил для этого воспользоваться готовым экспортером для Prometheus. Он удобен тем, что отдаёт метрики по HTTP, а значит их можно забирать заббиксом напрямую через его HTTP Агент.

Рассказываю по шагам, как всё настроил.

1️⃣ Поднимаю на любой своей машине в докере domain_exporter. Можно тут же на сервере Zabbix.

2️⃣ В шаблоне Zabbix создаю правило обнаружения с любым типом. Для примера взял тип Внутренний Zabbix и ключ zabbix[boottime]. Значения этого ключа нам не нужны, так как мы их сразу же будем преобразовывать.

3️⃣ В правиле обнаружения настроил предобработку типа JavaScript с таким кодом:

var domains = '{$DOMAINS}'.split(/\s+/);
var data = [];
for (var i = 0; i < domains.length; i++) {
  data.push({ "{#DOMAIN}": domains[i] });
}
return JSON.stringify({ data: data });

Берём список доменов из макроса {$DOMAINS} и преобразуем их в строку:

{
 "data": [
  { "{#DOMAIN}": "serveradmin.ru" },
  { "{#DOMAIN}": "example.com" }
 ]
}

Это формат, который принимают прототипы айтемов и триггеров.

4️⃣ Создал в шаблоне макросы:

◽️{$DOMAINS} = serveradmin.ru example.com # разделитель доменов - пробел;
◽️{$PROM_URL} = http://10.30.52.9:9222/probe # адрес экспортера;
◽️{$WARN_DAYS} = 30 # порог в днях для триггера со статусом предупреждение;
◽️{$CRIT_DAYS} = 5 # порог в днях для триггера со статусом критический.

5️⃣ Создал прототип айтема с типом HTTP Agent. В качестве урла указал {$PROM_URL}, а для передачи имени домена использовал поля запроса:

target ⇨ {#DOMAIN}

То есть итоговый урл для получения данных будет такой: http://10.30.52.9:9222/probe?target={#DOMAIN}. А если развернуть lld-макрос, то такой: http://10.30.52.9:9222/probe?target=serveradmin.ru.

6️⃣ В прототипе айтема сделал предобработку:

Шаблон Prometheus ⇨ domain_expiry_days

Так как у нас данные поступают в формате Prometheus, с помощью этой предобработки мы сразу получаем данные о времени оплаты в формате целого числа.

7️⃣ В это же правило автообнаружения добавил 2 триггера.

На выходе мы имеем шаблон для мониторинга за оплатой доменов, где все настройки можно выполнять в веб интерфейсе Zabbix Server через макросы. Не нужны никакие скрипты на хостах. Единственное, что нужно сделать на сервере - запустить экспортер от Prometheus и убедиться, что с Zabbix Server есть к нему доступ.

Решение придумал и реализовал полностью сам. Не исследовал, что уже есть готового на эту тему. Мне видится такая реализация вполне удобной и функциональной. Если кто-то знает решение удобнее без скриптов, поделитесь информацией.

Шаблон публикую отдельно следующей публикацией. Проверял на версии Zabbix 7.0. Необходимо его импортировать на сервер и заполнить макросы либо в самом шаблоне, либо переопределить их после прикрепления к любому хосту.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#zabbix
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍97👎2
Вчера вышло обновление Zabbix 7.4. Думаю, вы уже видели эту новость во многих каналах. Я захожу в веб интерфейс Zabbix и читаю его уведомления каждый рабочий день, практически без исключений, так что не мог пройти этой новости.

Не буду приводить подробный список всех нововведений. Прокомментирую основные, что лично мне показались интересными и полезными. Это не значит, что остальные нововведения менее значимы.

📌 Вложенные правила автообнаружения в шаблонах. Раньше был один уровень вложенности. Был какой-то список объектов мониторинга, для них автоматически создавались айтемы и триггеры. Например, список доменов и для них создавались айтемы с проверкой делегирования, доступности, TLS сертификата. Допустим, у домена нет сайта, соответственно, кроме делегирования проверять ничего не надо. Но при старой схеме айтемы для проверки доступности и сертификата всё равно создавались и давали ошибки. Теперь можно пройтись по доменам и там проверить свой список того, что нужно проверять. Где-то все три айтема сделать, а где-то только один.

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

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

Оба нововведения логичны и своевременны. Они упрощают мониторинг динамичных сред. Zabbix старается не отставать от современных тенденций, чтобы быть актуальным средством мониторинга. Со старой архитектурой это не так просто, но тем не менее, мне кажется, нормально получается, чтобы оставаться на плаву.

📌 Мастер создания хостов. По сути никакой новой функциональности не добавляет, просто упрощает новичкам управление системой. Теперь не сам прыгаешь по вкладкам и формам выбора, а тебя по ним ведут.

📌 Новый виджет - "Карточка элемента данных". Судя по всему это развитие виджета "Значение элемента данных". Я иногда использую такие виджеты, так что лишним не будет.

📌 Изменения веб интерфейса. Во время настройки виджета теперь сразу видны изменения, не нужно его сохранять. Это, конечно, упрощает настройку.

Добавлена новая палитра цветов, но, как я понял, для каждого элемента по прежнему нельзя самому выбрать цвет. Он выбирается автоматически из предложенной палитры. Я не знаю, зачем так сделано, но мне это не нравится. Иногда на графиках всё сливается в рамках одной палитры. Это вроде как красиво смотрится, но с практический точки зрения неудобно.

Способы оповещения пользователя вынесли в отдельное меню из общих настроек профиля, где они были в отдельной вкладке. Не теряйте.

🔥 Поддержка тем в супергруппах Telegram. Теперь можно без костылей настраивать уведомления в отдельные темы. Меня постоянно об этом спрашивали. Я сам в темы чатов не шлю оповещения, поэтому не разбирался с этим. Всегда по отдельным группам уведомления делил. Шаблон для вебхука нужно будет обновить вручную. Сам он не обновится.

📌 Поддержка многосайтовости в стандартном шаблоне мониторинга сертификатов через Zabbix agent 2. Наконец-то это сделали. Надоело свои костыли городить. Ждём то же самое для делегирования доменов.

Всё остальное не такое значительное. Хотя обратил внимание на один момент:

▪️Added support for TLS connection from web interface to Zabbix server

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

Список основных изменений с картинками
Полный список изменений

Напомню, что все изменения шаблонов, интеграций и способов оповещений автоматически не происходят после обновления сервера. Всё, что загружается и выгружается в yaml, надо обновлять вручную.

#zabbix
👍73👎3
Ранее я упоминал про утилиту Lynis, а также то, как я её использую в связке с Zabbix для предупреждения о каких-то проблемах на хостах. С момента написания статьи я немного поменял подход к сбору данных. Расскажу кратко, как это у меня сейчас работает. Я с тех пор постоянно использую эту связку. Мне нравится, как она работает.

Кратко поясню суть того, что делаю и для чего. Утилита Lynis есть в стандартных репах. Она делает некоторый набор проверок системы и пишет отчёт в лог. Конкретно меня от неё интересуют две вещи:

◽️Вывод предупреждений. Например, о том, что систему надо перезагрузить после обновления ядра, либо о том, что есть уязвимые пакеты.
◽️Список пакетов с уязвимостями, для которых доступны обновления.

С помощью Zabbix я анализирую лог Lynis и прямо на почту отправляю текст замечаний и уязвимых пакетов, если они есть. Реализую это следующим образом:

1️⃣ Делаю простой скрипт, который запускает Lynis и анализирует код завершения работы. У этой программы он ненулевой, если есть какие-то замечания. Завожу эти замечания в переменную и отправляю данные с помощью zabbix_sender на Zabbix Server. Если код выхода 0, то отправляю строку All is OK.

Сам скрипт очень простой:

#!/bin/bash

/usr/sbin/lynis audit system -q
exitcode=$?
result="0"
if [ $exitcode != 0 ]; then
  result=$(/usr/bin/grep "Warning:\|Found vulnerable package" /var/log/lynis.log)
else
  result="All is OK"
fi
zabbix_sender -c /etc/zabbix/zabbix_agentd.conf -k "lynis.check" -o "$result"

Ставлю скрипт в cron или timers на выполнение раз в 2-3 часа. Чаще большого смысла нет.

2️⃣ В Zabbix Server делаю простой шаблон с одним элементом данных типа Zabbix траппер. Его настройки есть на скриншоте снизу. К айтему делаю два триггера. Один на поиск строки All is OK. Если в последнем полученном значении её нет, то срабатывает триггер. И второй - проверка, что данные приходят. Если в течении дня ничего не приходило, то он срабатывает. Настройки триггера тоже ниже.

3️⃣ В итоге если Lynis что-то находит, отправляет информацию в Zabbix Server. Срабатывает триггер, в описании которого будет текст из айтема со всеми замечаниями и списками уязвимых пакетов, которые надо обновить. Пример письма с информацией тоже есть ниже на картинке.

Всё это настраивается относительно просто. Не нужны никакие отдельные системы и сторонние пакеты. Всё ставится из базовых репозиториев, а система мониторинга скорее всего уже есть. Мне для базовых проверок такой информации достаточно.

Сам шаблон не прикрепляю, так как там всего один айтем и два триггера, содержимое которых и так есть на скринах. Воспроизвести нетрудно. Работать будет на любых версиях Zabbix сервера. Если не устанавливали на хосты zabbix_sender, то поставьте его. Он идёт в отдельном пакете:

# apt install zabbix-sender

Такая вот простая и функциональная система с предупреждениями об обновлениях и некоторых других вещах. Lynis делает много проверок, можно почитать о нём отдельно. В рамках этой заметки не стал на этом делать акцент.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#zabbix #security
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍124👎3
Небольшая зарисовка-совет из моего недавнего опыта по настройке шаблона в Zabbix Server. В настройках айтема можно использовать предобработку, которая называется Отбрасывать не изменившееся. По названию уже понятно, что она делает – не записывает новое значение, если оно не отличается от прошлого. Я везде, где можно, использую эту предобработку, потому что она существенно экономит место в базе данных, особенно если речь идёт про какие-то длинные строки в логах или другие редко изменяемые данные.

В то же время в функциях триггеров есть функция nodata, которая проверяет время последнего поступления данных. И если данные не поступали дольше заданного периода, она активирует триггер. Эта функция проверяет поступление данных на основе последней записи айтема в базе, а не самого факта поступления данных от агента. И если предобработка отбрасывает не изменившееся значение, функция nodata считает, что его не было.

Выглядит это как баг, но на деле просто особенность работы указанной пары функциональности, которую нужно знать. У предобработки есть расширенная версия – Отбрасывать не изменившееся с периодическим контролем, а у функции есть в качестве одного из параметров интервал в прошлое, на котором мы проверяем наличие новых значений.

Эта два значения надо правильно подобрать, чтобы проверка работала корректно. У предобработки время периодического контроля, когда значение в любом случае будет записано, даже если не изменилось, должно быть меньше, чем интервал в прошлое у функции nodata. Тогда всё это будет корректно работать.

Я какое-то время потратил на то, чтобы разобраться, почему один из триггеров работает некорректно. Забыл про указанную предобработку и долго не мог понять, что не так. Данные корректно уходят на сервер, в отладке это видно, но в базу данных не попадают. Думал со связью проблемы. Потом уже принудительно начал в айтем записывать разные данные, убедился, что они приходят и записываются в базу. И только после этого понял, что стоит предобработка, которая отбрасывает неизменившиеся значения.

Если не знаете и не используете описанную функциональность в мониторинге, советую обратить внимание. Предобработка существенно экономит место в базе, а функция nodata страхует вас от ситуации, когда новые данные просто не приходят, а вы думаете, что у вас всё в порядке, потому что на основе старых данных триггер не видит проблем. А на деле, к примеру, бэкапы просто не выполняются.

#zabbix
1👍90👎3
Мониторинг на базе Zabbix Server очень универсален. Одной из его возможностей является анализ текстовых логов и поиск там заданных строк или выражений. В случае нахождения, срабатывает триггер с различными действиями. В самом простом случае это может быть уведомление, а в более сложном - выполнение команды или набора каких-то действий в виде последовательности команд и скриптов.

Я давно использую эту возможность. Например, для уведомлений об аутентификации по SSH на серверах или логины на устройства Mikrotik. Для SSH у меня очень давно написан простенький шаблон, который реализует базовую возможность и шлёт уведомление, когда кто-то подключается к серверу. Для меня это актуально, когда на сервер захожу не только я.

У написанного мной шаблона есть один недостаток, который всё никак не доходят руки исправить. Триггер в шаблоне реагирует на строку с подключением пользователя и отключает триггер, когда видит фразу с отключением пользователя. Если один пользователь подключился и потом отключился, то всё нормально. Но если подключился один пользователь, за ним подключился второй пользователь, то триггер сработает только во время подключения первого пользователя. И может отключиться, когда отключится не первый пользователь, а второй. То есть триггер не делает в строках лога привязку к конкретной сессии пользователя.

При этом Zabbix Server позволяет своими штатными возможностями привязывать в триггерах разные строки к одному и тому же событию. Делается это с помощью настройки в триггере Режим генерации событий ПРОБЛЕМА: Одиночный или Множественный.

Я решил поискать, не решил ли кто-нибудь этот недостаток моего шаблона, чтобы мне самому этим не заниматься. И практически сразу же нашёл качественный шаблон, где учтены все эти нюансы. Причём автор как раз мой изначальный шаблон взял за основу и доработал. Смотреть тут:

Входы Выходы Пользователей SSH auth.log Debian Ubuntu

К шаблону подробное текстовое описание и видео. Всё сделано очень качественно, хороший шаблон. Бегло посмотрел некоторые другие шаблоны автора. Очень много всего полезного. Рекомендую. Например, то же самое, только для Windows:

Монитор внешнего входа и выхода пользователей Windows

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки. В этот раз не только вам рекомендую сохранить, но и себе сохранил ссылку на раздел с готовыми шаблонами Zabbix.

#zabbix
7👍131👎2
Вчера решил обновить один из серверов Zabbix до свежей версии 7.4. Выбор пал на сервер версии 7.0, установленный на Oracle Linux Server 8.10. Остался с давних времён. Работает нормально, обновляется, так что я особо не тревожу его.

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

1️⃣ Изменился путь для веб интерфейса. Вместо /usr/share/zabbix он теперь /usr/share/zabbix/ui. Надо поменять в настройках виртуального хоста. Если этого не сделать, то увидите ошибку с инструкцией по исправлению, вместо веб интерфейса.

2️⃣ Изменилась поддерживаемая версия php с 8.0 до 8.2. В зависимости от ваших настроек и пакетов на сервере, переход на другую версию php может сопровождаться какими-то своими ошибками. У меня были пару проблем с зависимостями пакетов. Не стал особо вникать. Сделал снепшот виртуалки, удалил все проблемные пакеты и установил версии 8.2. На удивление, всё прошло успешно и больше ничего делать не пришлось.

Меня часто спрашивают, буду ли я писать статью по обновлению Zabbix Server. Я иногда делаю такие публикации, но не очень люблю именно эту тематику из-за того, что Zabbix может быть развёрнут на очень разном окружении. Это могут быть разные систем на базе Linux, разные СУБД (MySQL или PostgreSQL), разные веб сервера (Nginx + Php-Fpm или Apache + Mod_PHP). Трудно всё это учесть.

Сам сервер Zabbix обычно обновляется без проблем. Проблемы чаще всего возникают с фронтендом. Он то не обновится, то версия php не та, то настройки веб сервера слетели и т.д. Тут инструкция не поможет, надо по месту разбираться.

В общем случае обновление Zabbix выглядит очень просто. Отключаете старый репозиторий, останавливаете сервер, подключаете репозиторий с новой версией и обновляете пакеты от Zabbix. И всё. В этот раз у меня именно так и прошло обновление и кроме описанных выше двух ошибок, всё прошло штатно. Обновился с 7.0.17 до 7.4.1.

Обновился я в первую очередь для того, чтобы посмотреть на новый мастер добавления хостов. Выглядит очень удобно, особенно тем, что можно сразу получить ссылку для быстрой установки преднастроенного пакета с zabbix-agent. Не надо самому подключать репозиторий под нужную систему, устанавливать пакет и править конфигурацию агента. Адрес сервера и имя хоста можно передать сразу во время установки агента.

Но тут всё не так просто. Запускаю мастер добавления хоста и не могу сдвинуться дальше первого шага, где нужно выбрать шаблон. Я тупо не могу понять, как это сделать. Нет ни одного доступного шаблона. Потыкался немного и проигравший, но не побеждённый полез читать документацию.

☝️ Оказывается, шаблоны должны быть совместимы с мастером. Не знаю, зачем так сделали. Хорошо хоть, что все их объединили в 5 наборов, которые можно разом установить. Качаются вот тут по ссылкам. После того, как их импортировал, наконец-то заработал мастер. Я смог выбрать шаблоны.

Будьте осторожны с этим обновлением, если будете обновлять стандартные шаблоны для совместимости с мастером добавления хостов. Стандартные шаблоны обновились и полетели ко мне новые алерты от триггеров, которые добавились. Пришлось разбираться в новых шаблонах, править или отключать ненужное. На некоторых серверах это может потребовать много времени.

Я из-за этого не люблю автоматом обновлять шаблоны. Напомню, что Zabbix Server после обновления сам шаблоны не обновляет. Это надо делать вручную. С одной стороны это хлопотно, но с другой страхует от лишней работы и проблем. Можно обновить сервер, но не трогать шаблоны, если тебе не нужны обновлённые версии. Старые без проблем работают. Я некоторые очень редко обновляю, потому что и так устраивают. Я не из тех, кто считает, что чем больше метрик, тем лучше. В них обычно потом никому не хочется разбираться. Лучше меньше и только те, что реально нужны.

Забыл добавить, что интеграция с Grafana не слетела после обновления с 7.0 до 7.4. Я ничего не трогал в самой Графане.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

#zabbix
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍117👎3
Последнее время редко захожу в блог Zabbix, так как не вижу интересных для меня статей. Там в основном какие-то общие слова и рекомендации публикуют, либо отчёты с мероприятий. Но одна запись привлекла моё внимание:

When Generative AI Meets Zabbix

В статье предлагают через вебхуки отправлять триггеры в ИИ, и взаимодействовать с мониторингом на человеческом языке, а не просмотром триггеров и графиков. То есть примерно так:

В три утра вы получаете критическое уведомление на свой телефон. Но вместо просмотра дашбордов и метрик, вы пишите вопрос: "Что случилось с продакшеном?"

- Сервер web-prod-01 съел всю память, а конкретно 94%. Начался дикий жор 15 минут назад вместе с всплеском трафика. Я рекомендую проверить пул подключений к базе данных и рассмотреть возможность перезапуска службы Apache. Хотите, я покажу вам соответствующие логи?

Как вам такая затравочка? Выглядит неплохо. В данном примере используется локальный сервер с бесплатным Gemini AI, который кушает триггеры Заббикса и логи с помощью Winston. Данные в Germini отправляет небольшой скрипт на Python, который использует формат MCP (Model Context Protocol).

Ещё пример из статьи. Меня постоянно спрашивают, как в Zabbix сделать какой-то сводный отчёт по состоянию хостов, чтобы утром на него смотреть:

- Доброе утро, что у нас с инфраструктурой?

- Доброе утро! Все спокойно. 14 активных хостов, 0 критических проблем. На выходных была запланирована перезагрузка сервера proxmox-desarrollo, которая завершилась успешно. Средняя загрузка процессора составляет 23%. Вам нужна подробная информация о какой-либо конкретной системе?

Выглядит всё это интересно. В статье приведены скрипты, с помощью которых реализовано взаимодействие мониторинга и ИИ. Как поднять свой сервер с Gemini тоже можно без проблем найти. То есть потестировать это всё у себя можно относительно просто.

Лично мне не показалось это прям реально полезным. Да, интересно. Возможно актуально для большой инфраструктуры, где всё не очень точно настроено и на инциденты могут валиться десятки и сотни триггеров. Тогда реально выручит вопрос к ИИ, что случилось и кто конкретно первым упал. У меня бывает в одном месте такой шторм на 200-300 триггеров утром, если на самом сервере мониторинга возникнут проблемы с сетью. Иногда это бывает, если хостера штормит. Там много внешних хостов с отправкой метрик через интернет. Но я по характеру триггеров и так понимаю, что проблемы на сервере.

Я сейчас как раз тестирую систему мониторинга, где есть встроенный ИИ-помощник. Надеюсь получится в какой-то более-менее реальной форме его потестировать. Будет скоро полноценная статья про эту систему мониторинга и не только.

Если уже внедряли связку мониторинга и ИИ, то поделитесь, насколько это удобно и полезно на практике. Сейчас на тему ИИ много хайпа и не везде он реально полезен и удобен.

#zabbix #AI
4👍98👎3
Команда Zabbix анонсировала недавно открытие своей онлайн академии. Мне нравится Zabbix, я постоянно с ним работаю, поэтому зарегистрировался и решил посмотреть, что там есть интересного.

Цены там, как и на всё обучение от Zabbix, моё почтение. Не понимаю, почему они так дорого его оценивают. Но есть несколько бесплатных курсов. Их то я и посмотрел.

Сразу скажу, что площадка сделана неудобно. Даже в бесплатных курсах для доступа к следующему уроку, нужно прослушать видео предыдущего, даже если тебе оно не интересно, либо ты знаешь материал. Причём работает всё это глючно. Некоторые видео я вынужден был смотреть по 2 раза, так как после первого просмотра следующий урок не открывался. А иногда достаточно было посмотреть половину.

Если бы я не сидел в зале ожидания, пока мне ТО машине делали, смотреть бы не стал. В целом, в бесплатных курсах нет ничего особенного. Часть из них - это запись бесплатных вебинаров, а часть - базовые инструкции по чистой установке на разные СУБД. Плюс, один курс с теорией о том, как устроен мониторинг в общем, и конкретно Zabbix.

Пару часов я всё это послушал на английском языке и могу сказать, что тратить вам на это время не имеет большого смысла. В сети есть много более подробных курсов, как в тексте, так и в видео на тему Zabbix на русском языке. Ниже несколько примеров:

▪️Текстовый курс по Zabbix от практикующего специалиста и преподавателя.
▪️Демо курс Zabbix 6. Мониторинг IT инфраструктуры предприятия - бесплатный урок от большого платного курса про Zabbix. В демо курсе разбирается установка и настройка сервера, плюс подключение к нему различных агентов.
▪️Zabbix с нуля до короля - очень подробный видеокурс на ютубе. Там прям вообще всё есть от автообнаружения до мониторинга Mikrotik.

Плюс, есть очень подробная книга на русском языке:
📔 Zabbix 7: мониторинг ИТ-инфраструктуры издательства Packt при поддержке КРОК. К сожалению, эта книга свободно гуляет по интернету в открытом доступе. При таких раскладах заниматься переводом и издательством скорее всего экономически невыгодно.

#zabbix #обучение
👍89👎3
Я очень давно знаю Zabbix. Впервые увидел его версию 1.8. Сам изучал, настраивал и внедрял версию 2.0. С тех пор я его активно использую уже более 13-ти лет. Для меня это образец качественного и продуманного программного обеспечения, которое на протяжении более 20-ти лет стабильно становится всё лучше и лучше. Несмотря на свой почтенный возраст, активно развивается, следует современным тенденциям и технологиям. Вот уже и облачный сервис появился. Представляю, сколько труда было потрачено, чтобы перенести в SaaS монолит с такой историей разработки.

Всё это заслуга и труд его создателя-основателя, а потом и руководителя Алексея Владышева, который в 1998 самостоятельно начал разработку, будучи кем-то вроде сисадмина или сотрудника техподдержки в банке. Он рискнул и начал развивать продукт полностью в открытом формате open source. Это сейчас уже привычная модель развития, а в то время ещё не было успешных примеров такой модели, кроме разве что RedHat. И с той поры ничего принципиально не поменялось. Zabbix по-прежнему полностью открыт и бесплатен, нет деления на версию community с ограниченными возможностями и платной с полными, как это чаще всего бывает. Вы можете взять полнофункциональный код продукта и использовать у себя. Считаю это огромным управленческим достижением Алексея, как руководителя и разработчика.

Всегда с интересом смотрю все его выступления. Он бывал на конференциях в Москве. К сожалению, последнее время на русском языке их не встречал, хотя в целом Zabbix от него не отказался. Периодически проводятся вебинары, а в августе был онлайн митап на русском языке. С Алексеем когда-то давно был интересный подкаст, который я с удовольствием слушал. Чего-то более нового мне не попадалось. Послушайте, если вам интересна история Zabbix и его основателя.

Сейчас анонсирован новый онлайн митап совместно с компанией Gals Software, рекламу курсов которой по Zabbix вы периодически видите на моём канале. Увидел новость у них на канале. Эту публикацию у меня никто не заказывал, пишу от себя. На этом митапе выступит Алексей Владышев на русском языке и расскажет о нововведениях 8-й версии. Я записался и обязательно послушаю.

Пишу эту заметку в том числе, чтобы выразить своё уважение и признательность разработчикам Zabbix за отличный продукт, которым я совершенно бесплатно много лет пользуюсь. Знаю, что мой сайт в те времена, когда я активно писал заметки про Zabbix читали, делали обратные ссылки на мои материалы на официальном сайте, реализовывали какие-то костыли, собранные в том числе с подобных сайтов энтузиастов, в основные шаблоны. Может быть и это сообщение дойдёт до адресатов.

🗓 Онлайн встреча будет 3 декабря, в часовом поясе Алматы GMT+5. После регистрации я получил уведомление, что по Москве это будет 02:00 PM. Я тут боюсь ошибиться, так как уже не раз пропускал разные мероприятия из-за того, что путал часовые пояса и приходил не в то время. Получается, что это будет 04:00 PM (16:00) по часовому поясу Алматы или в 14:00 по Москве.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX

#zabbix
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍165👎8