温馨提示×

Linux Informix怎么监控

小樊
48
2026-08-15 19:57:35
栏目: 智能运维

在 Linux 上监控 IBM Informix 数据库,通常从 数据库内部状态、操作系统资源、日志、性能 SQL 四个层面来做。下面按“实用 + 常用”的方式给你一个完整监控指南。


一、Informix 自带监控工具(最常用)

1️⃣ onstat(核心监控命令)

onstat 是 Informix 最重要的监控工具。

onstat -g all

常用监控项:

监控项 命令 说明
实例状态 onstat - 看实例是否在线
会话 onstat -u 当前用户连接
SQL 执行 onstat -g sql 正在执行的 SQL
onstat -g lck 锁信息
死锁 onstat -g dlk 死锁
长事务 onstat -g lon 长事务
内存 onstat -g mem 内存使用
磁盘 IO onstat -g iof IO 情况
CPU onstat -g cpu CPU 使用
检查点 onstat -g ckp 检查点
缓冲区 onstat -g buf 缓冲池

生产环境必会


2️⃣ oncheck

用于检查数据完整性、索引、空间。

oncheck -pe
oncheck -ci database:table

3️⃣ onmode

用于实例管理和部分监控:

onmode -l   # 日志状态
onmode -g   # 部分监控信息

二、Informix 系统表监控(SQL 方式)

适合做 自动化监控 / 脚本 / Zabbix

常用系统表

SELECT * FROM sysmaster:syssessions;
SELECT * FROM sysmaster:syslocks;
SELECT * FROM sysmaster:syssqlstat;
SELECT * FROM sysmaster:sysvplist;
SELECT * FROM sysmaster:sysprofile;

示例:查看当前连接数

SELECT COUNT(*) FROM sysmaster:syssessions;

示例:查看锁等待

SELECT * FROM sysmaster:syslocks WHERE waiter <> 0;

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

1️⃣ 在线日志

cd $INFORMIXDIR/tmp
tail -f online.log

或:

find $INFORMIXDIR -name online.log

2️⃣ 关注的关键字

  • Long transaction
  • Deadlock
  • Checkpoint
  • Assertion failure
  • Error

✅ 建议接入 日志告警系统


四、Linux 系统层监控(Informix 依赖 OS)

1️⃣ CPU / 内存 / IO

top
htop
vmstat 1
iostat -x 1

2️⃣ Informix 进程

ps -ef | grep oninit

3️⃣ 磁盘空间(dbspace)

onstat -d
df -h

五、空间监控(dbspace / chunk)

查看空间使用

onstat -d

关注:

  • % used
  • free pages

✅ 空间满会导致 实例宕机


六、性能监控重点指标

必须监控

  • 连接数
  • 长事务
  • 锁等待 / 死锁
  • 检查点频率
  • 缓冲命中率
  • 磁盘 IO
  • dbspace 使用率

性能问题排查顺序

  1. onstat -u → 会话
  2. onstat -g sql → SQL
  3. onstat -g lck → 锁
  4. onstat -g lon → 长事务
  5. 系统资源(CPU / IO)

七、自动化监控方案(推荐)

1️⃣ Zabbix / Prometheus

  • 用 shell + SQL 采集
  • 监控:
    • 实例状态
    • 连接数
    • 空间
    • 日志关键字

2️⃣ 自定义脚本示例

onstat - | grep -q "On-Line"
if [ $? -ne 0 ]; then
  echo "Informix down"
fi

八、图形化工具

  • IBM Data Server Manager
  • Informix HQ(新版本)
  • 第三方:Nagios / Zabbix

九、总结一句话

Linux Informix 监控 = onstat + 系统表 + 日志 + OS 资源 + 自动化告警


如果你愿意,我可以帮你:

  • ✅ 写 Zabbix 监控模板
  • ✅ 出 生产环境监控清单
  • ✅ 针对 慢 SQL / 锁问题 给排查方案
  • ✅ 按 Informix 版本(11 / 12 / 14) 精确说明

你现在用的是 哪个 Informix 版本 + 场景(生产 / 测试)?

0