ODBC監視は、ZabbixのWebインターフェースでの「データベースモニタ」のアイテムタイプに相当します。
ODBCとは、データベース管理システム(DBMS)にアクセスするためにC言語で書かれたミドルウェアAPIです。ODBCの概念は、Microsoftによって作り出され、後に他のプラットフォームに移植されました。
Zabbixは、あらゆるデータベースにクエリーを行うことができますが、これはODBCによりサポートされています。クエリーを行う場合、Zabbixは直接データベースに接続することなく、ODBCインターフェースとODBCにセットアップされているドライバーを使用します。この機能により、特定のデータベースキュー、使用統計のチェックといった複数の目的で、さまざまなデータベースをより効率的に監視できます。Zabbixは、unixODBCをサポートしています。これは、最も一般的に使用されるオープンソースODBC API実装のうちの1つです。
unixODBCのインストール方法として、Linuxオペレーティングシステムのデフォルトパッケージのリポジトリを使用することを推奨します。ほとんどの一般的なLinuxのディストリビューションでは、unixODBCは、デフォルトのパッケージ保存場所に含まれています。利用できない場合、unixODBCのホームページ http://www.unixodbc.org/download.htmlで入手できます。
yumパッケージマネージャーを使用してunixODBCをRedHat/Fedoraベースのシステムにインストールするには、次を実行します。
zypperパッケージマネージャーを使用してunixODBCをSUSEベースのシステムにインストールするには、次を実行します。
unixODBC-develパッケージは、unixODBCをサポートするようにZabbixをコンパイルするのに必要です。
監視対象のデータベースに対して、unixODBCデータベースドライバーをインストールする必要があります。unixODBCでサポートされているデータベースとドライバーのリストは、http://www.unixodbc.org/drivers.htmlで参照できます。一部のLinuxのディストリビューションでは、データベースドライバーは、パッケージ保存場所に含まれています。//yum//パッケージマネージャーを使用してMySQLデータベースドライバーをRedHat/Fedoraベースのシステムにインストールするには、次を実行します。
zypperパッケージマネージャーを使用してMySQLデータベースドライバーをSUSEベースのシステムにインストールするには、次を実行します。
ODBCの設定は、odbcinst.iniファイルとodbc.iniファイルを編集して行います。設定ファイルの場所を確認するには、次を入力します。
odbcinst.iniを使用して、インストールされているODBCデータベースドライバーを次のように列記します。
パラメータの詳細は次のとおりです。
属性 説 | |
---|---|
mysql | データベースドライバー名。 |
Description | データベースドライバーの説明。 |
Driver | データベースドライバーライブラリの場所。 |
odbc.iniを使用して、データベースのソースを次のように定義します。
[test]
Description = MySQL test database
Driver = mysql
Server = 127.0.0.1
User = root
Password =
Port = 3306
Database = zabbix
パラメータの詳細は次のとおりです。
属性 説 | |
---|---|
test | データソース名(DSN)。 |
Description | データソースの説明。 |
Driver | odbcinst.iniで指定されているデータベースドライバー名 |
Server | データベースサーバのIP/DNS。 |
User | 接続用のデータベースユーザー。 |
Password | データベースユーザーのパスワード。 |
Port | データベースの接続ポート番号。 |
Database | データベース名。 |
ODBC接続が正しく機能しているかどうか検証するため、データベースへの接続をテストする必要があります。これは、isqlユーティリティ(unixODBCパッケージに含まれています)により、次のように実行できます。
shell> isql test
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
ODBCのサポートを有効にするには、次のフラグを立ててZabbixをコンパイルする必要があります。
Zabbixのソースコードからのインストールに関する詳細を参照してください。
次のように、データベース監視アイテムを設定します。
データベース監視アイテム専用に、次を入力する必要があります。
タイプ ここ | データベースモニタを選択します。 |
キー * | db.odbc.select**[unique_description,data_source_name]を入力します。 この固有の記述は、トリガーなどでアイテムを識別するのに役立ちます。 データソース名(DSN)は、odbc.iniで指定したものを設定する必要があります。 |
ユーザー名 データベ | スユーザー名を入力します(ユーザーをodbc.iniで指定する場合はオプション)。 |
パスワード データベ | スユーザーのパスワードを入力します(パスワードをodbc.iniで指定する場合はオプション)。 |
SQLクエリー SQL | エリーを入力します。 |
データ型 ここで | しく選択できるように、クエリーで返されるデータ型を知っておくことが重要です。データ型が間違っていると、アイテムは取得不可になります。 |
Zabbix 2.0.8からは、ODBCエラーメッセージはフィールドによって構成され、より詳細な情報が提供されます。例:
Cannot execute ODBC query:[SQL_ERROR]:[42601][7][ERROR: syntax error at or near ";"; Error while executing the query]|
------------------------- --------- ----- | ------------------------------------------------------------------- |
| | | `-Native error code `- error message. `-Record separator
| | `-SQLState
`- Zabbix message `- ODBC return code
エラーメッセージの長さは128バイトに制限されているため、メッセージが打ち切られる場合があることに注意してください。ODBC診断記録が複数ある場合は、Zabbixは、長さ制限の許す限り、それらをつなぐようにします。
本ページは2014/08/05時点の原文を基にしておりますので、内容は必ずしも最新のものとは限りません。
最新の情報は、英語版のZabbix2.2マニュアルを参照してください。