【问题标题】:LogStash catch my logs only with debug modLogStash 仅使用调试模式捕获我的日志
【发布时间】:2021-02-06 11:04:19
【问题描述】:

我在 logstash 上有一点问题。当我在调试模式下测试时,命令一切正常

sudo /usr/share/logstash/bin/logstash --debug --path.settings /etc/logstash -f /etc/logstash/conf.d/apache.conf

但是,如果我使用 systemctl (systemctl start logstash) 在服务中启动 logstash,它会启动但不会捕获任何日志。什么也没有发生(logstash 日志不移动......)。 sudo 或 root 中的所有命令。

Logstash 和 Apache 与 Elasticsearch 不在同一台机器上(但它们在调试时可以通信)

你知道为什么吗?

编辑

这是流水线配置

input {
        file {
                path => "/var/log/httpd/access_log"
    }
}

filter {
    grok {
        match => { "message" => "%{COMBINEDAPACHELOG}" }
    }

    date {
        match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
    }

    mutate {
        convert => {
            "response" => "integer"
            "bytes" => "integer"
        }
    }
}

output {
    elasticsearch {
         hosts => "192.168.1.2:9200"
         index => "apache-int-%{+YYYY.MM.dd}"
    }
}

并在此处提取 logstash 日志 ID:https://sharetext.me/U9RAMT

【问题讨论】:

  • 小补充:我将logstash置于调试模式,我注意到在两种类型的执行中都检测到并使用了我的apache配置文件。
  • 您需要提供更多信息,在您使用 systemd 启动它后使用您的 logstash 管道和 logstash 日志更新您的问题。
  • 好的,完成了,谢谢

标签: apache elasticsearch logstash


【解决方案1】:

好吧,我刚刚发现......当我启动调试模式时,我是root,当systemctl启动logstash时,它使用没有访问httpd日志的用户logstash!

有了正确的权限,效果会更好!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多