SQL監視について

こんにちは。Zabbix初心者です。

SQL監視(データベースにSQLを発行し、その結果の値を取得する監視)を実施したいと考えておりますが、
ネットやマニュアル・本フォーラムを拝見させて頂いても、とっかかりすらつかめなかったので、
ご存知の方、教えて頂けませんでしょうか。

やりたい監視は、
・あるテーブルのあるカラム(日付型)に対して5分毎に監視し、前回値と変更が無かった場合はトリガーを起動させる。
・あるSQL(複数のテーブルをジョイン)を実行し、その結果の数値を持ってトリガーを起動させる。
というものです。

Zabbixサーバのバージョンは、1.8.5。
対象のRDBMSは、SQLServer2000.
です。

「ここを見ればわかる」といった、とっかかりとなる些細な情報でも結構ですので、
ご連絡頂けると助かります。

宜しくお願い致します。

コメント表示オプション

お好みのコメント表示方法を選び「設定の保存」をクリックすると変更が反映されます。
ユーザー TNK の写真

方法としては、

 ・ODBCを利用してZabbixサーバからアクセスする
 ・SQL Serverが稼働してるWindows上にZabbixエージェントをイ
  ンストールし、UserParameterを利用してコマンドを実行した
  結果を利用する

の2つの方法が考えられます。

1つめのODBCを利用する方法ですが、Zabbixサーバを稼働させてい
るサーバ上に、MS SQL Server 2000に対応したODBCドライバをイン
ストールして、そのドライバを利用してアクセスすることになりま
す。

ODBCドライバとしては、Linuxを利用されているのであればFreeTDS
か、MSが公開しているODBCドライバを利用することになるでしょう。

 Microsoft SQL Server ODBC Driver 1.0 for Linux
  http://msdn.microsoft.com/en-us/library/hh477150%28SQL.10%29.aspx
  http://www.microsoft.com/download/en/details.aspx?id=28160

ODBCの設定後、Zabbix上のアイテムのキーとしては、

 db.odbc.select[]

を利用します。

詳細な設定内容に関しては、「Zabbix統合監視[実践]入門」のP.96
-97あたりを参照して頂くか、他のDBMSですが、以下のQ&Aの内容な
ども参考にしてみてください。

 PostgreSQL
  http://www.zabbix.jp/node/864
 Oracle
  http://www.zabbix.jp/node/901

UserParameterを利用する方法は、通常のコマンド実行と同様です
ので、SQL文を実行してその結果を出力するようなものを用意すれ
ば良いと思います。

あとは、どちらの方法でも、取得した文字列を判定するトリガーを
作成してみてください。

ユーザー SATA の写真

TNK様

ご回答有難うございます。

>・ODBCを利用してZabbixサーバからアクセスする
こちらをまずは試してみようと思いますが、アイテムのキー
「db.odbc.select[]」はシンプルチェックをリストで選んでもリストに表示されないと思いますが、
[]内にSQL文を記述すればよい、という理解で宜しいでしょうか。

上記の考えで試してみようと思います。

ユーザー TNK の写真

タイプで「データベースモニタ」を選択してください。
また、[]内にSQL文を書くのではありません。
ご紹介したリンク先にも記入例があったかと思います。

[]内には自分がわかりやすい文字列を指定して頂いて、追加パラメ
ータとして、

DSN=
user=
password=
sql=

を記述します。

sql=の部分に、SQL文を記述してください。

ユーザー SATA の写真

TNK様

ご回答有難うございます。
まだまだ、基礎的な事が解かっていないのが良くわかりました。

まずは、
> PostgreSQL
>  http://www.zabbix.jp/node/864
> Oracle
>  http://www.zabbix.jp/node/901
を参照してみます。