AWS Fargate 上の サービス のパフォーマンスを Dynatrace で監視・分析する方法
dynatrace の魅力の1つは、簡単なセットアップで、フルスタック監視できる所。ホストマシンにOneエージェントを1つインストールするだけ!
では、ホストのないFargateの場合は?
コンテナイメージの中にエージェントを埋め込みます。
以下、その設定手順になります ♪
前提条件
・ローカル環境に、Dockerクライアントバージョン17.05 以上がインストールされていること
・Dynatraceのテナントを持っていること (2週間フリートライアルできます)
・AWS Fargateが利用できること
Dockerバージョンの確認方法
docker --version
手順概要
- PaaSトークンの生成とコピー
- dockerfile の編集
- docker build
- FargateでDokcerイメージを実行
1. Environment ID と PaaSトークンの確認
Dynatraceメニュー ”Deploy Dynatrace" - "Set up PaaS integration" をクリック PaaS Token の ”Generate new token" をクリック。任意のトークン名を入力し "Generate" をクリック
ここに表示された、Environment ID と PaaSトークンを次で使いますので、この画面を開いておいてください。
2. dockerfile の編集
ターミナルやコマンドプロンプトなどで、以下を実行します。
docker login -u <environmentID> <テナントのURL>
<environmentID> は、先ほど確認したIDですが、URL先頭のID文字列でもあります。
例えば、URLが、https://abc12345.live.dynatrace.com だった場合、
docker login -u abc12345 abc12345.live.dynatrace.com
となります。
注意:Dynatrace Managedをお使いの方は、すみません、マニュアルをご参考ください
この後パスワード入力を求められますが、そのパスワードが先ほど確認した PaaSトークンになります。Loginできると”Login succeeded” と表示されます。
監視対象としたいコンテナの dockerfile を開き、FROM 以下に以下の2行を追加します。
COPY --from=<environment ID>.live.dynatrace.com/linux/oneagent-codemodules:<TECHNOLOGY> / /
ENV LD_PRELOAD /opt/dynatrace/oneagent/agent/lib64/liboneagentproc.so
<Technology>は、起動するサービスの種類(java, nodejs, php, go, nginx, apache, php)を指定しますが、何者か分からない場合は、all を使うこともできます。
例:Tomcatのサンプルアプリを起動するdockerfile
FROM tomcat:jdk11-corretto
COPY --from=<environment ID>.live.dynatrace.com/linux/oneagent-codemodules:java / /
ENV LD_PRELOAD /opt/dynatrace/oneagent/agent/lib64/liboneagentproc.so
WORKDIR /usr/local/tomcat/webapps
RUN curl -O http://tomcat.apache.org/tomcat-8.5-doc/appdev/sample/sample.war
EXPOSE 8080
CMD ["/usr/local/tomcat/bin/catalina.sh", "run"]
3.docker build
最後にイメージを作ります。以下のコマンドを実行します。
docker build . -t <任意のイメージ名>
出来上がったイメージを、例えば以下の様にその場で実行すれば、
docker run -p 8080:8080 <作成したイメージ名>
ローカルのDockerコンテナ内で実行されているサービスをOneエージェントが監視し始めたことが、Dynatraceのコンソール上で確認できます。
このコンテナをリポジトリにpushし、Fargateから利用すれば、Fargate上で稼働するサービスのパフォーマンスを、エンドユーザーの画面上でのクリックからサービス内部のコールスタックまで、追跡できるようになります。
まとめ
上記ではコンテナにエージェントを差し込む方法について説明しましたが、FaragateでもEKSを使っているのであれば、クラスタにOneエージェントオペレータをインストールするだけで、クラスタ内で起動するサービス全てに自動でフルスタック監視が行われます。(別の記事としてポストする予定です)
コンテナ周りのエージェントのインストールは、下図のような包含関係になっていますので、システム構成に合わせて効率的にインストールできるかと思います。
最後にお知らせです!
5月15日 15時から Dynatrace ウェビナーを開催します!
今回のテーマはAWS!
AWS&Dynatraceユーザーのゲストも登場します!!
是非、ご参加ください!!!
詳細、登録はこちらから
Author And Source
この問題について(AWS Fargate 上の サービス のパフォーマンスを Dynatrace で監視・分析する方法), 我々は、より多くの情報をここで見つけました https://qiita.com/HH_Dynatrace/items/14f684afcd15c0273e70著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .