监控 Debian 上 Informix 运行状态的实用方案
一 快速健康检查清单
二 持续监控与可视化
企业图形化管理
开源监控栈
三 自动化巡检脚本示例
#!/usr/bin/env bash
# 适配 Debian + Informix:按需修改 INFORMIXDIR / INFORMIXSERVER / ONLINE_LOG
export INFORMIXDIR=/opt/informix
export INFORMIXSERVER=myserver
export ONLINE_LOG=$INFORMIXDIR/online.log
export PATH=$INFORMIXDIR/bin:$PATH
ALERT=0
TS=$(date '+%F %T')
HOST=$(hostname -s)
# 1) 实例存活
if ! onstat - >/dev/null 2>&1; then
echo "[$TS] [$HOST] CRIT: Informix instance not responding (onstat - failed)"
exit 2
fi
# 2) 会话与长事务/锁
SESS=$(onstat -g ses | awk '/^[ ]*[0-9]/ {n++} END {print n+0}')
LOCKS=$(onstat -x | awk '/^locks:/ {print $2; exit}')
if [ "$LOCKS" -gt 100 ]; then
echo "[$TS] [$HOST] WARN: Long transaction/lock count=$LOCKS"
ALERT=1
fi
# 3) 表空间与 chunk 使用率(超过 85% 告警)
onstat -d | awk '
/^[ ]+[0-9]/ {
used=$4; total=$6;
if (total>0) { pct=used/total*100; if (pct>85) printf "[%s] [%s] WARN: Dbspace %s usage %.1f%%\n", "'"$TS"'", "'"$HOST"'", $1, pct }
}'
# 4) 错误日志近 1 小时关键字
ERR=$(tail -n 10000 "$ONLINE_LOG" 2>/dev/null | \
awk -v ts="$(date -d '1 hour ago' '+%b %d %H')" \
'$0 >= ts && /error|fail|panic|corruption|abort/ {print; count++; exit} END {print count+0}')
if [ "$ERR" -gt 0 ]; then
echo "[$TS] [$HOST] WARN: Found $ERR error/fail/panic in online.log (last hour)"
ALERT=1
fi
# 5) 备份状态(按需启用)
# 示例:ontape -s 返回 0 表示正常;如失败或超时则告警
# if ! timeout 30 ontape -s >/dev/null 2>&1; then
# echo "[$TS] [$HOST] CRIT: ontape -s backup check failed"
# ALERT=2
# fi
exit $ALERT
四 关键指标与阈值建议
| 指标 | 采集方式 | 建议阈值 | 处置要点 |
|---|---|---|---|
| 实例存活 | onstat - | !=0 即异常 | 立即检查 oninit 进程与 $INFORMIXDIR/online.log |
| 会话数 | onstat -g ses | > 会话上限的 80% | 排查连接泄漏、应用未释放连接 |
| 长事务/锁 | onstat -x | 锁数 > 100 或持续增长 | 分析阻塞会话,必要时 kill 或优化事务 |
| 表空间使用率 | onstat -d | > 85% | 增加 chunk、迁移/压缩表、清理历史数据 |
| 备份状态 | ontape -s / onbar -l | 最近一次失败或超时 | 立即重跑备份,检查磁带/存储与空间 |
| CPU 负载 | vmstat 1 / sar -u | 15 分钟负载 > CPU 核数 | 优化慢 SQL、调整实例参数、扩容 |
| 磁盘 I/O | iostat -x 1 | await/svctm 持续偏高 | 更换更快磁盘、条带化、优化检查点/日志 |
| 错误日志关键字 | grep online.log | 出现 error/fail/panic | 按时间点定位 SQL/任务并回滚/修复 |
以上阈值需结合业务峰值与 SLA 调优,建议以历史基线为准逐步收敛。
五 常见问题排查路径