Grafana – это популярный дашборд и конструктор графиков для визуализации временных рядов и показателей приложений, который можно использовать в различных областях. Grafana – очень производительное средство для создания, изучения и совместного использования панелей и данных.
Данное руководство поможет добавить Prometheus в качестве источника данных в Grafana и установить предварительно настроенный дашборд статистики сервера.
Требования
- Сервер Ubuntu 14.04.
- Доступ к sudo.
- Предустановленные программы Prometheus and Grafana 2.5+ (инструкции по установке Prometheus – здесь; GitHub для Grafana – здесь).
1: Добавление источника данных Prometheus
Сначала нужно настроить доступ Grafana к серверу Prometheus.
Примечание: Каждый сервер Prometheus – отдельный источник данных; чтобы добавить несколько серверов Prometheus, нужно повторить инструкции данного раздела.
Откройте главную страницу Grafana и войдите как администратор:
http://your_server_ip:3000/
Откройте главное меню Grafana. Кликните Data Sources, чтобы просмотреть список источников данных. Чтобы добавить новый источник, нажмите Add New. На экране появится специальная форма, которую нужно заполнить:
Add data source
Name: Prometheus
Type: Prometheus
Http settings
Url: http://your_server_ip:9090
Access: proxy
Basic Auth: включите или отключите согласно настройкам сервера Prometheus
Чтобы добавить новый источник данных, нажмите Add. Затем кликните Test Connection, чтобы убедиться в том, что всё работает должным образом.
2: Импорт дашборда статистики Prometheus
Добавив Prometheus в список источников данных, нужно пересобрать дашборд статистики Prometheus и импортировать его в Grafana.
Загрузите последний дашборд Prometheus. Это можно сделать двумя способами:
- Кликнуть правой кнопкой и сохранить эту ссылку: Prometheus Stats – Default Grafana Dashboard
- Открыть в браузере JSON-файл дашборда: http://grafana.org/assets/dashboards/prometheus-dash.json
Для импорта дашбордов используется выпадающее меню Dashboard Picker (рядом с кнопами New Dashboard и Playlist).
Чтобы импортировать дашборд из локального файла JSON, кликните Choose file в разделе Import File. Найдите загруженный ранее файл prometheus-dash.json и импортируйте его.
Примечание: Если источник данных переименован и теперь называется не Prometheus, нужно найти и заменить название источника данных в файле .json. откройте файл:
nano prometheus-dash.json
Найдите следующую строку и измените её значение, указав новое имя источника данных:
"datasource": "Prometheus",
После завершения операции импорта на экране появится дашборд статистики Prometheus. Если все настройки были выполнены правильно, вы увидите на экране статистику сервера Prometheus.
Важно! Нажмите кнопку Save в верхнем меню, чтобы сохранить новый дашборд в Grafana. В противном случае дашборд исчезнет из настроек после обновления браузера.
3: Просмотр статистики Prometheus
После успешного импортирования вы увидите новый, не сохранённый дашборд, отображающий базовые метрики, обычно необходимые для устранения неполадок сервера Prometheus.
- Uptime: отображает аптайм (или время безотказной работы сервера Prometheus в сети); это помогает определить, как давно перезагружался сервер.
- Local Storage Memory Series: эта панель показывает текущее количество рядов в памяти.
- Internal Storage Queue Length: показывает длину очереди; в идеале эта панель должна показывать Empty или небольшое число.
- Sample Ingested: этот график показывает количество метрик, обрабатываемых сервером Prometheus в течение последних 5 минут. Эти данные крайне необходимы при устранении неполадок на IRC или Github.
rate(prometheus_local_storage_ingested_samples_total[5m])
Сбор метрик
Prometheus собирает метрики процессов либо непосредственно, либо через шлюз для метрик кратковременных процессов (push gateway).
График Target Scrapes показывает, как часто собираются метрики в течение 5 минут. График Scrape Duration показывает, как долго Prometheus собирает метрики.
Запрос Target Scrapes:
rate(prometheus_target_interval_length_seconds_count[5m])
Запрос Scrape Duration:
prometheus_target_interval_length_seconds{quantile!="0.01", quantile!="0.05"}
График Rule Eval Duration отображает продолжительность выполнения всех вычислений.
4: Анализ данных дашборда Prometheus
На свежем сервере Prometheus графики достаточно просты.
Со временем они будут усложняться и расти в зависимости от нагрузки. В целом, рекомендуется поддерживать графики в стабильном состоянии. При добавлении в сборку данных новых метрик показатели графиков Memory Series и Sample Ingested возрастут.
Если целевые метрики неожиданно падают или время ожидания сбора увеличивается, следует определить причину такого поведения.
К примеру, клиент может увеличить количество метрик с десяти тысяч до миллиона или экспортировать временные ряды с метками для пользователей. Всё это, очевидно, увеличит время ожидания сбора. Если показатели на графике внезапно прыгают вверх, проверьте работу приложения и его программного обеспечения.
Медленная работа графика Rule Evaluation показывает, что нода, на которой установлен Prometheus, не справляется с обработкой нагрузки.
5: Пользовательские графики и метрики
Теперь Grafana поддерживает дашборд статистики Prometheus, отображающий набор предварительно настроенных метрик.
Grafana позволяет визуализировать метрики сервера Prometheus, доступные в Prometheus Query Editor. Чтобы открыть этот редактор запросов, кликните по названию панели, чтобы открыть меню. Выберите Edit. На экране появится вкладка редактора Metrics. Это обеспечит прямой доступ к запросам и доступным опциям источника данных Prometheus.
Заключение
Список доступных метрик можно найти по ссылке:
http://<your_server_ip>:9090/metrics
Все эти метрики можно скопировать и вставить в редактор запросов Grafana.
Чтобы изменения настроек вступили в силу, нужно сохранить дашборд.