Добрый день, коллеги.
Имеется следующая проблема. Для отправки логгов в кафку, был использован appender https://www.nuget.org/packages/NLog.Targets.KafkaAppender/
Сделаны все необходимые настройки. Добавлены rule и targets, но сообщения в кафку не уходят. В логах так же ошибок нет.
Из обычного проекта c#, проблем нет.
Есть ли опыт использования расширения для NLog, если есть прошу поделится опытом внедрения!
Нравится
Здравствуйте, Максим!
Есть рекомендации, как развернуть минимальный набор компоненов для передачи логов NLog -> Kafka -> GrayLog
1. Поднимаем контейнеры
docker run --name mongo -d mongo:3
docker run --name elasticsearch -e "http.host=0.0.0.0" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -d docker.elastic.co/elasticsearch/elasticsearch-oss:6.5.4
docker run --name kafka -p 2181:2181 -p 9092:9092 --env ADVERTISED_HOST=kafka --env ADVERTISED_PORT=9092 -d spotify/kafka
docker run -it --rm -p 9001:9000 --link kafka -e ZK_HOSTS="kafka:2181" -e APPLICATION_SECRET=letmein -d sheepkiller/kafka-manager
docker run --name graylog --link mongo --link elasticsearch --link kafka -p 9000:9000 -p 12201:12201 -p 514:514 -e GRAYLOG_HTTP_BIND_ADDRESS="0.0.0.0:9000" -e GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/ -d graylog/graylog:3.0
2. Подлючаем транспорт
Подключаам необходимый пакет NLog.Targets.KafkaAppender (или копируем dll)
Конфиг NLog
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
autoReload="true"
throwExceptions="true">
<extensions>
<add assembly="Terrasoft.NLog"/>
<add assembly="NLog.Targets.KafkaAppender" />
</extensions>
<targets async="true">
<target xsi:type="KafkaAppender"
name="bpmonlineGelfKafka"
topic="LogTest"
brokers="v_artemchuk.tscrm.com:9092"
debug="false"
async="false">
<layout xsi:type="GelfJsonLayout" facility="bpmOnline">
<attribute name="mesasgeObject" layout="${messageObject}" encode="false"/>
<attribute name="context" layout="${ndlc}" encode="true"/>
</layout>
</target>
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="bpmonlineGelfKafka" />
</rules>
</nlog>
Мотков Илья,
здравствуйте! воспользовался данным примером, только вместо транспорта использую RabbitMQ Nlog.RabbitMQ.Target.dll
настроил nlog.config и nlog.config.targets согласно рекомендациям к
Nlog.RabbitMQ.Target, но почему то не конектится RabbitMQ. создал MVC проект с него коннектится без проблем. Версия Creatio 7.18.3
Так же в настройках конфига вижу. что Вы указали в зависимостях Terrasoft.NLog, но я такой сборки не нахожу, можете прокомментировать.
Спасибо.
Алексей, боюсь без личной настройки сложно что-то сказать по этой проблеме. В системе на данный момент не предусмотрено использование Nlog.RabbitMQ. Возможно стоит обратить внимание на версии Nlog.