Как я должен фильтровать информацию журнала, созданную с помощью Serilog.Sink.Elasticsearch? - PullRequest
1 голос
/ 25 апреля 2019

Я использую Serilog Elasticsearch Sink для отправки информации о регистрации в экземпляр Elastic Cloud.Мое развертывание имеет 4 отдельных приложения, которые все отправляют информацию регистрации.Я хотел бы иметь возможность легко фильтровать сообщения журнала в Kibana в соответствии с приложением, которое их создало.Каков наилучший способ достичь этого?

Ответы [ 2 ]

1 голос
/ 25 апреля 2019

Вот шаги, которые могут быть полезны: - 1. Войдите в Кибану.2.Вверху вы можете найти опцию «Добавить фильтр +». Нажмите на нее.3.Выберите опцию «Фильтр» в качестве «имени источника». 4.Выберите «Оператор» как «есть» (согласно вашему требованию из выпадающего списка). 5.Введите имя приложения в поле «Значение» и сохраните.

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

0 голосов
/ 27 апреля 2019

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

В моем случае я настраивал ведение журнала через файл конфигурации json, поэтому я смог добавить следующее содержимое в конфигурацию Serilog в appsettings.json:

"Serilog": {
    "Enrich": [ "FromLogContext" ],
    "Properties": {
        "ApplicationName": "application-name",
        "Environment" : "development"
    }

Тогда я мог бы фильтровать объекты в Кибане по полям. Приложение или поля. Среда, чтобы увидеть отдельные журналы приложений.

...