こんにちは。今日はAIOps分野で圧倒的に注目を集めているAPMツール「Instana」のエージェントについて書こうと思います。
エージェントは、簡単に言えば、監視したいデータを収集するために必要な仕事をしてくれるものです。英語でAgentと言えば、代理人、仲介者といった訳になりますが、エージェントとは必要だけれど面倒なことを代わりにやってくれるような存在だとイメージすれば分かりやすいかもしれません。
さて、Instanaのエージェントはどんな働きをしてくれるのでしょうか。Instanaのエージェントを導入すると、エージェントが現在稼働しているテクノロジを自動的に見つけ出してくれます。さらに、見つけ出したテクノロジに対応するセンサーをほとんどの場合自動でロードして構成し、モニタリングを開始できる状態を作ります。このように、自動的に必要なものを見つけ出し、自動で必要な作業をしてくれるInstanaのエージェントは、Instanaがキー・コンセプトとして掲げている「自動化」という点で大きく寄与しています。
↑エージェントの一覧画面。バージョンや更新モード等を把握できる
以下、Instanaのエージェントの代表的なメリットについてまとめてみたいと思います。
■Instanaのエージェントの長所は何か?
(1)300を超えるテクノロジーに対し、継続的かつリアルタイムに対応
Instanaエージェントが対応しているテクノロジーには、Linux、Kubernetes等の基盤からJava、Node.js等ミドルウェアを含め様々なものがあります。 また、Instanaエージェントはつねにテクノロジーの状況変化も確認しているため、Kubernetes環境のようにアプリケーションが変化していくような環境であっても、手動の変更作業なしで自動的に変化に追随していくことが可能です。
↑レポートしているエージェントの状況も視覚的に確認できる
(2)分散トレースを100%収集する自動構成を備えた単一エージェント
Instanaのエージェントは、1秒単位のデータ粒度で、サンプリングなしの100%のトレースを行います。他のAPM製品のデータ粒度は1~10分間単位ですが、これでは問題となる数値のスパイクを見逃したり、迅速な問題対応が(Instanaと比較して)難しいため、動的な環境の把握のためには理想的なデータ粒度ではないと思われます。
(3)オーバーヘッド(処理的負荷)を抑えらえる
レガシーなAPMツールではコンテナ等の各テクノロジに対してそれぞれ別個のエージェントをインストールしなければならず、システムのオーバーヘッドが大きいのが課題でした。しかし、Instanaの場合、基本的に、1つのノードに対して1つのエージェントをインストールするだけでOKです。後はエージェントが各テクノロジ必要なセンサーを自動的にロードしてくれます。結果的に、Instanaの場合、「単一エージェント」+「各テクノロジに対応した小さなセンサー」だけで良いので、レガシーなAPMツールと比較してオーバーヘッドを大幅に削減可能です。
以上3つのメリットがあり、非常に先進的なエージェントであることが分かります。
Instanaにはこのような便利なエージェントがあり、手動で複雑な導入作業をする必要がなく、簡単に使用を開始できるAPMツールですのでお勧めです。