Bogdan (SirEdvin)
У меня есть логи из приложения в таком формате:
{"remote address": "127.0.0.1", "forwarded_for": "127.0.0.1, 127.0.0.1", "username": "-", "request method": "GET", "path": "/path1/path2/path3/", "query": "", "protocol": "HTTP/1.0", "status": "200", "response lenght": "4667", "refferer": "-", "user agent": "Go-http-client/1.1", "request time": "0.035766", "timestamp": "[27/Aug/2018:08:12:22 +0000]"}
Которые я отправляю в rsyslog под тегом my-app-704, следовательно, дальше я хотел бы домиксовать пару тегов типо hostname, tag и отправить это все чудо в elsaticsearch.
Думаю, фильтр по тегу вполне могу использовать, так как похоже не будет. Ну и так как у меня не очень есть опыт в rsyslog, в целом застрял аж на фильтрации :)
Bogdan (SirEdvin)
Ну и вопрос в том, можешь ли подсказать, пожалуйста, как вытащить из json поля и запихнуть их в es? Для второго, как я понимаю, вполне подойдет этот гайд: https://www.rsyslog.com/rsyslog-and-elasticsearch/
Sergey
Навскидку и скоренько: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/system_administrators_guide/s1-structured_logging_with_rsyslog
Sergey
Sergey
Здесь как раз добавление разных полей
Sergey
А вот модуль, который сделает из прилетевшего сообщения набор полей: https://www.rsyslog.com/doc/v8-stable/configuration/modules/mmjsonparse.html
Anton
а rsyslog может одновременно писать в файл и в эластик?
Sergey
да, достаточно просто указать ему два модуля output
Bogdan (SirEdvin)
Класс, простой перезапуск rsyslog поломал все. Люблю убунту
Sergey
Bogdan (SirEdvin)
Нет, не говори CentOS
Sergey
Bogdan (SirEdvin)
Хотя мне реально интересно, как я смог поломать syslog перезапуском ...
Sergey
Sergey
сокеты?
Sergey
.....ибо в /run временные каталоги могут управляться systemd'шным скриптом.
Bogdan (SirEdvin)
Там еще забавная история с тем, что оно при помощи какой-то матери дублирует логи в journald и в syslog, хотя journald явно не указано "дублируйся в syslog"
Sergey
в конфиге rsyslog присутствует модуль "imjournal"
Sergey
https://www.rsyslog.com/doc/v8-stable/configuration/modules/imjournal.html
G72K
Пиитер лучший город правда не каждый может там жить
Я тут на выходные в Москву съездил, впечатлило очень-очень. Уличный фестиваль "времена и эпохи" с реконструкторами по всему бульвару прямо в центре Столицы, с кучей разного интерактива - такое врятли где встретишь.
Jürgen
Bogdan (SirEdvin)
А, ясно, load не сделал(
Bogdan (SirEdvin)
Хотя это все равно не очень помогло, фильтр так и не срабатывает)
Sergey
потому что убери двоеточие 😊
Sergey
как минимум
Bogdan (SirEdvin)
Все равно не помогло :( Теперь выглядит как-то так
Bogdan (SirEdvin)
if ($syslogtag == "my-app") then {
action(type="omfile" file="/var/log/my-app.log")
stop
}
Bogdan (SirEdvin)
Даже $programname startswith 'my' не помогает :)
Bogdan (SirEdvin)
Что-то у меня даже action без условий не работает, как обычно :(
Tadeusz
эй, адепты zsh, я тут решил попробовать заюзать сие поделие, как вырубить этот сраный auto complete в виде переключения табами по паттернам?
Tadeusz
пусть бы оно тупо листинг показывало ("как у всех")
Max
Хуяссе, а зачем его выключать?
Tadeusz
➜ ~ uptime
13:54 up 41 days, 22:04, 3 users, load averages: 2.03 2.21 2.37
➜ ~ s !!
➜ ~ s uptime
13:54 up 41 days, 22:04, 3 users, load averages: 2.03 2.21 2.37
➜ ~
а еще такое можно вырубить?
Tadeusz
т.е. без подтверждения выполнять
Max
О_о
Max
Яннп
Tadeusz
Хуяссе, а зачем его выключать?
затем что он сбивает меня… вводишь do<tab> он уже тебе переносит твой "курсор" на всевозможные варианты, мне же надо тупо листинг, я сам допишу что мне надо
Tadeusz
иначе теряется время на прощелкивание не нужных вариантов команд
Tadeusz
".zshrc" 104L, 3345C written
➜ ~ source !$
➜ ~ source .zshrc
➜ ~
и вот это бесит
Tadeusz
"любая другая" оболочка выполнит эту команду source !$, а тут zsh отобразит ее и попросит подтвердить ее
Tadeusz
Max
я не понял на кой ляд тебе zsh
Tadeusz
дерзко броско молодежно
Евгений
Единственная фишка zsh — в безумных конфигах автодополнения
Tadeusz
мда, похоже, придется привыкать к этому "нововведению" в моей жизни
Tadeusz
чтоб вы понимали насколько я староёб
% echo $SHELL
/bin/tcsh
Max
так оно ж дает листингпо табу
Tadeusz
% alias | wc -l
137
Евгений
Tadeusz
да, привычка с bsd осталась, а так и на маках и в луниксах работает…
Tadeusz
.tcshrc*
.tcshrc.DragonFly*
.tcshrc.FreeBSD*
.tcshrc.Linux
.tcshrc.alias*
.tcshrc.bind*
.tcshrc.bindkey*
.tcshrc.complete*
.tcshrc.orig*
.tcshrc.pysave*
.tcshrc.set*
.tcshrc.user*
Max
Tadeusz
ну тут дело привычки, и скорость)
Max
Tadeusz
а вот к correctall привык 🙂
Tadeusz
не не не, нафиг эти хоткеи...
Tadeusz
а кто какие темы юзает?)
Navern
Кстати, раз уж речь зашла про рсислог, кто нибудь там как то хэндлит мультистрочные сообщения?)
Denis
В инпуте опция есть, можно описать регуляркой с чего начинается мессадж
Denis
И это будет оказываться в мсг
Denis
если у тебя могу смиксоваться, то у меня плохие новости.
Navern
Navern
Это самый интересный момент
Denis
если у вас 1 мультилайн мессадж может быть прерван во время записи другим, то вы даже в структурированных логах с "длинными" сообщениями можете получить их "разрывы" и ваш парсинг будет кидаться ошибками как бы.
Denis
как бы если вы не можете "выравнивать" потоки записи. то как бы увы.
Jakhongir
всем привет, сразу признаюсь я не сталкивался с такой вещью. Если короче, у меня spring mvc проект - локально нормально работает, но когда выложу на сервер - там не запускается (правда что root.war распакуется, но проект не стартует). Смотрю в лог, там указано:
127.0.0.1 - - [27/Aug/2018:16:48:19 +0500] "GET / HTTP/1.0" 404 -
127.0.0.1 - - [27/Aug/2018:16:48:19 +0500] "GET / HTTP/1.0" 404 -
127.0.0.1 - - [27/Aug/2018:16:48:19 +0500] "GET / HTTP/1.0" 404 -
127.0.0.1 - - [27/Aug/2018:16:48:19 +0500] "GET / HTTP/1.0" 404 -
127.0.0.1 - - [27/Aug/2018:16:52:33 +0500] "GET / HTTP/1.0" 404 -
Jakhongir
так, что это значит, помогите пожалуйста
Iskander
в лог чего смотришь?
Jakhongir
а, смотрю в лог самого проекта, хотел спросить, есть ли какой-то лог (ну, не знаю самого tomcat) где, можно как-то детально все посмотреть из-за чего такое происходит?
Ivan
catalina.out?
Jakhongir
catalina.out?
это где-то хранится или какая-то функция или...?
Ivan
это файл так называется, хранится где-то в /var/log, но зависит от того как вы запускаете ваше добро
Navern
Jakhongir
Denis