Добрый день, коллеги.
Имеется следующая проблема. Для отправки логгов в кафку, был использован 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.