温馨提示×

如何监控linux informix

小樊
36
2026-09-08 01:30:19
栏目: 智能运维

监控 Linux 上的 IBM Informix 可以从系统层、数据库层、日志层、性能层四个维度来做。下面给你一套可落地的方案(从基础到进阶)。


一、确认 Informix 运行状态(最基础)

1. 查看 Informix 服务进程

ps -ef | grep oninit

正常应有 oninit 进程(多实例会有多个)。

2. 使用 Informix 自带命令

onstat -

显示:

  • Informix 版本
  • 实例名
  • 运行状态(On-Line / Quiescent / Off-Line)
onstat -p

查看:

  • 命中率(bufreads / bufwrites)
  • 锁等待
  • 死锁

二、监控数据库核心指标

1. 数据库连接与会话

onstat -g ses
onstat -g sql

关注:

  • 长时间运行的 SQL
  • 异常连接数

2. 锁与等待

onstat -g glo
onstat -g wai

重点看:

  • 锁等待
  • 死锁
  • 长时间阻塞

3. 空间与表空间

onstat -d

监控:

  • dbspace 使用率
  • chunk 是否满

也可以 SQL 查:

SELECT name, SUM(chksize), SUM(used)
FROM sysdbspaces, syschunks
WHERE syschunks.dbsnum = sysdbspaces.dbsnum
GROUP BY 1;

三、日志监控(非常重要)

1. 在线日志(Online Log)

onstat -m

或查看文件:

$INFORMIXDIR/tmp/online.log

关注:

  • long transaction
  • deadlock
  • checkpoint 频繁
  • assertion failure

2. 系统日志

tail -f /var/log/messages

看:

  • 内存
  • IO 错误
  • OOM

四、操作系统层监控(Linux)

1. CPU / 内存

top -p $(pgrep oninit)

2. IO 监控

iostat -x 1

重点:

  • %util
  • await

3. 网络

netstat -an | grep 1526

(1526 是 Informix 默认端口)


五、自动化 & 可视化监控方案

方案 1:Shell + Cron(轻量)

定时脚本:

  • onstat 输出
  • 空间阈值告警
  • 发邮件 / 钉钉

方案 2:Zabbix 监控 Informix

  • 自定义脚本调用 onstat
  • 监控项:
    • 连接数
    • 锁等待
    • dbspace 使用率
    • 长事务

方案 3:Prometheus + Grafana(进阶)

  • informix_exporter
  • 可视化:
    • QPS
    • 事务数
    • 锁等待
    • checkpoint 时间

六、常见告警阈值建议

指标 建议阈值
Buffer 命中率 < 95% 告警
锁等待 > 0 持续存在
dbspace 使用率 > 85%
长事务 > 5 分钟
CPU oninit > 70%

七、小结(推荐组合)

日常onstat -, onstat -p, onstat -d
排错onstat -g ses/wai/sql
长期:Zabbix / Prometheus
必看online.log


如果你愿意,我可以:

  • 给你一套 Zabbix Informix 监控模板
  • 或写一个 shell 自动巡检脚本
  • 或针对 某版本 Informix(11.x / 12.x / 14.x) 细化

你现在是 生产环境还是测试?用的 Informix 版本是多少?

0