Какова лучшая практика для входа в Logstash из приложения .Net? - PullRequest
0 голосов
/ 07 октября 2018

Я провел много исследований, но не смог получить абсолютный ответ.

У меня есть стек ELK и три отдельных приложения (2 приложения Asp.Net WebForms и одно приложение службы Windows, написанные на C #& C ++).Все они используют унифицированную сборку .Net «Инфраструктуры», которая содержит статический класс «Трассировка».Класс Trace содержит разные записи (HttpLogWriter, FileLogWriter, WindowsEventLogWriter ...).У этого также есть методы, названные "Информация", "Отладка", "Ошибка" и другие, которые все вызывают метод "Журнала", реализованный в каждом писателе.

Мы пишем много журналов,и я не уверен, как лучше всего написать их, используя HttpLogWriter.

В настоящее время HttpLogWriter использует класс "HttpClient" для отправки журнала в Logstash.

Когда я установил Logstash вслабая машина (на AWS), у меня были некоторые проблемы с производительностью.Может быть, это будет решено, если я буду использовать более сильный компьютер для Logstash, но я не хочу, чтобы мой код полагался на него.

Каков наилучший способ сделать это?

У меня были идеи:

  • Использовать 1 поток для класса Trace (Как?).
  • Использовать класс BlockingQueue.
  • Использовать шаблон Fire and Forget (Как?).

Заранее спасибо.

...