Linux VM のカスタム メトリックを InfluxData Telegraf エージェントを使用して収集するCollect custom metrics for a Linux VM with the InfluxData Telegraf agent

Azure Monitor を使用すると、アプリケーション テレメトリ、Azure リソース上で実行されるエージェント、またはアウトサイドイン型の監視システムによって、カスタム メトリックを収集できます。By using Azure Monitor, you can collect custom metrics via your application telemetry, an agent running on your Azure resources, or even outside-in monitoring systems. さらに、それらを Azure Monitor に直接送信できます。Then you can submit them directly to Azure Monitor. この記事では、InfluxData Telegraf エージェントを Azure 内の Linux VM にデプロイし、Azure Monitor にメトリックを発行するように構成する手順について説明します。This article provides instructions on how to deploy the InfluxData Telegraf agent on a Linux VM in Azure and configure the agent to publish metrics to Azure Monitor.

InfluxData Telegraf エージェントInfluxData Telegraf agent

Telegrafは、150 を超えるさまざまなソースからのメトリックの収集を可能にする、プラグイン駆動型エージェントです。Telegraf is a plug-in-driven agent that enables the collection of metrics from over 150 different sources. VM 上で実行するワークロードに応じて、メトリックを収集するための特別な入力プラグインを利用するようにエージェントを構成できます。Depending on what workloads run on your VM, you can configure the agent to leverage specialized input plug-ins to collect metrics. たとえば、MySQL、NGINX、および Apache があります。Examples are MySQL, NGINX, and Apache. 出力プラグインを使用することで、エージェントは、選択した変換先に記述できます。By using output plug-ins, the agent can then write to destinations that you choose. Telegraf エージェントは Azure Monitor のカスタム メトリック REST API と直接統合されます。The Telegraf agent has integrated directly with the Azure Monitor custom metrics REST API. また、Azure Monitor 出力プラグインをサポートします。It supports an Azure Monitor output plug-in. プラグインを使用することで、エージェントは、Linux VM でワークロード固有のメトリックを収集し、それらをカスタム メトリックとして Azure Monitor に送信できます。By using this plug-in, the agent can collect workload-specific metrics on your Linux VM and submit them as custom metrics to Azure Monitor.

Telegraph エージェントの概要


カスタム メトリックは、すべてのリージョンでサポートされているわけではありません。Custom Metrics are not supported in all regions. サポートされているリージョンについては、こちらの一覧を参照してくださいSupported regions are listed here

カスタム メトリックを送信するSend custom metrics

このチュートリアルでは、Ubuntu 16.04 LTS オペレーティング システムを実行する Linux VM をデプロイします。For this tutorial, we deploy a Linux VM that runs the Ubuntu 16.04 LTS operating system. Telegraf エージェントは、ほとんどの Linux オペレーティング システムでサポートされます。The Telegraf agent is supported for most Linux operating systems. InfluxData ダウンロード ポータルで、Debian パッケージと RPM パッケージの両方と、パッケージ化されていない Linux バイナリを入手できます。Both Debian and RPM packages are available along with unpackaged Linux binaries on the InfluxData download portal. 詳細なインストール手順とオプションについては、このTelegraf インストール ガイドを参照してください。See this Telegraf installation guide for additional installation instructions and options.

Azure portal にサインインします。Sign in to the Azure portal.


従来のアラート ルールを移行し、既存の Linux 仮想マシンを使用する場合は、仮想マシンにシステムによって割り当てられた ID が オン に設定されていることを確認します。If you want to migrate classic alert rules and use an existing Linux virtual machine, make sure the virutal machine has a system-assigned identity set to On.

