我把nginx日志放到logstash中,并且api信息通过get不幸发送。 所以在logstash中有两个部分存储API信用卡。 这里是例子 message: 10.120.40.105 – – [29/Jul/2015:16:41:09 +0000] "PUT /v1/resources/scenes/455IrIBcRsa0kkIs6mv9lQ?api_key=11111111111111111&api_secret=2222222222222222222222222 HTTP/1.1" 200 689 "-" "python-requests/2.6.0 CPython/2.7.9 Linux/2.6.32-504.30.3.el6.x86_64" "10.120.40.105" 0.180 0.180 request: /v1/resources/scenes/455IrIBcRsa0kkIs6mv9lQ?api_key=11111111111111111&api_secret=2222222222222222222222222 我正在通过删除请求 NGUSERNAME [a-zA-Z\.\@\-\+_%]+ NGUSER %{NGUSERNAME} NGINXACCESS %{IPORHOST:clientip} %{NGUSER:ident} %{NGUSER:auth} \[%{HTTPDATE:timestamp}\] "%{WORD:verb} %{URIPATHPARAM:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:response} (?:%{NUMBER:bytes}|-) (?:"(?:%{URI:referrer}|-)"|%{QS:referrer}) %{QS:agent} %{QS:xforwardedfor} %{NUMBER:request_time} %{NUMBER:upstream_time} NGINXACCESS %{IPORHOST:clientip} %{NGUSER:ident} %{NGUSER:auth} \[%{HTTPDATE:timestamp}\] "%{WORD:verb} %{URIPATHPARAM:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:response} (?:%{NUMBER:bytes}|-) (?:"(?:%{URI:referrer}|-)"|%{QS:referrer}) %{QS:agent} […]
当我尝试ELK时,我安装了logstash-2.4.0。 我写了log4j_to_es.conf 。 当我运行./bin/logstash agent -f config/log4j_to_es.conf我得到一个错误。 Settings: Default pipeline workers: 4 Pipeline aborted due to error {:exception=>"Errno::EADDRNOTAVAIL", :backtrace=>[ "org/jruby/ext/socket/RubyTCPServer.java:118:in `initialize'", "org/jruby/RubyIO.java:871:in `new'", "/home/tools/logstash-2.4.0/vendor/bundle/jruby/1.9/gems/logstash-input-log4j-2.0.7-java/lib/logstash/inputs/log4j.rb:71:in `register'", "/home/tools/logstash-2.4.0/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/pipeline.rb:330:in `start_inputs'", "org/jruby/RubyArray.java:1613:in `each'", "/home/tools/logstash-2.4.0/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/pipeline.rb:329:in `start_inputs'", "/home/tools/logstash-2.4.0/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/pipeline.rb:180:in `start_workers'", "/home/tools/logstash-2.4.0/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/pipeline.rb:136:in `run'", "/home/tools/logstash-2.4.0/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.0-java/lib/logstash/agent.rb:491:in `start_pipeline'"], :level=>:error} stopping pipeline {:id=>"main"} 而log4j_to_es.conf是这样的: input { log4j { mode => "server" host => "120.13.243.95" port => 4567 […]
我的Windows服务器上运行Logstash(JSON格式)的nxlog。 我想克隆安全事件到SIEM,所以我添加了逻辑来捕获特定的Windows事件ID: 即使“Windows事件日志”标签被应用(通过“add_tag”),“Windows安全事件”也不会被添加,即使当我查看日志并find类似于4624的EventID时也是如此。 以下是完整的纯文本logstash.conf: input {tcp{port=>1514}} filter { if "im_msvistalog" in [message] { json {source => "message"} mutate {add_tag => "Windows Event Log"} if [EventID]=="4688" or [EventID]=="592" or [EventID]=="4624" or [EventID]=="528" or [EventID]=="540" or [EventID]=="5140" or [EventID]=="560" or [EventID]==5156 or [EventID]=="7045" or [EventID]=="601" or [EventID]=="4663" or [EventID]=="567" { mutate {add_tag => "Windows Security Event"} } […]
我们希望将CDN日志提供给Graphite,并在其中find汇总数字(不同HTTP状态代码的比率,平均响应大小,平均caching命中率等) 但是,日志只会偶尔上传到我们,甚至有时甚至出现故障 – 有时候,上午的日志可以在晚上上传,几个小时后,上传和处理日志。 而且,由于CDN(显然)有多个服务器和数据中心,不同的日志可以覆盖重叠的时间段。 这意味着,任何聚合器需要保持对所有早期统计信息的访问,以便能够在处理新日志时增加聚合。 什么 – 如果有的话 – 可以做到这一点? 我该如何configurationlogstash来进入呢? 谢谢!
我试图从IIS日志中joindate+时间字段到事件时间字段进行logstash消解。 这是我的nxlog.conf文件: <Input iis1> #drop comment lines, join the date+time fields into an EventTime field, convert to json Module im_file File 'C:\inetpub\logs\LogFiles\W3SVC2\u_ex*.log' ReadFromLast TRUE Exec if $raw_event =~ /^#/ drop(); \ else \ { \ w3c->parse_csv(); \ $EventTime = parsedate($date + " " + $time); \ to_json (); \ } </Input> 这是我得到的错误: 2013-07-22 06:11:29 ERROR […]
我已经configuration了一个简单的sysloginputlogstash(v1.5.0),如下所示: input { syslog { type => syslog port => 5514 } } filter { kv {} } output { elasticsearch { cluster => "logs" host => "0.0.0.0" protocol => "transport" } } 但是,它似乎是失败的一些cron日志。 以下行无法parsing_grokparsefailure_sysloginput : <77>Jul 22 22:01:01 ip-172-31-2-48 run-parts(/etc/cron.hourly)[2599 finished 0yum-hourly.cron 最终的JSON输出是: { "_index": "logstash-2015.07.22", "_type": "syslog", "_id": "AU63yLrC118PBgBqQxRA", "_score": null, "_source": { […]
我知道我可以使用脚本来做到这一点,但是我想知道是否有这样一个“现成的”软件,可以让我configuration我想要获取的主机(和文件path)间隔)从? 我打算设置LogStash来parsing日志(并将它们发送到集中的日志存储),但LogStash将parsing的许多日志驻留在远程主机上的文件中。 如果为此定制的软件已经存在,那么这将真正简化configuration日志文件检索的工作。
我正在使用logstash从一组web应用程序中收集日志,并将它们发送到graylog2进行集中查看。 我有以下用于标记化的filter: grok { type => "webapps" pattern => "^%{TIME:timestamp} \[%{NOTSPACE:thread}\]%{SPACE}%{WORD:loglevel}%{SPACE}%{JAVACLASS:class} – %{GREEDYDATA:short_message}" drop => false debug => "true" add_tag => [ "%{loglevel}" ] } Loglevel将沿着TRACE,DEBUG,INFO,NOTICE,ERROR,FATAL。 最初,所有内容都显示为“警报”(在ruby / graylog-server中数值为5,并在源中标记为“未知”)。 然后我添加了一系列mutatefilter,比如这个: mutate { type => "webapps" tags => "INFO" add_tag => [ "ll_%{@level}", "mutated" ] replace => [ "@level", "6" ] # informational } 这让我更接近web界面中显示的适当的日志级别/严重性,但是所有“INFO”消息都显示为“debugging消息”。 我写了一个脚本来查看弹性search数据,并根据它应该设置的级别字段。 […]
我正在使用海狸将日志发送到logstash。 这些日志本质上是多行的,所以我使用多行筛选器,但不知何故筛选器无法匹配日志。 logstash的输出中没有错误。 以下是我在logstash中看到的内容: {"@source":"udp://10.238.161.213:36655/","@tags":[],"@fields":{},"@timestamp":"2013-09-23T16:37:56.653Z","@source_host":"10.238.161.213","@source_path":"/","@message":"{\"@source\": \"file://app1.example.org/ebs/app.log\", \"@source_host\": \"app1.example.org\", \"@message\": \" This is line3\", \"@tags\": [], \"@fields\": {}, \"@timestamp\": \"2013-09-23T16:38:18.150822Z\", \"@source_path\": \"/ebs/app.log\", \"@type\": \"file\"}","@type":"app"} 示例日志行: This is a log line This is line2 This is line3 Logstash conf: input { udp { type => "app" port => 9996 } } filter { multiline { type => […]
现有的答案都没有帮助,所以这里有一个新的问题。 用例 :redirectsyslog(或)监视静态文件。 我已经成功安装logstash(1.4.2),elasticsearch(1.1.1)和kibana(3.0.1),但努力摆脱错误 No results There were no results because no indices were found that match your selected time span 我可以访问http://example.com:9200 – >成功200邮件 访问http://example.com:9200/_aliases?pretty – > {} – >空字典! CLI /opt/logstash/bin/logstash -f </etc/logstash/conf.d/10-syslog.conf> 使用的示例logstash文件如下所示。 请让我知道,如果有什么需要从我的结束。 syslog(监听端口9000,是的,我已经添加了“@@ localhost:9000”到/etc/rsyslog.d/50-default.conf并重新启动rsyslog) sudo cat > /etc/logstash/conf.d/10-syslog.conf <<EOF input { tcp { port => 9000 type => syslog } udp […]