Мониторинг. · 15 min read · Nov 06, 2025
Как установить решение для мониторинга Sensu на Rocky Linux 9

Sensu — это система мониторинга инфраструктуры и приложений с открытым исходным кодом, предназначенная для мониторинга контейнеров и неконтейнерных приложений, а также для многооблачной инфраструктуры.
Sensu — это масштабируемое, безопасное, интегрированное решение для мониторинга вашей технологии и серверной инфраструктуры. Его можно использовать для мониторинга серверов, состояния приложений и служб, а также для отправки уведомлений об оповещениях нескольким целям с интеграцией сторонних разработчиков.
В этом руководстве вы установите решение для мониторинга Sensu на сервер Rocky Linux 9. Кроме того, вы также установите и настроите Sensuctl, который позволяет управлять Sensu через терминал командной строки.
К концу этого руководства вы также установите Sensu Agent на дистрибутивы на основе RHEL и дистрибутивы на основе Debian. Затем вы настроите проверки для мониторинга серверов через Sensu Agent.
Предварительные требования
Чтобы следовать этому руководству, вам понадобятся следующие требования:
- Сервер Linux с Rocky Linux 9.
- Непривилегированный пользователь с правами администратора sudo/root.
- SELinux работает в разрешающем режиме.
Что касается целевого сервера мониторинга, в этом примере используются серверы Rocky Linux и Debian. Ниже приведены детали серверов, которые будут использоваться для демонстрации:
Host IP Address Used as
-----------------------------------------------
sensu-rock 192.168.5.45 Sensu Go Backend
RPM-OS 192.168.5.80 Sensu Go Agent
DEB-OS 192.168.5.85 Sensu Go AgentВот и все. Вы готовы начать установку Sensu.
Настройка репозитория
Первое, что вы сделаете, это включите репозиторий CRB (Code Ready Builder), добавите репозиторий EPEL (Extra Package for Enterprise Linux), затем добавите репозиторий Sensu через packagecloud.io.
На Rocky Linux 9 репозиторий crb эквивалентен PowerTools, который доступен на CentOS. Выполните следующую команду dnf, чтобы включить репозиторий crb и установить репозиторий EPEL.
sudo dnf config-manager --set-enabled crb
sudo dnf install epel-release
После того как crb будет включен и репозиторий EPEL установлен, выполните следующую команду, чтобы добавить репозиторий Sensu на ваш сервер Rocky Linux. Это автоматически настроит репозиторий Sensu на вашей системе, и вы будете использовать репозиторий Sensu из стабильной ветки.
curl -s https://packagecloud.io/install/repositories/sensu/stable/script.rpm.sh | sudo bashПроверьте список включенных репозиториев на вашей системе, введя команду dnf ниже. Вы должны получить вывод, что репозитории crb, epel и sensu_stable добавлены в вашу систему Rocky Linux.
sudo dnf repolist
Теперь, когда вы добавили необходимые репозитории, вы готовы начать установку Sensu.
Установка Sensu Go Backend
Sensu — это полное решение для мониторинга в масштабе, которое можно использовать для мониторинга традиционных серверов, контейнеров, приложений и/или облачных приложений. Перед установкой Sensu вы должны знать, что в Sensu есть три компонента, ниже приведен список:
- Sensu Backend — основной компонент Sensu, который работает на встроенном транспорте и хранилище etcd. Sensu Backend открывает WebSocket, который будет использоваться для связи с Sensu Agent, HTTP API, который будет использоваться для связи с sensuctl. Кроме того, он предоставляет веб-интерфейс панели управления, к которому вы можете получить доступ через браузер.
- Sensu Agent — это легковесный клиент, который будет установлен и работать на целевых серверах. Агент будет генерировать статус и метрики на целевом сервере и отправлять результаты в Sensu Backend через WebSocket.
- Sensu Workstation — это локальный компьютер, на котором вы можете установить Sensuctl, или вы можете получить доступ к панели управления Sensu из вашего браузера.
В этом разделе вы установите и настроите Sensu Backend на сервере Rocky Linux.
Введите следующую команду dnf, чтобы установить пакет ‘sensu-go-backend‘ на вашу систему. Когда появится запрос, введите y для подтверждения и нажмите ENTER, чтобы продолжить.
sudo dnf install sensu-go-backend
После установки Sensu Backend загрузите пример конфигурации Sensu Backend в ‘/etc/sensu/backend.yml‘ через curl. Затем откройте загруженный файл, используя следующую команду редактора 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"Сохраните и закройте файл ‘/etc/sensu/backend.yml’ по завершении.
Затем выполните следующую команду systemctl, чтобы запустить и включить службу ‘sensu-backend‘. С этим Sensu Backend должен работать и автоматически запускаться при старте системы.
sudo systemctl start sensu-backend
sudo systemctl enable sensu-backend
Выполните следующую команду systemctl, чтобы проверить службу ‘sensu-backend’ и убедиться, что служба работает и включена.
sudo systemctl is-enabled sensu-backend
sudo systemctl status sensu-backendВывод ‘enabled‘ подтверждает, что Sensu Backend будет автоматически запускаться при старте системы. А вывод ‘active (running)‘ подтверждает, что Sensu Backend в настоящее время работает.

