本文へスキップ

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

    uptimeversionread_onlyのようにDBパラメータ名を設定してください。2つ以上の値を設定するには、コンマ(,)を区切り文字として利用してください。collect_variables_metricオプションをtrueに設定してからDBパラメータ名を設定すると、db_mysql_variablesカテゴリで確認できます。

    whatap.conf
    collect_variables_metric=true
    variables_metric=uptime,version

アクティブセッション除外の設定

DBXエージェントは、MySQLのアクティブセッションの一覧を収集しますが、特定のセッションを除外するオプションを提供します。除くセッションはtotal_runtimeを計算する際に含めず、SQL統計メニューでも該当するSQLは表示されません。

  • skip_command String

    アクティブセッション収集時、オプション値に設定したcommandに該当するセッションは収集しません。例えば、次のように設定するとDaemonSleepステータスのセッションは収集から除外できます。

    whatap.conf
    skip_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'から除外します。例えば、次のように設定すると、rootsystem userevent_schedulerアカウントの収集を除外できます。

    whatap.conf
    skip_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:DescribeDBClustersautoscale使用時クラスターから情報収集
    rds:DescribeDBLogFilesCloudWatchログ収集
    rds:DownloadDBLogFilePortionCloudWatchログ収集
    ec2:DescribeInstanceTypesインスタンスクラスに対応するcpu数を収集
    elasticache:DescribeCacheClusterselasticacheを利用する場合時、インスタンスクラスの情報を収集
    cloudwatch:ListMetricsCloudWatch指標一覧を収集
    cloudwatch:GetMetricStatisticsCloudWatch指標から値を収集
    logs:DescribeLogStreamsCloudWatchログ収集(掲示されたログ機能を使用する場合)
    logs:GetLogEventsCloudWatchログ収集(掲示されたログ機能を使用する場合)
  • 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をモニタリングし、データを収集します。

whatap.conf
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
ノート
  • 役割ARN(Role ARN)の詳細については、次のリンクを参照してください。

  • IAM ROLEのARN値を利用せずに、EC2にRDS CloudWatch Metricの収集権限を付与して、データを収集する方法は次の文書を参照してください。

AES256暗号化の適用

WhaTap DBXエージェントは、収集されたデータを暗号化してサーバーに送信します。データの重要度や設定によって変更できます。基本的にXOR演算とAESアルゴリズムによる暗号化を使用し、平文を128ビット単位に分割して暗号化、復号を行います。ユーザー設定により、256ビットまで拡張できます。

WhaTap DBXエージェントをインストールしたパスで、whatap.confファイルを次のオプションに追加してください。

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.conf
whatap.name=agent-1234
# or
object_name=agent-1234