Мониторинг. · 10 min read · Nov 11, 2025

Как установить решение для мониторинга Sensu на Ubuntu 22.04

Sensu — это система мониторинга инфраструктуры и приложений с открытым исходным кодом, предназначенная как для мониторинга контейнеров, так и для неконтейнерного мониторинга и многоклаудной инфраструктуры.

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

В этом руководстве вы настроите решение для мониторинга Sensu на сервере Ubuntu 22.04. Вы также установите и настроите sensu-go-client, который будет использоваться для управления Sensu. И, наконец, вы установите Sensu Agent на целевом хосте для мониторинга и настройки проверок Sensu для базового мониторинга системы.

Предварительные требования

Чтобы завершить это руководство, вам понадобятся следующие требования:

  • Два сервера Ubuntu 22.04 — первый сервер будет использоваться для установки решения для мониторинга Sensu, а второй сервер — целевой сервер для мониторинга.
  • Непривилегированный пользователь с правами администратора sudo/root.

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

Hostname        IP Address      Used as  
--------------------------------------------------  
sensugo-server  192.168.5.100   Sensu Server  
machine1       192.168.5.120   Target Monitoring

Теперь давайте перейдем к установке.

Добавление репозитория Sensu

Sensu — это безопасное и масштабируемое решение для мониторинга, которое можно установить на нескольких операционных системах, таких как Linux, macOS, Windows и FreeBSD. Sensu предоставляет свой собственный репозиторий, особенно для дистрибутивов на базе RHEL и Debian. Пакеты sensu доставляются через репозиторий packagecloud.io.

На этом первом этапе вы настроите репозиторий Sensu как на сервере Sensu, так и на целевой системе мониторинга.

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

sudo apt update  
sudo apt install wget curl gnupg2 apt-transport-https

Когда будет предложено, введите y для подтверждения и нажмите ENTER.

установить зависимости

Затем выполните следующую команду, чтобы добавить стабильный репозиторий Sensu в ваши системы. Это загрузит bash-скрипт, который автоматически настроит и сконфигурирует репозиторий Sensu для ваших систем Ubuntu.

curl -s https://packagecloud.io/install/repositories/sensu/stable/script.deb.sh | sudo bash

Вы получите вывод, похожий на этот.

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

После добавления репозитория sensu вы теперь будете готовы начать установку Sensu Go на сервере Sensu и Sensu Agent на целевом мониторинге.

Установка и настройка Sensu Go Backend

Sensu Go Backend — это основной компонент платформы мониторинга Sensu. Он предоставляет веб-панель администрирования и HTTP API, которые позволяют вам управлять Sensu через командную строку, а также предоставляет WebSockets, которые будут использоваться для подключения целевых машин/агентов.

Перед тем как начать, убедитесь, что вы выполняете все следующие команды на сервере Sensu. В этом примере используется имя хоста сервера ‘sensugo-server’.

Для начала выполните следующую команду apt, чтобы установить Sensu Go backend.

sudo apt install sensu-go-backend

Теперь установка должна начаться.

установить sensu go

После установки Sensu Go Backend загрузите образец конфигурации с помощью команды wget ниже в ‘/etc/sensu/backend.yml’. Затем откройте файл с помощью команды редактора nano.

sudo curl -L https://docs.sensu.io/sensu-go/latest/files/backend.yml -o /etc/sensu/backend.yml  
sudo nano /etc/sensu/backend.yml

Раскомментируйте следующие строки в файле.

cache-dir: "/var/cache/sensu/sensu-backend"  
config-file: "/etc/sensu/backend.yml"  
  
log-level: "debug"  
state-dir: "/var/lib/sensu/sensu-backend"

настройка sensu go

Сохраните файл и выйдите из редактора, когда закончите.

Затем выполните следующую команду systemctl, чтобы запустить и включить службу Sensu Go Backend ‘ sensu-backend ‘.

sudo systemctl start sensu-backend  
sudo systemctl enable sensu-backend

Служба ‘ sensu-backend ‘ теперь должна работать и быть включенной. Также служба будет автоматически запускаться при загрузке.

настройка запуска sensu

