Category Archives: Monitoring

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

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 »

lnav: Log File Navigator – консольная утилита просмотра логов

07/07/2016
 

 lnav (Log File Navigator) – удобная утилита для монторинга логов на UNIX/Linux системах. Не требует установки дополнительных служб типа веб-сервера, умеет определять формат лога и выбирать соответствующую цветовую схему, очень простая в использовании и так далее. Домашняя страница проекта – тут>>>. Документация проекта – тут>>>. Установка на Debian/Ubuntu: $ sudo apt-get install lnav RHEL/CentOS: # yum… Read More »

Linux: Netdata – мониторинг с веб-интерфейсом

05/20/2016
 

 Netdata – утилита для мониторинга в реальном времени Linux систем, приложений, устройств по SNMP и так далее. Простая установка, множество графиков “из коробки” и красивый веб-интерфейс. Больше информации – на странице>>> проекта.