elasticsearch 如何设置日志存储,以便在作为服务自动启动时读取默认配置文件,elasticsearch,logstash,logstash-grok,logstash-configuration,elasticsearch,Logstash,Logstash Grok,Logstash Configuration" /> elasticsearch 如何设置日志存储,以便在作为服务自动启动时读取默认配置文件,elasticsearch,logstash,logstash-grok,logstash-configuration,elasticsearch,Logstash,Logstash Grok,Logstash Configuration" />

elasticsearch 如何设置日志存储,以便在作为服务自动启动时读取默认配置文件

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,以便它在启

我正在尝试设置Logstash,因为我想将Apache日志信息转发到Elasticsearch。 我想在服务器启动时自动启动日志存储过程

我可以拒绝将Logstash作为一个服务,并自动启动该进程,但该服务似乎没有读取配置文件。 当我使用-f选项启动logstash时,它工作正常,所以我可以说配置文件的内容没有问题

手册上说,如果我将*.conf文件放在/etc/logstash/conf.d/下,服务会在启动时读取配置文件,但它从未像我预期的那样工作

我应该如何配置logstash,以便它在启动时读取我的配置文件

这是我的配置文件,它被放在/etc/logstash/conf.d/01-httpdlog.conf上

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
配置文件。更改权限是否顺利?是的,很高兴我们找到了!!我很乐意帮忙!