Size: a a a

Чат конференции HighLoad++

2019 July 31

ДЧ

Дмитрий Чеботарев in Чат конференции HighLoad++
Aleksandr
не понял вас... это конечно так, но не все логи складируют в эластик... не все и/или не сразу... притом чтобы сразу в эластик надо сразу определиться кто задаёт индекс и мэппинг и т.п.... получается я в свою прогу, которая делает не связанные с анализом логи действия закатываю кучу функционала, который _уже_ реализован и настроен у всех...
Индекс задает разраб по инструкции тобой написанной, к примеру "appname": "mysuperapp", на один порт вешаешь тест на другой прод, и делаешь mutate в logstash. Ничего сложного.
источник

A

Aleksandr in Чат конференции HighLoad++
Дмитрий Чеботарев
Индекс задает разраб по инструкции тобой написанной, к примеру "appname": "mysuperapp", на один порт вешаешь тест на другой прод, и делаешь mutate в logstash. Ничего сложного.
тут вообще ничего сложного нет, я и с эластиком и с логстешем собаку съел :)
вопрос про то как лучше сделать, а не как сделать в принципе...
в данном случае всё же мне кажется лишне, чтобы прога типа прокси, сама напрямую умела логгировать в эластик... когда есть filebeat, logstash и кучу других готовых решений.
источник

A

Aleksandr in Чат конференции HighLoad++
спасибо за обсуждение, я в общем то решил - ничего не стоит сделать в конфиге что-то типа: syslog|stdout|/path/to/file, и реализовать соответствующий логгер (а точнее правильно заюзать существующие, по сути только для файла надо sighup предусмотреть, пока не предполагалось перечитывание конфига на горячую).
источник

VO

Vyacheslav Olkhovchenkov in Чат конференции HighLoad++
Aleksandr
nginx не просто так сделал только syslog и только по udp...
Шо?
источник

A

Aleksandr in Чат конференции HighLoad++
что Шо? у nginx'а есть 3 варианта логов: файл, stdout и syslog.
источник

A

Aleksandr in Чат конференции HighLoad++
nginx не умеет логгировать напрямую в elastic если шо :)
источник

A

Aleksandr in Чат конференции HighLoad++
или я что-то не знаю 🤷‍♂️ (что вполне может быть... но... вряд ли)))
источник

VO

Vyacheslav Olkhovchenkov in Чат конференции HighLoad++
Покажи stdout в nginx
источник

A

Aleksandr in Чат конференции HighLoad++
Vyacheslav Olkhovchenkov
Покажи stdout в nginx
ну ок, у access log'а нет stdout, это у error лога есть stderr, каюсь и посыпаю голову пеплом, придётся в stdout писать ... в /dev/stdout, ужас 😱
на суть вопроса это ну никак не влияет, не понимаю к чему это было....
источник

VO

Vyacheslav Olkhovchenkov in Чат конференции HighLoad++
Не факт что в /dev/stdout nginx будет писать
источник

A

Aleksandr in Чат конференции HighLoad++
это как??? что значит не факт? это файл! будет как миленький
источник

VO

Vyacheslav Olkhovchenkov in Чат конференции HighLoad++
Исходно логи бвли только на диск
источник

VO

Vyacheslav Olkhovchenkov in Чат конференции HighLoad++
не все файлы одинаковые
источник

A

Aleksandr in Чат конференции HighLoad++
api для последовательной записи ... все одинаковые
источник

MD

Maxim Dounin in Чат конференции HighLoad++
Aleksandr
это как??? что значит не факт? это файл! будет как миленький
Файл /dev/stdout невозможно открыть, если настоящий stdout закрыт. Так что писать в /dev/stdout можно только до релоада, при релоаде оно отвалится. Именно поэтому существует специальный параметр stderr, который заодно инструктирует nginx не закрывать stderr
источник

A

Aleksandr in Чат конференции HighLoad++
это уже детали
источник

A

Aleksandr in Чат конференции HighLoad++
мой вопрос ушёл в каком-то другом направлении :)
источник

A

Aleksandr in Чат конференции HighLoad++
конфиги nginx'а я не собирался обсуждать, вопрос был - для современных админов какой наилучший способ логгирования со стороны приложений, что админы больше всего любят - просто в файл или как-то ещё?
(я вообще не админ, если что, но опыта много, потому поболтать, конечно, могу)
источник

A

Aleksandr in Чат конференции HighLoad++
(если что, я, кстати, ищу devops'а в мою команду devops'ов, а то народу много стало, нужны ещё... или такие сообщения запрещены в этом чате?)
источник

MD

Maxim Dounin in Чат конференции HighLoad++
Удобнее всего для админов - в syslog стандартными средствами, а там пусть админ сам настраивает свой syslog. Нюанс в том, что для сколько-нибудь нагруженных задач это не работает, особенно если речь идёт про event-based обработку - запись в syslog мало того что жрёт процессор, так ещё и блокируется. И именно поэтому этого нет в nginx'е
источник