集群管理诊断日志

SequoiaDB 巨杉数据库的集群管理诊断日志记录了数据库集群被执行的所有操作。通过诊断日志,用户可以对数据库集群的运行状态进行故障分析和行为分析等操作,能有效帮助用户获取数据库集群的执行情况。

集群管理诊断日志

诊断日志作用

  • 记录用户对 SequoiaDB 集群管理的行为操作
  • 后台遇到的重大事件的信息
  • 用于分析和定位问题

诊断日志分类

SequoiaDB 的集群管理诊断日志主要包括集群管理服务、集群节点和集群任务等三大模块的操作日志和运行日志。

  • 诊断日志存放路径

    集群管理日志存放路径为数据库安装路径/conf/log/。

  • 诊断日志分类

    集群管理诊断日志按特性分为如下三类,相关操作和对应的日志文件见如下表格:

    类型相关操作日志文件
    集群管理服务诊断日志主要包括 CM 服务运行日志sdbcm.log
    sdbcm_script.log
    sdbcmart.log
    sdbcmtop.log
    sdbcmd.log
    集群节点诊断日志节点启停sdbstart.log
    sdbstop.log
    集群任务诊断日志集群异步任务操作日志task/1.log

Note:

  • 集群任务诊断日志路径数据库安装路径/conf/log/task/,日志文件日志命名规则为 taskID.log,每个任务对应一个任务 ID,任务 ID 唯一,后创建的任务 ID 向上自增
  • SAC(SequoiaDB Administrator Center)巨杉数据库管理员中心集群管理相关操作均会打印日志,打印规则同集群管理命令行操作

诊断日志级别

  • 日志级别介绍

    集群管理诊断日志级别从高到低分为六个级别,分别以数字0~5表示,对应日志级别见下表。默认日志级别为 WARNING 。详情见数据库配置

    标志级别
    0SEVERE
    1ERROR
    2EVENT
    3WARNING
    4INFO
    5DEBUG
  • 配置日志级别

    执行 updateConf 命令修改”diaglevel”取值并动态生效。

    示例:

    修改日志级别为 DEBUG。

    1. > Oma.updateConf( { diaglevel:5} )

集群管理诊断日志解读

集群管理诊断日志内容见下表,诊断日志解读见如下对应日志文件章节。

字段说明
Level日志级别
PID进程号
TID线程号
Function函数名,当前操作对应的内部函数名
Line函数中行号,当前日志对应的函数中的行号
File函数源文件
Message详细信息

sdbcm.log

sdbcm.log 为 CM(Cluster Manager)集群管理服务的操作和运行日志,主要包括:

  • 启动和停止 CM 服务、修改 CM 服务配置以及 CM 运行日志
  • 启动OM服务,以及 OM 运行日志
  • 启动集群任务,以及任务相关操作日志

Note:

启动 CM 服务时,sdbcm.log 会打印启动日志,同时会打印 CM 集群管理服务当前配置信息

示例:

启动 CM 服务,日志内容如下:

  1. 2019-03-14-09.27.22.444560 Level:EVENT
  2. PID:5560 TID:5560
  3. Function:pmdThreadMainEntry Line:181
  4. File:SequoiaDB/engine/pmd/pmdCMMain.cpp
  5. Message:
  6. Start cm[Version: 3.2, Release: 39774, Build: 2019-03-11-00.43.58(Enterprise-Debug)]...
  7. 2019-03-14-09.27.22.448044 Level:EVENT
  8. PID:5560 TID:5560
  9. Function:pmdThreadMainEntry Line:230
  10. File:SequoiaDB/engine/pmd/pmdCMMain.cpp
  11. Message:
  12. All configs:
  13. defaultPort=11790
  14. suse-054_Port=11790
  15. RestartCount=5
  16. RestartInterval=0
  17. AutoStart=TRUE
  18. DiagLevel=3
  19. OMAddress=suse-054:11785
  20. IsGeneral=FALSE
  21. EnableWatch=TRUE
  22. ......

Note

未安装 OM 服务时,OMAddress 参数值为空

sdbcm_script.log

