Я использую nginx-plus (версию, за которую вам нужно заплатить), и я хотел бы отслеживать доступ через vhost.
Когда я использовал бесплатную версию nginx, я мог легко отслеживать доступы с помощью побочные проекты плагин munin:
Я перешел на nginx plus и у меня нет данных. Когда я вхожу с netcat в узел munin:
$ nc localhost 4949
# munin node at servername.com
fetch byprojects_access
controlcenter.value 0
static.value 0
ccapi.value 0
tracking.value 0
reco.value 0
Основное различие заключается в том, что я веду журнал через системный журнал, когда выполнял вход в файл. Каждый vhost логируется с тегом, здесь тег nginxreco
:
access_log syslog:server=localhost,facility=local7,tag=nginxreco,severity=info;
Где у меня был следующий журнал конфигурации файла под бесплатным nginx:
access_log /var/log/nginx/reco-access.log;
Итак, для reco
vhost например, мне пришлось адаптироваться плагин конфигурация из:
'reco' => [
{'path' => '/var/log/nginx/reco-access.log'}
],
к
'reco' => [
{'path' => '/var/log/local7.log', 'regex' => 'nginxreco'}
],
Поскольку я использую системный журнал, формат журнала немного изменился: он добавляет дату, имя хоста и тег (который является способом журнала системного журнала)
Старый формат (из прямого файла):
xx.xx.xx.xx - - [18/Mar/2014:06:25:20 +0100] "GET /HTTP/1.1" 200 52 "-" "Python-urllib/2.7"
Новый формат (из системного журнала):
Mar 18 06:25:20 myhostname nginxreco: xx.xx.xx.xx - - [18/Mar/2014:06:25:20 +0100] "GET /HTTP/1.1" 200 52 "-" "Python-urllib/2.7"
Что я делаю не так ?
local7.log не мог прочитать munin