Linux VM のカスタム メトリックを InfluxData Telegraf エージェントを使用して収集する

注意

この記事では、サポート終了 (EOL) 状態が近づいている Linux ディストリビューションである CentOS について説明します。 それに応じて、使用と計画を検討してください。

この記事では、InfluxData Telegraf エージェントを Linux 仮想マシンにデプロイして構成し、Azure Monitor にメトリックを送信する方法について説明します。

注意

InfluxData Telegraf はオープンソース エージェントであり、Azure Monitor で正式にはサポートされていません。 Telegraf コネクタに関する問題については、InfluxData で Telegraf の GitHub ページをご覧ください

InfluxData Telegraf エージェント

Telegrafは、150 を超えるさまざまなソースからのメトリックの収集を可能にする、プラグイン駆動型エージェントです。 VM 上で実行するワークロードに応じて、メトリックを収集するための特別な入力プラグインを使用するようにエージェントを構成できます。 たとえば、MySQL、NGINX、および Apache があります。 出力プラグインを使用することで、エージェントは、選択した変換先に記述できます。 Telegraf エージェントは Azure Monitor のカスタム メトリック REST API と直接統合されます。 また、Azure Monitor 出力プラグインをサポートします。 プラグインを使用することで、エージェントは、Linux VM でワークロード固有のメトリックを収集し、それらをカスタム メトリックとして Azure Monitor に送信できます。

A diagram showing the Telegraph agent overview.

VM に接続します

Telegraf をインストールする VM への SSH 接続を作成します。 仮想マシンの概要ページで [接続] ボタンを選択します。

A screenshot of the a Virtual machine overview page with the connect button highlighted.

[Connect to virtual machine](仮想マシンへの接続) ページで、ポート 22 を介して DNS 名で接続する既定のオプションをそのまま使用します。 [VM ローカル アカウントを使用してログインする] に、接続コマンドが表示されます。 ボタンをクリックして、このコマンドをコピーします。 SSH 接続コマンドの例を次に示します。

ssh azureuser@XXXX.XX.XXX

Azure Cloud Shell や Bash on Ubuntu on Windows などのシェルに SSH 接続コマンドを貼り付けるか、または任意の SSH クライアントを使用して接続を作成します。

Telegraf をインストールして構成する

VM に Telegraf Debian パッケージをインストールするには、SSH セッションから次のコマンドを実行します。

リポジトリを追加します。

# download the package to the VM
curl -s https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
sudo echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
sudo curl -fsSL https://repos.influxdata.com/influxdata-archive_compat.key | sudo apt-key --keyring /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg add

パッケージをインストールしてください。

   sudo apt-get update
   sudo apt-get install telegraf

Telegraf の構成ファイルは、Telegraf の動作を定義します。 既定では、パス /etc/telegraf/telegraf.conf にサンプル構成ファイルがインストールされます。 このサンプル構成ファイルには、すべての可能な入力プラグインと出力プラグインが一覧表示されています。ただし、これからカスタム構成ファイルを作成し、次のコマンドを実行することで、エージェントがそのファイルを使用するようにします。

# generate the new Telegraf config file in the current directory
telegraf --input-filter cpu:mem --output-filter azure_monitor config > azm-telegraf.conf

# replace the example config with the new generated config
sudo cp azm-telegraf.conf /etc/telegraf/telegraf.conf

注意

上記のコードでは、cpumem という 2 つの入力プラグインのみが使用可能になります。 コンピューター上で実行されるワークロードに応じて、さらに多くの入力プラグインを追加できます。 たとえば、Docker、MySQL、および NGINX です。 入力プラグインの完全な一覧については、「追加構成」セクションを参照してください。

最後に、エージェントが新しい構成を使用して開始するように、次のコマンドを実行してエージェントを強制的に停止し、再び開始します。

# stop the telegraf agent on the VM
sudo systemctl stop telegraf
# start and enable the telegraf agent on the VM to ensure it picks up the latest configuration
sudo systemctl enable --now telegraf

これで、エージェントは、指定された各入力プラグインからメトリックを収集して、Azure Monitor に出力するようになります。

Azure portal で Telegraf メトリックをグラフ化する

  1. Azure Portalを開きます。

  2. 新しい [監視] タブに移動します。次に、 [メトリック] を選択します。

  3. リソース セレクターで VM を選択します。

  4. [Telegraf/CPU] 名前空間を選択し、 [usage_system] メトリックを選択します。 このメトリックをディメンションによってフィルター処理したり、分割したりすることを選択できます。

    A screenshot showing a metric chart with telegraph metrics selected.

追加構成

上記のチュートリアルは、少数の基本的な入力プラグインからメトリックを収集するように Telegraf エージェントを構成する方法に関する情報を示しています。Telegraf エージェントは 150 を超える入力プラグインをサポートしており、その一部は追加構成オプションをサポートしています。 InfluxData では、サポートしているプラグインの一覧それらの構成方法に関する手順を公開しています。

さらに、このチュートリアルでは、Telegraf エージェントを使用して、エージェントがデプロイされている VM に関するメトリックを出力しました。 Telegraf エージェントは、他のリソースのメトリックのコレクターとフォワーダーとして使用することもできます。 他の Azure リソースのメトリックを出力するようにエージェントを構成する方法については、「Azure Monitor Custom Metrics Output for Telegraf」(Telegraf による Azure Monitor へのカスタム メトリックの出力) を参照してください。

リソースをクリーンアップする

必要がなくなったら、リソース グループ、仮想マシン、およびすべての関連リソースを削除できます。 そのためには、仮想マシンのリソース グループを選択し、 [削除] を選択します。 削除するリソース グループの名前を確認します。

次のステップ