Compare languages | Модуль log-shipper: расширенная конфигурация

Как включить debug-логи?

How to enable debugging logs?

Включите параметр debug модуля.

Enable the debug parameter of the module.

Пример конфигурации модуля:

yaml apiVersion: deckhouse.io/v1alpha1 kind: ModuleConfig metadata: name: log-shipper spec: version: 1 enabled: true settings: debug: true

yaml apiVersion: deckhouse.io/v1alpha1 kind: ModuleConfig metadata: name: log-shipper spec: version: 1 enabled: true settings: debug: true

Then in logs, you will find a lot of helpful information about HTTP requests, connects reusing, detailed traces, and so on.

После этого в логах вы найдете много полезной информации о HTTP-запросах, переиспользовании подключения, трассировку и т. д.

How to get aware of logs pipelines?

Как узнать больше о каналах передачи log’ов?

To begin with, go to the command shell of the Pod on a desired node.

Для начала зайдите в под на желаемом узле.

bash kubectl -n d8-log-shipper get pods -o wide | grep $node kubectl -n d8-log-shipper exec $pod -it -c vector – bash

bash kubectl -n d8-log-shipper get pods -o wide | grep $node kubectl -n d8-log-shipper exec $pod -it -c vector – bash

All following commands are assumed to be executed from the Pod’s shell.

Все следующие команды предполагается запускать из командной оболочки пода.

See pipelines as a graph

Посмотреть каналы как graph

  • Execute the vector graph command to get the output of logs pipelines topology in the DOT format.
  • Put the output to webgraphviz os similar service to render the graph.
  • Выполните команду vector graph, чтобы получить graph в формате DOT.
  • Выставьте его в webgraphviz или другой похожий сервис, чтобы получить изображение.

Example of the graph output for a single pipeline in ASCII format:

Пример graph’а для одного канала передачи логов в формате ASCII:

text +————————————————+ | d8_cluster_source_flant-integration-d8-logs | +————————————————+ | | v +————————————————+ | d8_tf_flant-integration-d8-logs_0 | +————————————————+ | | v +————————————————+ | d8_tf_flant-integration-d8-logs_1 | +————————————————+ | | v +————————————————+ | d8_cluster_sink_flant-integration-loki-storage | +————————————————+

text +————————————————+ | d8_cluster_source_flant-integration-d8-logs | +————————————————+ | | v +————————————————+ | d8_tf_flant-integration-d8-logs_0 | +————————————————+ | | v +————————————————+ | d8_tf_flant-integration-d8-logs_1 | +————————————————+ | | v +————————————————+ | d8_cluster_sink_flant-integration-loki-storage | +————————————————+

Investigate data processing

Отладка передачи данных

There is the vector top command to help you see how much data is going through all checkpoints of the pipeline.

Существует команда vector top, которая поможет увидеть, как много трафика проходит через каждую стадию обработки логов.

Example of the output:

Пример вывода команды:

Vector TOP output

Vector TOP output

Get raw log samples

Получить необработанные образцы log’ов

You may use the vector tap command to get input data for any channel components. The only argument to be set is the ID of the processing stage. Patterns in a glob format are also supported for selections (e.g., d8_cluster_source_*).

Вы можете использовать команды vector tap, чтобы получить входные данные для любых компонентов каналов. Единственный аргумент, который нужно задать, — ID стадии обработки (тажке поддерживаются выборки в формате glob, например cluster_logging_config/*).

By using the following command, you can see the log’s before applying the transformation rules (d8_cluster_source_* is the first stage of processing according to the output of the vector graph command):

С помощью следующей команды вы сможете увидеть логи до применения правил трансформации (cluster_logging_config/* является первой стадией обработки согласно выводу команды vector graph):

bash vector tap ‘cluster_logging_config/*’

bash vector tap ‘cluster_logging_config/*’

Transformed logs that are received at the input of the next channel components in the chain:

Измененные логи, которые поступают на вход следующих в цепочке компонентов каналов:

bash vector tap ‘transform/*’

bash vector tap ‘transform/*’

You can then use the vector vrl interactive console to debug VRL message remap rules.

Вы также можете использовать интерактивную консоль vector vrl для отладки VRL правил для изменения логов.

Example of a program on VRL:

Пример программы с использованием VRL:

text . = {“test1”: “lynx”, “test2”: “fox”} del(.test2) .

text . = {“test1”: “lynx”, “test2”: “fox”} del(.test2) .

How to add a new source/sink support for log-shipper?

Как добавить поддержку нового source/sink для log-shipper?

Vector in the log-shipper module has been built with the limited number of enabled features (to improve building speed and decrease the size of the final binary).

Vector для модуля log-shipper был собран с ограниченным набором функций (чтобы уменьшить время сборки и размер финального запускаемого файла).

You can see a list of all supported features by executing the vector list command.

Вы можете посмотреть весь список поддерживаемых функций, выполнив команду vector list.

If supporting a new source/sink is required, you need to add the corresponding feature to the list of enabled features in the Dockerfile.

Если необходимо добавить поддержку нового source/sink, сначала нужно добавить необходимую функцию в список поддерживаемых в Dockerfile.