新しい Linux VM を作成するには、次の手順を実行します。Create a new Linux VM:

  1. 左側のナビゲーション ウィンドウの [リソースの作成] オプションを選択します。Select the Create a resource option from the left-hand navigation pane.

  2. 仮想マシン」を検索します。Search for Virtual Machine.

  3. [Ubuntu 16.04 LTS] を選択し、 [作成] を選択します。Select Ubuntu 16.04 LTS and select Create.

  4. VM 名 (MyTelegrafVM など) を指定します。Provide a VM name like MyTelegrafVM.

  5. ディスクの種類を SSD のままにしておきます。Leave the disk type as SSD. 次に、azureuser のように、ユーザー名 を指定します。Then provide a username, such as azureuser.

  6. [認証の種類] で、 [パスワード] を選択します。For Authentication type, select Password. 次に、この VM への SSH に後から使用する予定のパスワードを入力します。Then enter a password you'll use later to SSH into this VM.

  7. [新しいリソース グループの作成] を選択します。Choose to Create new resource group. myResourceGroup のように、名前を指定します。Then provide a name, such as myResourceGroup. [場所] を選択します。Choose your Location. [OK] をクリックします。Then select OK.

    Ubuntu VM を作成する

  8. VM のサイズを選択します。Select a size for the VM. たとえば、"計算の種類" または "ディスクの種類" でフィルター処理することができます。You can filter by Compute type or Disk type, for example.

    Telegraph エージェントの概要の仮想マシンのサイズ

  9. [設定] ページの [ネットワーク] > [ネットワーク セキュリティ グループ] > [Select public inbound ports](パブリック受信ポートの選択) の順に移動し、 [HTTP][SSH (22)] を選択します。On the Settings page in Network > Network Security Group > Select public inbound ports, select HTTP and SSH (22). 残りの部分は既定値のままにし、 [OK] を選択します。Leave the rest of the defaults and select OK.

  10. 概要ページで、 [作成] を選択して、VM のデプロイを開始します。On the summary page, select Create to start the VM deployment.

  11. 対応する VM が、Azure portal のダッシュボードにピン留めされます。The VM is pinned to the Azure portal dashboard. デプロイが完了すると、VM の概要が自動的に表示されます。After the deployment finishes, the VM summary automatically opens.

  12. [VM] ウィンドウで、 [ID] タブに移動します。お使いの VM で、システム割り当て ID が [オン] に設定されていることを確認します。In the VM pane, navigate to the Identity tab. Ensure that your VM has a system-assigned identity set to On.

    Telegraf VM の ID プレビュー

VM に接続しますConnect to the VM

VM との SSH 接続を作成します。Create an SSH connection with the VM. VM の概要ページの [接続] ボタンを選択します。Select the Connect button on the overview page for your VM.

Telegraf VM の概要ページ

[Connect to virtual machine](仮想マシンへの接続) ページで、ポート 22 を介して DNS 名で接続する既定のオプションをそのまま使用します。In the Connect to virtual machine page, keep the default options to connect by DNS name over port 22. [VM ローカル アカウントを使用してログインする] に、接続コマンドが表示されます。In Login using VM local account, a connection command is shown. ボタンをクリックして、このコマンドをコピーします。Select the button to copy the command. SSH 接続コマンドの例を次に示します。The following example shows what the SSH connection command looks like:

ssh azureuser@XXXX.XX.XXX 

Azure Cloud Shell や Bash on Ubuntu on Windows などのシェルに SSH 接続コマンドを貼り付けるか、または任意の SSH クライアントを使用して接続を作成します。Paste the SSH connection command into a shell, such as Azure Cloud Shell or Bash on Ubuntu on Windows, or use an SSH client of your choice to create the connection.

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

VM に Telegraf Debian パッケージをインストールするには、SSH セッションから次のコマンドを実行します。To install the Telegraf Debian package onto the VM, run the following commands from your SSH session:

# download the package to the VM 
# install the package 
sudo dpkg -i telegraf_1.8.0~rc1-1_amd64.deb

