LoginSignup
8
2

OpenShiftにInstanaを導入しアプリのパフォーマンス監視を行う(1)- Instanaエージェント導入編

Last updated at Posted at 2023-12-19

はじめに

この連載では、Red Hat OpenShift on IBM Cloud(ROKS)のホスト環境にアプリケーションをデプロイし、Instanaエージェントを導入して監視を行う手順を記載します。以下のように3回に分けて解説を行います。

  1. Instanaエージェント導入編
  2. アプリのデプロイ編
  3. パフォーマンス監視編

本記事はInstanaエージェント導入編になります。

Instanaとは

InstanaはIBMが提供するアプリケーションのパフォーマンス管理(APM)ツールです。導入することで、複雑なシステムにいてもいつ・どこで・何が起きているかの把握が容易になります(可観測性、Observability)。

Instanaの特徴には以下のようなものがあります。

  • 導入が簡単
     ホストにInstanaエージェントをインストールすれば、稼働しているテクノロジー(OS、ミドルウェア、クラウドサービス、ランタイムなど)を自動検出し、センサーと呼ばれるデータ収集のモジュールを自動でロード。あとから加わった変更も検知してくれるため、変化の激しい環境にも追従できる。

  • 依存関係を視覚化
     サービス間の依存関係をアイコンで可視化するため、データの流れを把握しやすい。インシデントが起きたサービスはアイコン色がかわり、問題個所を素早く把握することができる。

  • インシデントの原因をAIが自動解析
     AIを使い異常なふるまいをインシデントとして認識。インシデントが発生するときっかけとなった動作はトリガーイベントとして報告し、関連するイベントまでまとめて表示する。根本原因を特定するための情報を集約してくれるため、簡単に問題特定が可能。

このような自動化やGUIでの操作により、特別なスキルがなくても扱いやすくなっています。

検証環境

この連載では以下の環境で進めていきます。

  • OCPバージョン:4.10系(だったと思います...)
  • Instanaバージョン:Build251

必要なもの

  • OpenShiftクラスター

  • Instanaライセンス
    Instanaエージェントのシステム要件についてはこちらをご覧ください。

  • OpenShift CLI
    こちらの記事の「OpenShift CLIのダウンロード」を参考に、インストールを行います。
    インストールできたら、念のため下記コマンドで確認しておきましょう。

    terminal
    % oc version
    

OpenShitにInstanaエージェントを導入する

1. OpenShift CLIでクラスタへログイン

OpenShiftクラスタのWebコンソールに入り、アカウント名の右にある ▼ を押します。続けて、表示されたメニューから「ログインコマンドのコピー」を選択します。
GetLoginToken_edit.png
新規タブで開かれたページに「Display token」とあるので押します。
すると、「Login with this token」の下にログイン用のコマンドが表示されるので、コピーしてターミナルで実行します。
DisplayToken_edit.png

terminal
% oc login --token=xxxx~xxxxxxxx --server=https://xxxxxxxx:xxxx
Logged into "https://xxxxxxxx:xxxx" as "IAM#xxxx" using the token provided.

You have access to 73 projects, the list has been suppressed. You can list all projects with 'oc projects'

Using project "default".
Welcome! See 'oc help' to get started.

上記のように出力されれば、ログインできています。

2. プロジェクトの作成

Instanaエージェントをインストールするためのプロジェクトを作成します。ここではinstana-agentというプロジェクト名にします。

terminal
% oc new-project instana-agent

3. Security Context Constraintの設定

instana-agentプロジェクトのサービスアカウントに、privileged権限を付与します。

terminal
% oc adm policy add-scc-to-user privileged -z instana-agent

Security Context Constraint(SCC)が何かについてはこちらの記事が参考になります.
サービスアカウントについてはこちらが参考になります。

4. Instana Agent Operatorのインストール

OpenShiftクラスタのWebコンソールへ入り、左のメニューから「Operator」>「Operator Hub」と進み、Instana Agent Operatorを探します。検索BOXに打ち込むと早いです。
OperatorHub_edit.png
出てきたものを選択し、インストールを押します。今回インストールするバージョンは2.0.13になります。
InstallInstanaAgentOperator_edit.png
適宜設定を変更してインストールを行います。特に変更しなくてもOKです。
InstallSettings_edit.png
インストールが終わると「インストール済みのOperator」から確認できます。
(諸事情により、この画像だけ環境が異なります)
InstalledInstanaAgentOperator_edit.png

5. エージェントの導入

まずInstanaのダッシュボードへ入り、エージェントの導入に必要な3つの情報を取得します。左のメニューから「...」を選び「エージェント」を選択します。
InstanaDashBoard1_edit.png
左上の「Install Agents」を押します。
InstanaDashBoard2_edit.png
左のリストから「OpenShift」を選択し、サービス・エンドポイント、サービス・ポート、アプリケーション・キーの3つを控えておきます。
InstanaDashBoard4_edit.png
OpenShiftクラスタのWebコンソールに戻ります。「インストール済みのOperator」から「Instana Agent Operator」を選択し、「Instana Agentの作成」を押します。
CreateInstanaAgent_edit.png
「YAMLビュー」を選択し、先ほど控えた3つの情報を書き込んでいきます。
・endpointHost に サービス・エンドポイント
・endpointPort に サービス・ポート
・key に アプリケーション・キー
をそれぞれ書き込み「作成」を押します。
EditYAML_edit.png
「ワークロード」>「Pod」と進みます。instana等で検索をかけるか、Projectをinstana-agentへ変更すると、導入したエージェントが確認できます。
InstanaエージェントはDaemonSetとしてデプロイされるので、ノードの数だけPodが出来上がります。DaemonSetについてはこちらが参考になります。
DeployedInstanaAgent_edit.png

エージェントの導入は以上で完了です。お疲れ様でした。
次はInstanaで監視するアプリケーションをデプロイしていきます。

8
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
2