4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

特定のプロセスだけをInstanaの可視化対象から外すTips

Last updated at Posted at 2024-12-21

はじめに

Instana は 対象ホストにAgentを導入するだけで自動的にアプリやインフラの可視化を実現できます。(全部ではないですけど)いやぁ楽ですよね。
…なんですが、たまに「このプロセスは別に可視化しなくて良いのだけど…されちゃうのね」みたいなことってあるじゃないですか。ちょっとしたポーリング用プロセスとか?
いや全部可視化しとけば良いじゃないですか、というのが Observability的には良いと個人的には思うものの、やっぱり人間が扱うものは例外もあるもの。
というわけで、特定のプロセスだけを可視化対象から外す方法を検証してみました。

要約

こちらを読みましょう。そして設定してみましょう。

監視対象アプリケーションの稼働

アプリケーション自体の説明

今回、アプリケーション自体はサンプル検証用の適当なものなので、説明は省きます。
以下をご参照ください。なんとなく Spring Bootにしてみました。

アプリの開始

Sprint Bootで処理を実行します。

./mvnw spring-boot:run

ちなみに、Spring Boot開始後に、Springを起動しているコンソールに以下が表示されていました。
Instana Java AgentがJavaアプリケーションに組み込まれる時にこんな警告が出るようになったんですね。

WARNING: A Java agent has been loaded dynamically (/tmp/.instana/javaagent-loader-1.3.64.jar)
WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning
WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information
WARNING: Dynamic loading of agents will be disallowed by default in a future release

この警告を表示したくない人は java の引数に XX:+EnableDynamicAgentLoading を指定してください。
将来のリリースで、dynamic loadingはデフォルトで不許可になるらしい。。。対策は明示的に上記引数を指定することなんだろうか…

アプリの呼び出し

以下を実行して、永遠にアクセスしていることにします。

while true
> do
>   sleep 1
>   curl http://localhost:8080/cpu/load
> done

こんな感じの結果がコンソールに出ます。

CPU Load Task ExecutedCPU Load Task ExecutedCPU Load Task ExecutedCPU Load Ta...

Instanaでの可視化

インフラ

ホスト上でSpringBootプロセス:JVM(tomcat)認識してますね
スクリーンショット 2024-12-22 1.05.19.png

tomcatのメトリックも確認できます
スクリーンショット 2024-12-22 1.05.48.png

アプリケーション

スタックから辿ってアプリを表示することもできます
スクリーンショット 2024-12-22 1.07.29.png

Sprint Bootプロセスを可視化対象から外す

Spring Boot プロセス の確認

Spring Boot プロセスは ps aux |grep java で状況を確認できます。

/usr/lib/jvm/java-21-openjdk-21.0.5.0.10-3.el8.x86_64/bin/java 
-XX:TieredStopAtLevel=1 (中略) com.example.cpuusage.CpuUsageApplication

Instana上でも、引数が可視化されていることが確認できます。
スクリーンショット 2024-12-22 1.17.44.png

Instana Agent設定ファイルの変更

Instana Agent設定ファイルで不可視対象設定を記載します。
設定ファイルデフォルトは /opt/instana/agent/etc/instana/configuration.yaml です。
javaプロセスで引数に--instana.ignored=trueを持つものを不可視対象にします。

com.instana.ignore:
  processes:
    - 'java'
  arguments:
    - '--instana.ignored=true'

Spring Boot アプリ 引数の追加

Spring Bootアプリに引数を追加して実行します。

./mvnw spring-boot:run -Dspring-boot.run.arguments=--instana.ignored=true

参考:https://www.baeldung.com/spring-boot-command-line-arguments

Instana での確認

数分待つと、、、 インフラ画面でJVM(tomcat)が一番下にあったのですが、表示が消えていますね!
スクリーンショット 2024-12-22 1.26.40.png

tomcatアプリケーション自身は過去の情報があるため消えていませんが、トレース情報が一切取得されていないことを確認できますね!確実に監視対象外になっていそうです!
スクリーンショット 2024-12-22 1.33.46.png

最後に

これで、表示したくないプロセスを表示しなくてよくなりましたね!

4
0
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
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?