外部モニタリングツール連携

Prev Next

VPC環境で利用できます。

Cloud DB for MySQLは、内部モニタリング機能に加え、様々なオープンソースおよび商用外部ツールと連携して、パフォーマンスデータを収集し可視化できます。以下は代表的な案および構成例です。

Prometheus, Grafana

Prometheusと Grafanaを使用して、Cloud DB for MySQLのパフォーマンスデータを収集し可視化できます。Prometheusはメトリックを収集し、Grafanaはそれを可視化します。Prometheusを通じて MySQL Serverのパフォーマンス指標を収集するには、mysqld_exporterのインストールが必要です。

参考
  • モニタリングを実行するには、アプリケーションサーバおよび DBサーバの作成が必要です。サーバの作成および環境設定に関する説明は、Cloud DB for MySQL のシナリオをご参照ください。
  • Cloud DB for MySQLが提供する READ、CRUD、DDL権限のすべてをモニタリングできます。
  • 本ガイドでは、Dockerベースのコンテナ環境を使用してモニタリング構成を進めます。Dockerのインストールに関する説明は、Docker公式ドキュメント(英語)をご参照ください。

mysqld_exporterのインストール

MySQL Serverのメトリックを収集するオープンソースエージェントである mysqld_exporterを通じて MySQL Serverにアクセスし、様々なパフォーマンス指標を収集できます。

mysqld_exporterをインストールする方法は、次の通りです。

  1. Cloud DB for MySQL を開始するを参照してアプリケーションサーバにアクセスします。
  2. /home/userパスに my.cnfファイルを作成し、[Client] 構文の下位に DBクライアント情報を追加します。
    [client]
    user=<username>
    password=<password>
    host=<hostname>
    port=3306
    
  3. 以下のコマンドを順に実行して、mysqld_exporterコンテナを起動します。
    docker network create my-mysql-network
    docker pull prom/mysqld-exporter
    
    docker run -d \
        --name mysqld-exporter \
        --network my-mysql-network \
        -v /home/user/my.cnf:/.my.cnf \
        -p 9104:9104 \
        prom/mysqld-exporter
    

Prometheusのインストール

オープンソースのシステムモニタリングおよび通知ツールである Prometheusを使用して、mysqld_exporterからメトリックを収集し、Grafanaと連携して MySQLのパフォーマンスデータを可視化し、通知条件を設定できます。

Prometheusをインストールする方法は、次の通りです。

  1. prometheus.ymlファイルを作成し、以下のように設定ファイルを作成して Prometheusが mysqld_exporterからパフォーマンスデータを収集できるように構成します。設定項目に関する詳細な説明は、Prometheus公式ドキュメント(英語)をご参照ください。
    global:
        scrape_interval: 15s
        evaluation_interval: 15s
    
    scrape_configs:
        - job_name: 'prometheus'
        static_configs:
            - targets: ['localhost:9090']
    
    - job_name: 'mysql'
        static_configs:
            - targets: ['mysqld-exporter:9104']
    
  2. 以下のコマンドを実行し、設定した prometheus.ymlファイルをベースに prometheusコンテナを実行します。
    docker run \
        -d \
        -p 9090:9090 \
        --name prometheus \
        --network my-mysql-network \
        -v $(pwd)/prometheus.yml:/etc/prometheus/prometheus.yml \
        prom/prometheus
    
  3. ACG設定ガイドを参照し、アプリケーションサーバの ACG設定で9090ポートを許可します。
    database-database-5-6_prometheus-01_vpc_ko
  4. ブラウザで http://<サーバ IPアドレス>:9090にアクセスし、Prometheusウェブ UIにアクセスします。

Grafanaのインストール

Grafanaは、Prometheusで収集した時系列データを可視化できるオープンソースのダッシュボードツールです。

Grafanaをインストールする方法は、次の通りです。

  1. 以下のコマンドを順に実行して、Grafanaコンテナを起動します。
    docker run -d \
        --name grafana \
        --network my-mysql-network \
        -p 3000:3000 \
        grafana/grafana
    
  2. ACG設定ガイドを参照し、アプリケーションサーバの ACG設定で3000ポートを許可します。
    database-database-5-6_grafana-01_vpc_ko

Grafanaダッシュボード作成

Prometheusをデータソースとして使用して、Grafanaでダッシュボードを作成できます。

Grafanaで Prometheusダッシュボードを作成する方法は、次の通りです。

  1. ブラウザで http://<サーバ IPアドレス>:3000にアクセスし、Grafanaウェブ UIにアクセスします。
    • デフォルトのユーザー名とパスワードは両方とも「admin」です。初回ログイン時にはパスワードの変更が必要です。
  2. Grafanaの基本メニューで Connection > Data sourcesをクリックした後、データソースとして Prometheusを追加します。
  3. データソースの名前を指定し、URLフィールドを http://<サーバ IPアドレス>:9090に設定します。
  4. [Save & test] ボタンをクリックし、データソースが正しく構成されているか確認します。
  5. Grafanaの基本メニューで Dashboardsをクリックした後、 [New] ボタンをクリックしてダッシュボードを作成します。[import] ボタンをクリックして提供されているテンプレートを活用できます。

Telegraf, InfluxDB, Grafana

