Я пытаюсь разобрать XML-файлы ошибок IIS с помощью Logstash, а затем сохранить эти ошибки в Elasticsearch и отобразить их в Kibana.Отсутствующие данные между Logstash и ElasticSearch
Вот мой logstash.conf файл:
input
{
file{
path => ["C:/inetpub/logs/FailedReqLogFiles/*/*.xml"]
start_position => "beginning"
# filter is not thread safe, so have to move the multiline into the input
codec => multiline{
#pattern => "^</failedRequest>"
pattern => "^<\?xml version"
negate => true
what => "previous"
max_lines => 12000
}
sincedb_path => "C:/Users/ss/Source/elk/logstash/bin/.sincedb"
}
}
filter{
xml{
store_xml => "false"
source => "message"
target => "EVENT"
xpath => [
"/failedRequest/@url", "url",
"/failedRequest/@appPoolId", "appPoolId",
"/failedRequest/@verb", "verb",
"/failedRequest/@statusCode", "statusCode"
]
}
}
output
{
elasticsearch{
hosts => ["100.202.191.77:9200"]
index => "testserver-logstash"
flush_size => 1
}
stdout
{
codec => rubydebug
}
file{
path => "C:/Users/ss/Source/elk/logstash/bin/test.log"
}
}
В журнале каталоги файлов:
C:\inetpub\logs\FailedReqLogFiles\W3SVC3
C:\inetpub\logs\FailedReqLogFiles\W3SVC4
C:\inetpub\logs\FailedReqLogFiles\W3SVC5
И лог-файлы, включенные в эти директорий являются: fr000001.xml, fr000002.xml, fr000003.xml, fr000004.xml и т. д.
Структура XML-файлов, как:
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type='text/xsl' href='freb.xsl'?>
<!-- saved from url=(0014)about:internet -->
<failedRequest url="https://aaa.bbb.com:443/ddd.aspx"
siteId="3"
appPoolId="aaa.bbb.com"
processId="15168"
verb="GET"
remoteUserName=""
userName=""
tokenUserName="NT AUTHORITY\IUSR"
authenticationType="anonymous"
activityId="{00000000-0000-0000-0200-0080030000FF}"
failureReason="STATUS_CODE"
statusCode="500"
triggerStatusCode="500"
timeTaken="368584"
xmlns:freb="http://schemas.microsoft.com/win/2006/06/iis/freb"
>
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">blablabla
</Event>
</failedRequest>
Проблема у меня есть: есть 13 файлов журнала XML в целом. Я могу видеть, что вывод logstash печатает анализируемый xml всех этих 13 файлов правильно в stdout и test.log, однако в Kibana я могу видеть только данные из 4 из 13 xml-файлов, а остальные 9 файлов отсутствует.
Я новичок в стеке ELK и действительно застрял здесь. Надеюсь, кто-то может мне помочь. Заранее спасибо.
Вы проверили журналы elasticsearch? Возможно, он выслал вам некоторые сообщения об ошибках., –
@EvaldasBuinauskas Спасибо за помощь. Кажется, я понял это. – shaosh