Upload
-
View
2.790
Download
1
Embed Size (px)
DESCRIPTION
ZabbixによるMS SQL監視 データベースモニタリングの使い方 ODBC監視設定
Citation preview
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(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監視を行うのに必要なパッケージを導入します。
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
項目名 設定内容
名前 任意の名前を入力します
タイプ データベースモニタ
キー 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