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
答案 0 :(得分:0)
当它到达标题为"配置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,您将研究如何阅读从您的日志位置。
希望这有帮助。