Dynatraceをさらに利用するために～ActiveGateの導入～

# ActiveGateとは

OneAgentをインストールしたホストとDynatrace Clusterの間で、プロキシとして動作するコンポーネントです。OneAgentを用いた監視を大規模に実行している環境などにおいて、ネットワーク構成の効率化やトラフィックの削減を実現できます。
また、ActiveGateを用いることで、AWSやAzureなどのクラウドインフラの監視、CiscoやF5、Paloaltoといった通常、OneAgentを導入できないネットワーク機器の監視もActiveGateを用いることで実現します。
公式サイトの図を引用すると以下のように表されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/384c6c7b-a30e-5076-d906-b171c67a0eb5.png)

OneAgentによるホストやプロセス、アプリケーションの監視からクラウドやネットワークといったインフラまで包括してDynatraceによる監視を実現するための重要なコンポーネントとなります。
とはいっても導入はOneAgentと同様にとても簡単です。本記事ではインストール方法も含めて紹介していきます。

## ActiveGateの利用用途

**ActiveGateの利用用途**は以下の3つに分けられます。

1. OneAgent通信をDynatrace Clusterへルーティング、AWSやAzure、VMwareなどの環境の監視、エクステンションを用いたリモートテクノロジーの監視
1. プライベートネットワーク内でのSynthetic（外形）監視
1. z/OSトラフィックをDynatrace Clusterへルーティング

これら3つの利用用途にはそれぞれに異なるActiveGateが必要になります。1つのActiveGateで複数の用途を混在させることはできないので注意が必要です。

## ActiveGateを利用するメリット

ActiveGateは、OneAgentからメッセージを収集し、集めたデータを**圧縮**してDynatraceサーバーに送信します。これにより、ActiveGateと通信するOneAgentインスタンスの数や、それらのインスタンスが転送するデータ量に応じて、ネットワークのオーバーヘッドを大幅に削減することができます。
OneAgentがインターネットにアクセスできない場合には、OneAgentを実行する複数のホストに対してファイアウォールを開くのではなく、ActiveGate をインストールして単一のアクセスポイントとして機能させることが可能です。ファイアウォールやプロキシの構成設定を管理・維持する手間が大幅に軽減されます。

## ハードウェア要件

