监控 Linux 上的 IBM Informix 可以从系统层、数据库层、日志层、性能层四个维度来做。下面给你一套可落地的方案(从基础到进阶)。
ps -ef | grep oninit
正常应有 oninit 进程(多实例会有多个)。
onstat -
显示:
onstat -p
查看:
onstat -g ses
onstat -g sql
关注:
onstat -g glo
onstat -g wai
重点看:
onstat -d
监控:
也可以 SQL 查:
SELECT name, SUM(chksize), SUM(used)
FROM sysdbspaces, syschunks
WHERE syschunks.dbsnum = sysdbspaces.dbsnum
GROUP BY 1;
onstat -m
或查看文件:
$INFORMIXDIR/tmp/online.log
关注:
tail -f /var/log/messages
看:
top -p $(pgrep oninit)
iostat -x 1
重点:
netstat -an | grep 1526
(1526 是 Informix 默认端口)
定时脚本:
onstatinformix_exporter| 指标 | 建议阈值 |
|---|---|
| Buffer 命中率 | < 95% 告警 |
| 锁等待 | > 0 持续存在 |
| dbspace 使用率 | > 85% |
| 长事务 | > 5 分钟 |
| CPU oninit | > 70% |
✅ 日常:onstat -, onstat -p, onstat -d
✅ 排错:onstat -g ses/wai/sql
✅ 长期:Zabbix / Prometheus
✅ 必看:online.log
如果你愿意,我可以:
你现在是 生产环境还是测试?用的 Informix 版本是多少?