1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
4.1.1 |
|
4.1.7.3 | 定时任务运行记录可直接使用 3.4 节功能进行手动/自动清理 |
1.2 功能简介
FineDataLink 工程运行时,会生成相关日志文件进行记录。
日志类型 | 日志内容 | 日志存储和清理 | 日志使用 | |
---|---|---|---|---|
系统日志 | 记录系统运行过程中的一些信息 | 默认存储在%FDL_HOME%\logs\fanruan.log 不允许修改日志存储位置 |
| |
操作日志 | 记录普通用户和管理员的使用动作 | 存储在%FDL_HOME%\webapps\webroot\logs\cubes 允许修改日志存储位置 | 获取日志的两种方式:
| |
业务日志 | 执行记录 | 1)记录各业务模块使用过程中产生的记录 对于 FDL,包括:
2)不支持日志的分级 |
默认存储在 FineDB 数据库 的 fine_dp_work_exec_record、fine_dp_pipeline_execute 不支持在 3.4 节被手动/自动清理,可参考自动清理FineDataLink运行记录 进行清理
fine_dp_work_exec_record 任务运行历史记录可以使用 3.4 节手动或者自动清理 存储在 FineDB 的 fine_dp_work_last_record 最近一次运行记录则还是只能使用自动清理FineDataLink运行记录 进行清理。 | 获取日志的两种方式:
|
诊断日志 | 1)记录各业务模块使用过程中产生的过程日志 对于FDL,包括:
2)支持日志的分级 | 数据管道|数据服务:
上述 3 张表数据,可在本文 3.4 节被手动/自动清理 | 获取日志的两种方式:
| |
定时任务: 默认存储为文件,每条运行记录生成一个文件(路径:%FDL_HOME%\webapps\webroot\WEB-INF\dpworks\record 4.1.7.3 之前的版本不支持在 3.4 节被手动/自动清理 4.1.7.3 以及之后的版本在logdb中对应的执行记录的数据行清除后,一起跟随清除。 |
2. 系统日志
系统日志记录系统运行过程中的一些信息。
日志存储在%FDL_HOME%\logs\fanruan.log文件里,Tomcat服务器的日志文件catalina.out里也会生成。
不支持修改服务器工程日志存储位置。
不支持自动清理%FDL_HOME%\logs\fanruan.log文件。
每日 0 点定时将 fanruan.log 压缩,用以节省磁盘空间。
2.1 日志级别简介
系统日志输出级别分为五种:DEBUG、INFO、WARN、ERROR、FATAL。
日志级别大小排序(严重程度):FATAL>ERROR>WARN>INFO>DEBUG
日志详细程度排序:FATAL<ERROR<WARN<INFO<DEBUG
Log级别 | 简介 |
---|---|
DEBUG(调试) | 指出细粒度信息事件对调试应用程序是非常有帮助的,主要用于开发过程中打印一些运行信息。 |
INFO(信息) | 在粗粒度级别上突出强调应用程序的运行过程,打印一些感兴趣的或者重要的信息。 可以用于生产环境中输出程序运行的一些重要信息,但是不能滥用,避免打印过多的日志。 |
WARN(警告) | 表明会出现潜在错误的情形,有些信息不是错误信息,但是也要给程序员的一些提示。 |
ERROR(错误) | 指出虽然发生错误事件,但仍然不影响系统的继续运行。打印错误和异常信息。 如果不想输出太多的日志,可以使用这个级别。 |
FATAL(致命) | 指出每个严重的错误事件将会导致应用程序的退出。 这个级别比较高,属于重大错误,可以直接停止程序了。 |
2.2 设置日志级别
超级管理员登录 FineDataLink 系统,点击「管理系统>智能运维>平台日志」,点击「全局设置」,可根据需求自行调整日志级别。如下图所示:
注:调节日志级别,仅影响系统日志的输出,不影响操作日志。
3. 操作日志
3.1 查看操作日志
操作日志默认存储在%FDL_HOME%\webapps\webroot\logs\cubes文件夹中。
全部的操作日志,存储在cubes文件夹中,可通过数据连接进行查询分析。详情请参见:报表日志 LogDB 数据库 。
「管理系统>智能运维>平台日志>操作日志」中,以表格形式向用户展示操作日志:
FDL 的操作日志在此处全部展示。
FR、BI 的常用操作日志在此处展示。
3.2 修改存储位置
Windows:进入%Tomcat_HOME%\bin目录。寻找名为setenv.bat的文件。如果文件不存在,可以创建一个新的setenv.bat文件。在文件中添加以下行来设置,配置完成后重启工程。
SET "JAVA_OPTS=%JAVA_OPTS% -DSWIFT_HOME=D:\path\logs"
Linux:进入%Tomcat_HOME%\bin目录。寻找名为setenv.sh的文件。如果文件不存在,可以创建一个新的setenv.sh文件。在文件中添加以下行来设置,配置完成后重启工程。
JAVA_OPTS="$JAVA_OPTS -DSWIFT_HOME=\home\path\logs"
3.3 备份操作日志
操作日志和业务日志统一备份;暂不支持备份系统日志。
对于运维平台部署的工程,如在部署时勾选了ElasticSearch组件,ElasticSearch会替换swift(logdb)作为日志存储。
如在工程「管理系统>系统管理>常规」界面看到「ElasticSearch连接配置」,说明已启用ElasticSearch作为日志存储。
此时「日志备份」功能无效,请自行对ElasticSearch数据进行备份
3.3.1 备份操作日志&业务日志
管理员登录 FineDataLink 系统,点击「管理系统>智能运维>平台日志」,点击「全局设置」,可开启「自动备份」按钮。如下图所示:
操作日志、业务日志实时备份的表包括:
fine_record_execute
fine_record_operate
fine_record_email
fine_record_write
fine_schedule_record
fine_pipeline_log
fine_pipeline_sync_information
fine_record_fdl_dataservice_monitor_info
开启「自动备份」按钮后,在%FDL_HOME%\webapps\webroot\logs\swift_backup下生成备份文件,按照时间戳来分别储存,如20211105。如下图所示:
备份文件会跟随 3.4 节日志的清理逻辑来清理。
3.3.2 还原操作日志&业务日志
仅当开启了「自动备份」按钮后,方可进行操作日志&业务日志的还原。
点击「备份还原」文字,跳出日期选择框。选择需要还原的日期区间,点击「确定」。
耐心等待一段时间后,跳出「备份还原成功」弹窗,日志即可成功还原。如下图所示:
注1:若还原过程中刷新页面,再次点击「备份还原」文字,会跳出「正在备份」弹窗,请耐心等待即可。
注2:若还原时检测到内存不足,会跳出提示用户清理磁盘。
注3:若还原时检测到备份文件损坏,会提示备份文件损坏,不进行备份。
3.4 清理操作日志&业务日志
注:有部分操作日志和业务日志保存在 LogDB 数据库中,本节清理的是这部分日志数据。
超级管理员登录 FineDataLink 系统,点击「管理系统>智能运维>平台日志」,点击「全局设置」,可对操作日志&业务日志文件进行清理,可以设置「自动清理」和「手动清理」。
1)自动清理:每隔 3 个月自动清理一次,保留近 3 个月的数据。最少会保留 3 个月,最多实际上会有 6 个月。
2)手动清理:默认保留近 3 个月的数据,可选择 0 天、1 天、1 周、1 个月、3 个月、6 个月、12 个月。
如下图所示:
需注意:
「日志清理」设置仅影响操作日志、业务日志,不影响系统日志。
近 3 个月是指当前日期往前 3 个月的数据,例如 2019-8-19 日手动清理,默认保留 2019-5-19 ~ 2019-8-19 日的数据。
清理日志后发现 cubes 文件夹占用空间仍然很大,原因在于只是清理文件夹里面的文件,不会清理文件夹,该目录下文件夹特别多,而且占用比较大的空间。
若设置只保留近一个月运行记录:近一个月若存在升级操作,升级时%FDL_HOME%\webapps\webroot\WEB-INF\dpworks\record目录中会自动把所有的日志文件都保存在以升级当天日期命名的文件夹中,
FDL 自动清理一个月之前记录时,不能同时删掉保存在升级当天的很久之前的日志文件。
只有运行记录被删除后,该记录对应的日志文件才会被删除。所以,该用户升级一个月之后,records 目录下对应的日志文件就能被删除。
清理后显示的「当前日志大小」不是磁盘占用空间的概念,而是实际所有文件的大小。详情参见:
Windows:windows系统中文件大小和占用空间不同的原因解析
Linux:du和ls查看文件大小的区别
3)清理预警
日志文件过大时通知相关用户,相关用户可对日志进行手动清理,减小日志文件大小。
开启预警功能,设置触发条件,例如日志文件大于 xxxM。
短信提醒需要「开启短信功能」,详细设置请查看 短信 ,同时邮件提醒也需要配置发件人,详细设置请查看 邮箱 。
然后勾选「短信提醒、平台消息、邮件提醒」,再分别设置设置收件人,设置完成后点击「保存」,如下图所示:
短信提醒效果如下图所示:
平台消息效果如下图所示:
邮件提醒效果如下图所示:
3.5 注意事项
3.5.1 自动删除运行记录未生效
问题描述:
用户在 3.4 节位置处设置只保留近一个月记录,fine_dp_work_exec_record 表中保留的是近一个月记录,但%FDL_HOME%\webapps\webroot\WEB-INF\dpworks\record中,存在很早之前的日志文件。
原因分析:
用户在近一个月有升级操作,升级时,%FDL_HOME%\webapps\webroot\WEB-INF\dpworks\record目录中会自动把所有的日志文件都保存在以升级当天日期命名的文件夹中,FDL 自动清理一个月之前记录时,不能删掉保存在升级当天的很久之前的日志文件。
只有运行记录被删除后,该记录对应的日志文件才会被删除。所以,该用户升级一个月之后,records 目录下对应的日志文件就能被删除。
4. 业务日志-诊断日志
4.1 设置日志级别
1)「业务日志-诊断日志」可设置日志级别,日志级别可选择 ERROR、WARN、INFO,默认选择 WARN 。如下图所示:
2)「业务日志-诊断日志」目前仅作用于管道任务和定时任务。
3)对于管道任务和定时任务,支持调整单个任务的日志输出级别。具体请参见:定时任务单独设置日志输出级别、管道任务单独设置日志输出级别
4)若手动修改过任务级别的日志配置,修改全局的日志级别配置时,全局日志的级别不会影响手动修改过日志等级任务的级别。
4.2 备份业务日志-诊断日志
请参见本文 3.3 节内容。
4.3 清理业务日志-诊断日志
请参见本文 3.4 节内容。