23
Zabbix ZabbixによるMS SQL監視 データベースモニタリングの使 い方 ODBC監視設定 2014.11 @qryuu

Zabbix による ms sql監視 ~データベースモニタリング~ odbc

  • Upload
    -

  • View
    2.790

  • Download
    1

Embed Size (px)

DESCRIPTION

ZabbixによるMS SQL監視 データベースモニタリングの使い方 ODBC監視設定

Citation preview

【 Zabbix】ZabbixによるMS SQL監視

データベースモニタリングの使い方

ODBC監視設定2014.11 @qryuu

HN :九龍真乙

所属 :株式会社サーバーワークス:自宅ラック勉強会

TwitterID :@qryuu

自己紹介

2014/11/252

ZabbixによるDB監視

2014/11/253

Zabbixでは標準の「Template App MySQL」を利用することのより、MySQLのパフォーマンス監視が可能です。

「Template App MySQL」の使用方法については、Zabbix 2.0による簡単MySQL 監視http://www.slideshare.net/qryuu/zabbix-20zabbix20mysql をご覧ください。

標準テンプレートによるMySQL監視

2014/11/254

ZabbixではODBCを利用した「データベースモニタ」により、直接DBへログインし、SQLの実行結果を監視することができます。

今回の資料では、このデータベースモニタの使い方を解説します。

データベースモニタによる監視

2014/11/255

ODBC監視の仕組み

2014/11/256

ODBC(Open Database Connectivity)とはRDBMSにアクセスするための共通インタフェース (API)である。

データへのアクセスを統一化することを目的としており、たとえばクライアント/サーバ型ではないMicrosoft Accessの管理するデータベースファイルル (MDB)や、そもそもRDBMSではないCSVファイルへルへのアクセスなども、それに対応するODBCドラ

イバがあれば、他の一般的なデータベースへのアクセスするのと同様な方法で利用することが可能になる。(wikipedhiaより)

ODBCの仕組み

2014/11/257

実際の動作は以下の様なイメージになります。ZabbixがODBCマネージャに対してSQL文やログイン情報を渡し、ODBCマネージャがODBCドライバを使用して対象のRDMBMSに接続します。

ZabbixでのODBC

2014/11/258

Zabbix-Server

データベースモニタ

ODBCマネージャ ODBCドライバ RDBMS

MS SQLServerを監視する場合、実際に必要なパッケージは次のようになります。

ZabbixでのODBC

2014/11/259

Zabbix-Server

データベースモニタ

ODBCマネージャ ODBCドライバ RDBMS

unixODBC FreeTDS MS SQL Server

また、各パッケージに必要な設定ファイルは次のようになります。

ZabbixでのODBC

2014/11/2510

Zabbix-Server

データベースモニタ

ODBCマネージャ ODBCドライバ RDBMS

/etc/odbc.ini

/etc/odbcinst.ini

/etc/freetds.conf MS SQL Server

ODBC監視の手順

2014/11/2511

実際にODBC監視を行うのに必要なパッケージを導入します。

Zabbixを公式パッケージで導入している場合、ODBCマネージャであるunixODBCは、依存関係によりすでにインストールされていますので、MS SQLと接続するためのODBCドライバであるFreeTDSを追加します。

必要パッケージの導入

2014/11/2512

$ sudo yum install freetds

FreeTDSではMS SQLサーバへのコネクション情報を設定します。

設定ファイルは/etc/freetds.confです。

FreeTDSの設定

2014/11/2513

#コメント[hogehoge] #この部分がODBCで指定する”Servername”になります。

host = <IPアドレスまたはFQDN>port = 1433tds version = 8.0client charset = UTF-8

#実際の設定はこんな感じ[DB01]

host = db01.xxxxyyyzzz.ap-northeast-1.rds.amazonaws.comport = 1433tds version = 8.0client charset = UTF-8

複数のRDBMSに接続する場合は次のようになります。

FreeTDSの設定

2014/11/2514

#DB01[DB01]

host = 192.168.0.50port = 1433tds version = 8.0client charset = UTF-8

#RDS01[RDS01]

host = rds01.xxxyyyzzz.ap-northeast-1.rds.amazonaws.comport = 1433tds version = 8.0client charset = UTF-8

TDS(Tabular Data Stream) プロトコルの対応バージョンはMSSQLのバージョン毎に異なります。詳しくはこちらのページなどを参照してください。

http://www.freetds.org/userguide/choosingtdsprotocol.htm

また、TDSプロトコルについては、こちらに解説があります。

http://blogs.technet.com/b/sqlpm-j/archive/2009/04/30/sds-tds.aspx

TDSのバージョン

2014/11/2515

続いて、unixodbcでFreeTDSを使用するという設定をします。設定ファイルは /etc/odbcinst.iniです。

以下の項目を追記します。

UnixodbcによるTDS使用設定

2014/11/2516

# Driver from the freetds package# Setup from the unixODBC package[FreeTDS]Description = FreeTDS DriverDriver = /usr/lib64/libtdsodbc.so.0Setup = /usr/lib64/libtdsS.2FileUsage = 1CPTimeout = 5CPReuse = 5

Zabbixのアイテム登録の際に実際に指定するDSN(Data Source Name)を定義します。

設定ファイルは /etc/odbc.ini です。

DNSの定義

2014/11/2517

[DB01] #この部分がDSNになります。Servername = DB01 # /etc/freetds.confで設定した名前を指定します。Driver = FreeTDS #/etc/odbcinst.ini で指定したドライバ名を指定します。Database = msdatabase #RDBMSの中で実際に接続するdatabase名を指定します。

#実際はこんな感じ[DB01]Servername = DB01Driver = FreeTDSDatabase = msdatabase

/etc/freetds.confと同じように、複数のDSNを定義することができます。

DNSの定義

2014/11/2518

[DB01]Servername = DB01Driver = FreeTDSDatabase = msdatabase

[RDS01]Servername = RDS01Driver = FreeTDSDatabase = msdatabase

実際にZabbixのアイテム設定を行います。

Zabbixでの設定

2014/11/2519

項目名 設定内容

名前 任意の名前を入力します

タイプ データベースモニタ

キー db.odbc.select[ホスト内で一意になる任意の文字列,DSN名]

ユーザ名 DBにログインするユーザ名※ユーザマクロ使用可能

パスワード DBにログインするパスワード※ユーザマクロ使用可能

SQLクエリ ログイン後に実行するSQLクエリを入力します。

Zabbixの設定項目

2014/11/2520

データベースモニタはあくまでもODBC接続です。 MS SQLの場合ODBCとTransact-SQL とで使用可能なSQLコマンドが異なります。詳細は、以下のURLを参照してください。http://msdn.microsoft.com/ja-jp/library/ms130794.aspx

制約事項

2014/11/2521

以下の様な設定で、MS SQLのバージョン情報を取得することができます。

設定例

2014/11/2522

Zabbixのデータベースモニタ(ODBC監視)でMS SQLの内部情報を監視することが可能です。

ODBC接続には、ODBCおよびドライバの設定が必要です。

設定ファイルは、freetds.conf、 odbcinst.ini、odbc.ini

ユーザマクロを使用することで、ODBC監視のテンプレートを作成することもできます。

これで、Zabbixで監視できる範囲が、また広がりますね。

まとめ

2014/11/2523