Sensu — это решение для мониторинга с открытым исходным кодом, которое может отслеживать различные среды, особенно для смешанных сред, таких как публичные, частные и гибридные облака. Sensu также предоставляет множество плагинов, которые можно использовать как так называемые «проверки Sensu». Эти плагины отслеживают работоспособность служб, ресурсов сервера и собирают различные показатели сервера для разных служб. Он также предоставляет оповещения и уведомления.
Он разработан с использованием языка Ruby. Он использует RabbitMQ в качестве посредника для сообщений и Redis для кэширования и хранения данных.
В этой статье мы покажем вам пошаговые инструкции по установке Sensu в Ubuntu 18.04.
Для этой статьи мы рекомендуем использовать новую установку Ubuntu 18.04 VPS.
Убедитесь, что ваш сервер соответствует следующей минимальной конфигурации аппаратного и программного обеспечения для серверной части Sensu:
Оборудование:
Программного обеспечения:
Чтобы узнать больше о внутренних требованиях и требованиях агентов для Sensu, вы можете посетить их официальную статью о требованиях к оборудованию здесь.
Войдите на свой сервер через SSH:
ssh [username]@[server_ip_address]
Обязательно замените «username» именем учетной записи root-пользователя, найденного на сервере (или самого root-пользователя), и замените «server_ip» IP-адресом вашего сервера.
Перед началом установки рекомендуется обновить все пакеты Ubuntu до их последних версий:
apt-get update apt-get upgrade
Чтобы избежать проблемы «отсутствующих библиотек» в будущих установках, рекомендуется установить базовые зависимости:
apt-get install software-properties-common build-essential -y
RabbitMQ — самый популярный брокер сообщений. Он будет выступать в качестве промежуточной системы обмена сообщениями для Sensu. Для RabbitMQ требуется Erlang — язык программирования, который используется для построения прикладных систем реального времени.
Чтобы установить Erlang, используйте следующие команды для установки пакета репозитория Erlang:
cd /opt wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb dpkg -i erlang-solutions_1.0_all.deb
После настройки репозитория Erlang и RabbitMQ и обновления нашей установки Ubuntu мы можем приступить к установке пакета Erlang, просто набрав следующее:
apt-get update apt-get install erlang rabbitmq-server
Чтобы проверить, успешно ли установлена служба RabbitMQ, выполните следующую команду, чтобы проверить состояние службы RabbitMQ:
systemctl status rabbitmq-server
Вы должны увидеть сообщение, похожее на это:
rabbitmq-server.service - RabbitMQ Messaging Server Loaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor Active: active (running) since Sun 2019-03-17 23:12:51 CDT; 1min 22s ago
Теперь нам нужно создать vhost для нашей установки Sensu:
rabbitmqctl add_vhost /sensu
Далее следует добавить пользователя в vhost. Пожалуйста, замените [пароль] надежным паролем.
rabbitmqctl add_user sensu [password]
Наконец, предоставьте полные права доступа нашему пользователю «sensu»:
rabbitmqctl set_permissions -p /sensu sensu ".*" ".*" ".*"
Redis используется Sensu в качестве основной системы кэширования данных для данных, создаваемых агентами мониторинга, включая проверки, события, оповещения и уведомления.
Установка сервера Redis проста — вам нужно всего лишь ввести следующее:
apt-get -y install redis-server
Чтобы убедиться, что сервер Redis работает:
systemctl status redis-server
Вы должны увидеть “Active(running)” в результатах:
redis-server.service - Advanced key-value store Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor pre Active: active (running) since Sun 2019-03-17 23:23:15 CDT; 1min 15s ago
После установки двух основных требований мы можем приступить к установке и настройке Sensu Core.
На момент написания этой статьи пакет Sensu Core еще не был официально доступен в репозитории Ubuntu. Чтобы добавить официальный репозиторий Sensu и ключи, используйте следующие команды:
echo "deb https://sensu.global.ssl.fastly.net/apt bionic main" | sudo tee /etc/apt/sources.list.d/sensu.list wget -O- https://sensu.global.ssl.fastly.net/apt/pubkey.gpg | sudo apt-key add -
Следующим шагом является обновление и, наконец, установка пакета Sensu:
apt-get update apt-get install sensu -y
После установки Sensu нам потребуется настроить API, RabbitMQ и Redis для Sensu, создав отдельные файлы конфигурации в формате JSON. Мы будем использовать, nano
чтобы открыть файлы конфигурации.
nano /etc/sensu/conf.d/api.json
{ "api": { "host": "localhost", "bind": "0.0.0.0", "port": 4567 } }
nano /etc/sensu/conf.d/rabbitmq.json
{ "rabbitmq": { "host": "127.0.0.1", "port": 5672, "vhost": "/sensu", "user": "sensu", "password": "[password]" } }
nano /etc/sensu/conf.d/redis.json
{ "redis": { "host": "127.0.0.1", "port": 6379 } }
Sensu не имеет панели мониторинга по умолчанию. Uchiwa — это инструментальная панель с открытым исходным кодом, разработанная для Sensu.
Чтобы установить Uchiwa, введите следующие команды:
apt-get install uchiwa -y
После установки нам нужно создать файл конфигурации для Sensu. Рекомендуется использовать надежный пароль для учетной записи администратора Uchiwa:
nano /etc/sensu/uchiwa.json
{ "sensu": [ { "name": "sensu.your-domain.ru", "host": "127.0.0.1", "port": 4567, "timeout": 10 } ], "uchiwa": { "host": "0.0.0.0", "port": 3000, "refresh": 10, "user": "admin", "pass": "[password]" } }
Не забудьте заменить [пароль] надежным паролем по вашему выбору.
Мы можем настроить Sensu для мониторинга самого себя, создав следующий файл:
nano /etc/sensu/conf.d/client.json
{ "client": { "environment": "development", "name": "sensu-server", "address": "127.0.0.1", "subscriptions": [ "development", "sensu-server" ] } }
Наконец, необходимо установить правильные разрешения для конфигурации.
chown -R sensu:sensu /etc/sensu/conf.d/*
chown sensu:sensu /etc/sensu/uchiwa.json
Чтобы включить автоматический запуск всех служб при загрузке:
systemctl enable sensu-server systemctl enable sensu-api systemctl enable sensu-client systemctl enable uchiwa
Давайте убедимся, что все сервисы запущены:
systemctl start sensu-server systemctl start sensu-api systemctl start sensu-client systemctl start uchiwa
Теперь вы можете получить доступ к своей панели инструментов Uchiwa, используя http://[server's public IP]:3000
. Вы должны увидеть Sensu-сервер в качестве клиента.
Вот и все. Теперь у вас есть работающий сервер мониторинга Sensu на вашем сервере Ubuntu 18.04.