在 Linux 上监控 IBM Informix 数据库状态,通常从 实例状态、进程、日志、性能、空间 几个维度来做。下面按常用程度给你一套实用方案。
onstatonstat -
常见输出:
On-Line:正常运行Quiescent:静默(可接受连接但不处理事务)Shutting Down:正在关闭Off-Line:未启动ps -ef | grep oninit
正常情况下应有多个 oninit 进程(VP 进程)。
onstat -p
关注:
ovlock:锁溢出ovuserthread:用户线程溢出bufreads / bufwrites:缓冲读写dskreads / dskwrites:磁盘读写onstat -u
关注:
flag = L)onstat -k
onstat -g ses
onstat -d
关注:
free 与 totalSELECT dbsname, tabname, nrows, nptotal, npused
FROM systables
WHERE tabid > 99;
cat $INFORMIXDIR/tmp/online.log
或:
tail -f $INFORMIXDIR/tmp/online.log
onstat -g alr
top
iostat -x 1
vmstat 1
onstat -g ath
示例(每 5 分钟记录状态):
*/5 * * * * onstat -p >> /var/log/informix_stat.log
| 现象 | 检查命令 |
|---|---|
| 连不上库 | onstat - |
| 锁等待 | onstat -k |
| 空间满 | onstat -d |
| 性能差 | onstat -p |
| 宕机原因 | online.log |
如果你愿意,可以告诉我:
我可以直接帮你写一套 监控脚本或 Zabbix 模板。