Skip to content

日志记录

日志记录插件能够实时捕获并记录服务被访问的HTTP请求、响应的详细信息和定时任务的执行日志。

通过不同的日志记录分类的插件,可将日志记录到elastic系统文件http访问消息队列等不同地方。

当APP服务被调用时,调用日志会缓存在缓冲区内,当刷新缓冲区时间到达时再批量记录,用以下的插件基本属性进行控制:

批量处理最大条数:批量记录日志的条数

刷新缓冲区的最大时间(秒):配置最大记录日志的间隔时间

elastic_logger

记录应用中HTTP服务被调用的日志到elasticSearch中。

插件配置

logRecord_img_1.png

请求协议:用于配置与elasticSearch的通信协议,通常为httphttps

elasticSearch配置

  • 地址:elasticSearch服务器所在机器的IP地址
  • 端口:与elasticSearch通信的端口号
  • 用户名:elasticSearch身份认证的用户名
  • 密码:elasticSearch身份认证的密码

日志查询

服务日志查询

(主菜单)服务监控-消息管理-应用日志界面中,可对记录到elasticSearch中的服务调用日志进行查询。

logRecord_img_2.png

可查询http请求头、http请求体、消费者等信息,可通过记录时间、所属应用、消费者、关键字等检索日志。

点击日志的详细按钮可查看日志记录的详细信息,包括明细、请求头、请求体、响应详细。

logRecord_img_4.png

file_logger

把日志输出到系统文件中。

插件配置

logRecord_img_3.png

自定义日志输出路径:日志输出的文件夹路径

仅记录异常请求:是否只输出http请求返回状态码为非200的请求

是否包含请求体:是否输出请求体到日志文件

是否包含响应体:是否输出响应体到日志文件

单个文件最大值(MB):用于控制单个日志文件的占用空间大小,日志文件达到该空间大小时将会被归档

总日志文件最大值(GB):用于控制该日志输出路径中本APP的输出日志的总占用空间大小

归档周期(天):用于控制历史日志保存的最大天数,超出该天数的日志文件将会被删除

日志查询

进入日志输出路径的文件夹后,按应用名、日期逐步进入需查日志当天的所有日志目录,可根据文件名中的具体时间区间来确认对应文件查询日志。

http_logger

将日志作为http请求体,通过调用http服务输出。

插件配置

logRecord_img_5.png

HTTP或HTTPS服务器的URI:日志发送的http目标服务地址

授权header:添加日志输出的http的Basic Auth认证,认证值附加到header的Authorization参数中

请求超时时间(秒):设置记录日志所发送的http请求从发起请求到接收到响应(或请求失败)之间的最大等待时间

仅记录异常请求:是否只输出http请求返回状态码为非200的请求

是否包含请求体:是否添加该调用的请求体到日志输出的http请求中

是否包含响应体:是否添加该调用的响应体到日志输出的http请求中

日志拼接格式json/new_line

  • json:输出内容的每一个元素作为json格式数据中一个属性输出,日志输出的http请求数据类型为application/json

  • new_line:输出内容的每一个元素作为一行输出,日志输出的http请求数据类型为text/plain

通过http_logger插件输出的日志记录不可通过orapis-engine查询

kafka_logger

将应用中HTTP服务被调用的日志发送到Kafka队列中。

插件配置

logRecord_img_7.png

broker列表:用于配置Kafka集群中的服务器节点,每个节点可配置IP地址端口号用户名密码

logRecord_img_6.png

topic名称:指定发送日志消息的topic

消息模式async/sync

  • async(默认):异步发送方式。将消息发送到Kafka后,不会等待消息被成功写入Kafka的确认。这种模式提高了消息发送的效率,但也可能带来消息丢失的风险。

  • sync:同步发送方式。发送每条消息时都会等待Kafka的响应,确认消息已成功发送或遇到错误。这种模式降低了消息发送的效率,但提高了消息的可靠性。

消息分区分配的密钥:用于决定消息发送的分区

仅记录异常请求:是否只输出http请求返回状态码为非200的请求

是否包含请求体:是否发送请求体到Kafka队列中

是否包含响应体:是否发送响应体到Kafka队列中

通过kafka_logger插件输出的日志记录不可通过orapis-engine查询

rocketmq_logger

将应用中HTTP服务被调用的日志发送到RocketMQ队列中。

插件配置

logRecord_img_8.png

nameserver列表:用于配置RocketMQ队列中的NameServer服务节点

logRecord_img_9.png

topic名称:指定发送消息的topic

发送消息的key:决定消息发送的队列,保证消息的顺序性

发送消息的tag:设置发送消息的tag,便于消费者对消息进行过滤

开启TLS加密:是否启用TLS加密

ACL认证的Accesskey:作为RocketMQ访问的安全认证的用户名

ACL认证的Secretkey:作为RocketMQ访问的安全认证与AccessKey配对的密钥

仅记录异常请求:是否只输出http请求返回状态码为非200的请求

是否包含请求体:是否发送请求体到RocketMQ队列中

是否包含响应体:是否发送响应体到RocketMQ队列中

通过kafka_logger插件输出的日志记录不可通过orapis-engine查询