反馈已提交

网络繁忙

您正在浏览的是 FineBI6.0 帮助文档,点击跳转至: FineBI5.1帮助文档

平台日志同步到其他数据库插件

  • 文档创建者:Wendy123456
  • 历史版本:18
  • 最近更新:Suki陈 于 2023-09-26
  • 1. 概述

    1.1 版本

    FineBI 版本平台日志同步到其他数据库插件
    6.0V1.0.0

    1.2 应用场景

    • 目前 LogDB 数据库不支持迁移,用户如果想对日志数据进行一些复杂分析时较为麻烦,希望日志数据可以迁移到自己的数据库中进行管理和分析。

    • 用户希望把各个系统的日志都放在同一个地方运维管理。

    1.3 功能简介

    安装「平台日志同步到其他数据库」插件后,用户可以通过设置将 LogDB 中的部分表数据定期同步到其它数据库中。

    2. 插件介绍

    2.1 安装插件

    插件下载请点击:平台日志同步到其他数据库插件

    插件安装方法参见:插件管理

    2.2 支持迁移到的数据库

        数据库类型      支持数据库版本
    MySQL5.1.73、5.5.31、5.5.46、5.5.56、5.6.22、5.6.31、5.7.16           
    SqlServer2000、2005、2008、2012、2014、2016
    Oracle10g、11g、12c

    2.3 日志同步

    插件安装成功后,点击「管理系统>智能运维>平台日志」,平台日志界面新增「日志同步」Tab,如下图所示:

    14.png

    3. 示例

    3.1 选择所要同步的日志

    1)以管理员身份进入数据决策系统,点击「管理系统>智能运维>平台日志」,在「日志同步」Tab 页中点击「设置日志同步任务」,如下图所示:

    14.png

    2)在日志同步设置中,选择「同步日志起始时间」,勾选需要同步的日志,点击「下一步」。如下图所示:

    支持同步的日志表包括:

    • 报表执行日志 fine_record_execute

    • 登录日志 fine_record_login

    • 登出日志 fine_record_logout

    • 邮件发送日志 fine_record_email

    • 填报日志 fine_record_write

    • 常用参数组合 fine_record_param

    • 短信发送日志 fine_record_sms

    • 管理行为日志 fine_record_operate

    • SQL 执行情况 fine_record_sql

    • 应用实时情况 fine_real_time_usage

    • gc日志 fine_record_gc

    • conf_entity 配置信息 fine_record_conf

    • 用户锁定日志 fine_record_lock

    • 模板属性 fine_tpl_info

    • 容器信息日志 fine_container_entity

    • 功能点信息日志 fine_function_process

    • 云端运维操作日志fine_operation_process_log

    • 信号量信息 fine_operation_shutdown_record

    • 插件使用信息记录 fine_plugin_usage

    • 定时任务执行日志 fine_schedule_record

    • 功能使用情况 fine_intelli_focus_point

    • 性能信息日志 fine_intelli_consume_point

    3.2 配置数据库信息

    填写日志数据将要迁移到的数据库相关信息,点击「确定」,如下图所示:

    1598239612331686.png

    4. 效果查看

    4.1 同步状态

    注:插件每 3 分钟同步一次,每张表每次最多同步数据 3W 条。如果本次同步的数据不足 3W 条,那最多同步 3 个小时跨度的数据。

          例如2021-08-02 13:00:00~16:00:00,有30条数据,那这次同步就最多同步这30条数据。

    同步成功后,同步状态如下图所示:

    15.png

    4.1.1 同步失败时,通知管理员

    若勾选「同步失败时,通知管理员」按钮,同步失败时,管理员会收到平台消息。如下图所示:

    1598250793260794.png

    4.1.2 暂停同步

    可点击「暂停」按钮,暂停同步。如下图所示:

    16.png

    4.1.3 编辑同步设置

    暂停同步或同步失败时,可点击「编辑」按钮,重新编辑同步任务。如下图所示:

    23.png

    “起始时间生效对象”设置说明:

    若希望所有被勾选的表都从用户设置的「同步日志起始时间」开始同步,则“起始时间生效对象”设置为“所有同步的日志”;

    若希望只有新增加的表从「同步日志起始时间」的设置值开始同步,其余已有在同步的表延着之前同步到的地方继续同步,则“起始时间生效对象”设置为“仅对本次变动的日志生效”。

    4.1.4 查看同步详情

    点击「查看同步详情」按钮,可查看同步详情。如下图所示:

    17.png

    只展示上次同步任务的运行状态。各字段说明如下表所示:

    字段名称说明
    同步表所选择的同步日志
    同步日志截止时间最近一次执行结束的同步任务中,入库日志的最晚时间,表示在「同步日志起始时间」到此时间点之间的日志都已经入库了
    最近一次同步时间最近一次执行结束同步任务的开始执行时间
    最近一次同步数据量最近一次执行结束同步任务同步的日志记录数
    最近一次同步耗时最近一次执行结束同步任务执行的耗时
    运行结果

    成功/失败

    运行结果为「失败」情况下,可以点击查看具体报错

    4.2 日志数据同步到数据库

    日志数据同步到设置的数据库中。如下图所示:

    注1:字段中内容过长可以入库,但是超过 255 字符的内容会被截断。

    注2:日志清理 不会影响到已迁移到外接数据库中的日志数据。

    1599186812201709.png

    同步后的表,新增了自增长主键(syncID),增加了时间戳字段(storageTime),示例如下图所示:

    1599185951990922.png

    字段名使用数据库保留名时,为了能够兼容各个版本,针对保留名做别名处理。改名处理的具体字段如下表所示:



    原字段名称迁移后字段名称
    FINE_RECORD_OPERATEtypeoperateType
    resourceoperateResource
    statusoperateStatus
    FINE_RECORD_EXECUTEtypeexecuteType
    sqlquery
    sqlTimequeryTime
    FINE_RECORD_WRITEsqlquery
    sqlTimequeryTime

    5. 常见问题

    5.1 同步逻辑

    内容
    说明
    同步逻辑目前平台日志同步逻辑是插入提交,多次同步同个时段的数据就会重复提交。
    同步频率

    同步插件会以用户设置的同步开始时间为起点,按照时间顺序分批将日志同步到第三方数据库中,插件每3分钟同步一次,每张表每次最多同步数据3W 条。

    如果本次同步的数据不足3W 条,那最多同步 24 个小时跨度的数据(2021-3-23之前最多同步3小时跨度的数据)。

    同步字段长度字段中内容过长可以入库,但是超过 255 字符的内容会被截断,仅提交255字符长度内的内容。
    同步状态插件处显示的同步状态实际是指的插件运行状态,并非同步状态。

    5.2 数据库问题

    同步失败,可排查以下数据库问题。

    排查步骤
    说明
    检查数据库版本支持的数据库类型和版本请参考2.2节。
    检查数据库信息

    检查数据库驱动、模式、密码是否正确,可在数据连接处先尝试是否能正常连接。

    数据库重启会导致日志同步中断,同步终止后要在平台上重新启动任务。

    检查数据库用户权限

    检查数据库用户是否有创建表和插入数据的权限。

    用户最好需要具备 create、delete、alter、update、select、insert 权限。

    检查数据库编码

    MySQL5数据库编码建议为utf8,不支持 utf8mb4 编码。

    若为阿里云rds mysql ,还需要确认引擎是否为innodb。

    5.3 插件问题

    同步失败,出现三种现象时,可排查以下插件问题。

    问题描述:

    1)fanruan.log中报错有重复的插件包

    2)平台日志同步界面显示空白

    3)平台日志同步界面显示英文

    排查步骤
    说明
    检查插件安装

    检查是否重复安装了插件

    若重复安装了,删除插件,重启服务器,重新安装插件

    检查websocket端口检查websocket端口是否正常,可参考:WebSocket连接失败

    5.4 常见报错

    同步出现问题,可查看fanruan.log,报错信息中包含「com.fr.plugin.sync」,可根据报错信息定位问题。

    报错信息原因分析及解决方案

    SyncLog: getConfigInstance failed!, retry to getConfigInstance!

    java.lang.AssertionError: com.fr .plugin.sync.config.status.IsStart has the same tableName with com.fr .plugin.sync.config.status.IsStart

    1)安装了不同版本的平台日志同步插件,需要在plugins中将插件文件删除干净,重启服务器,再次安装。

    2)同时安装了「日志数据同步」 插件和「平台日志同步到其他数据库」插件,需将旧版本「日志数据同步」 插件删掉。

    Can not set int field com.fr .plugin.sync.db.entity.Schedule.logType to java.lang.LonglogDB不支持int型,需要将int改为long。更新插件至1.1.2及以上版本。
    SyncLog: get logs failed from XXX

    同步的XXX表太大,swift中止查询,导致查询失败。

    平台日志同步插件无法支持特别大数据量的日志同步,建议适当清理表数据再同步。

    SyncLog: sync failed: com.fr.third.org.hibernate.StaleStateException: 

    Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1。

    hibernate偶发保存数据失败。更新插件至1.0.8及以上版本。
    java.sql.SQLException: Incorrect string value: '/xE4/xB8/xB4/xE6/x97/xB6...' for column 'userrole' at row 1

    数据库或表的字符集有问题。

    MySQL5数据库编码建议为utf8,不支持 utf8mb4 编码。

    若为阿里云rds mysql ,还需要确认引擎是否为innodb。

    QueryTimeoutException- could not extract ResultSet

    数据库可能有未提交的事务,导致数据提交失败。

    检查是否存在没提交的事务,若存在,处理后再尝试同步。

    could not execute statement检查数据库的模式和编码类型

    MySQL5数据库编码建议为utf8,不支持 utf8mb4 编码。

    若为阿里云rds mysql ,还需要确认引擎是否为innodb。

    Oracle模式填thin就会报错,将改成用户名即可。

    附件列表


    主题: 管理系统
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持