Поиск по сайту:

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


На этой странице

  1. Необходимое условие
  2. Добавление репозитория Sensu
  3. Установка серверной части Sensu
  4. Установка Sensuctl из командной строки
  5. Установка агента Sensu
  6. Отслеживание ресурсов сервера с помощью проверок
  7. Заключение

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

В этом руководстве вы узнаете, как установить программное обеспечение для мониторинга Sensu на сервер Debian 11. Вы также узнаете, как настроить Sensu CLI для управления Sensu. Наконец, вы узнаете, как настроить мониторинг сервера с помощью Sensu через агент Sensu.

Предпосылка

Для этого развертывания Sensu вам потребуются следующие требования:

  • Один сервер Debian 11 с 4 ГБ ОЗУ и 2 ЦП. Это требование очень зависит от вашей инфраструктуры.
  • Пользователь без полномочий root с правами sudo/administrator.
  • В качестве цели для мониторинга будет использоваться компьютер Linux.

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

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

Репозиторий Sensu доступен на packagecloud.io, который можно добавить в вашу систему вручную или с помощью скрипта bash, предоставленного packagecloud.io.

Перед добавлением репозитория Sensu выполните приведенную ниже команду apt, чтобы установить основные зависимости пакета. Нажмите Y и Enter, когда будет предложено подтвердить установку.

sudo apt install debian-archive-keyring curl gnupg apt-transport-https

Теперь выполните следующую команду, чтобы добавить репозиторий Sensu. Этот скрипт bash автоматически добавит репозиторий Sensu и ключ GPG на ваши серверы Debian.

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

Если вы хотите вручную добавить репозиторий Sensu, выполните следующие действия:

Создайте каталог набора ключей для хранения ключа GPG репозитория Sensu.

mkdir -p /etc/apt/keyrings/
curl -fsSL https://packagecloud.io/sensu/stable/gpgkey | gpg --dearmor > /etc/apt/keyrings/sensu_stable-archive-keyring.gpg

Добавьте репозиторий Sensu, используя следующую команду. Этот репозиторий предназначен для Debian 11 Bullseye и последней стабильной версии Sensu.

cat <<EOF | sudo tee /etc/apt/sources.list.d/sensu_stable.list
deb [signed-by=/etc/apt/keyrings/sensu_stable-archive-keyring.gpg] https://packagecloud.io/sensu/stable/debian bullseye main
deb-src [signed-by=/etc/apt/keyrings/sensu_stable-archive-keyring.gpg] https://packagecloud.io/sensu/stable/debian bullseye main
EOF

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

sudo apt update

Установка бэкенда Sensu

Основным сердцем решения для мониторинга Sensu является «Сердце Sensu», которое обеспечивает API HTTP, который может использоваться администратором через командную строку sensuctl. API WebSocket, который будет использоваться «Агентом Sensu» для мониторинга, а также предоставляет панель инструментов веб-интерфейса для управления Sensu.

Кроме того, Sensu использовала «etcd» для хранения данных, особенно при развертывании большого кластера Sensu.

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

sudo apt install sensu-go-backend

После завершения установки загрузите образец конфигурации серверной части Sensu в \/etc/sensu/backend.yml\. Затем отредактируйте файл \/etc/sensu/backend.yml\, используя следующую команду.

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"

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

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

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

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

sudo systemctl status sensu-backend

После запуска бэкэнда Sensu вы инициализируете установку и настройку бэкенда Sensu. Это можно сделать с помощью командной строки \sensu-backend init\, которая предоставляется пакетом Sensu Backend.

Кроме того, во время инициализации Sensu Backend вы настроите пользователя-администратора и пароль для своего решения для мониторинга Sensu.

Выполните следующую команду, чтобы создать новые переменные системной среды для пользователя и пароля администратора Sensu. В этом примере вы создадите нового пользователя-администратора Sensu «adminsensu» с паролем «SensuRocks».

export SENSU_BACKEND_CLUSTER_ADMIN_USERNAME=adminsensu
export SENSU_BACKEND_CLUSTER_ADMIN_PASSWORD=SensuRocks

Теперь начните инициализировать серверную часть Sensu, используя приведенную ниже команду. Вы должны увидеть процесс инициализации, и Sensu сохранит данные в хранилище данных «etcd».

sensu-backend init

Чтобы проверить и проверить вашу серверную установку Sensu, вы выполните проверку работоспособности Sensu с помощью команды curl для HTTP API Sensu, работающего на порту по умолчанию «8080».

