有群友提问了:审计占用了大量空间,如何不记录审计? 在这里记录分享一下
thingsboard.yml
文件可以启用/禁用或更改其他审计日志的配置,下面有注释。
比如可以启用/禁用,可以指定储存时长,可以细粒度指定每种实体类型的日志级别,可以连接外部日志系统。
# 审计日志参数
audit-log:
# 启用/禁用审计日志功能。
enabled: "${AUDIT_LOG_ENABLED:true}"
# 根据租户id存储指定审计日志的分区大小。 例如 MINUTES, HOURS, DAYS, MONTHS
by_tenant_partitioning: "${AUDIT_LOG_BY_TENANT_PARTITIONING:MONTHS}"
# 如果没有指定“开始时间”和“结束时间”,则以天数作为历史周期
default_query_period: "${AUDIT_LOG_DEFAULT_QUERY_PERIOD:30}"
# 每种实体类型的日志级别。
# 允许的值: OFF (禁用), W (记录写操作), RW (记录读写操作)
logging-level:
mask:
"device": "${AUDIT_LOG_MASK_DEVICE:W}"
"asset": "${AUDIT_LOG_MASK_ASSET:W}"
"dashboard": "${AUDIT_LOG_MASK_DASHBOARD:W}"
"customer": "${AUDIT_LOG_MASK_CUSTOMER:W}"
"user": "${AUDIT_LOG_MASK_USER:W}"
"rule_chain": "${AUDIT_LOG_MASK_RULE_CHAIN:W}"
"alarm": "${AUDIT_LOG_MASK_ALARM:W}"
"entity_view": "${AUDIT_LOG_MASK_ENTITY_VIEW:W}"
"device_profile": "${AUDIT_LOG_MASK_DEVICE_PROFILE:W}"
sink:
# 外部日志接收器配置. 可能的选项: none, elasticsearch
type: "${AUDIT_LOG_SINK_TYPE:none}"
# 审计日志存储的索引名称
# 索引名称可以包含下一个占位符 (不是强制性的):
# @{TENANT} - 由租户ID代替
# @{DATE} - 以提供的格式替换为当前日期 audit_log.sink.date_format
index_pattern: "${AUDIT_LOG_SINK_INDEX_PATTERN:@{TENANT}_AUDIT_LOG_@{DATE}}"
# 日期格式。 模式的详细信息可以在这里找到:
# https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html
date_format: "${AUDIT_LOG_SINK_DATE_FORMAT:YYYY.MM.DD}"
scheme_name: "${AUDIT_LOG_SINK_SCHEME_NAME:http}" # http or https
host: "${AUDIT_LOG_SINK_HOST:localhost}"
port: "${AUDIT_LOG_SINK_PORT:9200}"
user_name: "${AUDIT_LOG_SINK_USER_NAME:}"
password: "${AUDIT_LOG_SINK_PASSWORD:}"