首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从气流传递参数到对数

从气流传递参数到对数
EN

Stack Overflow用户
提问于 2020-03-30 17:26:13
回答 1查看 1.2K关注 0票数 2

我已经配置logstash来侦听默认气流日志路径上的日志。我想将elasticsearch中的索引创建为{dag_id}-{task_id}-{execution_date}-{try_number}.所有这些都是气流的参数。这些是airflow.cfg中修改过的值。

代码语言:javascript
运行
复制
[core]
remote_logging = True

[elasticsearch]
host = 127.0.0.1:9200                                                                            
log_id_template = {{dag_id}}-{{task_id}}-{{execution_date}}-{{try_number}}                       
end_of_log_mark = end_of_log
write_stdout = True                                                                              
json_format = True                                                                               
json_fields = asctime, filename, lineno, levelname, message

这些任务实例的细节需要从气流传递到逻辑仓库。dag_id,task_id,execution_date,try_number

这是我的logstash配置文件。

代码语言:javascript
运行
复制
input {
     file{                                                                                                  
       path => "/home/kmeenaravich/airflow/logs/Helloworld/*/*/*.log"                                   
       start_position => beginning                                                                    
     } 
}                                                                                                
output {                                                                                                  
     elasticsearch { 
        hosts => ["127.0.0.1:9200"]                                                                      
        index => "logginapp-%{+YYYY.MM.dd}"                                                        
     }                                                                                                
     stdout { codec => rubydebug }                                                          
} 

我有两个问题。如何将参数从气流传递给洛格斯塔什?

我已经将logstash配置为侦听日志路径。由于remote_logging在airfow.cfg中是真的,所以日志不会写入基本日志文件夹。如果这是错误的,或者如果我连接到亚马逊S3,日志也会被写入base_log_folder路径。但是,要配置logstash,需要在本地文件夹中写入日志。我使用气流版本1.10.9。如何将日志流到Elasticsearch索引。

EN

回答 1

Stack Overflow用户

发布于 2020-08-20 21:40:15

要回答您的第一个问题(我假设您的意思是将日志直接传递给Elasticsearch),您不能。气流"Elasticsearch“实际上并不是对Elasticsearch的日志记录,而是更多的将日志发送到Elasticsearch的配置。属性的命名(在我看来)有点混乱,因为它表明您可以直接写到Elasticsearch。可以将气流配置为,从Elasticsearch读取日志。请参阅关于更多信息的气流弹性搜索文档

可以将气流配置为从Elasticsearch读取任务日志,并可选择以标准或json格式将日志写入标准输出。这些日志稍后可以使用fluentd、logstash或其他工具收集并转发到Elasticsearch集群。

当您启用write_stdout = True时,输出将被写入stdout。如果希望将输出写入文件中,则必须设置write_stdout = False或将其保留为空。然后,您的logstash配置应该找到这些文件,这将回答您的第二个问题。

干杯迈克尔

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60936051

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档