温馨提示×

linux informix怎样监控状态

小樊
39
2026-09-17 04:51:36
栏目: 智能运维

在 Linux 上监控 IBM Informix 数据库状态,通常可以从 系统级监控、数据库内部监控、日志监控、自动化工具 几个层面来做。下面按实用程度给你一套常见方法。


一、使用 Informix 自带工具(最推荐)

1. onstat(最核心)

Informix 自带的状态查看命令,必须在 Informix 用户环境下使用。

su - informix

常用命令:

onstat -

查看数据库整体状态(是否在线、版本、启动时间)

onstat -g ses

查看当前会话

onstat -g sql

查看正在执行的 SQL

onstat -g lon

长事务监控

onstat -g dsk

磁盘 I/O 状态

onstat -g mem

内存使用情况

onstat -p

性能统计(命中率、锁、排序等)


2. onmode

用于查看或调整运行状态:

onmode -ky   # 关闭数据库
onmode -m    # 进入 online

3. oncheck

检查数据库一致性:

oncheck -pr

检查物理和逻辑日志


二、查看 Informix 日志(非常重要)

1. 在线日志

默认在 $INFORMIXDIR/tmp$INFORMIXDIR/logs

cd $INFORMIXDIR/tmp
ls -l *alarm*

查看核心日志:

cat /usr/informix/tmp/online.log

2. 错误日志

onstat -g err

三、Linux 系统级监控 Informix

1. 查看 Informix 进程

ps -ef | grep oninit

2. CPU / 内存

top -u informix

3. 磁盘 I/O

iostat -x 1

4. 网络连接

netstat -an | grep 1526

(1526 是 Informix 默认端口)


四、使用 SQL 监控(DBA 常用)

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

SELECT * FROM sysmaster:sysprocesses;
SELECT * FROM sysmaster:syslocks;
SELECT * FROM sysmaster:syslogs;

五、自动化监控方案(生产环境推荐)

1. 脚本 + crontab

示例:每 5 分钟检查数据库是否在线

#!/bin/bash
onstat - | grep -q "On-Line"
if [ $? -ne 0 ]; then
    echo "Informix down" | mail -s "Alert" dba@company.com
fi
crontab -e
*/5 * * * * /home/informix/check_inf.sh

2. 监控工具

  • Zabbix(可监控 onstat 指标)
  • Prometheus + Exporter(需自研)
  • Nagios
  • IBM OpenAdmin Tool (OAT)(官方 Web 管理工具)

六、常见监控指标(重点关注)

  • 数据库状态(On-Line / Quiescent / Off-Line)
  • 长事务
  • 锁等待
  • 逻辑日志是否满
  • 物理日志使用率
  • 命中率(buffer hit ratio)
  • 磁盘空间

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

  • Informix 版本(如 11.5 / 12.10 / 14.10)
  • 是开发环境还是生产环境
  • 想监控“性能”还是“可用性”

我可以给你一套 专用监控脚本或 Zabbix 模板

0