DBXエージェントの設定
DBXエージェントに必要な設定は、whatap.confファイルで作成します。設定できるオプションについては、以下を参照してください。
基本オプション
-
license String
エージェントのインストール時にサーバーから付与されたプロジェクトアクセスキーを設定します。プロジェクトアクセスキーには、エージェントが属するプロジェクトとセキュリティ通信のためのパスワードキーが含まれています。
-
whatap.server.host String
既定値
127.0.0.1,127.0.1
エージェントが収集したデータを送信するWhaTap収集サーバーのIPアドレスを設定します。収集サーバーの冗長化で2つ以上のIPを所有する場合は、コンマ(,)を区切り文字として使用します。設定したIPアドレスには、収集サーバーproxyデーモンがリスニング状態でサービスされる必要があります。
-
whatap.server.port String
既定値
6600
収集サーバーのポート(port)を設定します。ポートは1つのみ設定ができるので、
whatap_server_host
に設定した収集サーバは同一ポートを使用する必要があります。 -
dbms String
mysql
注意別のオプション値を入力すると、モニティリングのデータ収集が正常に動作しない場合があります。
-
db_ip String
モニタリングするデータベースサーバーのIPアドレスを設定します。
-
db_port String
データベースが通信に使用するポート番号を設定します。
データ収集
-
db_param_enabled Boolean
既定値
true
DBパラメータの収集有無を設定します。
-
conn_fail_count Int
既定値
15
15回連続コネクションエラーが発生した時に通知を送信します。希望する回数を入力して、通知の発生基準を調整できます。
-
deadlock_interval Int
既定値
60
deadlock情報を読み込む間隔(単位: 分)を設定します。deadlock情報は、設定した間隔で発生した最後のdeadlock情報のみを読み込みます。
-
tables Boolean
既定値
true
テーブルサイズ情報を収集します。統計/レポート > DBサイズメニューでそのデータベースを選択すると、テーブルサイズ情報が確認できます
-
tables_hour Int
既定値
5
テーブルサイズ情報を保存するために、情報を収集する時刻を設定します。既定値は
5
であり、朝の5時に収集を始めます。
-
long_run_session_sec Second
既定値
10
(単位:秒)設定した時間より長く実行されているセッションを、long runセッションで処理します。
-
replication_name String
レプリケーション名を設定すると、同じ
replication_name
を持つDBの間にMaster/Slave関係があるものとみなします。レプリケーションセットを定義するオプションとしてマスターノードとスレーブノードの両方に同じ値の
replication_name
オプションを設定するとインスタンスモニタリングでツリー構造で表示されます。また、このオプション値を基準にFlexボードでレプリケーション状態をモニタリングするウィジェットを提供します。
-
skip_whatap_session Int
既定値
0
1
が設定されている場合、WhaTapから収集するためのqueryが実行するセッションをactive session listに表示しません。(既定値:0)
-
skip_sys_session Int
既定値
1
2
が設定されている場合、sysセッション(root、system user、event_scheduler)はactive sessionで表示されません。1
を設定すると、sysセッションは表示されますが、total runtimeから除外されます。 -
statements_min_row Int
既定値
10000
(row)MYSQL SQL統計メニューで使用するデータを収集する基準です。
performance_schema.events_statements_summary_by_digest
を照会し、次の合計値がstatements_min_row
より大きい場合に収集します。sum_rows_affected
+sum_rows_sent
+sum_rows_examined
ノートMYSQL SQL統計メニューについての詳細は、次の文書を参照してください。
-
xview_min_sec Int
既定値
0
xview収集時、クエリの実行時間が設定された時間よりも長くかかる場合にのみ収集します。デフォルトとしては、実行時間が0秒以上のすべてのクエリを収集します。
-
trx_rseg_history_len Boolean
MySQL 5.7 or later
DBX agent v1.6.15 or later
既定値
false
trx_rseg_history_len
指標の収集有無を設定します。true
に設定するとdb_mysql_counter
カテゴリで確認できます。 -
active_transactions Boolean
MySQL 5.5 or later
DBX agent v1.6.15 or later
既定値
false
active_transactions
指標の収集有無を設定します。true
に設定するとdb_mysql_counter
カテゴリで確認できます。 -
collect_variables_metric Boolean
DBX agent v1.6.15 or later
既定値
false
DBパラメータをリアルタイムで収集できます。
variables_metric
オプションに設定したパラメータを収集します。 -
variables_metric String
DBX agent v1.6.15 or later
uptime
、version
、read_only
のようにDBパラメータ名を設定してください。2つ以上の値を設定するには、コンマ(,)を区切り文字として利用してください。collect_variables_metric
オプションをtrue
に設定してからDBパラメータ名を設定すると、db_mysql_variables
カテゴリで確認できます。whatap.confcollect_variables_metric=true
variables_metric=uptime,version
アクティブセッション除外の設定
DBXエージェントは、MySQLのアクティブセッションの一覧を収集しますが、特定のセッションを除外するオプションを提供します。除くセッションはtotal_runtime
を計算する際に含めず、SQL統計メニューでも該当するSQLは表示されません。
-
skip_command String
アクティブセッション収集時、オプション値に設定した
command
に該当するセッションは収集しません。例えば、次のように設定するとDaemon
とSleep
ステータスのセッションは収集から除外できます。whatap.confskip_command=Daemon,Sleep
ノートオプション値で設定できる
command
についての詳細は、次のリンクを参照してください。 -
skip_sys_session Int
既定値
1
-
0
: sysセッション(root, system user)をアクティブセッションの収集とtotal_runtime
に含みます。 -
1
: sysセッションをアクティブセッションの収集には含めますが、total_runtime
からは除外します。 -
2
: sysセッションをアクティブセッションの収集とtotal_runtime
から除外します。
-
-
skip_user String
オプション値に設定したユーザーのアカウントを、アクティブセッションと'total_runtime'から除外します。例えば、次のように設定すると、
root
、system user
、event_scheduler
アカウントの収集を除外できます。whatap.confskip_user=root,system user,event_scheduler
-
skip_whatap_session Int
既定値
0
オプション値を
1
に設定すると、WhaTapの収集クエリをアクティブセッションの収集とtotal_runtime
から除外します。
AWS RDS CloudWatch適用
AWS CloudWatchを使用するエージェント設定に関する説明です。 収集を開始するとメトリクスで収集され、管理 > メトリクスチャートメニューのdb_mysql_counter
カテゴリで他の指標と一緒に確認できます。
クラウド設定メニューを通じて、より簡単かつ直感的に設定できます。このメニューで、クラウドサービスが提供するモニタリングメトリクスをデータベースプロジェクトのダッシュボードに追加で収集し、モニタリングできます。詳細については次の文書を参照してください。
-
aws_region String
AWSリージョンを設定します。
-
aws_arn String
AWS認証のために適切な権限を持つIAM ROLEのARNを使用することができます。
必須権限
ROLEには、次のアクセス権限(Policy)が必要です。
権限 権限内容 rds:DescribeDBInstances インスタンスクラスの情報収集 rds:DescribeDBClusters autoscale使用時クラスターから情報収集 rds:DescribeDBLogFiles CloudWatchログ収集 rds:DownloadDBLogFilePortion CloudWatchログ収集 ec2:DescribeInstanceTypes インスタンスクラスに対応するcpu数を収集 elasticache:DescribeCacheClusters elasticacheを利用する場合時、インスタンスクラスの情報を収集 cloudwatch:ListMetrics CloudWatch指標一覧を収集 cloudwatch:GetMetricStatistics CloudWatch指標から値を収集 logs:DescribeLogStreams CloudWatchログ収集(掲示されたログ機能を使用する場合) logs:GetLogEvents CloudWatchログ収集(掲示されたログ機能を使用する場合) -
cloud_watch String
CloudWatchモニタリングの使用有無を設定します。 設定値は
on
またはoff
です。 -
cloud_watch_instance String
CloudWatchインスタンス名を設定します。
-
cloud_watch_interval Second
CloudWatchでモニタリング値を取得する間隔を設定します。(単位:秒)
-
cloud_watch_metrics String
CloudWatchに読み込みするモニタリング指標名を設定します。次のように設定できます。
cloud_watch_metrics=CPUUtilization,FreeableMemory,FreeStorageSpace,NetworkTransmitThroughput,NetworkReceiveThroughput
RDS CloudWatch収集の設定例
次のような基本設定を作成することにより、RDS CloudWatchをモニタリングし、データを収集します。
cloud_watch=on
aws_region=ap-northeast-2
# AWS IAMで役割(Role)を作成し、ロールARN(Role ARN)値をコピーして貼り付けてください。
aws_arn=arn:aws:iam::999999999999:role/UpdateApp
cloud_watch_metrics=CPUUtilization,FreeableMemory,FreeStorageSpace,NetworkTransmitThroughput,NetworkReceiveThroughput
#インスタンス名の例
cloud_watch_instance=pg-rds
AES256暗号化の適用
WhaTap DBXエージェントは、収集されたデータを暗号化してサーバーに送信します。データの重要度や設定によって変更できます。基本的にXOR演算とAESアルゴリズムによる暗号化を使用し、平文を128ビット単位に分割して暗号化、復号を行います。ユーザー設定により、256ビットまで拡張できます。
WhaTap DBXエージェントをインストールしたパスで、whatap.confファイルを次のオプションに追加してください。
cypher_level=256
設定を追加してから、エージェントを再起動してください。
エージェント名の設定
自動設定する
エージェント設定(whatap.conf)で名前を設定しないと、エージェント名はIP アドレスとポート番号が結合されて自動指定されます。例えば、IPアドレスが10.11.12.13であり、ポート番号が3000であれば、エージェント名はDBX-12-13-3000に設定されます。
エージェント名を決定する主な変数については、以下を参照してください。
設定 | 説明 |
---|---|
{type} | DBX値を使います。 |
{ip0} | IPv4アドレスのうち、1番目の単位を使用します。(例:10.11.12.13のうち10) |
{ip1} | IPv4アドレスのうち、2番目の単位を使用します。(例:10.11.12.13のうち11) |
{ip2} | IPv4アドレスのうち、3番目の単位を使用します。(例:10.11.12.13のうち12) |
{ip3} | IPv4アドレスのうち、4番目の単位を使用します。(例:10.11.12.13のうち13) |
{port} | データベースサーバのポート |
RDSのようにIPアドレスが数字でなければDBX-{ip0}
-{hash}
-{port}
形式で名前が設定されます。ここで{hash}
値は、IPアドレスを4桁の16進数に変換した値です。
手動設定する
エージェント名を直接設定したい場合は、whatap.confファイルでwhatap.name
またはobject_name
オプションに目的の名前を入力します。ユーザーが入力した名前がエージェント名として設定されます。
whatap.name=agent-1234
# or
object_name=agent-1234