Запустите команду curl ниже, чтобы проверить работоспособность вашей серверной установки Sensu. Вы должны увидеть выходное сообщение на экране терминала, например \здоровье: ОК\.

curl http://127.0.0.1:8080/health

Вы также можете посетить панель управления веб-интерфейсом Sensu через TCP-порт \3000\. Откройте веб-браузер и посетите IP-адрес вашего сервера после порта 3000 (например, http://192.168.5.100:3000). И вы должны увидеть страницу входа в Sensu.

Введите пользователя-администратора «adminsensu» с паролем «SensuRocks». Затем нажмите \ВХОД\, чтобы войти в панель управления веб-интерфейса Sensu.

Теперь вы должны увидеть панель веб-администрирования Sensu.

Установка командной строки Sensuctl

В Sensu администратор может управлять решением Sensu Monitoring Solution через панель администрирования веб-интерфейса Sensu и через терминал командной строки с помощью \sensuctl\.

\sensuctl\ — это инструмент командной строки для управления ресурсами Sensu. Он использовал HTTP API для связи с Sensu Backend, который позволяет создавать, читать и удалять ресурсы, события и сущности.

\sensuctl\ можно установить в нескольких операционных системах, таких как Linux, Windows и macOS. Функция sensuctl аналогична панели инструментов пользовательского интерфейса сети Sensu, и вы можете установить ее на своей локальной рабочей станции или на безопасном сервере оплота вашей инфраструктуры.

В системах на базе Debian/Ubuntu выполните приведенную ниже команду apt, чтобы установить инструмент командной строки \sensuctl\. Установка начнется автоматически.

sudo apt install sensu-go-cli

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

sensuctl configure

Вам будут предложены следующие конфигурации:

  • В качестве метода аутентификации выберите \имя пользователя/пароль\.
  • Введите URL-адрес Sensu Backend API вашего сервера. В этом примере мы настроим sensuctl на том же сервере, поэтому хостом будет localhost или 127.0.0.1. Порт по умолчанию для HTTP API Sensu — «8080» — http://127.0.0.1:8080.
  • Для конфигурации пространства имен выберите \по умолчанию\.
  • Для выходного формата вы можете выбрать \табличный\ стиль или использовать выходной формат \yaml\.
  • Наконец, введите имя администратора и пароль для вашего бэкенда Sensu.

Теперь вы завершили базовую настройку \sensuctl\ и подключились к серверу Sensu Backend API.

Выполните приведенную ниже команду \sensuctl\, чтобы проверить конфигурацию. Вы должны увидеть подробные конфигурации API \sensuctl\.

sensuctl config view

Кроме того, sensuctl также обеспечивает автозаполнение для вашей оболочки. Если вы используете bash, вам необходимо установить пакет \bash-completion\ и добавить некоторую конфигурацию в файл конфигурации \~/.bashrc\.

Запустите следующую подходящую команду, чтобы установить пакет bash-completion.

sudo apt install bash-completion

Теперь настройте конфигурацию \~/.bashrc\ с помощью следующей команды.

sudo nano ~/.bashrc

Добавьте следующую конфигурацию в файл.

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)

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

Затем перезагрузите текущий сеанс вашей оболочки, используя приведенную ниже команду.

source ~/.bashrc

Наконец, введите команду \sensuctl\ и нажмите кнопку TAB, чтобы получить все доступные параметры команды. Вы должны получить все доступные параметры команды \sensuctl\.

sensuctl TAB

Установка агента Sensu

Чтобы контролировать хост или машину с помощью Sensu, вы должны установить пакет агента Sensu на все ваши хосты. Агент Sensu доступен почти для дистрибутивов Linux и Windows.

Чтобы установить агент Sensu в системе Linux, убедитесь, что репозиторий Sensu добавлен.

Для системы на базе Debian/Ubuntu выполните следующую команду apt, чтобы установить пакет агента Sensu. Теперь начнется установка.

sudo apt install sensu-go-agent

После завершения установки загрузите конфигурацию агента Sensu в \/etc/sensu/agent.yml\. Затем отредактируйте конфигурацию \/etc/sensu/agent.yml\, используя приведенную ниже команду.

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

Раскомментируйте следующие конфигурации. не забудьте изменить здесь \имя\ на системное имя хоста и \backend-url\ на IP-адрес внутреннего сервера Sensu.

