MySQL エージェント

前提条件

  • エージェントのインストールに必要な前提条件の確認については エージェントのインストールに必要な前提条件の確認 を参照してください。
  • SixthSense コレクターの URL/IP(カスタマーサポートから提供されるテナント URL)
  • SixthSense ポータルからのアクセストークン。トークン取得については「SixthSense ポータル はじめに」の アクセストークンの取得 を参照してください。
  • mysql エージェントの最新バージョン
  • DB の詳細(ホスト名、ポート、DB 名、DB ユーザーの認証情報)
  • エージェントをダウンロードするためのパッケージ トークン(カスタマー サポートから提供されます)

エージェントのダウンロード

Windows および Linux ベースのサーバーの場合は、次のリンクを使用してください。

curl --header "PRIVATE-TOKEN:{{TOKEN}}" --output Sixthsense-Meter-Agent.zip "https://artifacts-observability.sixthsense.rakuten.com/api/v4/projects/32/packages/generic/Meter-Agent/latest/meter-agent.zip"
note

エージェントは、オペレーティングシステムとアーキテクチャに依存します。

DB ユーザーの権限

MySQL サーバーから DB メトリクスを取得するには、まずレプリケーションとセレクト権限を持つ MySQL ユーザーを作成する必要があります。

ユーザーを作成して権限を付与するには、以下の手順を実行します。

MySQL コマンドラインから、以下を実行して、特定のパスワードを持つユーザー sixthsense@<your_host_name> を作成します。

ユーザーの作成

CREATE USER 'sixthsense'@'localhost' IDENTIFIED BY '<your_strong_password>' WITH MAX_USER_CONNECTIONS 5;

sixthsense@<your_host_name> にレプリケーション権限を付与するには、以下を実行します。

レプリケーション権限の付与

GRANT REPLICATION CLIENT ON *.* TO 'sixthsense'@'localhost';

sixthsense@<your_host_name> に権限を付与するには、以下を実行します。

SELECT 権限の付与

GRANT SELECT ON *.* TO 'sixthsense'@'localhost';
note

<your_host_name> と <your_strong_password> は、ユーザーの値に置き換えてください。

デッドロック権限の有効化

SET GLOBAL innodb_print_all_deadlocks = ON;

MySQL エージェントの設定

エージェントと同じディレクトリに config.yaml ファイルを作成します。

# sixthsense-mysql-agent can be configured via yaml or environment variables
#
# Note: Environment Variables are given higher priority over yaml file
#
# Following are the environment variables that can be set:
# ENV VARIABLE CORRESPONDS TO
# SS_SERVICE_NAME service_name
# SS_AUTHENTICATION authentication
# SS_BACKEND sixthsense_backend
# SS_LOGGING logging
# SS_SECURE secure
sixthsense:
service_name: <custom-service-name>
# Login to Sixthsense UI --> Go to Settings on Side Navbar --> Copy Access Token
authentication: <custom-service-authKey>
logging: info
sixthsense_backend: <custom-sixthsense_backend-url>
# For GCP: grpc-collector-observability.sixthsense.rakuten.com:443
# (One Cloud) For connectivity to backend using intra public network: 133.237.176.44:80
# (One Cloud) For connectivity to backend using onecloud private network: 100.99.116.221:80
# SSL connection with backend true|false
secure: true
# (For One Cloud) secure: false
# MY | ES | MS | CB | OR
type: MY
# cron optional
# cron: "* * * * *"
hostname: <hostIp>
port: <port> #3306
user: <user>
password: <password>
mysql:
isCluster: <true|false>
clusterName: <clusterName>
# database optional
# database: demo_db
# socket: /tmp/mysql.sock
# log file path
# logPath: logs/logs.log
queryLimit: 10 #no of queries
queryThresholdTime: 200 #millisecond
note

SQL ポートまたはソケットのどちらかを使用してください。

エージェントの実行

Linuxの場合:

ターミナルで以下のコマンドを使用して MySQL エージェントを実行します。

./meter-agent path/to/config/ss-mysql-config.yaml

Windowsの場合:

a. 管理者としてコマンドプロンプトを開き、以下のコマンドを入力します。

nssm.exe install “Service_Name”

NSSM サービスインストーラ画面では、[アプリケーション] タブがデフォルトで選択されています。

b. 次の詳細を入力します。

  • パス:meter-agent.exe のフルパス
  • スタートアップディレクトリ:フォルダパス
  • 引数:yaml フルネーム

c. [詳細]タブをクリックします。

d. 次の詳細を入力します。

  • 表示名:サービスの表示名
  • 説明:サービスの説明
  • セットアップの種類:「自動」等のセットアップの種類を選択します。

e. [ログオン] タブをクリックします。 f. [ローカルシステムアカウント] ラジオボタンを選択します。 g. [サービスがデスクトップと対話できるようにする] チェックボックスを選択します。 h. [サービスのインストール] をクリックします。

yaml ファイルの設定の編集

yamlファイルに以下の設定を追加します。

  1. service_name: UI に表示されるサービス名
  2. authentication: 設定の下にあるダッシュボードからアクセストークンを取得
  3. sixthsense_backend: バックエンドコレクター URL
  4. hostname: ホスト名
  5. ポート: ポート
  6. ユーザー: db_user
  7. パスワード: db_user_password
note

ホスト名だけでなく、インスタンス名もサポートしています。

例:

ホスト名: Hostname/SQLExpress