博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Logstash 参考指南(日志记录)
阅读量:6254 次
发布时间:2019-06-22

本文共 2811 字,大约阅读时间需要 9 分钟。

日志记录

Logstash在其操作期间发出内部日志,这些日志位于LS_HOME/logs(或/var/log/logstash用于DEB/RPM)中,默认的日志级别是INFO。Logstash的日志框架基于,其大部分功能都直接向用户公开。

在调试问题时,特别是插件问题时,增加日志级别到DEBUG以获得更详细的消息是很有帮助的。以前,你只能设置应用于整个Logstash产品的日志级别,从5.0开始,你可以在Logstash中为特定的子系统配置日志记录。例如,如果你正在调试Elasticsearch输出的问题,你可以仅为该组件增加日志级别,通过这种方式,你可以减少由于过度日志记录而产生的噪音,并有效地关注问题区域。

日志文件位置

你可以使用--path.logs设置指定日志文件的位置。

Log4j 2配置

Logstash带有一个使用log4j2.properties文件的开箱即用的设置,你可以修改此文件以更改旋转策略、类型和其他,你必须重新启动Logstash以应用对此文件所做的任何更改。

Slowlog

Logstash的慢日志功能可以在特定事件需要异常长的时间才能通过管道时进行日志记录,与普通的应用程序日志一样,你可以在--path.logs目录中找到慢日志,使用以下选项在logstash.yml设置文件中配置Slowlog:

slowlog.threshold.warn (default: -1)slowlog.threshold.info (default: -1)slowlog.threshold.debug (default: -1)slowlog.threshold.trace (default: -1)

默认情况下,这些值被设置为-1nanos,表示不会调用slowlog的无限阈值,这些slowlog.threshold字段是使用时间值格式配置的,该格式支持广泛的触发间隔。可以使用以下时间单位指定正数值范围:nanos(纳秒)、micros(微秒)、ms(毫秒)、s(秒)、m(分钟)、h(小时)、d(天)。

这里有一个例子:

slowlog.threshold.warn: 2sslowlog.threshold.info: 1sslowlog.threshold.debug: 500msslowlog.threshold.trace: 100ms

在上面的配置中,将记录在过滤器中处理耗时超过两秒的事件,日志将包含导致缓慢的完整事件和过滤器配置。

日志记录API

你可以修改log4j2.properties文件并重新启动你的Logstash,但这既乏味又会导致不必要的停机,相反,你可以通过日志记录API动态更新日志记录级别,这些设置立即生效,不需要重新启动。

默认情况下,日志API试图绑定到
tcp:9600,如果该端口已经被另一个Logstash实例使用,你需要使用
--http.port标志启动Logstash指定绑定到另一个端口,有关更多信息,请参阅命令行标志。

要更新日志级别,请使用你感兴趣的子系统/模块并预先设置logger.,例如:

curl -XPUT 'localhost:9600/_node/logging?pretty' -H 'Content-Type: application/json' -d'{    "logger.logstash.outputs.elasticsearch" : "DEBUG"}'

当这个设置生效时,Logstash为配置中指定的所有Elasticsearch输出发出DEBUG级别日志,请注意,这个新设置是暂时的,不会在重新启动时存活。

应该向log4j2.properties添加持久性更改,例如:

logger.elasticsearchoutput.name = logstash.outputs.elasticsearchlogger.elasticsearchoutput.level = debug

要检索运行时可用的日志记录子系统列表,可以对_node/logging执行GET请求:

curl -XGET 'localhost:9600/_node/logging?pretty'

示例响应:

{...  "loggers" : {    "logstash.agent" : "INFO",    "logstash.api.service" : "INFO",    "logstash.basepipeline" : "INFO",    "logstash.codecs.plain" : "INFO",    "logstash.codecs.rubydebug" : "INFO",    "logstash.filters.grok" : "INFO",    "logstash.inputs.beats" : "INFO",    "logstash.instrument.periodicpoller.jvm" : "INFO",    "logstash.instrument.periodicpoller.os" : "INFO",    "logstash.instrument.periodicpoller.persistentqueue" : "INFO",    "logstash.outputs.stdout" : "INFO",    "logstash.pipeline" : "INFO",    "logstash.plugins.registry" : "INFO",    "logstash.runner" : "INFO",    "logstash.shutdownwatcher" : "INFO",    "org.logstash.Event" : "INFO",    "slowlog.logstash.codecs.plain" : "TRACE",    "slowlog.logstash.codecs.rubydebug" : "TRACE",    "slowlog.logstash.filters.grok" : "TRACE",    "slowlog.logstash.inputs.beats" : "TRACE",    "slowlog.logstash.outputs.stdout" : "TRACE"  }}

要重置任何可能通过日志API动态更改的日志级别,请向_node/logging/reset发送PUT请求,所有日志级别都将恢复到log4j2.properties文件中指定的值。

curl -XPUT 'localhost:9600/_node/logging/reset?pretty'

转载地址:http://szfsa.baihongyu.com/

你可能感兴趣的文章
分布式拒绝服务攻击 DDoS
查看>>
Netstat命令详解
查看>>
软件测试面试题整理
查看>>
Jmeter-Maven-Plugin高级应用:Proxy Configuration
查看>>
20. Spring Boot Servlet【从零开始学Spring Boot】
查看>>
让一个做了10PHPer的妹子员告诉你PHP7 的新特性的使用
查看>>
OPPO 立足国内放眼世界 寻求新的增长引擎
查看>>
Roadstar公司CTO衡量回应合伙人周光被开除:怎奈遇人不淑
查看>>
小米武汉总部开工雷军亲自出席:远期在汉要招上万人
查看>>
传贾跃亭将FF股份交给友人代持以规避失信人限制
查看>>
豆盟递交招股书:单季利润1394万 蓝标为第二大股东
查看>>
申小雨命案审理延期至3月5日 警方将翻译嫌犯口供
查看>>
第五届中欧文化艺术节开幕 谭盾“领衔”献艺
查看>>
财政部:2018年全国财政收入超18万亿元 同比增6.2%
查看>>
C罗失点 尤文图斯3:0切沃延续联赛不败纪录
查看>>
湖北整治清退非法码头 为长江“留白增绿”
查看>>
为什么要把网站升级到HTTPS
查看>>
【Hello CSS】序章-起源
查看>>
转行IT要趁早,多迪教育新就业数据告诉你真相
查看>>
JavaScript深入之参数按值传递
查看>>