Сейчас логи через NLog пишутся в текстовый файл. Все было ничего пока это было на одном сервере. Теперь переехали на кластер и машин стало много. Разбираться что случилось сопоставляя события с разных машин по времени стало долго и неудобно.
NLog заменить на что либо другое я не могу.
Все живет на IIS 8.5 под Win2012R2
Какие есть варианты централизации?
Я рассматривал варианты писать все в бд, но не основную приложения, а отдельную. Что еще можно придумать?
Здравствуйте, BlackEric, Вы писали:
BE>Какие есть варианты централизации? BE>Я рассматривал варианты писать все в бд, но не основную приложения, а отдельную. Что еще можно придумать?
Использовать готовые решения вроде ElasticSearch / Kibana?
Здравствуйте, BlackEric, Вы писали:
BE>Сейчас логи через NLog пишутся в текстовый файл. Все было ничего пока это было на одном сервере. Теперь переехали на кластер и машин стало много. Разбираться что случилось сопоставляя события с разных машин по времени стало долго и неудобно. BE>NLog заменить на что либо другое я не могу. BE>Все живет на IIS 8.5 под Win2012R2
BE>Какие есть варианты централизации? BE>Я рассматривал варианты писать все в бд, но не основную приложения, а отдельную. Что еще можно придумать?
1. ELK (если хочется хостить своими силами). Несколько лет назад настраивал его на AWS, чтобы мониторить распределённую систему (куча AWS Lambda). Заполнилось, что на тот момент он не умел сам удалять старые логи, и нужно было писать некий джоб, который у ES что-то там будет дёргать. Работало в итоге хорошо, пользоваться удобно.
2. Datadog. Используется в нынешнем проекте. Поиск по логам примерно как и в ELK, что там с обслуживанием я не знаю — вроде он вообще SaaS.
3. (если вы на AWS) AWS Cloudwatch не советую, он очень убогий и дубовый.
Здравствуйте, Джеффри, Вы писали:
Д>Здравствуйте, BlackEric, Вы писали:
BE>>Какие есть варианты централизации? BE>>Я рассматривал варианты писать все в бд, но не основную приложения, а отдельную. Что еще можно придумать?
Д>Использовать готовые решения вроде ElasticSearch / Kibana?
Да, я тоже думал попробовать ELK, только не понял еще что там с лицензиями. Для коммерческого использования бесплатно?
Здравствуйте, rosencrantz, Вы писали:
R>1. ELK (если хочется хостить своими силами). Несколько лет назад настраивал его на AWS, чтобы мониторить распределённую систему (куча AWS Lambda). Заполнилось, что на тот момент он не умел сам удалять старые логи, и нужно было писать некий джоб, который у ES что-то там будет дёргать. Работало в итоге хорошо, пользоваться удобно. R>2. Datadog. Используется в нынешнем проекте. Поиск по логам примерно как и в ELK, что там с обслуживанием я не знаю — вроде он вообще SaaS. R>3. (если вы на AWS) AWS Cloudwatch не советую, он очень убогий и дубовый.
Нет, у нас свои виртуалки. Никаких облаков.
А NLog может писать в ClickHouse?
Здравствуйте, BlackEric, Вы писали:
BE>Здравствуйте, rosencrantz, Вы писали:
R>>1. ELK (если хочется хостить своими силами). Несколько лет назад настраивал его на AWS, чтобы мониторить распределённую систему (куча AWS Lambda). Заполнилось, что на тот момент он не умел сам удалять старые логи, и нужно было писать некий джоб, который у ES что-то там будет дёргать. Работало в итоге хорошо, пользоваться удобно. R>>2. Datadog. Используется в нынешнем проекте. Поиск по логам примерно как и в ELK, что там с обслуживанием я не знаю — вроде он вообще SaaS. R>>3. (если вы на AWS) AWS Cloudwatch не советую, он очень убогий и дубовый.
BE>Нет, у нас свои виртуалки. Никаких облаков. BE>А NLog может писать в ClickHouse?
Сорри, я не дотнет. Традиционно если аппликейшн крутится во всяких докерах, логи выводятся в консоль, а оттуда их уже извлекает и отправляет на сервер — лог драйвер. Альтернативно (L в слове ELK) — аппликейшн пишет логи в файлы, а внешний процесс их читает и отправляет на сервер.
Здравствуйте, rosencrantz, Вы писали:
R>Сорри, я не дотнет. Традиционно если аппликейшн крутится во всяких докерах, логи выводятся в консоль, а оттуда их уже извлекает и отправляет на сервер — лог драйвер. Альтернативно (L в слове ELK) — аппликейшн пишет логи в файлы, а внешний процесс их читает и отправляет на сервер.
Здравствуйте, BlackEric, Вы писали:
BE>Да, я тоже думал попробовать ELK, только не понял еще что там с лицензиями. Для коммерческого использования бесплатно?
Базовый функционал бесплатный. Есть платная подписка на дополнительные фичи — например, active directory security, поэтому мы используем платную версию. Но думаю, что для простого мониторинга логово, базового функционала должно хватить.
Насчет бесплатной лицензии — вроде она free for commercial usage, но есть нюансы.
Здравствуйте, BlackEric, Вы писали:
BE>NLog заменить на что либо другое я не могу. BE>Какие есть варианты централизации?
ELK. Настроить файлбиты на забор данных прямо из ваших файлов (а если файлы чисто текстовые, то ещё лучше сделать в NLog отдельные таргеты для записи в json, Elastic и Kibana будет куда удобнее делать поиск по структурированным данным).
Здравствуйте, BlackEric, Вы писали:
BE>Я рассматривал варианты писать все в бд, но не основную приложения, а отдельную. Что еще можно придумать?
Тут многие советуют ELK, но надо понимать, что это капец здоровая хрень. Это должен быть отдельный сервер с минимум 8 гигами оперативки, что критично если вы хостите это сами.
В качестве легкой альтернативы могу посоветовать seq: https://datalust.co/seq
Еще одна опция — использовать связку Loki + Grafana. Это даст возможность собрать в одном месте не только логи, но и телеметрию, и смотреть и то и другое за тот же отрезок времени выявляя интересные аномалии. Оба решения заметно легковеснее и проще в конфигурации чем ELK.