#iis #nxlog
#iis #nxlog
Вопрос:
У меня есть
<Extension w3c>
Module xm_csv
Fields $date, $time, $s-ip, $cs-method, $cs-uri-stem, $cs-uri-query, $s-port, $cs-username, $c-ip, $csUser-Agent, $cs-Referer, $cs-host, $sc-status, $sc-substatus, $sc-win32-status, $time-taken
FieldTypes string, string, string, string, string, string, integer, string, string, string, string, string, integer, integer, integer, integer
Delimiter ' '
QuoteChar '"'
EscapeControl FALSE
UndefValue -
</Extension>
И у меня есть
<Input iis>
Module im_file
File "C:\inetpub\logs\LogFiles\u_ex*.log"
SavePos TRUE
Exec
if $raw_event =~ /^#/ drop();
else
{
w3c->parse_csv();
$EventTime = parsedate($date " " $time);
$EventTime = strftime($EventTime, "%Y-%m-%dT%H:%M:%SZ");
$SourceName = "IIS";
}
</Input>
Когда я пытаюсь добавить что-то вроде
if $raw_event =~ /^#/ or $sc-status == 101 drop();
Я получаю ошибку в журнале, подобную этой:
couldn't parse statement at line 91, character 46 in C:Program Files (x86)nxlogconfnxlog.conf; syntax error, unexpected -, expecting (
Я пытался использовать аналогичные параметры, но это не работает.
Что я делаю не так, помогите мне, пожалуйста. Спасибо.
Ответ №1:
Я нашел решение, просто переименуйте в <Extension w3c>
поле с именем sc-status
в scStatus
, и ошибки исчезнут. Потому что анализатор получает столбцы по их порядку, а не по имени.
Также я получил ответ от ссылки сообщества nxlog