logstash完成安装和配置

时间:2016-03-14 13:06:48

标签: logstash

sudo service logstash start
logstash started.
sudo service logstash status
logstash is running
$ sudo service logstash status
logstash is not running
bin/logstash -f trial.conf
bash: bin/logstash: No such file or directory

1 个答案:

答案 0 :(得分:0)

试一试https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elk-stack-on-ubuntu-14-04

当它到达标题为"配置Logstash"我只需执行以下步骤:

在/etc/logstash/conf.d/中创建一个名为00-logstash.conf的文件,其中包含以下内容。

input {
  syslog {
    port => 5140
    ssl => true
    ssl_certificate => "/etc/pki/tls/certs/logstash-forwarder.crt"
    ssl_key => "/etc/pki/tls/private/logstash-forwarder.key"
    type => system
  }
}
   filter {
  if [type] == "syslog" {
    grok {
      match => { "message" => "%{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" ]
    }
  }
}

output {
elasticsearch {
hosts => ["localhost:9200"]
sniffing => true
manage_template => false
}
}
在/etc/rsyslog.conf中的

在中间添加一行看起来像这样的

*.*<TAB>@IPorHOSTNAME:5140

您需要将IPorHOSTNAME替换为您的ip或主机名。如果您使用相同的系统来阅读您的信息,只需使用127.0.0.1。

在这种情况下,您将运行以下两个命令:

service logstash restart

service rsyslog restart

然后,您需要将所有日志发送到syslog。你可以通过使用python来实现这一点(大多数其他语言也可以这样做。)并将字符串发送到syslog。您可以使用grok&#39;来解析您在/etc/logstash/conf.d/中创建的00-logstash.conf文件中的信息。

如果您有其他资源将日志提供给ELK平台,您可以跳过所有syslog配置,并在输入开始的00-logstash.conf文件中说syslog,您将研究如何阅读从您的日志位置。

希望这有帮助。