温馨提示×

centos如何监控informix

小樊
52
2026-10-03 01:09:21
栏目: 智能运维

在 CentOS 上监控 IBM Informix 通常可以从 操作系统层、数据库实例层 和 工具/脚本层 三个维度来做。下面给你一套比较实用、可落地的方案。


一、操作系统层监控(CentOS 侧)

1. 进程监控

确认 Informix 是否存活:

ps -ef | grep oninit

常用进程:

  • oninit:数据库主进程
  • onmode:管理进程

2. 端口与连接

查看监听端口(默认 9088 / 1526 等,取决于配置):

netstat -tunlp | grep oninit
# 或
ss -tunlp | grep oninit

3. 资源使用

top
htop
iostat -x 1
vmstat 1

重点看:

  • CPU
  • 内存
  • 磁盘 IO(Informix 对 IO 很敏感)

二、Informix 自带监控工具(最推荐)

1. onstat(最核心)

onstat -

查看实例整体状态(版本、模式、启动时间)

常用命令:

onstat -g ses     # 当前会话
onstat -g sql     # 正在执行的 SQL
onstat -g con     # 连接数
onstat -g mem     # 内存使用
onstat -g ioq     # IO 队列
onstat -g lck     # 锁信息
onstat -g log     # 逻辑日志
onstat -g cra     # 检查点

2. onmode(管理与健康)

onmode -ky   # 关闭
onmode -m    # 主备切换
onmode -p    # 调整 VP

3. 数据库日志

cd $INFORMIXDIR/tmp
ls -lh *.log

或在线日志:

onstat -g msg

三、系统表 / SQL 监控

通过 dbaccess 或程序连接后执行:

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

常用监控点:

  • 会话数
  • 锁等待
  • 长事务
  • 缓冲区命中率

四、自动化 & 可视化监控

1. Shell + Cron 简单监控

示例:检测进程是否存在

#!/bin/bash
if ! pgrep oninit > /dev/null; then
    echo "Informix down" | mail -s "Alert" admin@xx.com
fi

2. Zabbix 监控(企业常用)

  • 用 Zabbix agent 执行 onstat
  • 自定义 key:
UserParameter=informix.sessions,onstat -g ses | wc -l
  • 图形化展示 CPU / 会话 / 锁

3. Prometheus + Node Exporter

  • 系统指标:node_exporter
  • 数据库指标:自写 exporter 调用 onstat

五、常见监控指标建议

类别 指标
可用性 oninit 是否存在
性能 逻辑日志使用率
性能 锁等待次数
性能 长事务
资源 磁盘 IO
资源 共享内存

六、排错常用命令速查

onstat -p        # 命中率
onstat -d        # chunk 状态
onstat -l        # 日志状态
oncheck -pr      # 物理结构检查

如果你愿意,可以告诉我:

  • Informix 版本(11.x / 12.x / 14.x)
  • 是否主备(HDR / RSS)
  • 想要 命令行 / 脚本 / Zabbix / 可视化 哪种方案

我可以给你一套 可直接用的监控脚本或 Zabbix 模板。

0 踩