Теперь, когда вы установили Sensu backend и он работает и включен. Далее вы инициализируете администратора Sensu и проверите установку.
Настройка Sensu Go Backend
В этом разделе вы инициализируете имя пользователя и пароль администратора для Sensu Backend, проверите установку через curl и веб-браузер, а также откроете некоторые порты через firewalld.
Выполните следующую команду, чтобы установить переменные окружения ‘SENSU_BACKEND_CLUSTER_ADMIN_USERNAME‘ и ‘SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD‘. Обязательно измените значение на ваше имя пользователя и пароль.
export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=adminsensu
export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=SensuRocksТеперь выполните следующую команду ‘sensu-backend init‘, чтобы инициализировать вашу установку Sensu. С этим создается ваш администратор Sensu backend.
sensu-backend init
Затем выполните следующую команду, чтобы установить пакет ‘jq’ для разбора вывода в json. Затем выполните команду curl, чтобы проверить статус Sensu Backend. HTTP API Sensu backend работает на порту по умолчанию 8080.
sudo dnf install jq
curl -s http://127.0.0.1:8080/health | jq .Вывод ‘Healthy: true‘ подтверждает, что Sensu Backend работает без ошибок.

Перед доступом к панели управления Sensu вам необходимо открыть порты на firewalld.
Введите следующую команду firewall-cmd, чтобы открыть некоторые порты для Sensu Backend. Затем перезагрузите firewalld, чтобы применить изменения.
sudo firewall-cmd --add-port={2379/tcp,2380/tcp,3000/tcp,6060/tcp,8080/tcp,8081/tcp} --permanent
sudo firewall-cmd --reloadПроверьте список открытых портов на firewalld с помощью следующей команды.
sudo firewall-cmd --list-all
Теперь откройте веб-браузер и перейдите по IP-адресу сервера, добавив порт 3000 (т.е.: http://192.168.5.45:3000/). Вы должны увидеть страницу входа в Sensu backend.
Войдите с вашим именем пользователя и паролем, затем нажмите ‘SIGN-IN‘.

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

С этим вы теперь установили Sensu Backend, настроили администратора и пароль, а также успешно вошли в панель управления Sensu из браузера. На следующем этапе вы установите Sensuctl, а затем подключитесь к Sensu Backend через Sensuctl.
Установка командной строки Sensuctl
Выполните следующую команду dnf, чтобы установить команду Sensuctl. Когда появится запрос, введите y для подтверждения и нажмите ENTER, чтобы продолжить.
sudo dnf install sensu-go-cliПосле установки Sensuctl выполните следующую команду, чтобы проверить путь к бинарному файлу и версию Sensuctl.
which sensuctl
sensuctl --versionПуть к бинарному файлу Sensuctl доступен по адресу ‘/bin/sensuctl’, а установленная версия — v6.9.1.
Затем выполните следующую команду ‘sensuctl‘, чтобы настроить подключение к вашему серверу Sensu Backend.
sensuctl configureТеперь вам будет предложено несколько настроек:
- Метод аутентификации? имя пользователя/пароль
- URL API Sensu Backend? API Sensu работает по умолчанию на http://127.0.0.1:8080
- Пространство имен? по умолчанию
- Предпочитаемый формат вывода? Выберите формат вывода, который вы хотите - в этом примере это json.
- Имя пользователя? администратор для sensu
- Пароль? пароль для администратора sensu

Когда закончите, выполните команду ниже, чтобы проверить детали подключения.
sensuctl config viewВы получите вывод, аналогичный этому - Sensuctl подключен к Sensu Backend через HTTP API, который работает по умолчанию на ‘http://127.0.0.1:8080‘.

После настройки Sensuctl вы теперь включите автозаполнение для командной строки Sensuctl.
Выполните следующую команду dnf, чтобы установить пакет ‘bash-completion‘.
sudo dnf install bash-completion -yКогда ‘bash-completion’ установлен, откройте файл ‘~/.bashrc‘ с помощью следующей команды редактора nano.
sudo nano ~/.bashrcДобавьте следующие строки в файл. Это включит ‘bash-completion‘ для пользователя root.
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‘ в вашей текущей сессии.
source ~/.bashrcПроверьте автозаполнение, введя команду ‘sensuctl‘ и нажав TAB.
sensuctl TABПри успешном выполнении вы должны получить список доступных опций для команды ‘sensuctl‘.

С этим вы теперь установили Sensuctl, подключились к серверу Sensu Backend через Sensuctl и также настроили его автозаполнение. Далее вы установите Sensu Agent на серверах Rocky Linux и Debian.
Установка Sensu Agent
В этом разделе вы установите и настроите Sensu Agent на двух различных узлах. Вы установите Sensu Agent на дистрибутивах на основе RHEL и дистрибутивах на основе Debian. Затем настройте Sensu Agent для подключения к серверу Sensu Backend, который вы установили через WebSocket.
Теперь давайте начнем.
Sensu Agent на дистрибутивах на основе RHEL
В этом примере используется машина Rocky Linux 9, которая основана на RHEL или CentOS 9. Чтобы установить Sensu Agent, вам необходимо добавить репозиторий Sensu и открыть некоторые порты на firewalld.
Выполните следующую команду firewall-cmd, чтобы открыть некоторые порты. Затем перезагрузите firewalld, чтобы применить изменения.
sudo firewall-cmd --add-port={3030/tcp,3030/udp,3031/tcp,8125/udp} --permanent
sudo firewall-cmd --reloadПроверьте список включенных портов на firewalld с помощью команды ниже.
sudo firewall-cmd --list-allВы должны получить вывод, похожий на этот:

Затем введите следующую команду dnf, чтобы включить репозиторий crb и установить репозиторий EPEL.
sudo dnf config-manager --set-enabled crb
sudo dnf install epel-releaseТеперь добавьте репозиторий Sensu, введя следующую команду. Это загрузит и выполнит сценарий установщика bash, который автоматизирует настройку репозитория.
curl -s https://packagecloud.io/install/repositories/sensu/stable/script.rpm.sh | sudo bashВывод:

После добавления репозитория Sensu выполните следующую команду dnf, чтобы установить пакет ‘sens-go-agent’ на вашу систему. Когда появится запрос, введите y для подтверждения и нажмите ENTER, чтобы продолжить.
sudo dnf install sensu-go-agentВывод:

Затем выполните следующую команду, чтобы загрузить файл конфигурации Sensu Agent в ‘/etc/sensu/agent.yml‘. Затем откройте файл конфигурации ‘/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‘ на имя хоста системы и ‘backend-url‘ на IP-адрес WebSocket сервера Sensu Backend.
В этом примере имя хоста системы — ‘RPM-OS‘, а IP-адрес сервера Sensu Backend — ‘192.168.5.45‘.
name: "RPM-OS"
namespace: "default"
...
backend-url:
- "ws://192.168.5.45:8081"
cache-dir: "/var/cache/sensu/sensu-agent"
config-file: "/etc/sensu/agent.yml"Сохраните файл ‘/etc/sensu/agent.yml‘ и выйдите из редактора, когда закончите.

Теперь выполните следующую команду systemctl, чтобы запустить и включить службу ‘sensu-agent‘.
sudo systemctl start sensu-agent
sudo systemctl enable sensu-agentВывод ‘Create symlink … => …‘ подтверждает, что Sensu Agent включен.

Затем проверьте службу ‘sensu-agent‘ с помощью следующей команды systemctl, чтобы убедиться, что служба работает и включена.
sudo systemctl is-enabled sensu-agent
sudo systemctl status sensu-agentВывод ‘enabled‘ подтверждает, что Sensu Agent включен и будет автоматически запускаться при старте системы. А статус Sensu Agent — ‘active (running)‘.

С Sensu Agent, работающим на машине ‘RPM-OS‘, агент будет подключен к Sensu Backend через WebSocket на порту 8081.
Sensu Agent на дистрибутивах на основе Debian
Теперь вы установите Sensu Agent на дистрибутиве на основе Debian, настроите брандмауэр UFW, а затем сконфигурируете Sensu Agent для подключения к серверу Sensu Backend.
Сначала вам нужно открыть некоторые порты на вашей системе. На дистрибутиве на основе Debian вы можете использовать ufw для настройки брандмауэра.
Выполните следующую команду apt, чтобы установить брандмауэр ufw.
sudo apt install ufw -y
После установки выполните следующую команду ufw, чтобы добавить службу OpenSSH и некоторые порты, которые будут использоваться Sensu Agent.
sudo ufw allow OpenSSH
sudo ufw allow 3030/tcp
sudo ufw allow 3030/udp
sudo ufw allow 3031/tcp
sudo ufw allow 8125/udpВывод ‘Rules updated‘ подтверждает, что новое правило добавлено в брандмауэр.
Затем выполните следующую команду, чтобы запустить и включить брандмауэр ufw. Когда появится запрос, введите y для подтверждения и нажмите ENTER, чтобы продолжить.
sudo ufw enable
Проверьте список включенных портов и приложений на ufw, введя следующую команду.
sudo ufw statusВы должны получить вывод, похожий на этот:

Теперь вы готовы установить пакет Sensu Agent.
Выполните следующую команду apt, чтобы установить основные зависимости на вашей системе. Введите y для подтверждения и нажмите ENTER, чтобы продолжить установку.
sudo apt install debian-archive-keyring curl gnupg apt-transport-https
Затем добавьте репозиторий Sensu для дистрибутивов на основе Debian, введя следующую команду. Это загрузит и выполнит сценарий установщика bash, который автоматизирует настройку репозитория.
curl -s https://packagecloud.io/install/repositories/sensu/stable/script.deb.sh | sudo bash
После добавления репозитория установите ‘sensu-go-agent’ с помощью команды ‘apt install’ ниже. Когда появится запрос, введите y и нажмите ENTER.
sudo apt install sensu-go-agent
Затем выполните следующую команду, чтобы загрузить файл конфигурации Sensu Agent в ‘/etc/sensu/agent.yml‘. Затем откройте файл конфигурации ‘/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‘ на имя хоста системы и ‘backend-url‘ на IP-адрес WebSocket сервера Sensu Backend.
В этом примере имя хоста системы — ‘DEB-OS‘, а IP-адрес сервера Sensu Backend — ‘192.168.5.45‘.
name: "DEB-OS"
namespace: "default"
...
backend-url:
- "ws://192.168.5.45:8081"
cache-dir: "/var/cache/sensu/sensu-agent"
config-file: "/etc/sensu/agent.yml"Сохраните файл ‘/etc/sensu/agent.yml‘ и выйдите из редактора, когда закончите.

Теперь выполните следующую команду systemctl, чтобы запустить и включить службу ‘sensu-agent‘.
sudo systemctl start sensu-agent
sudo systemctl enable sensu-agentВывод ‘Create symlink … => …‘ подтверждает, что Sensu Agent включен.

Затем проверьте службу ‘sensu-agent‘ с помощью следующей команды systemctl, чтобы убедиться, что служба работает и включена.
sudo systemctl is-enabled sensu-agent
sudo systemctl status sensu-agentВывод ‘enabled‘ подтверждает, что Sensu Agent включен и будет автоматически запускаться при старте системы. А статус Sensu Agent — ‘active (running)‘.

С Sensu Agent, работающим на машине ‘DEB-OS‘, агент будет подключен к Sensu Backend через WebSocket на порту 8081.
Проверка агента через Sensu Go Backend и Sensuctl
На данный момент вы добавили два сервера ‘RPM-OS‘ и ‘DEB-OS‘ в решения для мониторинга Sensu через Sensu Agent. В этом разделе вы проверите оба сервера из панели управления Sensu и через команду Sensuctl из терминала.
Вернитесь к панели управления Sensu, и вы должны увидеть три доступных объекта в Sensu.

Нажмите на пространство имен ‘default‘, и вы должны увидеть ‘RPM-OS‘ и ‘DEB-OS‘, добавленные в Sensu.

Затем вернитесь к терминальному серверу Sensu Backend и выполните следующую команду sensuctl, чтобы проверить список объектов, доступных в Sensu.
sensuctl entity list --format tabularВы должны получить два объекта ‘RPM-OS‘ и ‘DEB-OS‘, добавленных и доступных в Sensu.

Создание проверок для мониторинга системы
В Sensu проверки — это то, где вы определяете, что хотите мониторить. Примеры проверок включают мониторинг использования ЦП, использования памяти, использования диска и многое другое. Проверки являются частью активов, которые представляют собой динамические среды выполнения, которые можно делиться и повторно использовать.
В этом разделе вы создадите новые проверки для мониторинга использования ЦП, использования памяти и использования диска. Эти проверки будут использоваться для мониторинга серверов ‘RPM-OS‘ и ‘DEB-OS‘.
Процесс создания проверки в Sensu заключается в добавлении активов Sensu, а затем в определении проверок, которые зависят от ваших потребностей. И все эти процессы можно выполнить через команду Sensuctl.
Выполните следующую команду, чтобы добавить актив для проверки использования ЦП.
sensuctl asset add sensu/check-cpu-usage
Теперь выполните следующую команду, чтобы создать проверку ‘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
Затем добавьте новый актив для проверки использования памяти, используя следующую команду.
sensuctl asset add sensu/check-memory-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
Выполните следующую команду, чтобы добавить новый актив для проверки использования диска.
sensuctl asset add sensu/check-disk-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 Backend. Вы должны увидеть несколько активов, которые можно использовать для создания проверок для нескольких архитектур систем.
sensuctl asset list --format tabular
Теперь проверьте список проверок, которые вы создали, введя следующую команду. Вы должны увидеть три проверки ‘check_cpu’, ‘check_mem’ и ‘check_disk’.
sensuctl check list --format tabularПрименение системных проверок для мониторинга агентов/хостов
Теперь, когда вы добавили проверки в Sensu, вы следующим шагом примените проверки к объекту/хосту ‘RPM-OS‘ и ‘DEB-OS‘, изменив каждый объект и изменив его подписки.
Все ваши проверки ‘check_cpu’, ‘check_mem’ и ‘check_disk’ настроены на подписку ‘system‘.
Сначала проверьте список объектов с помощью команды sensuctl ниже. Вы должны увидеть ‘RPM-OS‘ и ‘DEB-OS‘ серверы в списке.
sensuctl entity list --format tabularЗатем выполните следующую команду, чтобы изменить объекты ‘RPM-OS‘ и ‘DEB-OS‘. Класс объекта должен быть ‘agent‘, затем добавьте подписку ‘system‘. Вывод ‘Updated‘ подтверждает, что объект изменен.
sensuctl entity update RPM-OS
sensuctl entity update DEB-OSВывод:

Теперь вернитесь к панели управления Sensu, затем выберите пространство имен ‘default‘. Нажмите на меню Entities, и вы должны увидеть, что подписка ‘system‘ добавлена к обоим DEB-OS и RPM-OS.
Нажмите на ‘DEB-OS‘, чтобы получить детали мониторинга. И вы должны увидеть, что все проверки на подписке ‘system‘ применены.
Нажмите на ‘RPM-OS‘, чтобы получить детальный мониторинг. И вы должны увидеть, что все проверки на подписке ‘system‘ применены.
С этим вы теперь применили проверки к обоим серверам RPM-OS и DEB-OS.
Заключение
В этом руководстве вы установили решение для мониторинга Sensu на сервере Rocky Linux 9. Вы установили и инициализировали администратора Sensu Backend, а также установили и настроили командную строку Sensuctl для управления Sensu backend.
Кроме того, вы также добавили два хоста (сервер Rocky Linux и Debian) в Sensu через Sensu Agent. Также вы добавили активы для мониторинга системы, создали проверки Sensu и также применили проверки к целевому хосту для мониторинга.
С учетом этого, вы теперь можете добавлять новые хосты через Sensu Agent. Также вы можете определять и создавать новые проверки, добавлять новые активы Sensu, а затем применять проверки к вашим хостам и приложениям. Теперь вы можете узнать больше о Sensi из официальной документации Sensu.
Get new posts in your inbox
No spam. Unsubscribe anytime.