![主机拦截器在 aws 中将 localhost 作为主机名](https://linux22.com/image/606410/%E4%B8%BB%E6%9C%BA%E6%8B%A6%E6%88%AA%E5%99%A8%E5%9C%A8%20aws%20%E4%B8%AD%E5%B0%86%20localhost%20%E4%BD%9C%E4%B8%BA%E4%B8%BB%E6%9C%BA%E5%90%8D.png)
这是我在 stackoverflow 上提出的问题的转发
我正在尝试从我的 ec2 实例写入我的 apache 日志。我希望日志按主机名分隔。
我正在使用主机拦截器来获取主机名。我的配置如下。
agent1.sources.spooldir-source1.interceptors = i1 hostname agent1.sources.spooldir-source1.interceptors.i1.type = timestamp agent1.sources.spooldir-source1.interceptors.hostname.type = host agent1.sources.spooldir-source1.interceptors.hostname.useIP = false agent1.sources.spooldir-source1.interceptors.hostname.preserveExisting = true
但是,flume 将日志写入名为 localhost 的目录。这对我来说不合适。
我没有更改 aws 实例的默认主机名。
即,如果默认主机名如下所示。
`bitnami@ip-10-242-197-46:~$ 主机名
ip-10-242-197-46`
我希望日志写入名为 ip-10-242-197-46 的目录中,而不是 localhost
答案1
我怀疑您正在尝试从本地主机访问该应用程序。例如:
如果你尝试这样做:
# telnet localhost 80
然后它会将 localhost 放入日志中。
但如果你尝试像这样使用相同的应用程序:
# telnet 10-242-197-46 80
然后它会将您期望的主机名放入日志中。
因此,我认为您应该尝试从 eth0 设备而不是 localhost 访问应用程序。