使用 logstash 使用文件输入插件从远程机器读取日志文件
Read log file from a remote machine with file input plugin using logstash
目前我的日志和 logstash 运行 在同一台机器上,所以我使用此配置(使用拉模型)读取了放置在本地机器上的日志
input {
file {
path => "/home/Desktop/Logstash-Input/**/*_log"
start_position => "beginning"
}
}
现在,我们在另一台机器上有 logstash 运行 并且想要读取远程机器的日志。
有没有办法在配置文件的文件输入中设置ip?
编辑:
我设法用 logstash-forwarder 做到这一点,它是一个推送模型(log shipper/logstash-forwarder 将日志发送到 logstash 索引服务器)但我仍然在寻找没有托运人的拉模型,logstash 索引服务器将去那里直接联系到远程主机。
Logstash 不包含任何从其他计算机的文件系统读取文件的魔法(这可能是一件好事)。您要么必须挂载包含您感兴趣的日志的远程文件系统,要么必须在远程计算机上安装日志传送器(例如 Logstash)并将其配置为将数据发送到您当前的 Logstash 实例(或 Redis、RabbitMQ 或 Kafka 等中间代理)。
您还可以使用 syslog 守护程序(可能已经安装在机器上)通过 syslog 协议传送日志,但请记住,不能保证每条消息的最大允许长度。
您可以在路径中添加远程系统IP,并从远程机器访问日志。
input {
file {
path => "\IP address/home/Desktop/Logstash-Input/**/*_log"
start_position => "beginning"
}}
查看 FileBeat:https://www.elastic.co/products/beats/filebeat
它不是拉模型,但它似乎是比 logstash-forwarder 更好的选择。
它监控日志文件并将它们转发到 Logstash 或 Elasticsearch。它还保持日志文件的状态,并保证事件将至少传递一次(取决于日志循环速度)。配置真的很容易:
输入配置:
input_type: log
paths:
- /opt/app/logs
输出配置
output.logstash:
hosts: ["remote_host:5044"]
index: filebeat_logs
在 logstash 端,您必须安装和配置 Beats 输入插件:
input {
beats {
port => 5044
}
}
目前我的日志和 logstash 运行 在同一台机器上,所以我使用此配置(使用拉模型)读取了放置在本地机器上的日志
input {
file {
path => "/home/Desktop/Logstash-Input/**/*_log"
start_position => "beginning"
}
}
现在,我们在另一台机器上有 logstash 运行 并且想要读取远程机器的日志。
有没有办法在配置文件的文件输入中设置ip?
编辑: 我设法用 logstash-forwarder 做到这一点,它是一个推送模型(log shipper/logstash-forwarder 将日志发送到 logstash 索引服务器)但我仍然在寻找没有托运人的拉模型,logstash 索引服务器将去那里直接联系到远程主机。
Logstash 不包含任何从其他计算机的文件系统读取文件的魔法(这可能是一件好事)。您要么必须挂载包含您感兴趣的日志的远程文件系统,要么必须在远程计算机上安装日志传送器(例如 Logstash)并将其配置为将数据发送到您当前的 Logstash 实例(或 Redis、RabbitMQ 或 Kafka 等中间代理)。
您还可以使用 syslog 守护程序(可能已经安装在机器上)通过 syslog 协议传送日志,但请记住,不能保证每条消息的最大允许长度。
您可以在路径中添加远程系统IP,并从远程机器访问日志。
input {
file {
path => "\IP address/home/Desktop/Logstash-Input/**/*_log"
start_position => "beginning"
}}
查看 FileBeat:https://www.elastic.co/products/beats/filebeat
它不是拉模型,但它似乎是比 logstash-forwarder 更好的选择。
它监控日志文件并将它们转发到 Logstash 或 Elasticsearch。它还保持日志文件的状态,并保证事件将至少传递一次(取决于日志循环速度)。配置真的很容易:
输入配置:
input_type: log
paths:
- /opt/app/logs
输出配置
output.logstash:
hosts: ["remote_host:5044"]
index: filebeat_logs
在 logstash 端,您必须安装和配置 Beats 输入插件:
input {
beats {
port => 5044
}
}