Telegraf の構成ファイルは、Telegraf の動作を定義します。Telegraf’s configuration file defines Telegraf’s operations. 既定では、パス /etc/telegraf/telegraf.conf にサンプル構成ファイルがインストールされます。By default, an example configuration file is installed at the path /etc/telegraf/telegraf.conf. このサンプル構成ファイルには、すべての可能な入力プラグインと出力プラグインが一覧表示されています。ただし、これからカスタム構成ファイルを作成し、次のコマンドを実行することで、エージェントがそのファイルを使用するようにします。The example configuration file lists all possible input and output plug-ins. However, we'll create a custom configuration file and have the agent use it by running the following commands:

# 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 つの入力プラグインのみが使用可能になります。The preceding code enables only two input plug-ins: cpu and mem. コンピューター上で実行されるワークロードに応じて、さらに多くの入力プラグインを追加できます。You can add more input plug-ins, depending on the workload that runs on your machine. たとえば、Docker、MySQL、および NGINX です。Examples are Docker, MySQL, and NGINX. 入力プラグインの完全な一覧については、「追加構成」セクションを参照してください。For a full list of input plug-ins, see the Additional configuration section.

最後に、エージェントが新しい構成を使用して開始するように、次のコマンドを実行してエージェントを強制的に停止し、再び開始します。Finally, to have the agent start using the new configuration, we force the agent to stop and start by running the following commands:

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

これで、エージェントは、指定された各入力プラグインからメトリックを収集して、Azure Monitor に出力するようになります。Now the agent will collect metrics from each of the input plug-ins specified and emit them to Azure Monitor.

Azure portal で Telegraf メトリックをグラフ化するPlot your Telegraf metrics in the Azure portal

  1. Azure Portalを開きます。Open the Azure portal.

  2. 新しい [監視] タブに移動します。次に、 [メトリック] を選択します。Navigate to the new Monitor tab. Then select Metrics.

    [モニター] - [メトリック] (プレビュー)

  3. リソース セレクターで VM を選択します。Select your VM in the resource selector.

    メトリック グラフ

  4. [Telegraf/CPU] 名前空間を選択し、 [usage_system] メトリックを選択します。Select the Telegraf/CPU namespace, and select the usage_system metric. このメトリックをディメンションによってフィルター処理したり、分割したりすることを選択できます。You can choose to filter by the dimensions on this metric or split on them.


追加構成Additional configuration

上記のチュートリアルは、少数の基本的な入力プラグインからメトリックを収集するように Telegraf エージェントを構成する方法に関する情報を示しています。Telegraf エージェントは 150 を超える入力プラグインをサポートしており、その一部は追加構成オプションをサポートしています。The preceding walkthrough provides information on how to configure the Telegraf agent to collect metrics from a few basic input plug-ins. The Telegraf agent has support for over 150 input plug-ins, with some supporting additional configuration options. InfluxData では、サポートしているプラグインの一覧それらの構成方法に関する手順を公開しています。InfluxData has published a list of supported plugins and instructions on how to configure them.

さらに、このチュートリアルでは、Telegraf エージェントを使用して、エージェントがデプロイされている VM に関するメトリックを出力しました。Additionally, in this walkthrough, you used the Telegraf agent to emit metrics about the VM the agent is deployed on. Telegraf エージェントは、他のリソースのメトリックのコレクターとフォワーダーとして使用することもできます。The Telegraf agent can also be used as a collector and forwarder of metrics for other resources. 他の Azure リソースのメトリックを出力するようにエージェントを構成する方法については、「Azure Monitor Custom Metrics Output for Telegraf」(Telegraf による Azure Monitor へのカスタム メトリックの出力) を参照してください。To learn how to configure the agent to emit metrics for other Azure resources, see Azure Monitor Custom Metric Output for Telegraf.

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

必要がなくなったら、リソース グループ、仮想マシン、およびすべての関連リソースを削除できます。When they're no longer needed, you can delete the resource group, virtual machine, and all related resources. そのためには、仮想マシンのリソース グループを選択し、 [削除] を選択します。To do so, select the resource group for the virtual machine and select Delete. 削除するリソース グループの名前を確認します。Then confirm the name of the resource group to delete.

次のステップNext steps