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

Как установить Sensu Monitoring на Ubuntu 20.04


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

  1. Предпосылки
  2. Начало работы
  3. Установите Redis и RabbitMQ.
  4. Установить сервер Sensu
  5. Настроить Сенсу
  6. Установка и настройка панели управления Sensu
  7. Доступ к панели инструментов Sensu
  8. Заключение

Sensu — это бесплатный инструмент с открытым исходным кодом, используемый для мониторинга инфраструктуры и работоспособности приложений. Он написан на Ruby, использует RabbitMQ для обработки сообщений и Redis для хранения данных. Его можно установить на большинство операционных систем, включая Ubuntu, Debian, RHEL, CentOS, IBM, AIX, FreeBSD, Mac OS, Solaris, Windows и многие другие. Это одна из самых популярных платформ нового поколения, которая заменяет другие системы мониторинга, такие как Zabbix, Icinga и Nagios. Sensu использует модель клиент-сервер. Вам нужно будет только установить клиент sensu на каждую систему, которую вы хотите контролировать.

В этом руководстве мы покажем, как установить сервер мониторинга Sensu на сервер Ubuntu 20.04.

Предпосылки

  • Сервер под управлением Ubuntu 20.04.
  • Пароль root настраивается на сервере.

Начиная

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

apt-get update -y

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

apt-get install gnupg2 curl wget unzip -y

После установки всех пакетов можно переходить к следующему шагу.

Установите Redis и RabbitMQ

Sensu использует RabbitMQ для обработки сообщений и Redis для хранения данных. Поэтому оба пакета должны быть установлены в вашей системе. По умолчанию RabbitMQ недоступен в стандартном репозитории Ubuntu 20.04. Поэтому вам нужно будет добавить репозиторий RabbitMQ в вашу систему.

Сначала импортируйте ключ GPG с помощью следующей команды:

wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | apt-key add -

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

echo "deb http://binaries.erlang-solutions.com/debian $(lsb_release -cs) contrib" | tee /etc/apt/sources.list.d/erlang-solutions.list

Затем обновите репозиторий и установите пакет RabbitMQ с помощью следующей команды:

apt-get update -y
apt-get install rabbitmq-server -y

После установки вам нужно будет создать виртуальный хост RabbitMQ для Sensu. Вы можете создать его с помощью следующей команды:

rabbitmqctl add_vhost /sensu

Вы должны увидеть следующий вывод:

Adding vhost "/sensu" ...

Затем создайте пользователя для управления виртуальным хостом с помощью следующей команды:

rabbitmqctl add_user sensu password

Вы должны увидеть следующий вывод:

Adding user "sensu" ...

Далее вам нужно будет назначить полные разрешения для vhost/sensu.

rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"

Вы должны получить следующий результат:

Setting permissions for user "sensu" in vhost "/sensu" ...

Затем установите сервер Redis с помощью следующей команды:

apt-get install redis-server -y

После завершения установки запустите службу Redis и включите ее запуск при перезагрузке системы с помощью следующей команды:

systemctl start redis-server
systemctl enable redis-server

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

Установить сервер Sensu

По умолчанию Sensu недоступен в официальном репозитории Ubuntu. Поэтому вам нужно будет добавить репозиторий Sensu в вашу систему.

Сначала импортируйте ключ GPG репозитория с помощью следующей команды:

wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | apt-key add -

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

echo "deb https://sensu.global.ssl.fastly.net/apt bionic main" | tee /etc/apt/sources.list.d/sensu.list

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

apt-get update -y
apt-get install sensu -y

После установки Sensu вы можете перейти к следующему шагу.

Настроить Сенсу

Далее вам нужно будет создать файлы конфигурации для RabbitMQ, Redis и Api. Сначала создайте файл api.json с помощью следующей команды:

nano /etc/sensu/conf.d/api.json

Добавьте следующие строки:

{
  "api": {
    "host": "localhost",
    "bind": "0.0.0.0",
    "port": 4567
  }
}

Сохраните и закройте файл, затем создайте файл redis.json с помощью следующей команды:

nano /etc/sensu/conf.d/redis.json

Добавьте следующие строки:

{
  "redis": {
    "host": "127.0.0.1",
    "port": 6379
  }
}

