Как обновить grafana linux ubuntu

Обновлено: 06.07.2024

После того, как вы установили систему, в нашем случае Ubuntu или любой другой дистрибутив, его нужно регулярно обновлять. Установка обновлений Ubuntu необходима, чтобы получить новые версии программ, исправления ошибок, а также исправления проблем с безопасностью. Разработка Ubuntu происходит так, что новые версии программ поставляются только с релизом дистрибутива, а затем приходят только обновления исправляющие баги и проблемы с безопасностью. Но это не значит, что не нужно их устанавливать. Кроме того, если вы хотите также иметь самые новые версии программного обеспечения, то можете использовать PPA разработчиков и устанавливать программы от туда. Как правило, разработчики всегда загружают самые новые версии.

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

Обновление программ в Ubuntu через менеджер обновлений

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

Менеджер обновлений Ubuntu довольно прост и вы можете запустить его через главное меню:

update

Сразу после запуска программа обновит списки программ из репозиториев, чтобы понять есть ли новые версии пакетов:

update1

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

update2

Программа говорит, сколько обновлений было найдено и сколько данных нужно скачать через интернет.

Осталось нажать кнопку Установить сейчас и начнется обновление пакетов Ubuntu:

update3

Вы можете посмотреть более подробную информацию о процессе обновления:

update4

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

Поведение менеджера обновлений можно настроить. Для этого откройте утилиту Программы и обновления, затем перейдите на вкладку обновления:

update5

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

Обновление системы Ubuntu с помощью менеджера обновлений может показаться простым, и это так и есть, пока не возникли ошибки. А при возникновении ошибок нам нужно попытаться обновить систему через терминал, чтобы получить больше информации о проблеме.

Обновление пакетов Ubuntu через терминал

Для обновления через терминал обычно используется инструмент командной строки apt. Эта утилита позволяет не только обновлять пакеты, но и устанавливать и удалять программное обеспечение, искать программы, настраивать репозитории и т д.

Первым делом, нам необходимо выполнить обновление репозиториев ubuntu, для этого используется такая команда обновления ubuntu:

sudo apt update

update6

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

apt list --upgradable

update7

