Быстро создайте платформу мониторинга zabbix 6.2 на основе докера
Быстро создайте платформу мониторинга zabbix 6.2 на основе докера

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

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

01

информация об архитектуре Zabbix

1. zabbix-server

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

2. database

База данных, используемая для хранения данных мониторинга и информации о конфигурации. В настоящее время широко используются две базы данных: mysql и postgresql.

3. zabbix-web

Сторона пользовательского интерфейса zabbix предоставляет такие функции, как консоль управления и дисплей мониторинга.

4. zabbix-java-gateway

Используется для мониторинга состояния JVM Java-программ. Сам Zabbix не может напрямую получать индикаторы мониторинга от JVM, поэтому для достижения этой цели необходимо использовать этот шлюз.

5. zabbbix-agent

Агент zabbix развертывается на целевом хосте для сбора данных мониторинга хоста и предоставления их на сервер zabbix.

02

Установить докер

1. Настройте официальный источник yum.

Язык кода:javascript
копировать
$ sudo yum install -y yum-utils
$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

2. Установите Докер

Язык кода:javascript
копировать
$ sudo yum install docker-ce docker-ce-cli containerd.io

3. Запустите Докер

Язык кода:javascript
копировать
$ sudo systemctl start docker

4. Проверьте номер версии Docker, чтобы убедиться, что он установлен правильно.

Язык кода:javascript
копировать
$ docker version

03

Развертывание компонентов Zabbix

Zabbix поддерживает две базы данных: mysql/postgresql. В этом примере используется версия zabbix, поддерживающая mysql.

1. Установите базу данных

Загрузите образ. Для версии Zabbix 6.x требуется MySQL 8.0.

Язык кода:javascript
копировать
$ docker pull mysql:8.0

Создайте том хранения для хранения данных MySQL.

Язык кода:javascript
копировать
$ docker volume create -d local  mysql_data #Хранение данных MySQL
$ docker volume create -d local  mysql_logs #Сохраняем журнал MySQL
$ docker volume create -d local  mysql_conf #Файл конфигурации хранилища MySQL 

Примечание. Путь к расположению тома хранилища по умолчанию: /var/lib/docker/volume/${имя_тома}. Знания о рулоне хранилища,Друзья, кто не уверен, могут прочитать эту статью«Практика одиннадцатой практики Docker-контейнеров: хранение данных»

Запустить контейнер

Язык кода:javascript
копировать
$ docker run --name mysql-server -t \
   -v mysql_data:/var/lib/mysql \
      -v mysql_logs:/var/log/mysql \
      -v mysql_conf:/etc/mysql \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      --restart=unless-stopped \
      -d mysql:8.0 \
      --character-set-server=utf8 --collation-server=utf8_bin \
      --default-authentication-plugin=mysql_native_password

2. Установите zabbix-java-шлюз.

Скачать изображение

Язык кода:javascript
копировать
$ docker pull zabbix/zabbix-java-gateway:alpine-6.2-latest

Запустить контейнер

Язык кода:javascript
копировать
$ docker run --name zabbix-java-gateway -t \
   --restart=unless-stopped \
      -d zabbix/zabbix-java-gateway:alpine-6.2-latest

3. Установите zabbix-сервер

Скачать изображение

Язык кода:javascript
копировать
$ docker pull zabbix/zabbix-server-mysql:6.2-alpine-latest

Создайте том хранилища для хранения файлов конфигурации Zabbix.

Язык кода:javascript
копировать
$ docker volume create -d local  zabbix_server

Запустите контейнер сервера и откройте порт 10051/TCP для получения данных мониторинга. Добавьте параметр --link, чтобы реализовать взаимную связь между контейнерами MySQL и Java-шлюза.

Язык кода:javascript
копировать
$ docker run --name zabbix-server-mysql -t \
    -v zabbix_server:/etc/zabbix \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
      --link mysql-server:mysql \
      --link zabbix-java-gateway:zabbix-java-gateway \
      --restart=unless-stopped \
      -p 10051:10051 \
      -d zabbix/zabbix-server-mysql:alpine-6.2-latest

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

4. Установите веб-интерфейс Zabbix.

Скачать изображение

Язык кода:javascript
копировать
$ docker pull zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest

Запустить веб-контейнер

Язык кода:javascript
копировать
$ docker run --name zabbix-web-nginx-mysql -t \
   -e PHP_TZ="Asia/Shanghai" \
   -e ZBX_SERVER_HOST="zabbix-server-mysql" \
      -e DB_SERVER_HOST="mysql-server" \
      -e MYSQL_DATABASE="zabbix" \
      -e MYSQL_USER="zabbix" \
      -e MYSQL_PASSWORD="zabbix_pwd" \
      -e MYSQL_ROOT_PASSWORD="123456" \
      --link mysql-server:mysql \
      --link zabbix-server-mysql:zabbix-server \
      -p 80:8080 \
      --restart unless-stopped \
      -d zabbix/zabbix-web-nginx-mysql:alpine-6.2-latest

5. Войдите в zabbix

После завершения развертывания откройте браузер и получите доступ к адресу хоста для доступа к zabbix.

Вход в учетную запись: Администратор

Пароль: Заббикс

После входа в систему отображается интерфейс и развертывание завершено.

04

Установить агент

Развертывание агента Zabbix относительно простое. Вы можете использовать docker или установить его с помощью Yum, бинарных пакетов и т. д. Здесь мы демонстрируем метод установки на основе docker.

Скачать изображение

Язык кода:javascript
копировать
$ docker pull zabbix/zabbix-agent:alpine-6.2-latest

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

Язык кода:javascript
копировать
$ docker volume create -d local  zabbix_agent

Запустите контейнер агента

Язык кода:javascript
копировать
$ docker run --name zabbix-agent -t \
      -v zabbix_agent:/etc/zabbix \
      -e ZBX_HOSTNAME="host-01" \
      -e ZBX_SERVER_HOST="192.168.214.112" \ 
      -e ZBX_SERVER_PORT=10051 \
      -p 10050:10050 \
      --restart=unless-stopped \
      --privileged \
      -d zabbix/zabbix-agent:alpine-6.2-latest

Примечание. Если агент мониторинга развернут на хосте сервера zabbix, ZBX_SERVER_HOST необходимо изменить на IP-адрес контейнера сервера zabbix вместо IP-адреса хоста.

05

Добавить хост

После того, как agnt установлен на целевом хосте, соответствующий мониторинг хоста можно настроить на сервере zabbix.

1. Нажмите «Создать хост», чтобы создать новую конфигурацию хоста.

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

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

Подведите итог:

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

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода