Dynatraceによる監視の始め方（Linux編）

Dynatraceによる監視はOneAgentをホストに一度インストールするだけで簡単に始めることができます。よく監視やAPMというとホストの監視のためにエージェントをインストールして、ソースコードにAPM用のコードを追加してということを想像されると思います。DynatraceではOneAgentを**ホストにインストールするだけ**でホストの監視から、コードレベルの解析、RUMによるフロントエンド解析まで行うことが可能です。

本記事では、Linuxマシンに対してOneAgentをインストールする手順について画面キャプチャを中心に説明します。
Windows編は[こちら](https://qiita.com/sukatsu1222/items/dcfb4e441a0c687f8c6b)になります。

## ハードディスク要件

LinuxマシンにOneAgentをインストールするにあたり、アーキテクチャにもよりますが、一般的なx86アーキテクチャでは最低で7.1GBのハードディスクの空き容量が必要になります。詳細は公式サイトをご確認ください。
[OneAgent files and disk space requirements on Linux](https://www.dynatrace.com/support/help/shortlink/oneagent-disk-requirements-linux)

# Dynatrace SaaSフリートライアルの申し込み

監視を始めるに当たって、まずは**15日間無料のフリートライアル**を申し込みましょう。
[Dynatraceフリートライアル \| Dynatrace](https://www.dynatrace.com/ja/trial/)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/cdc96d48-0f93-ee19-8e08-7d7082b36de2.png)

# Dynatrace監視手順

1. OneAgentをインストール

以上で、監視を始めることができます。

## 1. OneAgentをインストール

フリートライアルから申し込み利用規約などに同意し、Dynatraceにログインをします。左側のサイドメニューから一番下にある`Manage > Hub`を開き、`OneAgent`と表示されている画像をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/15dd515b-d425-5349-e9b1-69be6c837180.png)

OneAgentの画面が表示されるので、画面下部に表示されている`Download OneAgent`ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/3ce29ad0-579d-47da-c7fb-70ab2fac9516.png)

OneAgentをインストールするプラットフォームを選択する画面が表示されます。今回は`Linux`をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/b38ac8a9-627e-25f4-2a86-782cf2eaa7fa.png)

DownloadするためのPaaS Tokenが必要になるので、`Create token`ボタンをクリックします。その後は表示されている3つのコマンドを順番に実行していきます。`Copy`ボタンをクリックすることでクリップボードにコピーされます。
※4番目のシェルスクリプトの実行は**root権限**が必要となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/a1392277-e137-aefb-aeb3-ef7770686d9f.png)

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

```bash
$ sudo /bin/sh Dynatrace-OneAgent-Linux-1.231.245.sh
16:51:45 Checking root privileges...
16:51:45 OK
16:51:45 Logging to /var/log/dynatrace/oneagent/installer/installation_2582.log
16:51:45 Installation started, version 1.231.245.20220112-085307, build date: 12.01.2022, PID 2582.
16:51:45 Detected platform: LINUX arch: X86_64
16:51:45 Checking free space in /opt/dynatrace/oneagent
16:51:46 Extracting...
16:51:46 Unpacking. This may take a while...
16:52:00 Unpacking complete.
16:52:00 Moving new binaries into lib folders...
16:52:00 User 'dtuser' added successfully.
16:52:02 Non-privileged mode is enabled.
16:52:04 Checking free space in /lib/x86_64-linux-gnu
16:52:04 Verifying auto-injection compatibility...
16:52:05 OK
16:52:05 Refreshing dynamic linker run-time bindings using ldconfig
16:52:05 Disabling Apport service
16:52:05 Writing new core_pattern with oneagentdumpproc to /proc/sys/kernel/core_pattern
16:52:05 Removing /etc/sysctl.conf 'kernel.core_pattern' option
16:52:05 Adding entry with oneagentdumpproc to /etc/sysctl.conf
16:52:08 Starting agents...
16:52:08 oneagent service started
16:52:08 Checking if agent is connected to the server...
16:52:11 Dynatrace OneAgent has successfully connected to Dynatrace Cluster Node. You are all set. The Dynatrace OneAgent is fully operational.
```

## インストール結果の確認とプロセスの再起動

`Show deployment status`ボタンをクリックし、ホストが登録されていることを確認します。何も表示されていない場合は、1,2分待ってからブラウザを更新すると登録されていることが確認できるかと思います。
たったこれだけでホストの監視が開始され、どのようなプロセスが起動しているかなど自動で認識します。
また、`Details`を開くとこのホストではnginxが動作していることがわかりますが、プロセスの再起動を促すメッセージが表示されていますので、プロセスの再起動を実施します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/6f8fd1ac-b93b-10a8-4d0f-2f85a153425f.png)

```bash
sudo systemctl restart nginx
```

無事、`Process is monitored`となればプロセスの監視も開始されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/34ac11e2-0b82-65fb-ddec-66d951953cee.png)

DynatraceではOneAgentをインストールしただけでホストの監視からコードレベルの解析、RUMなどが行えるようになります。ソースコードの変更は一切不要なので、開発者の方はAPMのためのコード追加などの作業を行う必要はありません。

## インフラオンリーモードでのインストールの仕方

OneAgentをインフラオンリーモードでインストールする場合、OneAgentのインストール画面にて
`3. カスタマイズされたオプションを設定します (オプション)。`で`ホストグループ、ネットワークゾーン、タグを設定します。`を開き、`インフラストラクチャ、アプリケーションパフォーマンス、ユーザーエクスペリエンスのデータのフルスタックモニタリングが可能です。`のチェックを無効にします。
そうすることにより、`--set-infra-only=true`というオプションが追加され、インフラオンリーモードでインストールすることが可能になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/65441/02b7e2d6-8961-5d0f-0fd7-6b1bc7213442.png)

# まとめ

DynatraceではホストにOneAgentをインストールし、必要なプロセスの再起動を実施するだけで**ホストの監視**だけでなく、**APMとしてコードレベルの分析**、**Real User Monitoringに必要なHTMLタグの挿入**を自動で実行してくれます。
プログラムの**ソースコードの変更は不要**なので、OneAgentをインストールするとすぐにデータ収集を開始できるのが特徴となります。
また、OneAgentは自動でアップデートされるためメンテナンスフリーで監視を行うことができます。