Category Archives: Monitoring

Мониторинг серверов, сетей и оборудования

Prometheus: exporter_proxy – мониторинг сервисов в приватной сети

12/11/2017
 

 Есть рабочее окружение, которое включает в себя две VMSS с Docker Swarm – на одной работают swarm-managers, на второй – swarm-workers: В Master группе работает виртуальная машина с одним менеджером, в Nodes/Workers – три ВМ с воркерами. Master находятся за одним Load Balancer, Nodes – за вторым. Задача – собирать метрики со всех виртуальных машин.… Read More »

Prometheus: запуск сервера с Alertmanager, cAdvisor и Grafana

12/07/2017
 

 Пример установки и настройки минимального мониторинга, чисто ознакомительного. Используем Pormetheus для сбора метрик, Alertmanager для отправки сообщений о проблемах, cAdvisor для сбора метрик из Docker, node-exporter для сбора метрик с виртуальной машины и Grafana – для визуализации собранных данных, а запускать всё будем из Docker Compose. Все получившиеся в результате конфиги можно посмотреть в репозитории.

Prometheus: Ansible, NGINX и Grafana dashboard

10/23/2017
 

 Продолжаем с Prometheus… Последней задачей было Azure: подключение volume – ARM, Ansible и данные Prometheus. Теперь – добавим Grafana для визуализации данных. Надо – обновить docker-compose файл, добавить запуск контейнера с Grafana, и в самой Grafana – настроить backend, что бы она получала данные с Prometheus сервера. Кроме того – надо обновить NGINX (в нём в блоге не… Read More »

Azure: подключение volume – ARM, Ansible и данные Prometheus

10/12/2017
 

 Задача – добавить подключение data-диска к виртуальной машине во время развёртывания Azure Resource Group с виртуальной машиной, смонтировать диск к файловой системе и запустить Prometheus с использованием этого диска для хранения данных. Azure data disk Диск уже есть. Используем Azure CLI v2 из Docker образа:

Ansible: роли для Docker Compose, Prometheus и node_exporter

10/02/2017
 

 Перебирал несколько ролей в Ansible Galaxy для установки и настройки Prometheus – но в конце-концов решил делать всё по-своему. Будем использовать Docker Compose, который будет запускать сам Prometheus и node_exporter. Роль Docker Compose Начнём с добавления роли docker-compose. В корне репозитория создаём каталог roles/docker-compose/tasks: Создаём файл roles/docker-compose/tasks/main.yml: – name: Installing docker compose pip: name: docker-compose… Read More »

Prometheus: мониторинг – введение, установка, запуск, примеры

09/18/2017
 

 Prometheus – open-source система мониторинга, изначально разработанная в SoundCloud в 2012, публичный релиз состоялся в 2015. Сам Prometheus написан большей частью на Go, компоненты связываются по HTTP. Для визуализации имеет собственные графики, но может работать с системами типа Grafana (о ней позже, тоже будем применять). Данные хранит локально, в собственной TSDB базе, индексы хранятся в LevelDB.… Read More »

Monit: мониторинг и перезапуск NGINX

08/11/2017
 

 Домашняя страница проекта – тут>>>, документация – тут>>>. Имеется сервис с двумя виртуальными машинами в Azure VMSS. Если для Dev ещё можно использовать решение типа C: “мониторинг” NGINX с помощью AF_INET, то для Production – используем Monit. Пример тестовой установки в NGINX в Vagrant-боксе.

C: “мониторинг” NGINX с помощью AF_INET

08/08/2017
 

 В продакшене мы будем использовать что-то вроде Monit, а для Dev – решил написать маленькую утилиту, которая проверяет доступность NGINX и отправляет письмо при проблемах. Программа содержит две рабочие функции – socket_get(), которая с помощью connect()  пытается подключиться к порту NGINX (AF_INET сокету), и send_alarm(), которая с помощью system() выполняет mailx для отправки сообщений. Отправку… Read More »

Linux: journalctl – примеры

05/13/2017
 

 Arch Linux на рабочей машине я установил>>> в декабре, на домашней – в марте>>>. Сейчас май – и мне первый раз понадобилось посмотреть системные логи, и то исключительно по причине установки драйверов NVIDIA. В системах с systemd, таких как Arch Linux, управление логами выполняется демоном journald, а утилита его управления – journalctl. systemd хранит логи… Read More »

Linux: утилита sar – описание, примеры

08/04/2016
 

 sar – еще одна популярная утилита для мониторинга производительности системы. Входит в пакет systat, в которую так же включены: sar: сбор информации об активности системы; iostat: отчеты об использовании CPU и статистика I/O; mpstat: глобальная статистистика и отчеты по каждому процессу; pidstat: отчеты по процессам в Linux; sadf: отображение информации от sar в различных форматах;… Read More »