Рубрики
Uncategorized

Как сделать подпись в Splunk?

Когда мы отлаживаем приложение, нам может потребоваться агрегация данных, чтобы узнать, что произошло. Так, вроде … с меткой DevOps, Sre, мониторинг.

Splunk (6 серий части)

Когда мы отлаживаем приложение, нам может потребоваться агрегация данных, чтобы узнать, что произошло. Итак, как в SQL, мы можем сделать некоторые подделки в Splunk, чтобы быстро извлечь много информации.

Во-первых, мы проверем, как сделать простой поиск и как данные извлекаются.

Для того, что произошло дальше, мы будем использовать следующий пример:

  • API, который всегда регистрирует идентификатор транзакции [ Transaction_id ] и общий код ошибки [ error_code ] (Если транзакция была неверной) прежде чем ответить на пользователя
  • Журнал с идентификатором транзакции [ Transaction_id ] и с контентом исключения [ Исключение Несомненно Если поле было пропущено

Так что здесь, с простыми поисками, мы можем искать, какие транзакции не удались

error_code=* | table transaction_id
1
2
3

Или ищите журнал ошибок

transaction_id="1" AND exception=* | table timestamp, transaction_id, exception
Недостающее поле 2021-01-01 00: 00: 00.000 1

Теперь, когда мы видим, что мы можем сделать с простыми поисками, мы сможем объединить их, чтобы получить все Transaction_id с исключением!

Так как мы делаем подпись?

В вашем поисковом Splunk вы просто должны добавить

[Поиск [Содержание подсчета] Несомненно

пример

[ search transaction_id="1" ]

Так в нашем примере, поиск, который нам нужен является

[search error_code=* | table transaction_id ] AND exception=* | table timestamp, transaction_id, exception

А также у нас будет

Недостающее поле 2021-01-01 00: 00: 00.000 1
Неудачно не удалось 2021-01-03 00: 00: 00.000 3

Transaction_ID 2 отсутствует, потому что это не была транзакция с ошибкой.

Но как это работает?

Это довольно просто! В моем примере я прошел простой поиск, который возвращает только одну информацию в журнал.

error_code=* | table transaction_id
1
2
3

Поэтому, когда вы делаете этот вид поиска как подпись, Splunk преобразует его на Или Состояние для каждой строки.

[search error_code=* | table transaction_id ] AND exception=*

becomes

(transaction_id = "1" OR transaction_id = "2" OR transaction_id = "3") AND exception=*

И если вы извлекаете более одной информации в вашем подставке, Splunk преобразует его как состояние, где каждый корпус является соответствием. (Состояние, которое должно быть действительным — сопоставить все значения из одной линии.)

[search error_code=* | table transaction_id, timestamp ] AND exception=*

becomes

(
  (transaction_id = "1" AND timestamp = "2021-01-01 00:00:00.000") OR  
  (transaction_id = "2" AND timestamp = "2021-01-02 00:00:00.000") OR
  (transaction_id = "3" AND timestamp = "2021-01-03 00:00:00.000") 
) AND exception=*

Ссылки

Splunk Documentation

Вот и все! Вы узнали, как делать подразделения в Splunk!

Я надеюсь, что вам понравилось, и это поможет вам! 🍺

Splunk (6 серий части)

Оригинал: «https://dev.to/adaendra/how-to-do-a-subsearch-in-splunk-3n56»