SlideShare a Scribd company logo
1 of 23
【Zabbix 】 
ZabbixによるMS SQL監視 
データベースモニタリングの使 
い方 
ODBC監視設定 
2014.11 @qryuu
自己紹介 
 HN :九龍真乙 
 所属:株式会社サーバーワークス 
:自宅ラック勉強会 
 TwitterID : @qryuu 
2 2014/11/25
ZabbixによるDB監視 
3 2014/11/25
標準テンプレートによるMySQL監 
視 
 Zabbixでは標準の「Template App MySQL」を利用す 
ることのより、MySQLのパフォーマンス監視が可 
能です。 
 「Template App MySQL」の使用方法については、 
Zabbix 2.0による簡単MySQL 監視 
http://www.slideshare.net/qryuu/zabbix- 
20zabbix20mysql をご覧ください。 
4 2014/11/25
データベースモニタによる監視 
 Zabbix ではODBCを利用した「データベースモニ 
タ」により、直接DBへログインし、SQLの実行結 
果を監視することができます。 
 今回の資料では、このデータベースモニタの使い 
方を解説します。 
5 2014/11/25
ODBC監視の仕組み 
6 2014/11/25
ODBCの仕組み 
 ODBC(Open Database Connectivity)とは 
RDBMSにアクセスするための共通インタフェー 
ス(API)である。 
データへのアクセスを統一化することを目的とし 
ており、たとえばクライアント/サーバ型ではな 
いMicrosoft Accessの管理するデータベースファイル 
ル(MDB)や、そもそもRDBMSではないCSVファイルへ 
ルへのアクセスなども、それに対応するODBCドラ 
イバがあれば、他の一般的なデータベースへのア 
クセスするのと同様な方法で利用することが可能 
になる。(wikipedhiaより) 
7 2014/11/25
ZabbixでのODBC 
 実際の動作は以下の様なイメージになります。 
ZabbixがODBCマネージャに対してSQL文やログイ 
ン情報を渡し、ODBCマネージャがODBCドライバ 
を使用して対象のRDMBMSに接続します。 
8 2014/11/25 
Zabbix-Server 
データベース 
モニタODBCマネージャODBCドライバRDBMS
ZabbixでのODBC 
 MS SQLServerを監視する場合、実際に必要なパッ 
ケージは次のようになります。 
9 2014/11/25 
Zabbix-Server 
データベース 
モニタODBCマネージャODBCドライバRDBMS 
unixODBC FreeTDS MS SQL Server
ZabbixでのODBC 
 また、各パッケージに必要な設定ファイルは次の 
ようになります。 
10 2014/11/25 
Zabbix-Server 
データベース 
モニタODBCマネージャODBCドライバRDBMS 
/etc/odbc.ini 
/etc/odbcinst.ini 
/etc/freetds.conf MS SQL Server
ODBC監視の手順 
11 2014/11/25
必要パッケージの導入 
 実際にODBC監視を行うのに必要なパッケージを導 
入します。 
 Zabbixを公式パッケージで導入している場合、 
ODBCマネージャであるunixODBCは、依存関係に 
よりすでにインストールされていますので、MS 
SQLと接続するためのODBCドライバであるFreeTDS 
を追加します。 
12 2014/11/25 
$ sudo yum install freetds
FreeTDSの設定 
 FreeTDSではMS SQLサーバへのコネクション情報を 
設定します。 
 設定ファイルは/etc/freetds.confです。 
#コメント 
[hogehoge] #この部分がODBCで指定する”Servername” になります。 
13 2014/11/25 
host = <IPアドレスまたはFQDN> 
port = 1433 
tds version = 8.0 
client charset = UTF-8 
#実際の設定はこんな感じ 
[DB01] 
host = db01.xxxxyyyzzz.ap-northeast-1.rds.amazonaws.com 
port = 1433 
tds version = 8.0 
client charset = UTF-8
FreeTDSの設定 
 複数のRDBMSに接続する場合は次のようになりま 
