Log Analytics エージェントを使用して Azure Monitor で Linux アプリケーションのパフォーマンス カウンターを収集する
この記事では、特定のアプリケーションのパフォーマンス カウンターを Azure Monitor に収集するように Linux 用 Log Analytics エージェントを構成することの詳細について説明します。 この記事に含まれるアプリケーションは次のとおりです。
重要
レガシの Log Analytics エージェントは、2024 年 8 月 31 日の時点で非推奨となっています。 今後 Microsoft は、Log Analytics エージェントに関するすべてのサポートを提供しません。 Azure Monitor にデータを取り込むために Log Analytics エージェントを使用している場合は、今すぐ Azure Monitor エージェントに移行してください。
MySQL
Log Analytics エージェントがインストールされているコンピューター上で MySQL Server または MariaDB Server が検出された場合は、MySQL Server 用のパフォーマンス監視プロバイダーが自動的にインストールされます。 このプロバイダーは、パフォーマンスの統計情報を公開するためにローカルの MySQL/MariaDB サーバーに接続します。 プロバイダーが MySQL Server にアクセスできるように、MySQL ユーザーの資格情報が構成されている必要があります。
MySQL の資格情報を構成する
MySQL OMI プロバイダーがパフォーマンスや正常性に関する情報を MySQL インスタンスに照会するためには、MySQL ユーザーが事前に構成され、MySQL クライアント ライブラリがインストールされている必要があります。 これらの資格情報は、Linux エージェント上に格納されている認証ファイル内に格納されます。 認証ファイルは、MySQL インスタンスがどのようなバインド アドレスとポートをリッスンしているかや、メトリックを収集するためにどのような資格情報を使用するかを指定します。
Linux 用 Log Analytics エージェントのインストール中に、MySQL OMI プロバイダーは MySQL の my.cnf 構成ファイル (既定の場所) をスキャンしてバインドアドレスとポートを検出し、MySQL OMI 認証ファイルを部分的に設定します。
MySQL 認証ファイルは /var/opt/microsoft/mysql-cimprov/auth/omsagent/mysql-auth
に格納されています。
認証ファイルの形式
MySQL OMI 認証ファイルの形式を次に示します。
[Port]=[Bind-Address], [username], [Base64 encoded Password]
(Port)=(Bind-Address), (username), (Base64 encoded Password)
(Port)=(Bind-Address), (username), (Base64 encoded Password)
AutoUpdate=[true|false]
認証ファイル内のエントリを次の表で説明します。
プロパティ | 説明 |
---|---|
Port | MySQL インスタンスがリッスンしている現在のポートを表します。 ポート 0 は、以降のプロパティが既定のインスタンスに使用されることを指定します。 |
Bind-Address | 現在の MySQL バインド アドレス。 |
username | MySQL Server インスタンスを監視するために使用される MySQL ユーザー。 |
Base64 encoded Password | Base64 でエンコードされた MySQL 監視ユーザーのパスワード。 |
AutoUpdate | MySQL OMI プロバイダーのアップグレード時に "my.cnf" ファイル内の変更を再スキャンし、MySQL OMI 認証ファイルを上書きするかどうかを指定します。 |
既定のインスタンス
MySQL OMI 認証ファイルは、1 つの Linux ホスト上での複数の MySQL インスタンスの管理を容易にするために、既定のインスタンスとポート番号を定義できます。 既定のインスタンスは、ポート 0 のインスタンスによって示されます。 他のすべてのインスタンスは、別の値を指定しない限り、既定のインスタンスからプロパティのセットを継承します。 たとえば、ポート 3308 上をリッスンしている MySQL インスタンスが追加された場合、既定のインスタンスのバインドアドレス、ユーザー名、Base64 エンコード パスワードを使用して、3308 上をリッスンしているそのインスタンスを監視しようとします。 3308 上のインスタンスが別のアドレスにバインドされ、同じ MySQL ユーザー名とパスワードのペアが使用される場合は、バインドアドレスのみが必要であり、その他のプロパティは継承されます。
次の表に、インスタンス設定の例を示します。
説明 | ファイル |
---|---|
既定のインスタンスとポート 3308 のインスタンス。 | 0=127.0.0.1, myuser, cnBwdA== 3308=, , AutoUpdate=true |
既定のインスタンスとポート 3308 のインスタンス、および異なるユーザー名とパスワード。 | 0=127.0.0.1, myuser, cnBwdA== 3308=127.0.1.1, myuser2,cGluaGVhZA== AutoUpdate=true |
MySQL OMI 認証ファイル プログラム
MySQL OMI プロバイダーのインストールには、MySQL OMI 認証ファイルを編集するために使用できる MySQL OMI 認証ファイル プログラムが含まれています。 この認証ファイル プログラムは、次の場所にあります。
/opt/microsoft/mysql-cimprov/bin/mycimprovauth
Note
資格情報ファイルの読み取りが omsagent アカウントに対して許可されている必要があります。 mycimprovauth コマンドは、omsgent として実行することをお勧めします。
次の表は、mycimprovauth を使用するための構文に関する詳細を示しています。
操作 | 例 | 説明 |
---|---|---|
autoupdate false または true | mycimprovauth autoupdate false | 再起動または更新時に認証ファイルを自動的に更新するかどうかを設定します。 |
default bind-address username password | mycimprovauth default 127.0.0.1 root pwd | MySQL OMI 認証ファイル内の既定のインスタンスを設定します。 [パスワード] フィールドは、プレーンテキストで入力する必要があります。MySQL OMI 認証ファイル内のパスワードは Base 64 でエンコードされています。 |
delete default または port_num | mycimprovauth 3308 | 既定値またはポート番号のどちらかで指定されたインスタンスを削除します。 |
help | mycimprov help | 使用するコマンドの一覧を出力します。 |
mycimprov print | 読みやすい MySQL OMI 認証ファイルを出力します。 | |
update port_num bind-address username password | mycimprov update 3307 127.0.0.1 root pwd | 指定されたインスタンスを更新するか、存在しない場合はインスタンスを追加します。 |
次のコマンド例は、localhost 上の MySQL Server の既定のユーザー アカウントを定義します。 [パスワード] フィールドは、プレーンテキストで入力する必要があります。MySQL OMI 認証ファイル内のパスワードは Base 64 でエンコードされています。
sudo su omsagent -c '/opt/microsoft/mysql-cimprov/bin/mycimprovauth default 127.0.0.1 <username> <password>'
sudo /opt/omi/bin/service_control restart
MySQL のパフォーマンス カウンターに必要なデータベース権限
MySQL ユーザーが MySQL Server のパフォーマンス データを収集するには、次のクエリへのアクセス権が必要です。
SHOW GLOBAL STATUS;
SHOW GLOBAL VARIABLES:
MySQL ユーザーにはまた、次の既定のテーブルへの SELECT アクセス権も必要です。
- information_schema
- mysql。
これらの特権は、次の grant コマンドで付与できます。
GRANT SELECT ON information_schema.* TO ‘monuser’@’localhost’;
GRANT SELECT ON mysql.* TO ‘monuser’@’localhost’;
Note
MySQL 監視ユーザーに権限を付与するには、付与するユーザーに 'GRANT option' 特権および付与される特権が必要です。
パフォーマンス カウンターを定義する
Azure Monitor にデータを送信するように Linux 用 Log Analytics エージェントを構成したら、収集するパフォーマンス カウンターを構成する必要があります。 次の表のカウンターには、Azure Monitor での Windows および Linux パフォーマンス データ ソースに関するページの手順を使用します。
オブジェクト名 | カウンター名 |
---|---|
MySQL データベース | Disk Space in Bytes |
MySQL データベース | テーブル |
MySQL サーバー | Aborted Connection Pct |
MySQL サーバー | Connection Use Pct |
MySQL サーバー | Disk Space Use in Bytes |
MySQL サーバー | Full Table Scan Pct |
MySQL サーバー | InnoDB Buffer Pool Hit Pct |
MySQL サーバー | InnoDB Buffer Pool Use Pct |
MySQL サーバー | InnoDB Buffer Pool Use Pct |
MySQL サーバー | Key Cache Hit Pct |
MySQL サーバー | Key Cache Use Pct |
MySQL サーバー | Key Cache Write Pct |
MySQL サーバー | Query Cache Hit Pct |
MySQL サーバー | Query Cache Prunes Pct |
MySQL サーバー | Query Cache Use Pct |
MySQL サーバー | Table Cache Hit Pct |
MySQL サーバー | Table Cache Use Pct |
MySQL サーバー | Table Lock Contention Pct |
Apache HTTP Server
omsagent バンドルをインストールするときに、コンピューターに Apache HTTP Server が検出された場合、Apache HTTP Server 用のパフォーマンス監視プロバイダーが自動的にインストールされます。 このプロバイダーは、パフォーマンス データにアクセスするために Apache HTTP Server に読み込む必要のある Apache モジュールに依存しています。 このモジュールは、次のコマンドを使用して読み込むことができます。
sudo /opt/microsoft/apache-cimprov/bin/apache_config.sh -c
Apache 監視モジュールをアンロードするには、次のコマンドを実行します。
sudo /opt/microsoft/apache-cimprov/bin/apache_config.sh -u
パフォーマンス カウンターを定義する
Azure Monitor にデータを送信するように Linux 用 Log Analytics エージェントを構成したら、収集するパフォーマンス カウンターを構成する必要があります。 次の表のカウンターには、Azure Monitor での Windows および Linux パフォーマンス データ ソースに関するページの手順を使用します。
オブジェクト名 | カウンター名 |
---|---|
Apache HTTP Server | Busy Workers |
Apache HTTP Server | Idle Workers |
Apache HTTP Server | Pct Busy Workers |
Apache HTTP Server | Total Pct CPU |
Apache Virtual Host | Errors per Minute - Client |
Apache Virtual Host | Errors per Minute - Server |
Apache Virtual Host | KB per Request |
Apache Virtual Host | Requests KB per Second |
Apache Virtual Host | Requests per Second |
次のステップ
- Linux エージェントからパフォーマンス カウンターを収集します。
- ログ クエリについて学習し、データ ソースとソリューションから収集されたデータを分析します。