Подсчет количества записей журнала GCP за указанное время - PullRequest
0 голосов
/ 26 апреля 2018

Можно ли подсчитать количество вхождений определенного сообщения журнала за определенный период времени из журнала GCP Stackdriver?Чтобы ответить на вопрос «Сколько раз это событие происходило за этот период времени».По сути, я хотел бы получить интеграл кривой на графике ниже.

Это не должно быть движущееся окно, на этот раз это скорее одноразовое задание.Счетчик-агрегатор или аналог в расширенном запросе журнала также будет работать, если он будет доступен.

Example log based metric chart in stack driver

Запрос выглядит следующим образом:

(resource.type="container"
logName="projects/xyz-142842/logs/drs"
"Publish Message for updated entity"
) AND (timestamp>="2018-04-25T06:20:53Z" timestamp<="2018-04-26T06:20:53Z")

Моя основанная на журнале метрика для приведенного выше графика выглядит следующим образом: Log based metrig with Type=Counter and Units=1

Моя панель инструментов настроена следующим образом: Dashboard with aggregation sum

Ответы [ 3 ]

0 голосов
/ 28 апреля 2018

Есть еще один вариант.Вы можете прочитать свою собственную метрику, используя Stackdriver Monitoring API (https://cloud.google.com/monitoring/api/v3/), и обработать ее в сценарии с любой необходимой вам агрегацией.

Если вы работаете с python - вы можете заглянуть в библиотеку gcloud python https://github.com/GoogleCloudPlatform/google-cloud-python/tree/master/monitoring Это будет очень простой скрипт, и вы можете транслировать результаты расчетов в таблицу больших запросов и использовать их на своей панели инструментов

0 голосов
/ 30 апреля 2018

В итоге я построил составные столбики.

При правильном уровне масштабирования я могу достаточно легко суммировать количество вхождений.Было бы неплохо получить счет непосредственно из графика (интеграл), но пока это работает.

Stacked bar diagram with Aggregation: sum and Aligner: sum

0 голосов
/ 26 апреля 2018

Есть несколько способов сделать это, два из которых, на мой взгляд, действительно работают и которые могут быть применимы к вашей ситуации:

  • Использование Метрики на основе журналов . Они могут, например, записывать количество записей журнала, содержащих конкретные сообщения об ошибках, или могут извлекать информацию о задержке, сообщаемую в записях журнала.

    Stackdriver Ведение журнала метрик на основе журналов может быть одного из двух типов метрик: счетчик или распределение. [...] Метрика счетчика подсчитывает количество записей журнала, соответствующих расширенному фильтру журналов. [...] Метрики распределения накапливают числовые данные из записей журнала, соответствующих фильтру.

    Я бы посоветовал вам просмотреть документацию, чтобы проверить, полностью ли эта функция используется в вашем случае.

  • Вы можете экспортировать свои журналы в большой запрос , когда они у вас есть, вы можете использовать классические инструменты, такие как groupby, select и все инструменты, которые предлагает вам BigQuery. ,

    Здесь вы можете найти очень минимальное пошаговое руководство относительно того, как экспортировать журналы и как анализировать журналы аудита с помощью BigQuery, но я уверен, что вы можете найти в Интернете много ресурсов.


Продукт и подходы действительно разные, я бы сказал, что BigQuery более гибкий, но также более сложный для настройки и правильного использования. Если вы найдете третий лучший способ, пожалуйста, обновите ваш вопрос с этой информацией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...