В этом примере мы добавим машину Debian с именем хоста \linux-host1\ и доступную в пространстве имен \default\. Сервер Sensu Backend здесь — «192.168.5.100» с портом WebSocket API по умолчанию для Sensu Backend «8081».

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

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

Затем выполните следующую команду, чтобы запустить службу Sensu Agent и включить ее автоматический запуск при загрузке системы.

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

Теперь выполните следующую команду, чтобы проверить и проверить службу агента Sensu. Вы должны увидеть, что агент Sensu запущен и включен.

sudo systemctl status sensu-agent

Затем вернитесь в свой веб-браузер и выберите пространство имен «по умолчанию». И вы должны увидеть, что новый хост объекта \linux-host1\ доступен.

Вы также можете проверить из командной строки терминала команду \sensuctl\, как показано ниже. Вы должны увидеть, что агент \linux-host1\ добавлен в решение для мониторинга Sensu.

sensuctl entity list --format tabular

Отслеживайте ресурсы сервера с помощью проверок

Агент Sensu просто обеспечивает путь для узла агента или целевого сервера к серверной части Sensu через API WebSocket. Чтобы контролировать ресурсы сервера, такие как использование ЦП, использование полосы пропускания и использование диска, вам нужно будет настроить «Подписку» и создать поверх нее некоторую «Проверку». Затем вы можете добавить несколько «Подписок» к агенту Sensu или целевому серверу.

Для мониторинга ресурсов сервера с помощью Sensu вам потребуется выполнить следующие действия:

  • Создать подписку
  • Регистрация ресурсов среды выполнения Sensu
  • Команда «Определить проверки» для проверки системных ресурсов

Прежде чем идти дальше, запустите следующую команду sensuctl, чтобы создать новую подписку с именем system на объект linux-host1.

sensuctl entity update linux-host1

Вам будут заданы следующие вопросы:

  • Для класса объектов\ оставьте значение по умолчанию \агент\ и нажмите ENTER.
  • Для \Подписки\ введите имя подписки \система\ и нажмите ENTER.

На Sensu «Проверки» в основном просто определяют команду, которую можно использовать для мониторинга ресурсов сервера. «Проверки» — это командная строка, которую вы можете определить поверх «Активов» и «Подписок» Sensu для всех ваших потребностей в мониторинге. Чтобы создать «Проверки», вы настроите динамические активы времени выполнения с помощью команды «sensuctl». Все «Активы» Sensu можно найти на https://bonsai.sensu.io/.

Теперь запустите приведенную ниже команду \sensuctl\, чтобы создать и зарегистрировать активы Sensu для мониторинга использования ЦП. Вы должны увидеть выходное сообщение, такое как «добавленный актив: sensu/check-cpu-usage:0.2.2\». В этом примере мы также переименовываем имя актива по умолчанию в \check-cpu-usage\ с опцией \-r\.

sensuctl asset add sensu/check-cpu-usage:0.2.2 -r check-cpu-usage

Теперь выполните следующую команду, чтобы проверить список активов Sensu. Вы должны увидеть, что ресурс \check-cpu-usage\ доступен на Sensu.

sensuctl asset list

Затем выполните следующую команду, чтобы создать команду «Проверки» для мониторинга использования ЦП. В этом примере вы создадите новое имя команды проверки \check_cpu\, которое будет доступно в подписке \system\ и основано на ресурсе \check-cpu- использования\. Вы также можете изменить параметр здесь в опции \--command\. И вы должны получить выходное сообщение, такое как «Создано».

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

Выполните следующую команду \sensuctl\, чтобы проверить \check_cpu\. Вы должны увидеть сведения о \Проверках\ только что созданного \check_cpu\.

sensuctl check info check_cpu --format yaml

Теперь вы можете проверить мониторинг событий \check_cpu\, используя приведенную ниже команду. Вы должны увидеть, что мониторинг использования ЦП для \linux-host1\ настроен и завершен.

sensuctl event list --format tabular

Теперь перейдите к панели управления Sensu и выберите пространство имен «по умолчанию». В меню «Сущность» вы должны добавить агента «linux-host1» в систему мониторинга Sensu.

Теперь, если вы нажмете на сведения об агенте \linux-host1\, вы увидите только что созданный мониторинг \Проверки\ \check_cpu\.

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

Заключение

Вы выполнили установку Sensu Monitoring Solution на сервере Debian 11. Вы также изучили основы использования команды Sensuctl для управления серверной частью Sensu. Кроме того, вы успешно контролировали хост-машину Linux через агента Sensu и настроили «проверки» для мониторинга вашего целевого сервера.