Экспорт журналов аналитики использования
Note
Доступно в Grafana Enterprise и клиентам отдельных тарифных планов Grafana Cloud. Информацию о ценах см. в разделе цены или обратитесь в отдел продаж.
Экспортируя журналы использования в Loki, вы можете напрямую запрашивать их и создавать дашборды с наиболее важной для вас информацией, например с ошибками дашбордов, самыми активными организациями или вашими топ-10 наиболее часто используемыми запросами. В Grafana Cloud эта настройка выполняется за вас вместе с провижиненными дашбордами. О них читайте в документации Grafana Cloud.
Журналы аналитики использования
Журналы аналитики использования — это объекты JSON, представляющие определённые действия пользователей, например:
- Пользователь открывает дашборд.
- В источник данных отправляется запрос.
Область охвата
Запись создаётся каждый раз, когда:
- Пользователь открывает дашборд.
- В источник данных отправляется запрос в режиме просмотра дашборда.
- Запрос выполняется через Explore.
Формат
Журналы аналитики использования содержат следующие поля, где поля, помеченные *, присутствуют всегда, а остальные зависят от записанного события:
Конфигурация
Caution
Grafana Cloud предоставляет провижиненные дашборды для аналитики использования. Дополнительные сведения см. в документации Grafana Cloud. Если вы экспортируете аналитику использования в отдельный экземпляр Loki, эти дашборды перестанут получать данные аналитики использования. Это текущее ограничение функции в Grafana Cloud.
Чтобы экспортировать журналы, включите функцию аналитики использования и настройте место экспорта в файле конфигурации:
[usage_insights.export]
# Enable the usage insights export feature
enabled = true
# Storage type
storage = loki
Варианты типа хранилища — loki и logger (добавлен в Grafana Enterprise 8.2).
Если тип хранилища задан как loki, вам также потребуется настроить Grafana
для экспорта на сервер приёма Loki. Для этого нужно установить Loki.
Инструкции по установке Loki см. в разделе Установка Loki.
[usage_insights.export.storage.loki]
# Set the communication protocol to use with Loki (can be grpc or http)
type = grpc
# Set the address for writing logs to Loki (format must be host:port)
url = localhost:9095
# Defaults to true. If true, it establishes a secure connection to Loki
tls = true
# Set the tenant ID for Loki communication, which is disabled by default.
# The tenant ID is required to interact with Loki running in multi-tenant mode.
tenant_id =
# How long to wait before sending a request to Loki with the batch of events. Uses duration format: e.g. 5s, 1m
# Whatever happens first between `batch_wait_duration` and `batch_size_bytes` will trigger the batch to be sent to Loki.
# If the wait duration is very long and the `batch_size_bytes` is very high, events may take a long time to be sent.
batch_wait_duration = 5s
# How many events (in bytes) to accumulate in a single batch before sending it to Loki.
# Whatever happens first between `batch_wait_duration` and `batch_size_bytes` will trigger the batch to be sent to Loki.
# If you wish to always wait for the `batch_wait_duration`, set this to a very high number.
batch_size_bytes = 102400 # 100KiB
Использование logger приведёт к выводу аналитики использования в журнал сервера Grafana.
Параметров настройки для типа хранилища logger нет.
Визуализация аналитики использования Loki в Grafana
Если вы экспортируете журналы в Loki, вы можете построить дашборды Grafana, чтобы понять, как используется ваш экземпляр Grafana.
- Добавьте Loki как источник данных. См. учебник по основам Grafana.
- Импортируйте один из следующих дашбордов:
- Поэкспериментируйте с аналитикой использования, чтобы разобраться в ней:
- В Explore можно использовать запрос
{datasource="gdev-loki",kind="usage_insights"}, чтобы получить все журналы, связанные с вашим источником данныхgdev-loki. - В дашборде можно построить панель-таблицу с запросом
topk(10, sum by (error) (count_over_time({kind="usage_insights", datasource="gdev-prometheus"} | json | error != "" [$__interval]))), чтобы отобразить 10 самых частых ошибок, которые видят ваши пользователи при работе с источником данныхgdev-prometheus. - В дашборде можно построить панель-график с запросами
sum by(host) (count_over_time({kind="usage_insights"} | json | eventName="data-request" | error != "" [$__interval]))иsum by(host) (count_over_time({kind="usage_insights"} | json | eventName="data-request" | error = "" [$__interval])), чтобы показать динамику количества обращений к данным во времени. Использованиеby (host)даёт больше информации по каждому серверу Grafana, если вы настроили Grafana для высокой доступности.
- В Explore можно использовать запрос