Бег varnishd (лак-4.1.0 ревизия 3041728), и ведение журнала с использованием
varnishlog -q "BerespStatus >= 500"
Я хотел бы знать, можно ли распечатать POST-контент. На сервере работает служба XML-RPC, которая иногда возвращает 500. В журнале ничего нет, поэтому я хотел бы знать, какой метод XMLRPC проблематичен.
Какие-либо предложения ?
Varnish (и, следовательно, varnishlog & varnishncsa) не дает вам доступа к телу http ни в запросе, ни в ответе. Поэтому использовать ванильный лак невозможно.
Сказав это, можно вставить встроенный C код в ваш VCL. Следовательно, технически вы можете получить доступ к данным POST, используя некоторый собственный код C и использовать std.log чтобы записать в журналы те биты, которые вам небезразличны.
Похоже, что есть некоторые существующие VMOD, которые обращаются к данным POST (например, vmod_bodyaccess), но вам, вероятно, потребуется выполнить дополнительный синтаксический анализ, чтобы получить метод XML-RPC.
Отказ от ответственности: Я бы не рекомендовал приближаться к встроенному C, если вы действительно не знаете, что делаете. Кроме того, я не пробовал никаких упомянутых здесь VMOD, поэтому не могу сказать, насколько они подходят.