无法 运行 logstash 配置文件(权限被拒绝)
Unable to run logstash config file (permission denied)
我的配置文件存储在
/etc/logstash/
我运行命令
$ /etc/logstash -f /etc/logstash/logstash.conf
作为 root。
但是,当我尝试这样做时,他们告诉我权限被拒绝。有什么办法可以解决吗?
如前所述,您需要 运行 /opt/logstash/bin/logstash -f /etc/logstash/logstash.conf
而不是 /etc/logstash -f /etc/logstash/logstash.conf
。
这是由 logstash 用来放置其文件的 Linux 系统的默认目录结构引起的。Wikipedia: Filesystem Hierarchy Standard
/opt 代表 optional
并包含不属于默认 linux 分发的第三方包。因此 logstash 将它的二进制文件和一些依赖项放在那里(例如 jRuby 的东西)。在这里您可以找到 logstash 程序 /opt/logstash/bin/logstash
或插件管理器 /opt/logstash/bin/plugin
。
/etc 表示 et cetera
并且通常用于配置文件(就像 logstash 使用它)。
还有其他系统文件夹供 logstash 使用。例如 /var/log/logstash
在那里你可以找到 logstash 自己的日志。因此,当您 运行 logstash 安装时(在 Ubuntu 中可能使用 apt-get
或 dpkg
),它会将所有需要的文件放入与您的目录结构相对应的文件夹中 OS.
如您所见,您不能 运行 /etc/logstash -f /etc/logstash/logstash.conf
因为 /etc/logstash
不是可执行文件而是目录。
但是,如果您在命令提示符下 运行 logstash,您还可以为您的配置文件指定其他路径(例如 /opt/logstash/bin/logstash -f /home/user/logstash.conf
)。如果你 运行 它作为一项服务,你不能提供你的配置文件的路径。然后 logstash 的默认行为是在 /etc/logstash/
中查找配置文件
只是对已接受答案的补充。也许你可以检查另外两个地方:
- 您
*.conf
输入中提供的正确绝对文件路径;
- 尝试从
sudo bin/logstash -f your_config_file
开始;
我的配置文件存储在
/etc/logstash/
我运行命令
$ /etc/logstash -f /etc/logstash/logstash.conf
作为 root。
但是,当我尝试这样做时,他们告诉我权限被拒绝。有什么办法可以解决吗?
如前所述,您需要 运行 /opt/logstash/bin/logstash -f /etc/logstash/logstash.conf
而不是 /etc/logstash -f /etc/logstash/logstash.conf
。
这是由 logstash 用来放置其文件的 Linux 系统的默认目录结构引起的。Wikipedia: Filesystem Hierarchy Standard
/opt 代表 optional
并包含不属于默认 linux 分发的第三方包。因此 logstash 将它的二进制文件和一些依赖项放在那里(例如 jRuby 的东西)。在这里您可以找到 logstash 程序 /opt/logstash/bin/logstash
或插件管理器 /opt/logstash/bin/plugin
。
/etc 表示 et cetera
并且通常用于配置文件(就像 logstash 使用它)。
还有其他系统文件夹供 logstash 使用。例如 /var/log/logstash
在那里你可以找到 logstash 自己的日志。因此,当您 运行 logstash 安装时(在 Ubuntu 中可能使用 apt-get
或 dpkg
),它会将所有需要的文件放入与您的目录结构相对应的文件夹中 OS.
如您所见,您不能 运行 /etc/logstash -f /etc/logstash/logstash.conf
因为 /etc/logstash
不是可执行文件而是目录。
但是,如果您在命令提示符下 运行 logstash,您还可以为您的配置文件指定其他路径(例如 /opt/logstash/bin/logstash -f /home/user/logstash.conf
)。如果你 运行 它作为一项服务,你不能提供你的配置文件的路径。然后 logstash 的默认行为是在 /etc/logstash/
只是对已接受答案的补充。也许你可以检查另外两个地方:
- 您
*.conf
输入中提供的正确绝对文件路径; - 尝试从
sudo bin/logstash -f your_config_file
开始;