Проверьте статус службы ‘sensu-backend’ с помощью следующей команды systemctl.

sudo systemctl is-enabled sensu-backend  
sudo systemctl status sensu-backend

Вы получите вывод, похожий на этот — служба ‘ sensu-backend ‘ включена и сейчас работает.

проверка службы sensu-backend

С Sensu Go Backend, работающим, вы теперь инициализируете Sensu Go Backend, установив пароль администратора и сгенерировав некоторые конфигурации.

Чтобы инициализировать установку Sensu Go Backend, выполните следующую команду, чтобы создать новые переменные окружения, которые будут использоваться для настройки пользователя администратора Sensu и пароля.

В этом примере будет использоваться ‘ sensuadmin ‘ в качестве пользователя и ‘ sensupassword ‘ в качестве пароля. Поэтому обязательно измените пользователя администратора и пароль.

export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=sensuadmin  
export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=sensupassword

Теперь выполните следующую команду ‘sensu-backend’, чтобы инициализировать установку Sensu Go Backend.

sensu-backend init

Вы получите вывод, похожий на этот — Sensu Go Backend теперь инициализирован и работает на порту по умолчанию ‘ 3000 ‘.

sensu инициализация

Теперь откройте веб-браузер и перейдите по IP-адресу сервера, добавив TCP-порт 3000 (т.е.: http://192.168.5.100:3000). И вы должны увидеть страницу входа в Sensu.

Войдите с именем пользователя и паролем, установленными в процессе инициализации, и нажмите ‘ SIGN-IN ‘.

вход в sensu

После входа вы должны увидеть панель администрирования Sensu. Вы завершили установку Sensu Go Backend.

панель управления sensu

Кроме того, вы также можете проверить состояние здоровья вашего сервера Sensu Go Backend через API Sensu.

Установите утилиту пакета ‘ jq ‘ в вашу систему с помощью следующей команды apt.

sudo apt install jq -y

Теперь выполните следующую команду curl, чтобы получить доступ к API сервера Sensu, который работает на порту по умолчанию ‘ 8080 ‘. Эта команда проверит состояние здоровья вашего сервера Sensu, а затем вывод будет отформатирован в json, что делает вывод читаемым.

curl -s http://127.0.0.1:8080/health | jq .

Вывод — в следующем выводе ‘Healthy: true’ и без ошибок.

проверка состояния здоровья sensu

Установка и настройка sensuctl

С установленным и настроенным Sensu Go Backend вы затем установите Sensu Go Client на сервере Sensu. Sensu Go Client предоставляет утилиту командной строки ‘sensuctl’, которая позволяет вам управлять Sensu через терминал сервера.

Работа ‘sensuctl’ заключается в том, чтобы общаться с сервером Sensu через API для создания, чтения, обновления и удаления ресурсов, событий и сущностей на сервере Sensu.

Выполните следующую команду apt, чтобы установить Sensu Go Client. Установка должна начаться.

sudo apt install sensu-go-cli

установка sensuctl

После установки ‘ sensu-go-cli ‘ откройте файл ‘~ /.bashrc ‘ с помощью следующей команды редактора nano.

nano ~/.bashrc

Добавьте следующие строки в конец файла. Эта конфигурация позволит включить автозаполнение для команды ‘sensuctl’.

if [ -f /usr/share/bash-completion/bash_completion ]; then  
. /usr/share/bash-completion/bash_completion  
elif [ -f /etc/bash_completion ]; then  
. /etc/bash_completion  
fi  
  
source <(sensuctl completion bash)

Сохраните файл и выйдите, когда закончите.

Затем перезагрузите текущую сессию, перезагрузив файл ‘ ~/.bashrc ‘. Затем проверьте с помощью команды ‘sensuctl’.

source ~/.bashrc  
sensuctl TAB

Если вы нажмете кнопку TAB после команды ‘ sensuctl ‘, вы должны получить список опций для этой команды.

автозаполнение sensuctl

С установленным Sensu Go Client вы теперь начнете настраивать соединение с сервером Sensu.

Выполните следующую команду ‘ sensuctl configure ‘, чтобы добавить сервер Sensu.

sudo sensuctl configure

Теперь вам будет предложено ответить на некоторые конфигурации:

  • Метод аутентификации? имя пользователя/пароль
  • URL API Sensu Backend? API Sensu работает по умолчанию на http://127.0.0.1:8080
  • Пространство имен? по умолчанию
  • Предпочитаемый формат вывода? Выберите формат вывода, который вы хотите — в этом примере табличный.
  • Имя пользователя? пользователь администратор для sensu
  • Пароль? пароль для пользователя администратора sensu

После завершения конфигурации ‘ sensuctl ‘ выполните следующую команду, чтобы проверить текущие детали конфигурации.

sudo sensuctl config view

Вы получите вывод, похожий на этот — Sensu Go Client теперь подключен к серверу Sensu через HTTP API, который работает по умолчанию на localhost:8080.

конфигурация sensuctl

На этом этапе вы завершили базовую конфигурацию Sensu Go Backend и Sensu Go Client. На следующем этапе вы будете мониторить целевую машину через Sensu Agent.

Установка Sensu Agent на целевой машине

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

Перед тем как начать, убедитесь, что репозиторий Sensu добавлен. Также убедитесь, что вы выполняете следующие команды на целевой машине, в этом примере используется сервер с именем хоста ‘ machine1 ‘.

Выполните следующую команду apt, чтобы установить Sensu Agent в вашу систему. Установка должна автоматически продолжиться.

sudo apt install sensu-go-agent

установка sensu-agent

После установки Sensu Agent загрузите файл конфигурации Sensu Agent в ‘ /etc/sensu/agent.yml ‘ с помощью команды curl. Затем откройте файл ‘/etc/sensu/agent.yml ‘ с помощью команды редактора nano.

sudo curl -L https://docs.sensu.io/sensu-go/latest/files/agent.yml -o /etc/sensu/agent.yml  
sudo nano /etc/sensu/agent.yml

Измените конфигурацию по умолчанию на следующие строки. Убедитесь, что вы изменили ‘name’ на имя хоста целевой машины, а URL бэкенда — на адрес WebSocket для сервера Sensu, который работает на порту по умолчанию ‘ 8081 ‘.

В этом примере имя хоста целевой машины ‘ machine1 ‘, а IP-адрес сервера Sensu ‘ 192.168.5.100 ‘.

name: "machine1"  
namespace: "default"  
...  
backend-url:  
  - "ws://192.168.5.100:8081"  
cache-dir: "/var/cache/sensu/sensu-agent"  
config-file: "/etc/sensu/agent.yml"

конфигурация агента sensu

Сохраните файл и выйдите из редактора, когда закончите.

Затем выполните следующую команду systemctl, чтобы запустить и включить службу ‘ sensu-agent ‘. Служба теперь должна работать и быть включенной, что означает, что служба будет автоматически запускаться при загрузке.

sudo systemctl start sensu-agent  
sudo systemctl enable sensu-agent

конфигурация и запуск агента sensu

Теперь проверьте службу ‘sensu-agent’ с помощью следующей команды, чтобы убедиться, что служба работает.

sudo systemctl is-enabled sensu-agent  
sudo systemctl status sensu-agent

Вы получите вывод, похожий на следующий — служба ‘ sensu-agent ‘ включена, и текущий статус — работающий.

проверка агента sensu

Наконец, вернитесь к терминалу сервера Sensu и выполните следующую команду ‘sensuctl’, чтобы проверить, что целевая машина ‘machine1’ доступна на сервере Sensu.

sensuctl entity list --format tabular

Вы получите вывод, похожий на этот — целевая машина ‘ machine1 ‘ добавлена на сервер Sensu через Sensu Agent.

список сущностей

Теперь, когда целевая машина ‘machine1’ добавлена на сервер Sensu, вы следующим шагом настроите проверки для базового мониторинга системы.

Настройка проверок для мониторинга системы

В Sensu проверки — это то, где вы определяете, что именно хотите мониторить. Примеры проверок включают мониторинг использования ЦП, использования памяти, использования диска и многое другое. Проверки являются частью активов, которые являются динамическими средами выполнения, которые можно делиться и повторно использовать.

На этом этапе вы создадите новые проверки для мониторинга использования ЦП, использования памяти и использования диска. Эти проверки будут использоваться для мониторинга целевой машины ‘ machine1 ‘.

Для начала выполните следующую команду sensuctl, чтобы обновить сущность или целевую машину ‘ machine1 ‘.

sensuctl entity update machine1

Класс должен быть ‘ agent ‘, а подписка должна быть ‘ System ‘.

Теперь выполните следующую команду sensuctl, чтобы добавить активы на ваш сервер Sensu. Вы можете получить другой актив Sensu из хранилища активов Sensu https://bonsai.sensu.io.

sensuctl asset add sensu/check-cpu-usage  
sensuctl asset add sensu/check-memory-usage  
sensuctl asset add sensu/check-disk-usage

Вы получите вывод, похожий на этот.

Добавление активов времени выполнения ‘ sensu/check-cpu-usage

актив проверки ЦП

Добавление активов времени выполнения ‘ sensu/check-memory-usage ‘.

актив проверки памяти

Добавление активов времени выполнения ‘ sensu/check-disk-usage ‘.

загрузка проверки диска

Затем проверьте список активов на сервере Sensu с помощью следующей команды sensuctl ниже. Вы должны увидеть, что эти активы времени выполнения добавлены на сервер Sensu.

sensuctl asset list

список активов

С добавленными активами Sensu вы затем создадите проверки на основе активов, которые вы добавили.

Выполните следующую команду, чтобы создать проверку ‘check_cpu’ с подпиской ‘ system ‘ и использовать актив времени выполнения ‘ sensu/check-cpu-usage ‘. Вы можете настроить параметры в опции ‘ command ‘.

sensuctl check create check_cpu \  
--command 'check-cpu-usage -w 75 -c 90' \  
--interval 60 \  
--subscriptions system \  
--runtime-assets sensu/check-cpu-usage

создать проверку ЦП

Выполните следующую команду, чтобы создать проверку ‘ check_mem ‘ с подпиской ‘system’ и использовать актив времени выполнения ‘ sensu/check-memory-usage ‘. Вы можете настроить параметры в опции ‘ command ‘.

sensuctl check create check_mem \  
--command 'check-memory-usage -w 80 -c 90' \  
--interval 60 \  
--subscriptions system \  
--runtime-assets sensu/check-memory-usage

проверка памяти

Выполните следующую команду, чтобы создать проверку ‘check_disk’ с подпиской ‘ system ‘ и использовать актив времени выполнения ‘sensu/check-disk-usage ‘. Вы можете настроить параметры в опции ‘ command ‘.

sensuctl check create check_disk \  
--command 'check-disk-usage --include-fs-type "xfs,ext4" --exclude-fs-path "/boot" --warning 90 --critical 95' \  
--interval 60 \  
--subscriptions system \  
--runtime-assets sensu/check-disk-usage

Теперь проверьте список проверок на сервере Sensu с помощью утилиты команды ‘sensuctl’ ниже. Вы увидите три проверки, которые вы создали: check_cpu, check_mem и check_disk.

sensuctl check list

Теперь вернитесь в веб-браузер и посетите панель администрирования Sensu. Убедитесь, что вы находитесь в пространстве имен ‘ default ‘, затем нажмите ‘ Entities ‘.

Вы должны увидеть, что целевая машина ‘ machine1 ‘ добавлена со статусом OK.

статус сущностей

Нажмите на ‘ machine1 ‘, чтобы получить детали мониторинга. И вы должны получить страницу, подобную следующей — все проверки, которые вы создали, выполняются и работают.

детали мониторинга

Теперь вы создали и настроили активы и проверки для мониторинга системы на сервере Sensu.

Заключение

Теперь вы установили решение для мониторинга Sensu на сервере Ubuntu 22.04. Вы также узнали основные способы использования команды Sensuctl для управления бэкендом Sensu. Кроме того, вы успешно мониторили машину Linux через Sensu Agent и настроили “активы” и “проверки” для мониторинга целевых серверов.

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.