Сохраните и закройте файл, затем создайте файл конфигурации RabbitMQ с помощью следующей команды:

nano /etc/sensu/conf.d/rabbitmq.json

Добавьте следующие строки:

{
  "rabbitmq": {
    "host": "127.0.0.1",
    "port": 5672,
    "vhost": "/sensu",
    "user": "sensu",
    "password": "password"
  }
}

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

Установите и настройте приборную панель Sensu

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

Вы можете установить Uchiwa с помощью следующей команды:

apt-get install uchiwa -y

После установки Uchiwa создайте файл конфигурации для Uchiwa с помощью следующей команды:

nano /etc/sensu/uchiwa.json

Добавьте следующие строки:

{
  "sensu": [
    {
      "name": "Sensu",
      "host": "127.0.0.1",
      "port": 4567,
      "timeout": 10
    }
  ],
  "uchiwa": {
    "host": "0.0.0.0",
    "port": 3000,
    "refresh": 10
  }
}

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

Далее вам нужно будет создать файл client.json для мониторинга самого сервера Sensu. Вы можете создать его с помощью следующей команды:

nano /etc/sensu/conf.d/client.json

Добавьте следующие строки:

{
  "client": {
    "name": "sensu-server",
    "address": "127.0.0.1",
    "environment": "management",
    "subscriptions": [
      "dev",
      "ubuntu"
   ],
    "socket": {
      "bind": "127.0.0.1",
      "port": 3030
    }
  }
}

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

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

systemctl start sensu-server
systemctl start sensu-api
systemctl start uchiwa
systemctl start sensu-client

После запуска всех служб вы можете проверить состояние всех служб с помощью следующей команды:

systemctl status sensu-server sensu-api sensu-client uchiwa

Вы должны получить следующий результат:

? sensu-server.service - sensu server
     Loaded: loaded (/lib/systemd/system/sensu-server.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:04:43 UTC; 4min 18s ago
   Main PID: 10031 (sensu-server)
      Tasks: 24 (limit: 2353)
     Memory: 20.6M
     CGroup: /system.slice/sensu-server.service
             ??10031 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-server -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/ext>

Aug 23 09:04:43 ubunt4 systemd[1]: Started sensu server.

? sensu-api.service - sensu api
     Loaded: loaded (/lib/systemd/system/sensu-api.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:04:42 UTC; 4min 19s ago
   Main PID: 10023 (sensu-api)
      Tasks: 2 (limit: 2353)
     Memory: 18.9M
     CGroup: /system.slice/sensu-api.service
             ??10023 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-api -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/extens>

Aug 23 09:04:42 ubunt4 systemd[1]: Started sensu api.

? sensu-client.service - sensu client
     Loaded: loaded (/lib/systemd/system/sensu-client.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-23 09:04:42 UTC; 4min 18s ago
   Main PID: 10027 (sensu-client)
      Tasks: 2 (limit: 2353)
     Memory: 17.0M
     CGroup: /system.slice/sensu-client.service
             ??10027 /opt/sensu/embedded/bin/ruby /opt/sensu/bin/sensu-client -c /etc/sensu/config.json -d /etc/sensu/conf.d -e /etc/sensu/ext>

Aug 23 09:04:42 ubunt4 systemd[1]: sensu-client.service: Succeeded.
Aug 23 09:04:42 ubunt4 systemd[1]: Stopped sensu client.
Aug 23 09:04:42 ubunt4 systemd[1]: Started sensu client.

? uchiwa.service - LSB: Uchiwa, a Sensu dashboard.
     Loaded: loaded (/etc/init.d/uchiwa; generated)
     Active: active (exited) since Sun 2020-08-23 09:04:41 UTC; 4min 19s ago

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

Доступ к панели инструментов Sensu

Теперь откройте веб-браузер и введите URL-адрес http://your-server-ip:3000. Вы должны увидеть приборную панель Sensu на следующем экране:

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

Заключение

Поздравляем! вы успешно установили и настроили Sensu и Uchiwa на сервере Ubuntu 20.04. Теперь вы можете добавить больше клиентов и начать мониторинг с панели управления Uchiwa. Не стесняйтесь спрашивать меня, если у вас есть какие-либо вопросы.