南大通用GBase 8a配置gcware日志等级,减少日志输出,节省磁盘IO

南大通用 GBase 8a 的gcware组件负责集群管理功能,其日志默认是记录INFO类型,当业务复杂时,可能生成较大的日志文件。本文介绍通过参数调整,改变日志等级,减少日志输出,减少无效磁盘IO。

该参数适合V8版本的corosync服务,以及V9版本的gcware服务。

该参数修改后需要重启gcware服务。

gcware的日志INFO输出

类似如下的日志,表示一个连接登录,并执行SQL时,会申请一个内部ID(register session),当退出时,包括异常断开,会destory session信息。

如果客户频繁的连接,执行,然后退出,就会在gcware.log里生成大量的类似日志,每天可能达到GB级别。

Jun 05 08:29:30.011092 WARN  [GCWARE] server force to close session with session ID:3423
Jun 05 08:29:30.011095 INFO  [GCWARE] CCS destroy session 3423
Jun 05 08:29:30.011098 INFO  [LCK   ] lck destroy session:3423
Jun 05 08:29:30.011100 INFO  [LCK   ] qlm unlock batch gc-event-lock with session 3423
Jun 05 08:29:30.011103 INFO  [CRM   ] CrmDestroySession,SessionID is:3423!
Jun 05 08:29:30.011105 INFO  [GCWARE] node 3372351498 state plan change to 1
Jun 05 08:29:30.011108 INFO  [GCWARE] node 3372351498 state change to 1
Jun 05 08:29:30.166465 INFO  [GCWARE] CCS create session 6,1,43,3986,20
Jun 05 08:29:30.166514 INFO  [GCWARE] register session with sessionid 3986
Jun 05 08:29:30.167375 INFO  [GCWARE] session 3986 set session timeout to 90

gcware日志级别参数

logfile_priority

该参数默认没有出现在gcware.conf 或者corosync.conf里,需要手工加入。位置在logging部分,参考如下

logging {
    fileline: off
    to_stderr: no
    to_file: yes
    to_syslog: no
    logfile: /opt/10.0.2.201/gcware/log/gcware.log
    gcware_system_log: /opt/10.0.2.201/gcware/log/gcware_system.log
    debug: off
    timestamp: on
    logfile_priority:err

如果debug参数为on, 则忽略此参数。该参数默认值为INFO, 允许的值如下,其中设置低等级参数值,将输出高等级的信息。比如INFO,将输出严重程度>=1级的日志,而err则只输出严重程度>=4级别的日志,少了warning,notice和info三类输出。

emerg:紧急情况(7)的系统日志消息。
alert:保留严重性为alert(6)和以上的系统日志消息
crit:保留严重性为严重性(5)及以上的系统日志消息。
err:保留严重性为err(4)及以上的系统日志消息。
warning:保留严重性为warning(3)及以上的系统日志消息。
notice:保留严重性为notice(2)及以上级别的syslog消息。
info:保留严重性为info(1)及以上的系统日志消息。
debug:保留严重性为debug(0)及以上的系统日志消息。

syslog_priority

该参数与logfile_priority用法相同,针对对syslog的日志等级。

默认to_syslog是off状态。

总结

根据业务情况,通过修改日志参数,将日志控制在需要的程度,减少非必要的【磁盘IO】。