Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём неправильно. Необходимо обновить браузер или попробовать использовать другой.
СТАТЬЯ
Монитор ресурсов через WEB, или мониторим свою VPS с помощью Grafana с самописными метриками
Прежде чем перейти к настройке, стоит сказать пару слов о том, зачем всё это затевалось. Помимо красивого дашборда в браузере, ценность такого стека в том, что собранные метрики можно использовать для алертинга: Grafana позволяет настроить правила оповещения, которые сработают, когда, например, занятое место на диске превысит 90% или RAM подберётся к потолку. Уведомления можно направить в Telegram или на почту — тогда вы узнаете о проблеме до того, как сервер ляжет. В этой статье разберём сам pipeline сбора и визуализации самописных метрик, а настройку пороговых алертов оставим как логичное продолжение — все данные для этого уже будут под рукой.
Какую задачу решаю?
Есть свой vps.
Есть желание самому создавать метрики и мониторить их.
Текущие реализации монитора ресурсов на vps мне не нравятся.
Хочется сделать так, чтоб ты вбил адрес в браузере и увидел некий "дайджест" по состоянию твоей машины.
Стек
Grafana
Python 3.9
Фреймворк prometheus_client для того, чтоб реализовывать свои метрики
prometheus DB
VPS
Свой домен
Настройка Grafana
Не буду расписывать тут как установить графану, ибо мануалов в сети более, чем достаточно. Например официальный
Укажу лишь нюансы, которые могут понадобиться. Мне захотелось вывести графану в отдельный поддомен типа https://domain.com/grafs
Для этого в конфиге nginx настраиваем обратный прокси:
# HELP process_virtual_memory_bytes Virtual memory size in bytes.
# TYPE process_virtual_memory_bytes gauge
process_virtual_memory_bytes 2.51322368e+08
# HELP process_resident_memory_bytes Resident memory size in bytes.
# TYPE process_resident_memory_bytes gauge
process_resident_memory_bytes 2.2777856e+07
# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.61753591402e+09
# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
# TYPE process_cpu_seconds_total counter
process_cpu_seconds_total 81.83
# HELP process_open_fds Number of open file descriptors.
# TYPE process_open_fds gauge
process_open_fds 7.0
# HELP process_max_fds Maximum number of open file descriptors.
# TYPE process_max_fds gauge
process_max_fds 1024.0
# HELP system_cpu_percent_usage % использования cpu
# TYPE system_cpu_percent_usage gauge
system_cpu_percent_usage 2.9
# HELP system_ram_percent_usage % использования оперативы
# TYPE system_ram_percent_usage gauge
system_ram_percent_usage 50.7
# HELP system_disk_usage % занятого места на диске
# TYPE system_disk_usage gauge
system_disk_usage 68.0
Все самописные метрики не просто так начинаются с одного слова "system" - благодаря этому метрики лягут в один раздел.
Если залогиниться в графане на своем домене, затем создать дашборд, создать график, то вы увидите там:
Наши метрики работают. Осталось настроить визуализацию. Много ума для этого не надо. Просто тыкаешься и что-то в итоге получится, т.к. интерфейс интуитивный.
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь. Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.
Комментарии
1