Dynatraceの公式サイトに記載があります。
* [Linux](https://www.dynatrace.com/support/help/shortlink/activegate-requirements-linux)
* [Windows](https://www.dynatrace.com/support/help/shortlink/activegate-requirements-windows)

パフォーマンスの最適化のため、専用マシンを準備することが推奨されています。

## ActiveGateの種類

**Environment ActiveGate**と**Cluster ActiveGate**の2種類があります。
* Dynatrace Saasを利用している場合は、Environment ActiveGateのみ利用可能です。
* Dynatrace Managedを利用している場合は、多くのケースで2種類とも利用します。

Environment ActiveGateはさらに次の2種類があります。
* Classic - WindowsもしくはLinuxをインストールした仮想マシンもしくは物理ホスト上で実行、複数のモジュールを動作させることが可能。
* Cloud-native - Kubernetes/OpenShiftの上でコンテナとして動作。

Cloud-native版は現時点ではKubernetes/OpenShift専用となります。

# インストール手順

ここではClassic Environment ActiveGateのインストールの流れを紹介していきます。
まだ、Dynatraceを申し込んでいない方は[こちら](https://www.dynatrace.com/ja/trial/)からフリートライアルを申し込んでください。

なお、OneAgentからActiveGateへの通信はTCP Port: 9999へアクセスするため、ファイアウォールやセキュリティグループで許可する必要があります。**特にWindowsの場合は、Windows Firewallも設定する必要があります**

## Linux版ActiveGateのインストール

DynatraceのUIにログインをします（2022年1月のアップデートから日本語UIに対応しました！）。

左側のサイドメニューから一番下にある`管理 > Dynatrace のディプロイ`を開き、画面を下までスクロールすると`ActiveGateのインストール`というボタンがありますのでこちらをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/4101e3b8-50ec-2175-4f1c-08dabcf72540.png)

ActiveGateをインストールするプラットフォームを選択する画面が表示されます。今回は`Linux`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/cb51dbc8-8cd2-d1f0-e1e0-379b05a619b1.png)

DownloadするためのPaaS Tokenが必要になるので、`トークンの作成`ボタンをクリックします。ActiveGateの目的を指定し、表示されている3つのコマンドを順番に実行していきます。`Copyボタンをクリックすることでクリップボードにコピーされます。
※4番目のシェルスクリプトの実行は**root権限**が必要になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/8094291c-d923-afa6-56ee-3f8d642bed90.png)

シェルスクリプトの実行結果は以下のようになります。

```bash
$ sudo  /bin/sh Dynatrace-ActiveGate-Linux-x86-1.231.246.sh
27/01 13:30:55 Extracting parameters from lines 250 - 257...
27/01 13:30:55 After parameter extraction from the PARAMETERS section:
27/01 13:30:55 PARAM_SERVER_VALUE=(https://sg-ap-southeast-2-13-210-45-36-prod12-sydney.live.dynatrace.com/communication,https://sg-ap-southeast-2-52-63-191-73-prod12-sydney.live.dynatrace.com/communication,https://sg-ap-southeast-2-13-238-241-143-prod12-sydney.live.dynatrace.com/communication,https://sg-ap-southeast-2-52-62-86-10-prod12-sydney.live.dynatrace.com/communication,https://aej30117.live.dynatrace.com:443/communication)
27/01 13:30:55 PARAM_DEPLOYMENT_TIER_VALUE=(PROD)
27/01 13:30:55 PARAM_TENANT_VALUE=(aej30117)
27/01 13:30:55 PARAM_TENANT_TOKEN_VALUE=(*)
27/01 13:30:55 ACTIVEGATE_AUTH_TOKEN=(*)
27/01 13:30:55 PARAM_PROXY_VALUE=()
27/01 13:30:55 PARAM_PUBLIC_SG=(UNSET)
27/01 13:30:55 Dynatrace ActiveGate installer version 1.231.246.20220112-092210, build date 12.01.2022
27/01 13:30:55 Detected init system: 'systemd'
27/01 13:30:55 Checking for previous Dynatrace ActiveGate installations, verifying target installation folder...
27/01 13:30:55 Previous Dynatrace Gateway installation NOT detected as a running process.
27/01 13:30:55 No information on previous installation folders found in /etc/init.d.
27/01 13:30:55 Verifying system compatibility...
27/01 13:30:55 Determining location of init scripts...
27/01 13:30:55 Init scripts found in '/etc/init.d' directory.
27/01 13:30:55 Checking access to /etc/init.d...
27/01 13:30:55 Sufficient permissions for '/etc/init.d' detected.
27/01 13:30:55 Checking architecture...
27/01 13:30:55 Architecture OK
27/01 13:30:55 Reading RAM size...
27/01 13:30:55 Checking RAM...
27/01 13:30:55 RAM size OK
27/01 13:30:55 Reading free disk space...
27/01 13:30:55 Checking free space...
27/01 13:30:55 Free space OK
27/01 13:30:55 Checking system security limits...
27/01 13:30:55 Existing hard limit of the "maximum number of open file descriptors" is sufficient: (1048576)
27/01 13:30:55 System compatibility OK
27/01 13:30:55 Custom SELinux module will not be installed because OS is not supported.
27/01 13:30:55 Remote Plugin Module will be installed by default
27/01 13:30:55 Remote Plugin Modules capability: active
27/01 13:30:55 Additional capabilities will be installed, if newer versions are available on the server.
27/01 13:30:55 Creating user: dtuserag
27/01 13:30:55 Checking access rights to folders...
27/01 13:30:55 Using custom Dynatrace Gateway user: dtuserag:dtuserag
27/01 13:30:55 Installing...
27/01 13:30:59 Installation unpacked successfully
27/01 13:30:59 Checking distribution in /opt/dynatrace/gateway_1192
27/01 13:30:59 Distribution verified
27/01 13:30:59 All needed folders present. Continuing.
27/01 13:31:02 Remote Plugin configuration
27/01 13:31:02 Updating property (/var/lib/dynatrace/gateway/config/config.properties:[collector]:deploymentTier)
27/01 13:31:02 Adding tenantToken to (/var/lib/dynatrace/gateway/config/authorization.properties).
27/01 13:31:02 Adding authToken to (/var/lib/dynatrace/gateway/config/authorization.properties).
27/01 13:31:02 Updating property (/var/lib/dynatrace/gateway/config/config.properties:[collector]:seedServerUrl)
27/01 13:31:02 Updating property (/var/lib/dynatrace/gateway/config/config.properties:[directories]:rootDir)
27/01 13:31:02 Updating property (/var/lib/dynatrace/gateway/config/config.properties:[directories]:packagesDir)
27/01 13:31:02 Updating property (/var/lib/dynatrace/gateway/config/config.properties:[directories]:tenantDataDir)
27/01 13:31:02 Updating property (/var/lib/dynatrace/gateway/config/config.properties:[directories]:dumpDir)
27/01 13:31:02 Updating property (/var/lib/dynatrace/gateway/config/config.properties:[directories]:tempDir)
27/01 13:31:02 Updating property (/var/lib/dynatrace/gateway/config/config.properties:[directories]:logDir)
27/01 13:31:02 Autobackup not found. No settings to preserve
27/01 13:31:02 Checking access to folders...
27/01 13:31:04 Updating property (/var/lib/dynatrace/gateway/config/onetime.properties:[autoupdate]:autoupdate_allowed)
27/01 13:31:04 Updating property (/var/lib/dynatrace/gateway/config/onetime.properties:[autoupdate]:autoupdate_enabled)
27/01 13:31:04 Updating property (/var/lib/dynatrace/gateway/config/onetime.properties:[autoupdate]:autoupdate_activegate)
27/01 13:31:04 Updating property (/var/lib/dynatrace/gateway/config/onetime.properties:[autoupdate]:force_update)
27/01 13:31:04 One-time module downloading has been activated
27/01 13:31:04 Fresh installation of Dynatrace ActiveGate. Removing old configuration files of installed capabilities.
27/01 13:31:05 Starting Dynatrace Gateway...
27/01 13:31:23 Successfully connected to server https://sg-ap-southeast-2-13-210-45-36-prod12-sydney.live.dynatrace.com/communication,https://sg-ap-southeast-2-52-63-191-73-prod12-sydney.live.dynatrace.com/communication,https://sg-ap-southeast-2-13-238-241-143-prod12-sydney.live.dynatrace.com/communication,https://sg-ap-southeast-2-52-62-86-10-prod12-sydney.live.dynatrace.com/communication,https://aej30117.live.dynatrace.com:443/communication
27/01 13:31:23 Starting Dynatrace ActiveGate AutoUpdater...
27/01 13:31:23 Checking if Dynatrace ActiveGate AutoUpdater is running ...
27/01 13:31:23 Dynatrace ActiveGate AutoUpdater is running.
27/01 13:31:23 Cleaning autobackup...
27/01 13:31:23 Waiting for modules download. Timeout in 15 minutes.
27/01 13:32:08 Capability download status is:
    RemotePluginModule, OK, Successfully downloaded
27/01 13:32:08 Stopping Dynatrace Gateway...
27/01 13:32:18
27/01 13:32:18 Verifying signature of Dynatrace-Remote-Plugin-Module-Linux-x86-1.231.245.20220112-085307.sh package..
27/01 13:32:19 Starting Dynatrace Gateway...
27/01 13:32:36 Successfully connected to server https://sg-ap-southeast-2-13-210-45-36-prod12-sydney.live.dynatrace.com/communication,https://sg-ap-southeast-2-52-63-191-73-prod12-sydney.live.dynatrace.com/communication,https://sg-ap-southeast-2-13-238-241-143-prod12-sydney.live.dynatrace.com/communication,https://sg-ap-southeast-2-52-62-86-10-prod12-sydney.live.dynatrace.com/communication,https://aej30117.live.dynatrace.com:443/communication
27/01 13:32:36 Checking if Dynatrace Gateway is running ...
27/01 13:32:36 Dynatrace Gateway is running.
27/01 13:32:36 The following packages will be installed: Dynatrace-Remote-Plugin-Module-Linux-x86-1.231.245.20220112-085307.sh
27/01 13:32:36
27/01 13:32:36 Package Dynatrace-Remote-Plugin-Module-Linux-x86-1.231.245.20220112-085307.sh is being installed. Please wait...
        13:32:43 Starting Dynatrace Remote Module...
        13:32:43 oneagentremoteplugin service started
        13:32:43 Checking if remotepluginmodule is connected to server...
        13:32:44 remotepluginmodule connection status: connected to https://127.0.0.1:9999/communication
        13:32:44 remotepluginmodule connected to server.
27/01 13:32:44 Installation of package Dynatrace-Remote-Plugin-Module-Linux-x86-1.231.245.20220112-085307.sh finished successfully.
27/01 13:32:44
27/01 13:32:44
27/01 13:32:44 --------------------------------------------------------------
27/01 13:32:44
27/01 13:32:44 Capabilities(s) installed successfully:
    Dynatrace-Remote-Plugin-Module-Linux-x86-1.231.245.20220112-085307.sh
27/01 13:32:44 Removing old installation log files...
27/01 13:32:44 Installation finished successfully.
```

### インストール結果の確認

`ディプロイメントステータスの表示`ボタンをクリックし、ホストが登録されていることを確認します。何も表示されていない場合は、1,2分待ってからブラウザを更新すると登録されていることが確認できるかと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/81f088d3-f967-0ef0-cc77-0279d44549d0.png)

## Windows版ActiveGateのインストール

ActiveGateをインストールするプラットフォームを選択する画面で`Windows`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/cf47bd13-f622-0dbc-202f-9b4cd3f0c0fd.png)

DownloadするためのPaaS Tokenが必要になるので、`トークンの作成`ボタンをクリックします。ActiveGateの目的を指定し、`インストーラーのダウンロード`ボタンをクリックするかpowershellコマンドをコピーして、Powershell経由でインストーラーをダウンロードします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/613cdb50-42db-980e-703f-f10a22856253.png)

ダウンロードできましたら、通常のWindowsマシン同様にダブルクリックしてインストールをしていきます。なお、インストールには**Administrator**権限が必要になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/8631446f-b734-fb29-4556-ac58539aac2e.png)

インストール先の変更やオプション設定が不要であれば`Next`をクリックしていき、`Install`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/419fef2e-c391-8c0f-8661-8211a7cebf08.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/200b9b7c-d3f7-6158-5699-0bcea0fe74d8.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/82e6995b-68d4-a2d8-3bdb-72434481fa6c.png)

インストールが完了したら`Finish`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/2cfa7918-dbd1-2640-3fb1-92e7720f7847.png)

### インストール結果の確認

`ディプロイメントステータスの表示`ボタンをクリックし、ホストが登録されていることを確認します。何も表示されていない場合は、1,2分待ってからブラウザを更新すると登録されていることが確認できるかと思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/70a32aa5-8f5e-6692-6018-45396f1d6b27.png)

# まとめ

Dynatraceの監視を拡張するのに非常に重要なのが**ActiveGate**です。もちろん、ActiveGate経由で取得したデータもDavis AIによる分析の対象となります。ただし、その導入はOneAgentのインストールと同様で数クリックで完了してしまいます。