elasticsearch 如何设置日志存储,以便在作为服务自动启动时读取默认配置文件
我正在尝试设置Logstash,因为我想将Apache日志信息转发到Elasticsearch。 我想在服务器启动时自动启动日志存储过程 我可以拒绝将Logstash作为一个服务,并自动启动该进程,但该服务似乎没有读取配置文件。 当我使用-f选项启动logstash时,它工作正常,所以我可以说配置文件的内容没有问题 手册上说,如果我将*.conf文件放在/etc/logstash/conf.d/下,服务会在启动时读取配置文件,但它从未像我预期的那样工作 我应该如何配置logstash,以便它在启动时读取我的配置文件 这是我的配置文件,它被放在/etc/logstash/conf.d/01-httpdlog.conf上
elasticsearch 如何设置日志存储,以便在作为服务自动启动时读取默认配置文件,
elasticsearch,logstash,logstash-grok,logstash-configuration,
elasticsearch,Logstash,Logstash Grok,Logstash Configuration,我正在尝试设置Logstash,因为我想将Apache日志信息转发到Elasticsearch。 我想在服务器启动时自动启动日志存储过程 我可以拒绝将Logstash作为一个服务,并自动启动该进程,但该服务似乎没有读取配置文件。 当我使用-f选项启动logstash时,它工作正常,所以我可以说配置文件的内容没有问题 手册上说,如果我将*.conf文件放在/etc/logstash/conf.d/下,服务会在启动时读取配置文件,但它从未像我预期的那样工作 我应该如何配置logstash,以便它在启
input {
file {
path => "/etc/httpd/logs/access_log"
start_position => beginning
}
}
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}"}
}
}
output {
elasticsearch {
hosts => ["xxx.xxx.xxx.xxx:9200"]
}
file{
path => "/tmp/result.txt"
}
stdout {}
}
可以肯定的是,作为服务运行logstash的用户没有读取Apache日志文件的权限
您需要
chmod755
您的Apache日志文件夹(在/etc/httpd/logs
中),然后它应该工作得更好。这对我们也很有效。使用命令ll检查文件夹的权限,发现文件夹具有根权限。然后更改了/etc/logstash和/usr/share/logstash文件夹的权限。使用命令;sudo chown-R logstash:logstash logstash在/etc文件夹中。对于我们的/usr/share/logstash文件夹,只有一个文件没有正确的权限,因此我们使用cmd;sudo chown logstash:logstash更改该文件的权限。更新权限后,当我们使用sudo systemctl start logstash命令时,一切都已正确启动。您能用您的logstash配置文件更新您的问题吗?谢谢您的评论!我将我的配置文件设置添加到我的问题字段中!当我启动logstash作为服务时,谁是流程的所有者?默认情况下,它是logstash
组中的logstash
用户。查看您的/etc/init.d/logstash
配置文件。更改权限是否顺利?是的,很高兴我们找到了!!我很乐意帮忙!