sdbcm_script.log 为主机、集群、服务和同步任务等相关操作日志和运行日志,主要包括:

  • 主机操作:扫描主机
  • 集群操作:创建集群、删除集群等操作
  • 服务操作:添加服务、删除服务、创建关联服务、解除关联服务等操作
  • 任务操作:添加、查询、更新、删除 svc 任务等操作

日志格式: 时间戳 [ 进程号 ][ 线程号 ][ 日志级别 ]: 详细信息

示例:

SAC 扫描主机,日志内容如下:

  1. 2019-03-14-13:59:49.816 [31330][ 1947][ EVENT]: Begin to scan host(scanHost.js:_init)
  2. 2019-03-14-13:59:52.055 [31330][ 1947][ EVENT]: Finish scanning host(scanHost.js:_final)

sdbcmart.log

sdbcmart.log 主要包括 CMD 集群管理命令服务的启动日志。

示例:

CM 集群管理服务启动日志,启动成功。

  1. 2019-03-14-13.22.02.417051 Level:EVENT
  2. PID:15251 TID:15251
  3. Function:ossStartProcess Line:2033
  4. File:SequoiaDB/engine/oss/ossProc.cpp
  5. Message:
  6. Starting process succeed, cmd:[/opt/sequoiadb/bin/sdbcmd], pid:[15255]

sdbcmtop.log

sdbcmtop.log 为 CM 集群管理服务停止日志。

示例:

CM 集群管理服务停止日志,停止成功。

  1. 2019-03-14-13.52.22.661281 Level:EVENT
  2. PID:28765 TID:28765
  3. Function:mainEntry Line:379
  4. File:SequoiaDB/engine/pmd/cm/sdbcmtop.cpp
  5. Message:
  6. Successful to stop sdbcm

sdbcmd.log

sdbcmd.log 为 CMD 集群管理命令服务的启停等操作日志。

示例:

启动 CMD,日志如下:

  1. 2019-03-14-09.27.22.435494 Level:EVENT
  2. PID:5558 TID:5558
  3. Function:mainEntry Line:170
  4. File:SequoiaDB/engine/pmd/pmdCMDMNMain.cpp
  5. Message:
  6. Start cmd[Version: 3.2, Release: 39774, Build: 2019-03-11-00.43.58(Enterprise-Debug)]...

节点诊断日志

sdbstart.log

sdbstart.log 包括集群管理 OM 服务启动日志和集群节点启动日志。

示例:

启动 11820 节点,启动成功。

  1. 2019-04-13-11.25.56.318836 Level:EVENT
  2. PID:30241 TID:30241
  3. Function:utilEndNodePipeDup Line:1162
  4. File:SequoiaDB/engine/util/utilNodeOpr.cpp
  5. Message:
  6. End node[11820: 30242] pipe result: 0

Note:

  • Message 中 [11820: 30242] 为 [节点端口号: 节点进程号]
  • 启动成功 pipe result 返回 0,执行失败返回对应错误码

sdbstop.log

sdbstop.log 包括集群管理 OM 服务停止日志和集群节点停止日志。

示例:

停止所有节点,停止成功。

  1. 2019-04-13-11.25.12.343966 Level:EVENT
  2. PID:29341 TID:29341
  3. Function:mainEntry Line:387
  4. File:SequoiaDB/engine/pmd/sdbstop.cpp
  5. Message:
  6. Stop programme.

task/*.log

task/*.log 为集群管理异步任务操作日志,日志文件名以任务 ID 命名,任务 ID 在 SAC (SequoiaDB Administrator Center) 巨杉数据库管理员中心部署任务时显示。

集群管理异步任务包括:添加主机、删除主机、添加服务、删除服务、服务扩容、服务减容、重启服务和部署包等任务。

日志格式: 时间戳 [ 进程号 ][ 线程号 ][ 日志级别 ]: 详细信息

示例:

扫描主机,日志如下:

  1. 2019-03-14-09:43:13.013 [ 6005][ 7513][ EVENT]: Begin to check added host info in task[1](addHostCheckInfo.js:_init)
  2. 2019-03-14-09:43:13.110 [ 6005][ 7513][ EVENT]: Finish checking added host info in task[1](addHostCheckInfo.js:_final)