Ubuntu 上监控 Informix 的实用方案
一 监控体系总览
- 使用 Informix 自带工具持续采集数据库内部指标与状态:如 onstat、onmode、onbar,覆盖会话、锁、缓冲池、日志、备份等关键维度。
- 结合 Linux 系统工具观察主机资源:如 top、vmstat、iostat、sar、netstat,用于定位 CPU、内存、I/O、网络等瓶颈。
- 部署 图形化与第三方监控:如 IBM OpenAdmin Tool(OAT)、Zabbix、Prometheus + Grafana,实现可视化、历史趋势与告警。
- 建立 日志与审计机制:定期分析 Informix 日志文件与系统日志,配合备份状态校验,形成闭环。
二 快速上手的命令行检查清单
- 数据库会话与负载:onstat -g ses(会话/用户/状态)、onstat -g sql(当前 SQL)、必要时配合 onstat -u/-k 查看锁与等待。
- 缓冲池与 I/O:onstat -b(缓冲池命中/置换)、onstat -d(表空间/块使用)、onstat -l(逻辑/物理日志)。
- 内存与会话:onstat -m(共享内存摘要)、onstat -g mem(内存分配)、onstat -p(整体性能概要)。
- 运行模式与维护:onmode -l/-c/-y(切换/检查点/强制检查点)、onbar -l(备份与恢复状态)。
- 系统资源:top(进程资源)、vmstat 1(CPU/内存/交换)、iostat -x 1(磁盘 IOPS/延迟)、sar -u 1(历史 CPU)、netstat -an(连接/端口)。
- 日志巡检:关注 online.log 与告警信息,配合 onstat -m 查看消息日志定位错误与长事务。
三 图形化与第三方监控
- IBM OpenAdmin Tool(OAT):基于 Web 的一体化监控与管理,提供 状态报告、告警、性能历史图表、Health Advisor 建议,并可管理 AUS、调度任务、复制、TimeSeries、高可用集群 等;安装时选择 Client SDK/Connect 可一并安装 OAT 及依赖(含 Apache、PHP、PDO_informix)。
- Zabbix:通过 Zabbix Agent 或脚本采集 Informix 指标与日志,配置 触发器/告警 与 可视化仪表盘,适合中大型环境。
- Prometheus + Grafana:在 Ubuntu 上部署 Prometheus/Grafana,采集系统与应用指标并可视化;适合云原生与容器化场景。
- IMMX(IBM Monitoring and Management Extension):IBM 提供的监控扩展,支持 实时监控、历史数据、告警与报表。
四 在 Ubuntu 上搭建监控环境的简要步骤
- 安装与启动基础组件:
- 系统监控与网络:sudo apt update && sudo apt install -y dstat iftop nethogs
- 可视化与时序:sudo apt install -y prometheus grafana-server
- 启动服务:sudo systemctl enable --now prometheus grafana-server
- 访问 Grafana:http://服务器IP:3000(默认账号 admin/admin)
- 部署 OAT(Web 管理/监控):
- 安装 IBM Informix Client SDK/Connect(包含 OAT、Apache、PHP、PDO_informix),或下载 OAT Community Edition 手动部署;
- 通过浏览器访问 OAT,添加 Informix 实例,启用 Health Advisor 与性能历史图表。
- 配置 Zabbix(可选):
- 安装 Zabbix Server/Agent;为 Informix 编写 UserParameter 脚本(调用 onstat 输出关键指标),在 Zabbix 中创建 监控项/触发器/仪表盘。
五 关键指标与告警阈值示例
| 维度 |
关键指标 |
常用命令/来源 |
建议阈值或动作 |
| 会话与锁 |
活跃会话数、锁等待 |
onstat -g ses / -u / -k |
活跃会话突增或长事务/锁等待持续升高时告警,排查慢 SQL 与锁冲突 |
| 缓冲池 |
命中率、置换率 |
onstat -b |
命中率明显低于经验值(如 <95%)时扩容缓冲池或优化 SQL/索引 |
| 日志 |
日志使用率、日志切换频率 |
onstat -l |
使用率高或切换过频时扩容日志或优化检查点/批量提交 |
| 磁盘 I/O |
读写速率、IOPS、await |
iostat -x 1 |
await 高、IOPS 打满或读写抖动时检查磁盘/阵列/条带与 SQL 访问模式 |
| 备份 |
备份成功率与时效 |
onbar -l |
失败或耗时异常时检查介质/空间/网络并重试,保留告警记录 |
| 系统资源 |
CPU、内存、网络 |
top / vmstat 1 / sar -u 1 / netstat -an |
CPU 持续高、内存紧张、连接数异常或丢包时联动排查应用与数据库 |