す。 
14 2014/11/25 
#DB01 
[DB01] 
host = 192.168.0.50 
port = 1433 
tds version = 8.0 
client charset = UTF-8 
#RDS01 
[RDS01] 
host = rds01.xxxyyyzzz.ap-northeast-1.rds.amazonaws.com 
port = 1433 
tds version = 8.0 
client 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のバージョン 
15 2014/11/25
UnixodbcによるTDS使用設定 
 続いて、unixodbcでFreeTDSを使用するという設定 
をします。設定ファイルは/etc/odbcinst.ini です。 
 以下の項目を追記します。 
16 2014/11/25 
# Driver from the freetds package 
# Setup from the unixODBC package 
[FreeTDS] 
Description = FreeTDS Driver 
Driver = /usr/lib64/libtdsodbc.so.0 
Setup = /usr/lib64/libtdsS.2 
FileUsage = 1 
CPTimeout = 5 
CPReuse = 5
DNSの定義 
 Zabbixのアイテム登録の際に実際に指定するDSN 
(Data Source Name)を定義します。 
 設定ファイルは/etc/odbc.ini です。 
[DB01] #この部分がDSNになります。 
Servername = DB01 # /etc/freetds.conf で設定した名前を指定します。 
Driver = FreeTDS #/etc/odbcinst.ini で指定したドライバ名を指定します。 
Database = msdatabase #RDBMSの中で実際に接続するdatabase名を指定します。 
17 2014/11/25 
#実際はこんな感じ 
[DB01] 
Servername = DB01 
Driver = FreeTDS 
Database = msdatabase
DNSの定義 
 /etc/freetds.confと同じように、複数のDSNを定義す 
ることができます。 
18 2014/11/25 
[DB01] 
Servername = DB01 
Driver = FreeTDS 
Database = msdatabase 
[RDS01] 
Servername = RDS01 
Driver = FreeTDS 
Database = msdatabase
Zabbixでの設定 
 実際にZabbixのアイテム設定を行います。 
19 2014/11/25
Zabbixの設定項目 
項目名設定内容 
名前任意の名前を入力します 
タイプデータベースモニタ 
キーdb.odbc.select[ホスト内で一意になる任意の文字列,DSN名] 
ユーザ名DBにログインするユーザ名※ユーザマクロ使用可能 
パスワードDBにログインするパスワード※ユーザマクロ使用可能 
SQLクエリログイン後に実行するSQLクエリを入力します。 
20 2014/11/25
制約事項 
 データベースモニタはあくまでもODBC接続です。 
 MS SQLの場合ODBCとTransact-SQL とで 
使用可能なSQLコマンドが異なります。 
詳細は、以下のURLを参照してください。 
http://msdn.microsoft.com/ja-jp/library/ms130794.aspx 
21 2014/11/25
設定例 
 以下の様な設定で、MS SQLのバージョン情報を取 
得することができます。 
22 2014/11/25
まとめ 
 Zabbixのデータベースモニタ(ODBC監視)でMS 
SQLの内部情報を監視することが可能です。 
 ODBC接続には、ODBCおよびドライバの設定が必 
要です。 
 設定ファイルは、freetds.conf、odbcinst.ini、 
odbc.ini 
 ユーザマクロを使用することで、ODBC監視のテン 
プレートを作成することもできます。 
 これで、Zabbixで監視できる範囲が、また広がり 
ますね。 
23 2014/11/25

More Related Content

What's hot

Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろう
CROOZ, inc.
 
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
 
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
Ryota Watabe
 
Inside vacuum - 第一回PostgreSQLプレ勉強会
Inside vacuum - 第一回PostgreSQLプレ勉強会Inside vacuum - 第一回PostgreSQLプレ勉強会
Inside vacuum - 第一回PostgreSQLプレ勉強会
Masahiko Sawada
 

What's hot (20)

さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)さいきんの InnoDB Adaptive Flushing (仮)
さいきんの InnoDB Adaptive Flushing (仮)
 
アーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーションアーキテクチャから理解するPostgreSQLのレプリケーション
アーキテクチャから理解するPostgreSQLのレプリケーション
 
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
YugabyteDBの実行計画を眺める(NewSQL/分散SQLデータベースよろず勉強会 #3 発表資料)
 
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
 
あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界あなたの知らないPostgreSQL監視の世界
あなたの知らないPostgreSQL監視の世界
 
Mongo dbを知ろう
Mongo dbを知ろうMongo dbを知ろう
Mongo dbを知ろう
 
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
PostgreSQLモニタリングの基本とNTTデータが追加したモニタリング新機能(Open Source Conference 2021 Online F...
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話MHA for MySQLとDeNAのオープンソースの話
MHA for MySQLとDeNAのオープンソースの話
 
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
バッチ処理にバインド変数はもうやめません? ~|バッチ処理の突発遅延を題材にして考えてみる~
 
Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方Javaのログ出力: 道具と考え方
Javaのログ出力: 道具と考え方
 
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
SQLアンチパターン 幻の第26章「とりあえず削除フラグ」
 
PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説PostgreSQL 15の新機能を徹底解説
PostgreSQL 15の新機能を徹底解説
 
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
 
MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座MySQLアーキテクチャ図解講座
MySQLアーキテクチャ図解講座
 
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
 
Inside vacuum - 第一回PostgreSQLプレ勉強会
Inside vacuum - 第一回PostgreSQLプレ勉強会Inside vacuum - 第一回PostgreSQLプレ勉強会
Inside vacuum - 第一回PostgreSQLプレ勉強会
 
Zabbix概論2018
Zabbix概論2018Zabbix概論2018
Zabbix概論2018
 

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

2012年1月技術ひろば
2012年1月技術ひろば2012年1月技術ひろば
2012年1月技術ひろば
貴仁 大和屋
 
Seas で語られたこととは?
Seas で語られたこととは?Seas で語られたこととは?
Seas で語られたこととは?
Masayuki Ozawa
 
A25 sql server data page structure deep dive
A25 sql server data page structure deep diveA25 sql server data page structure deep dive
A25 sql server data page structure deep dive
Masayuki Ozawa
 
Sql server 構築 運用 tips
Sql server 構築 運用 tipsSql server 構築 運用 tips
Sql server 構築 運用 tips
Masayuki Ozawa
 
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
日本マイクロソフト株式会社
 

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

2012年1月技術ひろば
2012年1月技術ひろば2012年1月技術ひろば
2012年1月技術ひろば
 
[20171019 三木会] データベース・マイグレーションについて by 株式会社シー・エス・イー 藤井 元雄 氏
[20171019 三木会] データベース・マイグレーションについて by 株式会社シー・エス・イー 藤井 元雄 氏[20171019 三木会] データベース・マイグレーションについて by 株式会社シー・エス・イー 藤井 元雄 氏
[20171019 三木会] データベース・マイグレーションについて by 株式会社シー・エス・イー 藤井 元雄 氏
 
20180216 sapporo techbar_db_migration
20180216 sapporo techbar_db_migration20180216 sapporo techbar_db_migration
20180216 sapporo techbar_db_migration
 
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
今日から使えるCouchbaseシステムアーキテクチャデザインパターン集
 
[db tech showcase Sapporo 2015] A26:SQL Server Data Page Structure Deep Dive ...
[db tech showcase Sapporo 2015] A26:SQL Server Data Page Structure Deep Dive ...[db tech showcase Sapporo 2015] A26:SQL Server Data Page Structure Deep Dive ...
[db tech showcase Sapporo 2015] A26:SQL Server Data Page Structure Deep Dive ...
 
Seas で語られたこととは?
Seas で語られたこととは?Seas で語られたこととは?
Seas で語られたこととは?
 
A25 sql server data page structure deep dive
A25 sql server data page structure deep diveA25 sql server data page structure deep dive
A25 sql server data page structure deep dive
 
Sql server 構築 運用 tips
Sql server 構築 運用 tipsSql server 構築 運用 tips
Sql server 構築 運用 tips
 
Microsoft Build 2021 前夜祭 LT#4
Microsoft Build 2021 前夜祭 LT#4Microsoft Build 2021 前夜祭 LT#4
Microsoft Build 2021 前夜祭 LT#4
 
Sql azure入門
Sql azure入門Sql azure入門
Sql azure入門
 
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
M20_Azure SQL Database 最新アップデートをまとめてキャッチアップ [Microsoft Japan Digital Days]
 
DBワークロードのAWS化とデータベースサービス関連最新情報
DBワークロードのAWS化とデータベースサービス関連最新情報DBワークロードのAWS化とデータベースサービス関連最新情報
DBワークロードのAWS化とデータベースサービス関連最新情報
 
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
[db tech showcase Tokyo 2015] E26 Couchbaseの最新情報/JBoss Data Virtualizationで仮想...
 
クラウド型データセンタにおけるSDNの適用事例(Paper)  Case Studies of SDN in Cloud Datacenter
クラウド型データセンタにおけるSDNの適用事例(Paper)  Case Studies of SDN in Cloud Datacenterクラウド型データセンタにおけるSDNの適用事例(Paper)  Case Studies of SDN in Cloud Datacenter
クラウド型データセンタにおけるSDNの適用事例(Paper)  Case Studies of SDN in Cloud Datacenter
 
トランザクションもDWHもクラウドで 2015年10月~IBM OnDemandセミナー
トランザクションもDWHもクラウドで 2015年10月~IBM OnDemandセミナートランザクションもDWHもクラウドで 2015年10月~IBM OnDemandセミナー
トランザクションもDWHもクラウドで 2015年10月~IBM OnDemandセミナー
 
Sql server 運用 101
Sql server 運用 101Sql server 運用 101
Sql server 運用 101
 
SQL Azure Management and Security
SQL Azure Management and SecuritySQL Azure Management and Security
SQL Azure Management and Security
 
Windows エンジニア向け sql server on linux のためのスキルアップデート
Windows エンジニア向け sql server on linux のためのスキルアップデートWindows エンジニア向け sql server on linux のためのスキルアップデート
Windows エンジニア向け sql server on linux のためのスキルアップデート
 
SQL Azure のシームレスな管理
SQL Azure のシームレスな管理SQL Azure のシームレスな管理
SQL Azure のシームレスな管理
 
エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識エンジニアのための Azure 基礎知識
エンジニアのための Azure 基礎知識
 

More from 真乙 九龍

More from 真乙 九龍 (20)

監視とは何か ~監視エンジニアのスキルと成長~
監視とは何か ~監視エンジニアのスキルと成長~監視とは何か ~監視エンジニアのスキルと成長~
監視とは何か ~監視エンジニアのスキルと成長~
 
監視論
監視論監視論
監視論
 
AWS ネージメントコンソール再入門 2019
AWS ネージメントコンソール再入門 2019AWS ネージメントコンソール再入門 2019
AWS ネージメントコンソール再入門 2019
 
監視基盤 ~ZabbixとCloudWatch~
監視基盤 ~ZabbixとCloudWatch~監視基盤 ~ZabbixとCloudWatch~
監視基盤 ~ZabbixとCloudWatch~
 
ZabbixとAWS
ZabbixとAWSZabbixとAWS
ZabbixとAWS
 
レシピのすゝめ ~料理とお菓子と手順書と熱力学~
レシピのすゝめ ~料理とお菓子と手順書と熱力学~レシピのすゝめ ~料理とお菓子と手順書と熱力学~
レシピのすゝめ ~料理とお菓子と手順書と熱力学~
 
子育てで覚える AWS Organizations 〜ITエンジニア英才教育〜
子育てで覚える AWS Organizations 〜ITエンジニア英才教育〜子育てで覚える AWS Organizations 〜ITエンジニア英才教育〜
子育てで覚える AWS Organizations 〜ITエンジニア英才教育〜
 
re:invent2018 総ざらえ
re:invent2018 総ざらえre:invent2018 総ざらえ
re:invent2018 総ざらえ
 
Zabbixを2分でインストール
Zabbixを2分でインストールZabbixを2分でインストール
Zabbixを2分でインストール
 
クラウド概論 2018
クラウド概論 2018クラウド概論 2018
クラウド概論 2018
 
NTPとうるう秒
NTPとうるう秒NTPとうるう秒
NTPとうるう秒
 
素晴らしきIAMポリシービジュアルエディタの世界
素晴らしきIAMポリシービジュアルエディタの世界素晴らしきIAMポリシービジュアルエディタの世界
素晴らしきIAMポリシービジュアルエディタの世界
 
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
 
re:Invent2017で発表された新機能と運用
re:Invent2017で発表された新機能と運用re:Invent2017で発表された新機能と運用
re:Invent2017で発表された新機能と運用
 
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
Zabbixによるオートスケーリングクラスタ監視とオペレーション自動化
 
Systems manager ハンズオン ops jaw
Systems manager ハンズオン ops jaw Systems manager ハンズオン ops jaw
Systems manager ハンズオン ops jaw
 
Systems manager 入門 ops jaws
Systems manager 入門 ops jawsSystems manager 入門 ops jaws
Systems manager 入門 ops jaws
 
Zabbix概論
Zabbix概論Zabbix概論
Zabbix概論
 
閏秒挿入のお知らせ
閏秒挿入のお知らせ閏秒挿入のお知らせ
閏秒挿入のお知らせ
 
閏秒挿入のお知らせ
閏秒挿入のお知らせ閏秒挿入のお知らせ
閏秒挿入のお知らせ
 

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

  • 1. 【Zabbix 】 ZabbixによるMS SQL監視 データベースモニタリングの使 い方 ODBC監視設定 2014.11 @qryuu
  • 2. 自己紹介  HN :九龍真乙  所属:株式会社サーバーワークス :自宅ラック勉強会  TwitterID : @qryuu 2 2014/11/25
  • 4. 標準テンプレートによるMySQL監 視  Zabbixでは標準の「Template App MySQL」を利用す ることのより、MySQLのパフォーマンス監視が可 能です。  「Template App MySQL」の使用方法については、 Zabbix 2.0による簡単MySQL 監視 http://www.slideshare.net/qryuu/zabbix- 20zabbix20mysql をご覧ください。 4 2014/11/25
  • 5. データベースモニタによる監視  Zabbix ではODBCを利用した「データベースモニ タ」により、直接DBへログインし、SQLの実行結 果を監視することができます。  今回の資料では、このデータベースモニタの使い 方を解説します。 5 2014/11/25
  • 7. ODBCの仕組み  ODBC(Open Database Connectivity)とは RDBMSにアクセスするための共通インタフェー ス(API)である。 データへのアクセスを統一化することを目的とし ており、たとえばクライアント/サーバ型ではな いMicrosoft Accessの管理するデータベースファイル ル(MDB)や、そもそもRDBMSではないCSVファイルへ ルへのアクセスなども、それに対応するODBCドラ イバがあれば、他の一般的なデータベースへのア クセスするのと同様な方法で利用することが可能 になる。(wikipedhiaより) 7 2014/11/25
  • 8. ZabbixでのODBC  実際の動作は以下の様なイメージになります。 ZabbixがODBCマネージャに対してSQL文やログイ ン情報を渡し、ODBCマネージャがODBCドライバ を使用して対象のRDMBMSに接続します。 8 2014/11/25 Zabbix-Server データベース モニタODBCマネージャODBCドライバRDBMS
  • 9. ZabbixでのODBC  MS SQLServerを監視する場合、実際に必要なパッ ケージは次のようになります。 9 2014/11/25 Zabbix-Server データベース モニタODBCマネージャODBCドライバRDBMS unixODBC FreeTDS MS SQL Server
  • 10. ZabbixでのODBC  また、各パッケージに必要な設定ファイルは次の ようになります。 10 2014/11/25 Zabbix-Server データベース モニタODBCマネージャODBCドライバRDBMS /etc/odbc.ini /etc/odbcinst.ini /etc/freetds.conf MS SQL Server
  • 12. 必要パッケージの導入  実際にODBC監視を行うのに必要なパッケージを導 入します。  Zabbixを公式パッケージで導入している場合、 ODBCマネージャであるunixODBCは、依存関係に よりすでにインストールされていますので、MS SQLと接続するためのODBCドライバであるFreeTDS を追加します。 12 2014/11/25 $ sudo yum install freetds
  • 13. FreeTDSの設定  FreeTDSではMS SQLサーバへのコネクション情報を 設定します。  設定ファイルは/etc/freetds.confです。 #コメント [hogehoge] #この部分がODBCで指定する”Servername” になります。 13 2014/11/25 host = <IPアドレスまたはFQDN> port = 1433 tds version = 8.0 client charset = UTF-8 #実際の設定はこんな感じ [DB01] host = db01.xxxxyyyzzz.ap-northeast-1.rds.amazonaws.com port = 1433 tds version = 8.0 client charset = UTF-8
  • 14. FreeTDSの設定  複数のRDBMSに接続する場合は次のようになりま す。 14 2014/11/25 #DB01 [DB01] host = 192.168.0.50 port = 1433 tds version = 8.0 client charset = UTF-8 #RDS01 [RDS01] host = rds01.xxxyyyzzz.ap-northeast-1.rds.amazonaws.com port = 1433 tds version = 8.0 client charset = UTF-8
  • 15.  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のバージョン 15 2014/11/25
  • 16. UnixodbcによるTDS使用設定  続いて、unixodbcでFreeTDSを使用するという設定 をします。設定ファイルは/etc/odbcinst.ini です。  以下の項目を追記します。 16 2014/11/25 # Driver from the freetds package # Setup from the unixODBC package [FreeTDS] Description = FreeTDS Driver Driver = /usr/lib64/libtdsodbc.so.0 Setup = /usr/lib64/libtdsS.2 FileUsage = 1 CPTimeout = 5 CPReuse = 5
  • 17. DNSの定義  Zabbixのアイテム登録の際に実際に指定するDSN (Data Source Name)を定義します。  設定ファイルは/etc/odbc.ini です。 [DB01] #この部分がDSNになります。 Servername = DB01 # /etc/freetds.conf で設定した名前を指定します。 Driver = FreeTDS #/etc/odbcinst.ini で指定したドライバ名を指定します。 Database = msdatabase #RDBMSの中で実際に接続するdatabase名を指定します。 17 2014/11/25 #実際はこんな感じ [DB01] Servername = DB01 Driver = FreeTDS Database = msdatabase
  • 18. DNSの定義  /etc/freetds.confと同じように、複数のDSNを定義す ることができます。 18 2014/11/25 [DB01] Servername = DB01 Driver = FreeTDS Database = msdatabase [RDS01] Servername = RDS01 Driver = FreeTDS Database = msdatabase
  • 20. Zabbixの設定項目 項目名設定内容 名前任意の名前を入力します タイプデータベースモニタ キーdb.odbc.select[ホスト内で一意になる任意の文字列,DSN名] ユーザ名DBにログインするユーザ名※ユーザマクロ使用可能 パスワードDBにログインするパスワード※ユーザマクロ使用可能 SQLクエリログイン後に実行するSQLクエリを入力します。 20 2014/11/25
  • 21. 制約事項  データベースモニタはあくまでもODBC接続です。  MS SQLの場合ODBCとTransact-SQL とで 使用可能なSQLコマンドが異なります。 詳細は、以下のURLを参照してください。 http://msdn.microsoft.com/ja-jp/library/ms130794.aspx 21 2014/11/25
  • 22. 設定例  以下の様な設定で、MS SQLのバージョン情報を取 得することができます。 22 2014/11/25
  • 23. まとめ  Zabbixのデータベースモニタ(ODBC監視)でMS SQLの内部情報を監視することが可能です。  ODBC接続には、ODBCおよびドライバの設定が必 要です。  設定ファイルは、freetds.conf、odbcinst.ini、 odbc.ini  ユーザマクロを使用することで、ODBC監視のテン プレートを作成することもできます。  これで、Zabbixで監視できる範囲が、また広がり ますね。 23 2014/11/25