Telegrafは、時系列データを収集・転送するためのオープンソースプラグインベースのサーバエージェントです。300個以上の入出力プラグインを提供し、データベース、クラウドサービス、IoTセンサーなど様々なソースからメトリックを収集できます。InfluxDB時系列データの保存と管理に最適化されたオープンソースデータベースです。InfluxQLおよび Flux言語を通じて柔軟なクエリが可能であり、ダウンサンプリングや保存ポリシーの設定により長期データの保管も最適化できます。

Cloud DB for MySQLをモニタリングするには、アプリケーションサーバに Telegrafをインストールし、inputs.mysqlプラグインを通じて MySQLサーバのパフォーマンス指標を収集するように設定します。収集されたデータは outputs.influxdbプラグインを通じて InfluxDBに送信され、その後 Grafanaでダッシュボードとして可視化できます。

参考

ブラウザで InfluxDB UI(http://<サーバのパブリック IPアドレス>:8086)にアクセスするには、ACG設定ガイドを参照し、ACG設定で8086ポートを許可してください。

Percona Monitoring and Management (PMM)

Percona Monitoring and Management(PMM)は、Prometheusでデータを収集・保存し、Grafanaで可視化する Percona社のオープンソースモニタリングツールです。全 DBクラスタから単一クエリレベルまでのパフォーマンス指標を1つのダッシュボードで確認できます。Query Analytics機能を使用すると、実行コストが高い、またはレスポンスが遅いクエリを迅速に特定し、ボトルネックを解消できます。

PMMは Serverと Clientの2つの要素で構成されています。PMM Serverはモニタリングデータを保存し、PMM Clientはモニタリング対象サーバにインストールされ、サーバおよびデータベース関連のデータを収集します。オンプレミス、クラウド、ハイブリッド環境など、様々なインフラに柔軟にリリースできます。

Cloud DB for MySQL環境では PMM Clientをインストールせず、PMM Serverが外部から DBインスタンスにアクセスして主なパフォーマンス指標とクエリ情報を収集します。

database-database-5-6_pmm-01_vpc_ko

参考

ブラウザで PMM UI、http://<サーバのパブリック IPアドレス>:8080にアクセスするには、ACG設定ガイドを参照し、ACG設定で8080ポートを許可してください。

Percona Toolkit

Percona Toolkitは、データベース管理のための多彩なコマンドラインのツールバーです。別途サーバのインストールなしで、コマンドの実行だけで高品質な DBパフォーマンス分析タスクを実行できます。

Cloud DB for MySQLをモニタリングするための代表的なツールは、次の通りです。

pt-mysql-summary

pt-mysql-summaryは、MySQLサーバのステータス、設定値、システム情報などを要約してテキスト形式で提供するツールです。様々な出力制御オプションが提供され、状況に応じてフィルタリングしたり要約範囲を調整したりできます。詳細は、pt-mysql-summary公式ドキュメント(英語)をご参照ください。

Cloud DB for MySQLをモニタリングするための pt-mysql-summaryの使用方法は、次の通りです。

pt-mysql-summary --host=<hostname> --user=<username> --password=<password>

pt-query-digest

pt-query-digestは、ログクエリを分析して分析結果をテキスト形式で提供するツールです。基本的にクエリを fingerprint単位でグループ化し、総実行時間を基準に最も遅いクエリから順にソートして表示します。様々な出力制御オプションが提供され、グループ化方式やフィルタリング条件などを調整できます。詳細は、pt-query-digest公式ドキュメント(英語)をご参照ください。

Cloud DB for MySQLをモニタリングするための pt-query-digestの使用方法は、次の通りです。

  1. NAVERクラウドプラットフォームコンソールの VPC環境で、 i_menu > Services > Database > Cloud DB for MySQLメニューを順にクリックします。
  2. DB Serverメニューをクリックします。
  3. 管理対象の MySQLサーバをクリックした後、 [DB Status] > [DB Server Logs] タブメニューを順にクリックします。
  4. ドロップダウンメニューから Slow Logを選択します。
    database-database-5-6_perconatoolkit-01_vpc_ko
  5. 管理するログファイルをクリックし、 [Object Storageにエクスポート] ボタンをクリックします。
  6. Object Storageにエクスポートのポップアップが表示されたら、ファイルをアップロードするバケットを選択し、 [Object Storageにエクスポート] ボタンをクリックします。
    database-database-5-6_perconatoolkit-02_vpc_ko
  7. NAVERクラウドプラットフォームコンソールで、Services > Storage > Object Storageメニューを順にクリックします。
  8. Bucket Managementメニューをクリックします。
  9. バケットリストで目当てのバケットをクリックします。
  10. フォルダ/ファイルのリストが表示されたら、目的のファイルをクリックし、 [ダウンロード] ボタンをクリックします。
  11. ファイルがローカル PCにダウンロードされたら、以下のコマンドを実行します。
    pt-query-digest –-type=’slowlog’ <ファイル名>
    

MySQL Workbench

MySQLクライアントである Workbenchの Performance Toolを使用して、Cloud DB for MySQLの基本的なパフォーマンスモニタリングを実行できます。Workbenchは別途のインストールプロセスなしで、DBにアクセスするだけでモニタリング機能を利用でき、主な機能は次の通りです。

Workbenchで MySQLサーバにアクセスするには、クラウド外部からの DB Serverアクセスガイドを参照して接続を設定する必要があります。アクセスが完了すると、Workbenchの Performance Tool機能を使用できます。