Guest User

Untitled

a guest
Nov 6th, 2017
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.43 KB | None | 0 0
  1. input {
  2. beats{
  3. port => "5044"
  4. }
  5. }
  6.  
  7. filter {
  8.  
  9. if [type] == "iis" {
  10. if [message] =~ "^#" {
  11. drop {}
  12. }
  13.  
  14. grok {
  15. break_on_match => false
  16. match => ["message", "%{DATESTAMP:EventTime} %{NOTSPACE:Log} %{HOSTNAME:computername} %{IP:ServerIP} %{URIPROTO:method} %{URIPATH:request} (?:%{NOTSPACE:queryparam}|-) %{NUMBER:Serverport} (?:%{WORD:username}|-) %{IP:ClienteIP} %{NOTSPACE:httpversion} %{NOTSPACE:useragent} (?:%{NOTSPACE:cookie}|-) (?:%{NOTSPACE:referer}|-) (?:%{NOTSPACE:Site}|-) %{NUMBER:status} %{NUMBER:substatus} %{NUMBER:win32status} %{NUMBER:bytesreceived} %{NUMBER:bytessent} %{NUMBER:timetaken}"
  17. ]
  18. }
  19. useragent {
  20. source=> "useragent"
  21. prefix=> "browser"
  22. }
  23.  
  24. geoip {
  25. source => "ClienteIP"
  26. target => "geoip"
  27. add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ]
  28. add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}" ]
  29. }
  30.  
  31. mutate {
  32. convert => { "timetaken" => "integer" }
  33. convert => { "bytessent" => "integer" }
  34. convert => { "bytesreceived" => "integer" }
  35. convert => { "status" => "integer" }
  36. convert => { "substatus" => "integer" }
  37. convert => { "win32status" => "integer" }
  38. convert => { "Serverport" => "integer" }
  39. remove_field => [ "message" ]
  40. }
  41. date {
  42. match => [ "EventTime", "yy-MM-dd HH:mm:ss" ]
  43. }
  44.  
  45. }
  46.  
  47. if [type] == "trace" {
  48.  
  49. xml{
  50. store_xml => "false"
  51. source => "message"
  52. target => "Event"
  53. namespaces => {
  54. "freb" => "http://schemas.microsoft.com/win/2006/06/iis/freb"
  55. "tns" => "http://schemas.microsoft.com/win/2004/08/events/event"
  56. "ns2" => "http://schemas.microsoft.com/win/2004/08/events/trace"
  57. }
  58. xpath => [
  59. "/failedRequest/@url", "url",
  60. "/failedRequest/@appPoolId", "appPoolId",
  61. "/failedRequest/@verb", "verb",
  62. "/failedRequest/@statusCode", "statusCode",
  63. "/failedRequest/tns:Event/tns:EventData/tns:Data[@Name='Headers']/text()", "Headers",
  64. "/failedRequest/tns:Event/tns:EventData/tns:Data[@Name='RemoteAddress']/text()","RemoteAddress",
  65. "/failedRequest/tns:Event/tns:EventData/tns:Data[@Name='Buffer']/text()", "Htmlerror",
  66. "/failedRequest/tns:Event[26]/tns:EventData//tns:Data[@Name='Buffer']/text()", "Err500",
  67. "/failedRequest[1]/tns:Event[26]/tns:EventData[1]/tns:Data[2]/child::text()", "erro"
  68. ]
  69.  
  70. }
  71. # Remove the long redundant message block
  72. mutate
  73. {
  74. remove_field => [ "message" ]
  75. }
  76.  
  77. }
  78. }
  79.  
  80. output {
  81. elasticsearch {
  82. hosts => [ "IP:9200" ]
  83. index => "iis_logs"
  84. }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment