ODBCを使ったデータベース監視の注意事項
ODBCを使ったデータベース監視の注意事項
概要
ODBCを使ったデータベース監視では、ODBCドライバのタイムアウトの実装や設定によってMIRACLE ZBXサーバのPollerプロセスがハングアップすることがあります。
対象となる製品
- MIRACLE ZBX 7.0 (Zabbix 7.0)
- MIRACLE ZBX 6.0 (Zabbix 6.0)
- MIRACLE ZBX 5.0 (Zabbix 5.0)
詳細
MIRACLE ZBX 6.0のODBCを使った監視処理では、ODBCからデータベースへの接続処理に対するタイムアウトをMIRACLE ZBX側では実装していません。 また6.0.36以下のバージョンでは、MIRACLE ZBX側でクエリ実行に対するタイムアウトも実装していません。 ODBC側でタイムアウトの設定、実装がされていない環境では接続処理中やクエリの処理中に何らかの問題が発生するとPollerプロセスがハングアップすることがあります。
回避策
監視対象がMariaDB、MySQL、Microsoft SQL Serverの場合はODBC側に該当するタイムアウトの設定や実装がないため回避する方法はありません。問題が発生した場合は後述の対処方法を参照してください。
PostgreSQL、Oracle Databaseの場合は、以下の設定でタイムアウトの設定をすることで問題を回避できます。
PostgreSQLの場合
db.odbc.select[]、db.odbc.get[]、db.odbc.discovery[]アイテムの第3パラメータにConnectionTimeout=任意の秒数
を追記してください。
Oracle Databaseの場合
以下のドキュメントを参考に関連するタイムアウトの設定をしてください。
- https://docs.oracle.com/cd/F39414_01/netrf/parameters-for-the-sqlnet.ora.html#GUID-897ABB80-64FE-4F13-9F8C-99361BB4465C
- https://docs.oracle.com/cd/F39414_01/netrf/local-naming-parameters-in-tns-ora-file.html#GUID-F20C5DC5-C2FC-4145-9E4E-345CCB8148C7
対処方法
Pollerプロセスがハングアップした場合は、MIRACLE ZBXサーバサービスを再起動することで解消できます。ただし、根本的な解決ではないため問題が再発することがあります。
# systemctl restart zabbix-server
注意事項
- 本ドキュメントの内容は、予告なしに変更される場合があります。
- 本ドキュメントは限られた評価環境における検証結果をもとに作成しており、 全ての環境での動作を保証するものではありません。
- 本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。
更新履歴
- 2025年07月30日 新規作成