标签:域名 目录 war 注意事项 编码 文件规范 logs 体系 统一
业务日志输出规范日志文件名格式:logName_YY-MM-dd_hh.[ roll count].log
示例:sdk_2020-09-03_11.0.log
日志文件大小等于100M,须日志滚动
由于Linux对于小文件存在Inodes限制,所以对于日志量较大,开启INFO等较低级别日志,若日志大小设置较低,将会产生大量【roll count】,造成Inodes报警。
日志文件统一保存在业务软件服务器的数据盘目录下的logs目录中。
示例:
sdk服务的服务器数据盘符为/data,则日志将存放在/data/logs/{appid或域名}目录中。
同机器nginx日志将会放置在/data/logs/nginx
好处,统一日志存放路径非常有利与后续运维自动化,否则每个程序日志采集端都要自定义不同的日志路径,非常不利于运维自动化的体系建设
组件编码为业务软件标识,用于ELK系统搜索指定业务模块日志使用,该值全局唯一。
日志产生的时间,推荐使用时间标准:Time_ISO8601。其中,yyyy代表四位数年份,MM代表两位数月份,dd代表两位数日期,HH代表两位数小时时间,mm代表两位数分钟时间,ss代表两位数秒时间,Time_zone代表时区。
@timestamp=“yyyy-MM-ddTHH:mm:ss+Time_zone”
示例:@timestamp=“2020-09-03T14:34:15+08:00”
日志级别 | 级别描述 | 信息类别 |
---|---|---|
FATAL | 业务软件发生严重错误,服务被终止或者重启,需要立即被处理。 | 错误日志信息日志 |
ERROR | 业务软件发生错误,后续流程还能继续进行,但也已经影响了用户的正常访问。该级别的错误也需要马上被处理。 | 错误信息日志 |
WARN | 有潜在风险的、不会造成大危害的错误,需要开发人员给予足够关注,往往表示有参数校验问题或者程序逻辑缺陷。 | 错误信息日志 |
INFO | 在正常运行状态中,粗粒度的、关键流程/事件、业务软件重要的配置和参数信息,可用来表示业务软件健康度的信息 | 一般信息日志 |
DEBUG | 对调试(debug)有帮助的信息、事件,默认情况下不打开日志记录。 | 调试信息日志 |
由于新的ELK架构建立字段时采用json格式,所以须统一指定日志内容字段格式,以实现ELK接收日志方案的统一化。
{"@timestamp": "2020-09-03T14:34:15+08:00", "appID": "sdk", "level": "INFO", ....}
每条业务日志须包含以下字段:组件ID(appID)、时间戳(@timestamp)、日志级别(level)。
时间戳字段名必须为@timestamp
,时间输出规范为time_iso8601
。举例:"@timestamp": "$time_iso8601"
标签:域名 目录 war 注意事项 编码 文件规范 logs 体系 统一
原文地址:https://blog.51cto.com/swiki/2528510