作为一个整体,我对Logstash和Elk还是个新手。我正试着把我的气流记录发送给Logstash。我对如何配置我的配置文件感到困惑,特别是因为我有几个(嵌套的)日志文件。
我的Airflow部署在AWS EC2示例上,我的日志目录如下所示:/home/ubuntu/run/logs/scheduler/
调度程序目录中有几个带有日期的文件夹。以其中一个文件夹为例:/home/ubuntu/run/logs/scheduler/2022-08-31.
标有日期的文件夹包含的文件如下
testing.py.log hello_world.py.log dag_file.py.log
现在,在配置我的/etc/logstash/conf.d/
(基于我上面共享的日志路径)时,我如何定义我的路径来挑选所有日志?
这就是我的/etc/logstash/conf.d/apache-01.conf
目前的样子,但我知道路径不准确:
input {
file {
path => "~/home/ubuntu/run/log/scheduler/"
start_position => "beginning"
codec -> "line"
}
}
filter {
grok {
match => { "path" => "" }
}
mutate {
add_field => {
"log_id" => "%{[dag_id]}-%{[task_id]}-%{[execution_date]}-%{[try_number]}"
}
}
}
output{
elasticsearch {
hosts => ["localhost:9200"]
}
}
1条答案
按热度按时间rjee0c151#
Path参数需要绝对路径。要处理所有的py.log文件,您可以使用以下输入
要仅处理文件Hello_World.py.log和dag_file.py.log,您可以使用一个数组作为路径