Appearance
日志记录
日志记录插件能够实时捕获并记录服务被访问的HTTP请求、响应的详细信息和定时任务的执行日志。
通过不同的日志记录分类的插件,可将日志记录到elastic、系统文件、http访问、消息队列等不同地方。
当APP服务被调用时,调用日志会缓存在缓冲区内,当刷新缓冲区时间到达时再批量记录,用以下的插件基本属性进行控制:
批量处理最大条数:批量记录日志的条数
刷新缓冲区的最大时间(秒):配置最大记录日志的间隔时间
elastic_logger
记录应用中HTTP服务被调用的日志到elasticSearch
中。
插件配置

请求协议:用于配置与elasticSearch的通信协议,通常为http
或https
elasticSearch配置
- 地址:elasticSearch服务器所在机器的IP地址
- 端口:与elasticSearch通信的端口号
- 用户名:elasticSearch身份认证的用户名
- 密码:elasticSearch身份认证的密码
日志查询
服务日志查询
在(主菜单)服务监控
-消息管理
-应用日志
界面中,可对记录到elasticSearch中的服务调用日志进行查询。

可查询http请求头、http请求体、消费者等信息,可通过记录时间、所属应用、消费者、关键字等检索日志。
点击日志的详细
按钮可查看日志记录的详细信息,包括明细、请求头、请求体、响应详细。

file_logger
把日志输出到系统文件中。
插件配置

自定义日志输出路径:日志输出的文件夹路径
仅记录异常请求:是否只输出http请求返回状态码为非200
的请求
是否包含请求体:是否输出请求体到日志文件
是否包含响应体:是否输出响应体到日志文件
单个文件最大值(MB):用于控制单个日志文件的占用空间大小,日志文件达到该空间大小时将会被归档
总日志文件最大值(GB):用于控制该日志输出路径中本APP的输出日志的总占用空间大小
归档周期(天):用于控制历史日志保存的最大天数,超出该天数的日志文件将会被删除
日志查询
进入日志输出路径的文件夹后,按应用名、日期逐步进入需查日志当天的所有日志目录,可根据文件名中的具体时间区间来确认对应文件查询日志。
http_logger
将日志作为http请求体,通过调用http服务输出。
插件配置

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队列中。
插件配置

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

topic名称:指定发送日志消息的topic
消息模式:async
/sync
。
async(默认):异步发送方式。将消息发送到Kafka后,不会等待消息被成功写入Kafka的确认。这种模式提高了消息发送的效率,但也可能带来消息丢失的风险。
sync:同步发送方式。发送每条消息时都会等待Kafka的响应,确认消息已成功发送或遇到错误。这种模式降低了消息发送的效率,但提高了消息的可靠性。
消息分区分配的密钥:用于决定消息发送的分区
仅记录异常请求:是否只输出http请求返回状态码为非200
的请求
是否包含请求体:是否发送请求体到Kafka队列中
是否包含响应体:是否发送响应体到Kafka队列中
通过kafka_logger插件输出的日志记录不可通过orapis-engine查询
rocketmq_logger
将应用中HTTP服务被调用的日志发送到RocketMQ队列中。
插件配置

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

topic名称:指定发送消息的topic
发送消息的key:决定消息发送的队列,保证消息的顺序性
发送消息的tag:设置发送消息的tag,便于消费者对消息进行过滤
开启TLS加密:是否启用TLS加密
ACL认证的Accesskey:作为RocketMQ访问的安全认证的用户名
ACL认证的Secretkey:作为RocketMQ访问的安全认证与AccessKey配对的密钥
仅记录异常请求:是否只输出http请求返回状态码为非200
的请求
是否包含请求体:是否发送请求体到RocketMQ队列中
是否包含响应体:是否发送响应体到RocketMQ队列中
通过kafka_logger插件输出的日志记录不可通过orapis-engine查询