SQL Anywhere Extension Agent では、1 つ以上のデータベースをモニタリングできます。モニタリング対象のデータベース情報は、次に示すフォーマットで sasnmp.ini に保存されています。
[SAAgent] TrapPollTime=time-in-seconds [DBn] ConnStr=connection-string UtilDbPwd=utility-database-password CacheTime=time-in-seconds DBSpaceCacheTime=time-in-seconds Trapt=trap-information Disabled=1 or 0 |
sasnmp.ini ファイルは、デフォルトで SQL Anywhere のインストール時に install-dir\bin32 ディレクトリに格納されます。
sasnmp.ini ファイルの SAAgent セクションには、SQL Anywhere Extension Agent に関する情報があります。TrapPollTime フィールドが不要な場合は、セクション全体を省略できます。
TrapPollTime この値は、動的トラップのポーリング頻度を指定します (動的トラップが指定されている場合)。SQL Anywhere SNMP Extension Agent は、デフォルトでは 5 秒おきに値をポーリングします。この値を 0 に設定すると、動的トラップが無効になります。このフィールドはオプションです。
sasnmp.ini ファイルの各 DBn セクションには、特定のデータベースの情報、そのデータベースへの接続方法、そのデータベース用の動的トラップを記述します。このセクションのフィールドでは、大文字と小文字が区別されます。
n の値は、データベースを識別する番号です。この番号は、1 から開始する連番にする必要があります。不連続にすることはできません。たとえば、sasnmp.ini ファイルにエントリ [DB1]、[DB2]、[DB4] がある場合、エントリ [DB3] が欠如しているためエントリ [DB4] は無視されます。
ConnStr データベースへの接続に使用される接続文字列です。データベースに接続するには、情報を不足なく指定する必要があります。このフィールドは必須です。
ODBC データ・ソースを使用してデータベースに接続する場合、使用するデータ・ソースはユーザ・データ・ソースではなくシステム・データ・ソースである必要があります。
SNMP Extention Agent はサービスとして実行されるので、統合化ログインを使用する場合は SYSTEM アカウントにマッピングする必要があります。しかし、この処理を行うと、サービスとして実行されるものはすべてパスワードを入力することなくデータベースに接続できてしまいます。別の方法として、サービスを実行するためのアカウントを変更し、その後でそのアカウントの統合化ログインを作成することもできます。
接続文字列の先頭には、文字列 ASTART=NO;IDLE=0;CON=SNMP;ASTOP=NO
を付けます。この文字列に基づいて次の設定が行われます。
SQL Anywhere SNMP Extension Agent がデータベース・サーバを自動的に起動するのを防ぐ
アイドル・タイムアウトを無効にする (SQL Anywhere SNMP Extension Agent は一定時間アイドル状態になる可能性があるため)
識別が可能なように接続に名前を付ける
SQL Anywhere SNMP Extension Agent が接続を停止するときにデータベースが停止しないようにする
sasnmp.ini ファイル内の接続文字列にこれらの値を指定すると、デフォルトの設定が無効にされ、sasnmp.ini に指定した値が使用されます。
UtilDbPwd データベースを起動するように sa.agent.saStarted
を設定すると、SQL Anywhere SNMP Extension Agent は、DBF パラメータ (データベース・ファイルの場所をデータベース・サーバに指定するためのパラメータ) を使用してデータベースに接続しようとします。ただし、データベースの起動に必要なパーミッションが
DBA である場合、サーバは接続を許可しません (これはネットワーク・サーバのデフォルト設定であり、パーソナル・サーバ、ネットワーク・サーバとも -gd dba オプションを使用してこのように設定できます)。
このようなサーバ上でデータベースを起動するためには、SQL Anywhere SNMP Extension Agent が同じサーバ上ですでに動作中のデータベースに DBA 権限を持つユーザとして接続することが必要です。この条件は、ユーティリティ・データベースに接続することで満たすことができます。ユーティリティ・データベースのパスワード (-su サーバ・オプションで指定します) を sasnmp.ini ファイル内で指定した場合、SQL Anywhere Extension Agent は、データベースを起動するために、そのデータベースと同じサーバ上のユーティリティ・データベースに接続し、START DATABASE 文を実行してから接続を切断します。このフィールドはオプションです。
CacheTime データベースからデータを検索するときに、検索したデータを SQL Anywhere SNMP Extension Agent 内にキャッシュすることができます。これによって、それ以後に同じタイプのデータ (サーバ・プロパティやデータベース統計など) を検索するときには、データベースとのやりとりが不要になります。データをキャッシュすると、それ以降の検索ではデータをすばやく取得できますが、そのデータは最新の状態でない可能性があります。CacheTime フィールドは、キャッシュ時間を変更したり、キャッシュを無効にしたりする (値を 0 に設定すると無効になります) ために使用できます。デフォルトでは、キャッシュ時間は 0 秒です。CacheTime パラメータを 0 に設定すると、取り出されるデータは常に最新となります。これは、要求ごとにデータがデータベースから検索されるためです。このフィールドはオプションです。
DBSpaceCacheTime RDBMS MIB 内の rdbmsDbLimitedResourceTable には、DB 領域についての情報が格納されています。この情報も、データベースから検索されたときに SQL Anywhere Extension Agent 内にキャッシュすることができます。DB 領域情報のデフォルトのキャッシュ時間は 600 秒 (10 分) です。このフィールドは、キャッシュ時間を変更するために使用できます。値を 0 に設定すれば、キャッシュを無効にすることもできます。このフィールドはオプションです。rdbmsDbLimitedResourceTableを参照してください。
Trapt 動的トラップを作成します。値 t には正の整数を指定します。指定した値は、開始値が 1 の連番になっている必要があります。不連続にすることはできません。このフィールドはオプションです。動的トラップの作成を参照してください。
Disabled SQL Anywhere SNMP Extension Agent は、このフィールドが 1 に設定されているデータベース・エントリを無視します。このことを利用すると、SQL Anywhere SNMP Extension Agent の管理対象データベースのリストから特定のデータベースを一時的に削除する場合、他のデータベースの番号を変更する必要がありません。このフィールドはオプションです。
このファイルを編集した場合は、SNMP サービスを再起動するか、SQL Anywhere SNMP Extension Agent をリセットして、新しい設定が使用されるようにする必要があります。
次のコマンドを実行します。
net stop snmp |
この操作で SNMP サービスが停止します。
次のコマンドを実行します。
net start snmp |
この操作で SNMP サービスが起動します。
SNMP 管理ツールを使用して、saAgent.saRestart プロパティ (1.3.6.1.4.1.897.2.3.6
) の値を 1 に変更します。
ファイル難読化ユーティリティ (dbfhide) を使用すると、単純暗号化によって sasnmp.ini ファイルの内容を難読化することができます。.ini ファイルの内容の非表示を参照してください。
SQL Anywhere SNMP Extension Agent の sasnmp.ini ファイルの例を以下に示します。
[SAAgent] [DB1] ConnStr=UID=DBA;PWD=sql;ENG=server1;DBN=sales;DBF=sales.db Trap1=1.1.5 > 50000 UtilDbPwd=test [DB2] ConnStr=UID=DBA;PWD=sql;ENG=server1;DBN=field;DBF=field.db UtilDbPwd=test Disabled=1 [DB3] ConnStr=UID=DBA;PWD=sql;LINKS=tcpip;ENG=server2;DBN=hq;DBF=hq.db UtilDbPwd=test |
SAAgent セクションにパラメータが指定されていないので、SQL Anywhere SNMP Extension Agent は 5 秒おきに値をポーリングします。
SQL Anywhere SNMP Extension Agent は、2 台のサーバで動作している 3 つの異なるデータベースをモニタリングします。データベース 3 は別のコンピュータで動作しているため、プロトコルを指定する LINKS 接続パラメータが必要です。DB1 には、データベース・サーバから送信されたデータが 50000 バイトを超えている場合に起動するトラップが指定されています。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |