我正在第一次使用logstash,我试图从amavisd-new中接收JSON报告进行search和分析。 Amavisd-new能够将json日志写入到redis中,并且我已经完全导入了所有的东西,并且已经开始通过所有这些学习我的方式了。 但是我有一个问题 – amavis的JSON报告的格式如下所示 – 注意“收件人”有一个数组,每个收件人有一个条目。 我想把整个事件分成两个 – 每个收件人一个,所有其他字段保持不变,但是将每个收件人数组成员的“action”,“ccat_main”,“queued_as”等字段replace为主甚至。 这个想法是,有两个收件人的传入事件会导致logstash中有两个单独的日志事件 – 每个人都有一个事件。 我已经看到分裂的事件,但我没有看到如何做到这一点 – 我似乎无法find任何适当的例子。 所以,对于真实的例子,给定这个: { "@timestamp" => "2014-05-06T09:29:47.048Z", "time_unix" => 1399368587.048, "time_iso_week_date" => "2014-W19-2", "partition" => "19", "type" => "amavis", "host" => "mailer.example.net", "queued_as" => ["3gNFyR4Mfjzc3", "3gNFyR4n6Lzc4"], "recipients" => [ { "action" => "PASS", "ccat_main" => "Clean", "queued_as" => "3gNFyR4Mfjzc3", "rcpt_is_local" => […]
是否有插件可用于Mesos / Marathon,这将允许我注册Marathon事件stream,并将其放入Logstash以存储在ElasticSearch中,以便在Kibana中进行分析? 有人在做这样的事情吗? 我searchLogstash插件页面,但我有一种感觉,我将不得不写我自己的… 🙂
实际上,我在同一台机器上安装了Nginx和Logstash 。 我想分开他们。 我已经在另一台机器上安装了Logstash 。 如何将accsess_log Nginx文件存储在第二台机器中? 要么 我怎样才能设置一个Logstash远程input文件? 我是否应该使用其他工具(如logatsh-forwarder) ? 最好的问候,Nizar。
我正在尝试使用logstash使用netflow插件从VMware ESXi收集stream量信息。 我已经在安装了openjdk 8的Ubuntu 16.04.1上安装了来自www.elastic.co的最新版本的logstash和elasticsearch。 我已经创build了这个configuration文件: input { udp { host => localhost port => 9995 codec => netflow { versions => [10] target => ipfix } type => ipfix } } output { stdout { codec => rubydebug } elasticsearch { index => "logstash_netflow5-%{+YYYY.MM.dd}" host => "localhost" } } 但是当我执行时: logstash -f logstash-staticfile-netflow.conf 我得到了以下几点: […]
我正在浏览我的ELK堆栈中的一些syslog日志文件,并注意到所有的syslog_severity字段都是'notice',当我可以在日志文件中validation它们不是'注意'的时候。 似乎Logstash默认syslog_severity需要注意。 我有这在我的logstashfilterconfiguration: filter { if [type] == "syslog" { grok { match => { "message" => "<%{NONNEGINT:syslog_pri}>%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" } add_field => [ "received_at", "%{@timestamp}" ] add_field => [ "received_from", "%{host}" ] } syslog_pri { } date { match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } } } 我已经看过这里提到的解决scheme,但不要认为这适用于我的情况,如果你看看我的filterconfiguration文件。 […]
我正在浏览我的ELK堆栈中的一些syslog日志文件,并注意到所有的syslog_severity字段都是'notice',当我可以在日志文件中validation它们不是'注意'的时候。 似乎Logstash默认syslog_severity需要注意。 每当我去kibanasearch,无论我把什么放在logstashfilterconfiguration文件,kibana总是返回严重性通知。 我有这在我的logstashfilterconfiguration: filter { if [type] == "syslog" { grok { match => { "message" => "%{SYSLOG5424LINE}" } add_field => [ "received_at", "%{@timestamp}" ] add_field => [ "received_from", "%{host}" ] } syslog_pri { syslog_pri_field_name => "syslog5424_pri" } date { match => [ "syslog5424_ts", "ISO8601" ] } } } 我已经看过这里提到的解决scheme,但不要认为这适用于我的情况,如果你看看我的filterconfiguration文件。 我已经尝试了这里提到的解决scheme,并重新启动我的logstash服务 sudo service logstash […]
我正在尝试设置一个中央logstashconfiguration。 不过,我想通过syslog-ng发送我的日志,而不是第三方托运人。 这意味着我的logstash服务器正通过系统日志接受来自代理的所有日志。 然后,我需要安装logstash进程,该进程将从/ var / log / syslog-clients / *读取并获取发送到中央日志服务器的所有日志文件。 这些日志将被发送到同一个虚拟机上的redis。 理论上,我还需要configuration第二个logstash进程,它将从redis中读取数据并开始索引日志并将其发送给elasticsearch。 我的问题: 我是否必须使用两个不同的logstash进程(托运人和服务器),即使我在同一个盒子(我想要一个日志服务器实例)? 有没有什么办法只是有一个logstashconfiguration,并从syslog-ng读取进程—>写入到redis,并从redis读取—>输出到弹性search? 我的设置图: [client] ——- syslog-ng —> [log server] — syslog-ng <—- logstash-shipper —> redis <—- logstash-server – – >弹性search<— kibana
我可能困惑于正确的用法。 我已经使用Hiera设置了我的托运人的configuration: classes: – os::repo – profiles::logstash::shipper logstash::configfile: 'input_file': content: '/etc/puppet/modules/profiles/manifests/logstash/templates/input_file.erb' order: '10' 我的个人资料:: logstash :: shipper设置为: class profiles::logstash::shipper() { class { 'logstash': ensure => 'present', version => '1.4.1-1_bd507eb', status => 'enabled', } include logstash } input_file.erb: input { file { type => "syslog" path => ["/var/log/secure", "/var/log/messages", "/var/log/syslog"] exclude => ["*.gz", "shipper.log"] sincedb_path => […]
我已经从Awsats迁移到logstash(结合弹性search和Kibana)。 不过,我需要使用logstash导入/parsing几个旧的IIS日志文件。 这些文件已被移至logstash服务器。 但是,我无法find一个命令来parsing现有的日志文件。
如果我有多个IIS服务器上运行nxlog(比如web1,web2,web3,web4)。 如何将标识符添加到正在发送到logstash的nxlog输出中。 然后在logstash中,我想用服务器标识符(ex%{server_id})创build一个自定义索引 output { elasticsearch_http { host => "localhost" port => 9200 index => "%{server_id}-logstash-%{+YYYY.MM.dd}" } }