Теперь непосредственно обновление системы Ubuntu. Для этого есть две опции upgrade и full-upgrade (раньше dist-upgrade). Рассмотрим в чем разница между upgrade и dist upgrade:

  • upgrade - устанавливает самые новые версии всех пакетов доступные в репозиториях. Использует все репозитории их /etc/apt/souces.list и /etc/apt/souces.list.d/*. То есть обновляются пакеты не только из официальных репозиториев, но и из PPA. Обновляются только установленные пакеты, если же для обновления пакета необходимо установить или удалить другой пакет, такие пакеты обновлены не будут.
  • full-upgrade - кроме всего, что делает upgrade, здесь поддерживается умное разрешение зависимостей для новых версий пакетов. Конфликтующие пакеты могут быть удалены, а новые, дополнительные - установлены.

Таким образом, установка обновлений Ubuntu может быть выполнена одной из команд:

sudo apt upgrade

update8

sudo apt full-upgrade

update9

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

Здесь не обязательно обновлять все пакеты, мы можем обновить только один определенный пакет, например браузер:

sudo apt full-update firefox

Опцию full-update мы используем чтобы обновить включая установку новых зависимостей.

Обновление пакетов Ubuntu через Synaptic

sudo apt install synaptic

Запустить программу можно из главного меню:

update10

update11

Главное окно программы выглядит вот так:

update13

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

Но давайте обо всем по порядку, сначала необходимо обновить списки пакетов из репозиториев, чтобы программа узнала, есть ли новые версии, это аналогичное действие команды apt update или, тому что выполняется при старте стандартного менеджера обновлений, так сказать проверка обновлений ubuntu. Откройте меню правка и выберите Обновить сведения о пакетах:

update12

update14

Дальше обновление системы Ubuntu. Как я и сказал, нужно сначала отметить пакеты, с которыми будем работать. Поскольку обновляем все, перейдите на вкладку состояние, установленные и нажмите кнопку Отметить все. Программа сама определит, что для данных пакетов есть обновления и если кроме обновления пакетов ubuntu нужно выполнять дополнительные действия, она покажет их:

update16

Можно пойти другим путем, на той же вкладке нажать Ctrl+A, чтобы отметить все пакеты, затем в контекстном меню выбрать Отметить для обновления:

update22

Независимо от способа, дальше нажимаем Применить:

update18

Программа опять покажет, какие изменения будут внесены в систему, нажмите Apply:

update19

Только теперь начнется загрузка пакетов:

update20

Выводы

Установка обновлений Ubuntu, не такое уж сложное дело, но оно должно выполняться периодически, чтобы поддерживать систему в актуальном состоянии и безопасности. Из этой статьи вы узнали целых три способа выполнить обновление пакетов Ubuntu. Этого вполне достаточно, чтобы выбрать подходящий для вас. Часто во время обновлений возникают ошибки, что делать если Ubuntu не обновляется мы рассмотрим в следующей статье.

В нашей инструкции мы рассмотрим процесс установки и настройки Grafana Loki в качестве сервера сбора логов. Есть несколько способов ее установки — Helm chart, в качестве контейнера Docker, скачать готовый бинарник или собрать его из исходника. Мы выполним установку из последнего на систему Linux. Также, в качестве примера, мы прочитаем лог веб-сервера nginx и сделаем его вывод в Grafana.

Подготовка

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

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

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

а) на системах Red Hat:

yum install git wget

б) для систем на основе Debian:

apt-get install git wget

Установка Go

Для компиляции исходника, нам необходимо установить Golang. Для этого переходим на страницу загрузки и копируем ссылку на архив с его последней версией:

Копируем ссылку на golang

Воспользовавшись ссылкой, скачиваем архив на наш сервер:

* на момент написания инструкции, последняя версия была 1.15.6.

Распаковываем архив в каталог /usr/local:

tar -v -C /usr/local -xzf go*.tar.gz

Добавляем в самый низ строку:

Один раз выполняем данную команду:

Проверяем, что go установлен и готов выполнять команды:

Мы должны увидеть версию скачанного пакета.

Настройка безопасности

1. Брандмауэр

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

а) если используем iptables (по умолчанию, в системах на базе Debian):

iptables -I INPUT 1 -p tcp --dport 3100 -j ACCEPT

* данная команда добавит правило на разрешение порта 3100 (на котором, по умолчанию, запускается Grafana Loki).

Для сохранения правил устанавливаем пакет:

apt-get install iptables-persistent

Сохранение правил теперь можно выполнить командой:

б) если используем firewalld (по умолчанию, в системах на базе Red Hat):

firewall-cmd --permanent --add-port=3100/tcp

* данная команда добавит правило на разрешение порта 3100 (на котором, по умолчанию, запускается Grafana Loki).

2. SELinux

Как правило, в системах на базе Red Hat активирована дополнительная система безопасности. В нашей инструкции мы ее отключаем командами:

* первая команда вводится до разового отключения SELinux. Вторая не дает ему запуститься после перезагрузки.

Установка

Установка Grafana Loki сводится к загрузке готового бинарника или исходника с последующей компиляцией. Также мы настроим юнит в systemd для работы приложения в качестве сервиса.

Копирование бинарника и конфигурационного файла

Переходим в каталог:

Загружаем исходные файлы проекта:

Переходим в каталог loki:

Запускаем компиляцию бинарника:

go build ./cmd/loki

В текущем каталоге появится файл loki — перенесем его в каталог /usr/local/bin:

mv loki /usr/local/bin/

. и перенесем в него конфигурационный файл:

mv cmd/loki/loki-local-config.yaml /etc/loki/

В конфиге, который идет в исходнике в качестве рабочего каталога для Grafana Loki используется /tmp — мы это исправим двумя командами:

* первой командой мы меняем настройку dir для wal (журнала предзаписи).

* в данном примере мы заменили путь для storage_config, working_directory и ruler storage на /opt/loki.

Выполним первый тестовый запуск сервиса:

Значит наш сервис запустился и нормально работает. Можно прервать его работу на сервере комбинацией клавиш Ctrl + С и продолжать настройку.

Автозапуск

Чтобы сервис мог автоматически запускаться при старте системы, добавим его в systemd.

Для начала, создадим пользователя, под которым будет работать сервис:

useradd --no-create-home --shell /bin/false loki

* данной командой мы создадим пользователя loki. Ему нельзя будет входить в систему в качестве интерактивного пользователя, также для него не будет создана домашняя директория.

Делаем владельцем loki бинарник для запуска сервиса:

chown loki:loki /usr/local/bin/loki

Задаем владельца для рабочих каталогов Loki:

chown -R loki:loki /etc/loki

chown -R loki:loki /opt/loki

Создаем юнит в systemd:

[Unit]
Description=Grafana Loki Service
After=network.target

[Service]
User=loki
Group=loki
Type=simple
ExecStart=/usr/local/bin/loki -config.file=/etc/loki/loki-local-config.yaml
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure

Перечитываем конфигурацию systemd:

Теперь можно разрешить и стартовать наш сервис:

systemctl enable loki --now

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

systemctl status loki

Установка серверной части завершена.

Отправка логов на сервер

В нашем примере мы передадим логи веб-сервера NGINX в нашу Grafana Loki. Для этого переходим на сервер с NGINX и выполним следующие действия.

Установка Promtail

Promtail — агент, который читает и отправляет логи на сервер. Его установка во многом напоминает установку сервера — получаем бинарник и добавляем его в автозагрузку. В нашем примере мы загрузим уже скомпилированный файл для запуска.

Для начала, установим следующие пакеты:

yum install unzip wget

* unzip нужен для распаковки архива с бинарником; wget — для скачивания архива.

Загружаем последнюю версию promtail для Linux:

Распаковываем скачанный архив:

Переносим бинарник в каталог /usr/local/bin:

mv promtail-linux-amd64 /usr/local/bin/promtail

* обратите внимание, что мы его сразу переименовали в promtail.

Создаем каталог для конфигурационных файлов promtail:

Создаем конфигурационный файл:

positions:
filename: /tmp/positions.yaml

* где 9080 — номер порта, на котором будет слушать promtail; 192.168.0.15 — IP-адрес нашего сервера Loki, куда нужно отправлять данные.

Создаем юнит в systemd для promtail:

[Unit]
Description=Promtail Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/promtail -config.file=/etc/promtail/promtail.yaml
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure

Перечитываем конфигурацию systemd:

Разрешаем запуск сервиса promtail и стартуем его:

systemctl enable promtail --now

systemctl status promtail

На клиенте в настройки брандмауэра добавляем правило на разрешение порта 9080.

а) если используем iptables (Debian, Ubuntu):

iptables -I INPUT 1 -p tcp --dport 9080 -j ACCEPT

apt-get install iptables-persistent

б) если используем firewalld (CentOS, Red Hat):

firewall-cmd --permanent --add-port=9080/tcp

Веб-страница сервиса Promtail

Promtail работает. Можно приступать к сбору логов.

Настройка сбора логов

Открываем конфигурационный файл promtail:

scrape_configs:
- job_name: nginx
static_configs:
- targets:
- localhost
labels:
job: nginxlogs
__path__: /var/log/nginx/*log

  • job_name — имя задания для чтения лога.
  • targets — компьютер, на котором читаем лог.
  • job — метка для имени задания. Важный параметр для выборки данных.
  • __path__ — путь до файлов с логами.

Перезапускаем сервис promtail:

systemctl restart promtail

В списке таргетов мы должны увидеть наше задание

Сбор логов настроен.

Настройка Grafana

Переходим к серверу с Grafana. Он может быть установлен на отдельном сервере или на том же сервере с Loki.

Заходим в веб-интерфейс и переходим в Configuration - Data Sources:

В Grafana переходим в Configuration - Data Sources

Добавляем новый источник, кликая по Add data source:

Нажимаем по Add data source для добавления нового источника данных

Среди списка возможных источников выбираем Loki:

Среди списка находим Loki и выбираем его

В настройках задаем имя и указываем IP-адрес сервера Loki:

Настройка подключения к серверу Loki

* в нашем примере задается имя Loki и подключение к серверу 192.168.0.15.

Нажимаем на Save & Test:

Для сохранения настроек нажимаем Save & Test

Data source connected and labels found

. значит подключение выполнено и можно двигаться дальше.

Переходим в раздел Create - Dashboard:

Переходим к созданию дашборда

Кликаем по кнопке Add new panel:

Кликаем по Add new panel для создания новой панели в Grafana

В открывшемся окне выбираем в качестве источника данных Loki, затем кликаем по Log labels - выбираем job и nginxlogs:

Настройка источника данных и фильтрация данных для отображения

Мы увидим Unable to graph data (так как логи представляют из себя данные, на основе которых нельзя постоить график) — кликаем по Switch to table view:

Нажимаем на Switch to table view для переключения на представление данных в табличном виде

Мы должны увидеть строки из логов:

В Grafana появятся строки из логов

Логи NGINX отображаются в Grafana.

Парсинг лога

Открываем файл для редактирования:

Дополним нашу задачу для сбора логов NGINX:

* обратите внимание, что к имеющейся настройки мы добавили pipeline_stages:

  • selector — тег для отбора логов, которые нужно парсить.
  • expression — регулярное выражение для парсинга логов.
  • labels — список тегов, которые мы будем передавать в loki. Обратите внимание, что названия данных тегов соответствую названиям, которые мы задали в expression.

Перезапускаем сервис для promtail:

systemctl restart promtail

Идем в Grafana — в Log labels мы должны увидеть новые критерии для фильтра по тегам:

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

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужно пройти .

Введение

У меня уже есть статья про установку grafana и ее интеграцию с заббикс - Подключение Zabbix к Grafana. Со времен написания той статьи я немного расширил использование графаны. Стал больше и чаще делать дашборды для zabbix. Причем не для того, чтобы наводить красоту или кого то удивлять невероятными дашбордами. В графане просто их быстрее и удобнее делать.

И еще один весомый аргумент за Grafana - ее дашборды адаптированы для просмотра на смартфонах. Постоянно этим пользуюсь. Смотреть графики zabbix на смартфоне неудобно, а иногда и невозможно.

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

Недавно обновлял Grafana с версии 6 на 7, так что решил поделиться с вами информацией. Не сказать, что мне сильно нужны нововведения 7-й версии (совсем не нужны). Тем не менее, не хочется сильно отставать по релизам, так что я все равно периодически обновляюсь на новые версии.

Обновление Grafana с 6 на 7

Я использую Grafana фактически как stateless приложение. Из всех настроек мне нужны только Data Sources и Dashboards. Меняются они не часто, храню их у себя в виде json конфигов, штатно выгруженных из графаны. Отредактирую что-то и сразу выгружаю в свое хранилище конфигов. При таком подходе идеально работает установка и запуск в Docker. Собственно, об этом я и рассказываю в своей статье - установка grafana.

Перед графаной ставится реверс прокси nginx в режиме proxy_pass. Таким образом, обновление графаны сводится к выгрузке конфигов, запуску новой чистой графаны 7-й версии в docker и замене бэкенда в настройках nginx на новую версию. Вот конфиг nginx, который я использую для проксирования запросов в grafana.

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

Так что обновляя grafana, я просто запускаю последнюю версию в докере и направляю через nginx трафик на нее:

Чтобы не ставить вручную плагины, я сразу же их добавляю при первом запуске. Если вам нужен докер, то у меня есть статья про установку docker в centos.

Импорт и экспорт Data Sources в Grafana

По умолчанию, через веб интерфейс графаны не получится экспортировать Data Sources. Я не понимаю, почему разработчики пожадничали с подобной кнопкой, по аналогии с Dashboards. Большой проблемы в этом нет, так как их можно выгрузить в json через curl. Я это делаю вот так:

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

Преобразуем вывод с ее помощью:

Экспорт Data Sources в Grafana

Другое дело. Можно посмотреть, отредактировать или какие-то Data Sources удалить.

Итак, забрали Data Sources со старой версии, теперь импортируем в новую. Опять с помощью curl.

То есть просто через POST запрос передаем данные через ключ --data.

Импорт и экспорт Dashboard в Grafana

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

Для того, чтобы экспортировать dashboard из Grafana, открываем его и нажимаем на Share dashboard. Там переходим на вкладку Export и сохраняем в файл.

Экспорт Dashboard в Grafana

В новой версии импортируем штатно с главной страницы с дашбордами.

Импорт Dashboard в Grafana

Если хотите автоматизировать экспорт и импорт дашбодров grafana с помощью curl, то никаких проблем. Делается это следующим образом. Сначала смотрим список всех дашбордов:

Выбираете нужный dashboard и экспортируете его, сохраняя сразу в файл:

Импортировать dashboard можно следующим образом:

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

Пример некоторых дашбордов

Я как-то заморочился и сделал обзорный дашборд в Grafana для Linux сервера. Работает с последними версиями стандартного шаблона Zabbix, который появился начиная с версии 4.4. Сам дашборд графаны переведен на русский язык, а шаблон Zabbix стандартный - английский. Получилось вот так:

Zabbix Server Dashboard в Grafana

Вот еще один пример моего дашбода. Тут сводная информация по моим сайтам и группам, плюс доход в adsense.

Custom dashboard in grafana

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

А это сводная картинка активных триггеров с нескольких серверов мониторинга.

Несколько серверов Zabbix в одном дашборде Grafana

Я показал несколько общих дашбордов, которые регулярно использую в Grafana. Остальное делается по месту разным заказчикам в случае необходимости. Все в связке с Zabbix. Отдельно графану или в связке с чем-то еще я не использую.

Заключение

Было бы интересно посмотреть на ваши дашбодры в Grafana, если используете их. Особенно в связке с Zabbix. Все остальное меня мало интересует, так как в практической деятельности мне не нужно.

Долгое время у меня в голове витала мысль о том, что было бы здорово как-то организовать единый dashboard для нескольких zabbix серверов. До проработки вопроса долго не доходили руки, но в итоге дошли. Сразу же было найдено простое и эффективное решение, о котором ранее просто не задумывался. Далее рассказываю подробно о том, как я объединил в едином дашборде все подопечные серверы zabbix с помощью Grafana.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на . Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.

Введение

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

У меня в управлении постоянно находится несколько никак не связанных между собой zabbix серверов от разных заказчиков, плюс свои личные. Везде настроены уведомления, в том числе в telegram. Оповещения удобно рассортированы по меткам, чатам, каналам и т.д. С этим никаких проблем нет. Но иногда хочется одним взглядом быстро посмотреть на все активные триггеры всех серверов. Это нужно для того, чтобы быть уверенным, что не забыл отреагировать на что-то важное, где не настроены повторяющиеся уведомления.

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

Я видел интеграцию Zabbix и Grafana, но как я уже сказал, мне встроенной визуализации данных в заббиксе достаточно. А вот в контексте сбора информации о триггерах в едином дашборде, я графану не рассматривал. Я просто не знал, что в плагине графаны для интеграции с заббиксом есть готовая визуализация для Zabbix Problems.

После того, как узнал, что с помощью Grafana можно будет собрать multi dashboard для zabbix, настроить его было дело техники. Причем не очень сложной. Далее подробно расскажу, как это сделать.

Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:

То же самое на Debian 10, если предпочитаете его:

Установка Grafana

Установить Grafana не просто, а очень просто. Я вообще не стал заморачиваться, так как мне она нужна только для одного дашборда. Поэтому запустил графану в докере.

Запустил Grafana на 3000 порту, сразу же установив несколько основных плагинов, в том числе тот, что нужен для интеграции с zabbix - alexanderzobnin-zabbix-app.

Если не хотите docker, то воспользуйтесь документацией по установке. Там нет никаких проблем, так как есть репозиторий с готовыми пакетами. Ставится все очень быстро и просто.

Я настроил доступ к web интерфейсу Grafana через nginx proxy_pass с помощью следующего конфига. Предварительно получил сертификат let's encrypt.

Дальше можно идти в web интерфейс и логиниться. Логин и пароль по умолчанию в Grafana - admin / admin.

Grafana login

Подключение Zabbix к Grafana

Теперь нам нужно по очереди подключить все Zabbix сервера, данные из которых мы хотим видеть в Grafana. Для этого идем в Configuration -> Plugins. Мотаем в самый низ и находим там Zabbix.

Zabbix plugin в Grafana

Заходим в него и активируем, нажав Enable . Дальше идем в Data Sources. Опять же, мотаем в самый низ и выбираем Zabbix.

Zabbix Data Source в Grafana

и перезапустите Grafana.

Здесь нам нужно заполнить параметры доступа к серверу Zabbix. Ко всем подключаемым серверам должен быть доступ со стороны Grafana. Так же нам нужен будет отдельный пользователь zabbix с доступом ко всем хостам, информацию с которых мы хотим видеть в Grafana.

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

Подключение Zabbix к Grafana

Настройки подключения заббикс в графане

Успешное подключение к zabbix server

Таким же образом вам нужно добавить все сервера Zabbix, информацию с которых вы хотите видеть в общем дашборде Grafana.

Настройка Multi Dashboard

Осталось добавить данные на единый Dashboard. Для этого идем на главную графаны и добавляем новый dashboard.

Добавление dashboard

Выбираем Choose Visualisation.

Создание visualization

В общем случае достаточно указать только тип визуализации - Zabbix Problems и Data Source. Данные по активным триггерам по всем группам и хостам сразу же появятся. Ниже можно настроить некоторые параметры. К примеру, я не вывожу триггеры типа Information и тэги к ним, так как не использую их.

Настройка визуализации Zabbix problems в Grafana

Параметры отображения триггеров

После того, как все настроите, сохраните дашборд. Следующие панели можно добавлять просто копируя и редактируя уже сделанную. В ней нужно будет поменять только Data Source. В итоге у меня получился вот такой Dashboard из 5-ти основных серверов Zabbix.

Дашборд с триггерами из нескольких zabbix серверов

Я не настраивал никакой красоты. Все сугубо по делу. Просто список, который я могу быстро посмотреть и оценить обстановку.

Визуализация данных Zabbix с помощью Grafana

Если у вас есть желание настроить красивые визуализации для Zabbix в Grafana, то можете начинать это делать. В принципе, тут ничего сложного нет. Мы уже все подготовили. Все интуитивно понятно, не то, что визуализации в Kibana для Elastic. Там я залипаю надолго, когда что-то рисую.

В комплекте плагина alexanderzobnin-zabbix-app есть несколько примеров дашбордов, но из коробки они не везде работают. Надо допиливать под конкретные версии серверов, так как время от времени шаблоны меняются. Для того, чтобы посмотреть готовые дашборды, надо вернуться в Data Source и перейти на вкладку Dashboards.

Встроенные в плагин дашборды

Ну и выполнить их Import . Дальше опять идите на главную и добавляйте импортированный дашборд.

Выбор готового дашборда

Должно получиться примерно так.

Grafana Dashboard для Zabbix Server

Лучше сразу с нуля начинать делать дашборд из тех данных и графиков, которые необходимы именно вам. Я обычно не использую готовое.

Заключение

Не понравилась статья и хочешь научить меня администрировать? Пожалуйста, я люблю учиться. Комментарии в твоем распоряжении. Расскажи, как сделать правильно!

На этом по объединению разных Zabbix серверов в единый дашборд у меня все. На деле настройка оказалась очень простой и быстрой. Разобрался во всем сходу. Не пришлось возиться со всякими мелочами. Завис только в одном месте, когда забыл в Data Source поменять версию сервера с 3 на 4. Подключение не шло. Потом внимательно все проверил и завелось.

Читайте также: