エージェント設定ファイルを使用したホストエージェントの設定
エージェントがホストにインストールされている場合、エージェント設定ファイル (*instanaAgentDir*/etc/instana/configuration.yaml) を使用して、以下の設定を Instana エージェントに適用できます。
Instana の全設定パラメータの詳細リストについては、 Instana Helm チャートを参照してください。
Instana の Kubernetes での展開については、 設定ファイルを使用した Kubernetes エージェントの設定を参照してください。
- 複数の設定ファイルの作成
- ホストエージェントとシークレットマネージャーの統合
- HashiCorp Vault
- IBM Cloud Secrets Manager
- Kubernetes シークレット
- エージェント環境またはエージェントローカルファイルからの設定取得
- エージェント環境からのコンフィギュレーションの取得
- エージェントファイルシステムから設定を取得する
- プロセス環境とファイルからのコンフィギュレーションの取得
- プロセス環境からのコンフィギュレーションの取得
- プロセス・ファイル・システムからのコンフィギュレーションの取得
- 追加ファイルシステムの監視
- ホストタグの指定
- インストールされたパッケージリストの展開
- カスタムゾーンの設定
- カスタムプロセスの監視
- 秘密の構成
- カスタム HTTP ヘッダーのキャプチャ
- Kafka トレース相関ヘッダーの設定
- トレースの無効化
- サポート情報
- エンドポイントの無視
- フィルター・オプション
- ルールのフィルタリング
- 除外するエンドポイントの設定
- サポート情報
- プロセスの無視
- Instana UI で有効になっているエージェント機能の無効化
- コードソースファイルをInstanaにアップロードする
- エラー報告イベントの設定( AIX オペレーティングシステムのみ)
- 特定プロセスの監視
複数の設定ファイルの作成
コンフィギュレーションにモジュール性を持たせるために、 *instanaAgentDir*/etc/instana/configuration-<suffix>.yaml ファイルを複数作成することができます。 <suffix> を英数字の組み合わせに置き換えます。
すべての *instanaAgentDir*/etc/instana/configuration-<suffix>.yaml ファイルは、ファイルシステムのアルファベット順に、 *instanaAgentDir*/etc/instana/configuration.yaml ファイルにマージされる。 例えば、 configuration-abc.yaml ファイルの後に configuration-cde.yaml ファイルが来る。 タグのような異なる設定ファイルで指定された入れ子構造はマージされ、値は上書きされる。
エージェント設定ファイルを使用してエージェントを設定する方法については、以下のセクションを参照してください:
ホストエージェントとシークレットマネージャーの統合
Instana は、エージェント設定ファイルでパスワードなどの機密データを直接暗号化することをサポートしていません。
したがって、エージェント設定ファイルに機密情報(認証情報など)を追加する場合、その内容は次の例のようになるかもしれない:
com.instana.example:
user: 'instana'
password: <password>
しかし、機密情報をエージェント設定ファイルにプレーンテキストで書きたくないかもしれません。 このような状況では、以下のようなシークレットマネージャを使用することができます。 IBM Cloud Secrets Manager や HashiCorp Vault などのシークレットマネージャを使用してシークレットを保存し、必要に応じてエージェント設定ファイルに取り出すことができます。
HashiCorp Vault
1.2.9 以降が必要です。Instana エージェントは、 HashiCorp ボールト を使用して、エージェント構成ファイル内の機密設定の値を安全に取得します。
エージェント構成ファイルに以下の行を追加して、ホスト・エージェントに Vault 統合構成パラメータを提供する必要があります:
com.instana.configuration.integration.vault:
connection_url: <vault_server_base_url> # The address (URL) of the Vault server instance(e.g. http://127.0.0.1:8200 or https://exapmle.com:8200)
prefix: <optional_prefix> # Optional prefix path required if kv_version 2 is used and the /data/ must be injected further down
token: <vault_access_token> # Vault access token with assigned, at least, `read` access policy to relevant Vault paths, optional if other auth providers are present
github: # Optional auth method if Vault access token is not provided, has higher priority than approle if present
github_token: <github_token> # Personal Access Token, must provide at least read:org scope, must be present if github is used as an auth provider
auth_mount: github # Optional mount path for GitHub Auth, defaults to github
approle: # Optional auth method if Vault access token or github auth is not provided
role_id: <roleId> # AppRole RoleId, must be present if approle is used as an auth provider
secret_id: <secretId> # AppRole SecretId, must be present if approle is used as an auth provider
auth_mount: approle # Optional mount path for AppRole Auth, defaults to approle
path_to_pem_file: <path_to_X.509_CA_certificate> # X.509 CA certificate (UTF8 encoded) in unencrypted PEM format, used by the Agent when communicating with Vault over HTTPS
secret_refresh_rate: 24 # This configuration option allows you to account for rotating credentials, refresh rate in hours, default 24
kv_version: 2 # The Key/Value secrets engine version, default is 2
Vault を MySQL で設定し、シークレットを追加する例については、 Vault の設定例 ( MySQL )を参照してください。
Vault の初期設定後、エージェント設定ファイルでは、様々なセンサの秘密の取得を指定することができます。
password をエージェント設定ファイルに直接追加する代わりに、 HashiCorp Vault から取得する次の例を参照してください:
com.instana.example:
user: 'instana'
password:
configuration_from:
type: vault
secret_key:
path: <vault_path>
key: <vault_secret_key>
センシティブデータの文字列値を、Vault座標を指定するYAML構造で置き換えることができ、ホストエージェントは自動的に秘密を取得します。
また、パスワード・フィールドのためのシークレット・マネージャーとの統合に制限されることはありません。 secretsマネージャは、エージェント設定ファイル configuration.yaml の値として文字列を持つすべての設定に使用できます。
詳細については、Instana エージェントの統合に関連する以下の Vault の概念を参照してください:
IBM Cloud Secrets Manager
IBM Cloud Secrets Manager はオープンソースの HashiCorp Vault をベースにしており、 HashiCorp Vault と 同じ API と同じ設定を提供する。 統合の構成の詳細については、 HashiCorp Vault を参照してください。
Vault コンポーネントのバージョン 1.0.11 から、 IBM Cloud Secrets Manager SDK と IAM Keys が Vault で使用できるようになりました。
エージェント設定ファイルに以下の行を追加して、 IBM Cloud Secrets Manager 統合設定パラメータをホスト・エージェントに提供する必要があります:
com.instana.configuration.integration.vault:
connection_url: <secrets-manager-address> # The address (URL) of the IBM Cloud Secrets Manager server instance(e.g. https://f022446e-1024-4aa9-a00c-72bf15aa9e7b.us-south.secrets-manager.appdomain.cloud)
ibm_secrets_manager: <iam_key> # IAM Key that can be used to create access tokens
secret_refresh_rate: 24 # This configuration option allows you to account for rotating credentials, refresh rate in hours, default 24
IBM Cloud Docs - Secrets Manager または IBM Secrets Manager ダッシュボード内にエンドポイントの説明があります。
IAMキーを作成するには、 IBM Cloud - IAMキーを参照してください。
IBM Cloud Secrets Manager をホストエージェントに統合した後、エージェント設定ファイルで、様々なセンサの秘密の取得を指定できます。
エージェント設定ファイルに直接追加する代わりに、 IBM Cloud Secrets Manager から password を取得する次の例を参照してください:
com.instana.example:
user: 'instana'
password:
configuration_from:
type: vault
secret_key:
path: <secret-id> # The id of the Secret within the IBM Secrets Manager, (e.g. cc32688d-89c0-6fa8-c0b4-6cc88c232e66)
key: <kv-key-entry> # The Key inside the Secret Object of type KV (e.g. login)
poll_rate: 300 # seconds
サンプルVault設定 MySQL
HashiCorp Vault と MySQL デー タ ベース を統合す る ための *instanaAgentDir*/etc/instana/configuration.yaml フ ァ イ ル内の以下のサンプル構成を参照 し て く だ さ い:
com.instana.configuration.integration.vault:
connection_url: http://127.0.0.1:8200
prefix: secret
token: secret-vault-token
prefix 属性はオプション。com.instana.plugin.mysql:
user: 'myuser'
password:
configuration_from:
type: vault
secret_key:
path: secret/my-secret
key: password
/data/ のパスは記載されていません。 kv_version 2を使用する場合は、パス内の /data/ を省略する。以下のコマンドを実行して秘密を確認する:
vault kv get secret/my-secret
秘密は以下のように表示される:
==== Secret Path ====
secret/data/my-secret
======= Metadata =======
Key Value
--- -----
created_time 2024-07-08T06:53:10.830770915Z
custom_metadata <nil>
deletion_time n/a
destroyed false
version 1
====== Data ======
Key Value
--- -----
password *****
username myuser
Kubernetes シークレット
Kubernetes シークレットからエージェントのセンサー設定に機密情報を取り出すには、以下の2つのコンセプトを組み合わせる:
- シークレットを環境変数またはファイルにマウントするように Kubernetes 構成します。
- このシークレットは、ワークロード固有の環境変数またはファイルとすることができる。この環境変数またはファイルには、データベースまたはメトリックエンドポイントへのアクセス認証情報など、監視対象のワークロードのみの情報を保持する。
- このシークレットは、エージェント構成で使用される一般的なシークレットにすることもでき、環境変数またはファイルとしてエージェントポッドにマウントされる。
- マウントされた環境変数またはファイルから設定値を読み込むように、エージェントの
configuration.yamlファイルを適合させる:configuration_from: {type: env}またはconfiguration_from: {type: file}を使って、 ワークロード固有の環境変数またはファイルからシークレットを読み込む。configuration_from: {type: agent_env}またはconfiguration_from: {type: agent_file}を使って、 エージェントの環境変数またはローカルファイルからシークレットを読み込みます。
この2つのプロセスを組み合わせることで、ワークロードは、ポッド固有またはプロセス固有の環境変数やファイルに機密情報を格納することができる。 さらに、エージェントはこれらの環境変数やファイルを取得して機密情報を読み取り、その情報をワークロード固有の設定に適用することができる。
一般的なエージェント設定に適用される秘密については、エージェント環境から機密情報を取得することができます。
エージェント環境またはエージェントローカルファイルからの設定取得
独自の環境変数セットまたはローカルファイルから設定値を読み込むようにエージェントを設定することができます。 この方法は、 configuration.yaml ファイルにハードコードされたり、プレーンテキストで利用されたくないエージェント設定がある場合に便利です。
エージェントは環境変数のセット (文字列、ブール値、数値のような YAML リテラルのみをサポート)、もしくは特定のファイルの内容 (リストやマップのような複雑な YAML 構造をサポート) から設定値を読み込みます。
ホスト・エージェントがローカル環境(変数やファイル)から機密情報を読み取る機能と、 Kubernetes でシークレットをマウントする方法の間には、意図的な対称性が存在する。 これらの機能は、 サポートされているすべてのオペレーティング システムおよびサポートされているすべてのコンテナー ランタイムで利用できます。
true 、 false はブール値に変換される。エージェント環境からのコンフィギュレーションの取得
エージェントの環境から取得したコンフィギュレーション値については、 configuration.yaml ファイルを以下のように修正する:
com.instana.configuration.integration.vault:
connection_url: <vault_server_base_url>
token:
configuration_from:
type: agent_env
env_name: INSTANA_AGENT_VAULT_TOKEN
以下の例では、エージェントは自身の環境から HashiCorp Vault 構成のアクセストークンを読み取るため、トークンを configuration.yaml で平文で公開する必要はありません:
com.instana.configuration.integration.vault:
connection_url: <vault_server_base_url>
token:
configuration_from:
type: agent_env
env_name: INSTANA_AGENT_VAULT_TOKEN
デフォルト値を指定せず、エージェントの環境に環境変数が存在しない場合、 configuration.yaml ファイルは値が入力されていないとみなします。
エージェントファイルシステムから設定を取得する
設定値をファイルから取得する場合は、 configuration.yaml ファイルを以下のように変更してください:
com.instana.plugin.mysql:
user: 'instana'
password:
configuration_from:
type: agent_file
file_path: <absolute or relative path to a file containing the configuration value>
default_value: <set this when the file is not found>
プロパティ file_path は、ファイルへの絶対パスを保持するか、エージェントのインストールフォルダからの相対ファイルを指すことができます。 Linux ホストでは、この場所は通常 /opt/instana/agent です。 ファイル /opt/instana/agent/etc/vault_token から読み込む場合、 configuration.yaml ファイルのエントリーは、絶対パス /opt/instana/agent/etc/vault_token または相対パス etc/vault_token のいずれかになります。
プロセス環境とファイルからのコンフィギュレーションの取得
監視対象のプロセスから設定値を読み取るようにエージェントを設定できます。 このアプローチは次のような場合に有効である:
configuration.yamlに情報をハードコードしたくない場合。- 同じノード上に MySQL, のような1つのテクノロジーの複数のインスタンスがあり、それぞれのインスタンスに異なるコンフィギュレーションが必要な場合。
エージェントは特定の環境変数 (文字列、ブール値、数値のような YAML リテラルのみをサポート) から値を検索するか、特定のファイル (リストやマップのような複雑な YAML 構造をサポート) の内容として設定値を読み取ります。
ホストエージェントのこれらの機能と、 Kubernetes でシークレットをマウントする方法の間には、意図的な対称性が存在する。 ただし、これらの機能は、 サポートされているすべてのオペレーティング システムおよびサポートされているすべてのコンテナー ランタイムで利用できます。
true 、 false はブール値に変換される。プロセス環境からのコンフィギュレーションの取得
ターゲット・プロセス環境から取得したコンフィギュレーション値については、 configuration.yaml ファイルを以下のように修正する:
com.instana.plugin.mysql:
user: 'instana'
password:
configuration_from:
type: env
env_name: <environment variable name>
default_value: <set this when no env var is found on this process>
デフォルト値を指定せず、監視対象のプロセスに環境変数が存在しない場合、 configuration.yaml ファイルは値が入力されていないとみなす。
プロセス・ファイル・システムからのコンフィギュレーションの取得
設定値をファイルから取得する場合は、 configuration.yaml ファイルを以下のように変更してください:
com.instana.plugin.mysql:
user: 'instana'
password:
configuration_from:
type: file
file_path: <absolute path to a file containing the configuration value>
default_value: <set this when the file is not found>
common_value: <set this in addition to the configuration value from file>
以下の例では、エージェントは type: file プロパティを持つプロセス・ファイル・システムから /jmx-config-map.yaml ファイルを読み込みます。 default_value プロパティは複雑な YAML 構造を受け入れます。 common_value プロパティーは、後ですべてのプロセス固有の構成とマージされ、すべてのモニター対象プロセスに共通です。
com.instana.plugin.java:
jmx:
configuration_from:
type: file
file_path: /jmx-config-map.yaml
default_value:
- object_name: 'java.lang:type=OperatingSystem'
metrics:
- attributes: 'CommittedVirtualMemorySize'
type: 'absolute'
common_value:
- object_name: 'java.lang:type=OperatingSystem'
metrics:
- attributes: 'ProcessCpuLoad'
type: 'delta'
以下の例では、 /jmx-config-map.yaml ファイルが Kubernetes ConfigMap からアプリケーション・コンテナにマウントされ、以下のコンテンツを提供している:
- object_name: 'java.lang:type=Compilation'
metrics:
- attributes: 'TotalCompilationTime'
type: 'delta'
- object_name: 'java.lang:type=ClassLoading'
metrics:
- attributes: 'LoadedClassCount'
type: 'absolute'
このプロセスの結果、最終的なコンフィギュレーションは以下のようになる。 ProcessCpuLoad の common_value が追加されていることに注意してください。
com.instana.plugin.java:
jmx:
- object_name: 'java.lang:type=Compilation'
metrics:
- attributes: 'TotalCompilationTime'
type: 'delta'
- object_name: 'java.lang:type=ClassLoading'
metrics:
- attributes: 'LoadedClassCount'
type: 'absolute'
- object_name: 'java.lang:type=OperatingSystem'
metrics:
- attributes: 'ProcessCpuLoad'
type: 'delta'
監視対象のプロセスがコンテナ内で実行されている場合、ファイルの絶対パスは、そのコンテナのファイルシステムに対して解決される。
追加ファイルシステムの監視
デフォルトでは、エージェントはローカル・ファイル・システムのみをモニターします。 ファイルシステムを追加するには、ファイルシステム名( mtab または dfの最初の列)を追加する。
例えば、 server:/usr/local/pub /pub nfs rsize=8192,wsize=8192,timeo=14,intr ファイル・システムを監視するには、エージェント設定ファイルのホスト・セクションのコメントされていないファイル・システム・リストに以下の行を追加する:
com.instana.plugin.host:
filesystems:
- 'server:/usr/local/pub'
ホストタグの指定
com.instana.plugin.host 設定ファイルでエージェントのタグを指定するには、以下の書式でセクションを追加します:
com.instana.plugin.host:
tags:
- 'production'
- 'app1'
あるいは、 INSTANA_TAGS=production,app1 環境変数を使ってエージェントのタグを指定することもできます(環境変数と設定ファイルのタグは加算されます)。
production と app1 タグが特定のエージェントに追加され、UI でのタグの検索とフィルタリングが可能になります:

インストールされたパッケージリストの展開
ホストエージェントは、 Linux オペレーティングシステムにインストールされているパッケージについて、Instana に報告することができます。
以下の Linux ディストリビューションがサポートされています:
- Debian および
dpkgをパッケージ・マネージャーとして使用するその派生版。 - Red Hat OpenShift およびその派生製品で、
rpmとyumをパッケージ・マネージャーとして使用している。
この機能を有効にするには、 collectInstalledSoftware プロパティを true に設定します。
com.instana.plugin.host:
collectInstalledSoftware: false # Valid values: true, false
この機能を有効にすると、オペレーティング・システムにインストールされているパッケージが毎日1回抽出される。

カスタムゾーンの設定
デフォルトでは、Instana はホストをグループ化するために Amazon Web Services、 Google Compute Engine、または OpenStack Nova アベイラビリティゾーン情報を使用します。 Instana のデフォルトのホストグループ分けをカスタマイズするには、 com.instana.plugin.generic.hardware セクションで以下の形式を使用して、特定のホストに新しいグループを定義できます:
com.instana.plugin.generic.hardware:
enabled: true
availability-zone: 'Demozone'
この設定は、 INSTANA_ZONE 環境変数を使用することによっても行うことができる。この環境変数は、設定 ファイルで指定されたゾーンを上書きする。 設定後、ホストはインフラストラクチャマップ上のゾーンにグループ化される。

カスタムプロセスの監視
デフォルトでは、Instana は、Java® や MySQL のような、より高いレベルのセンサーのプロセスメトリクスを自動的に監視します。 Instana が自動的にカバーしない OS プロセスを監視するには、プロセス名とその引数の両方を使用して設定します:
com.instana.plugin.process:
processes:
- 'sshd'
- 'slapd'
arguments:
- '/opt/script.sh'
秘密の設定
トレース・データには機密データが含まれる場合があります。 そのため、Instanaエージェントは、シークレット(トレースデータからエージェント側で冗長化されるデータ)のパターン指定をサポートしています。 秘密として扱われたデータは、処理のために Instana SaaS に到達できないため、UI での分析や API を使用した検索には利用できません。
秘密は以下のように指定する:
com.instana.secrets:
# One of: 'equals-ignore-case', 'equals', 'contains-ignore-case', 'contains', 'regex'
matcher: 'contains-ignore-case'
list:
- 'key'
- 'password'
- 'secret'
カスタム秘密設定を指定しない場合、Instana はデフォルトでこの秘密設定を使用します。 キーがリストのエントリーと一致する場合、値は編集され、Instana バックエンドには送信されません。
Instana は、以下の構成要素を通じて、インフラストラクチャとプラットフォームレベルでシークレットをサポートします:
- プロセス環境変数
- Docker コンテナー情報
- Kubernetes アノテーションとコンテナ環境変数 このオプションを使ってシークレットをサポートするには、追加のコンフィギュレーションが必要である。 詳しくは、 Kubernetes 秘密を参照。
Instana は以下のランタイムエレメントでシークレットをサポートしている:
- データベース接続ストリング
https://my.domain/accounts/status?account=*secret_1*&user=*secret_2*などの HTTP 照会パラメーター (実質的には、サポートされるすべてのランタイムを対象とします。以下のサポート・マトリックスを参照してください)。- HTTP マトリックスパスのパラメータ、例えば
https://my.domain/accounts/account=*secret_1*;user=*secret_1*/status。
以下のランタイムがサポートされています。
| 言語 | HTTP 照会パラメーターのシークレット | HTTP マトリックス・パラメーターのシークレット |
|---|---|---|
| Go | ✅ | ❌ |
| Java® | ✅ | ✅ |
| NGINX | ✅ | ❌ |
| Node.js | ✅ | ❌ |
| .NET Core | ✅ | ✅ |
| .NET Framework | ✅ | ✅ |
| PHP | ✅ | ✅ |
| Python | ✅ | ❌ |
| Ruby | ✅ | ❌ |
| HTTPd | ✅ | ❌ |
カスタム HTTP ヘッダーのキャプチャ
デフォルトでは、Instana は HTTP 呼び出しをトレースする際に HTTP ヘッダーを収集しない。
必要であれば、エージェント・コンフィギュレーション・ファイルで以下のコンフィギュレーションを適用することで、この機能を有効にすることができます:
com.instana.tracing:
extra-http-headers:
- 'x-request-id'
- 'x-loadtest-id'
- ...
これらの値では大/小文字が区別されません。 収集されたヘッダーは、呼の詳細( 呼の詳細セクション)に表示される。 また、ヘッダー名とその値を使用して、(UIまたはAPIを使用して)コールとトレースを検索したり、 サービスコンフィギュレーションを検索したりすることもできます。
この機能には現在、以下の制限がある:
- すべてのトレーサーは、 要求 HTTP のヘッダー エントリ (インスツルメンテーションされたプロセスが受信する HTTP 呼び出し) をキャプチャーします。
- 一部のトレーサーは、 HTTP エントリーのレスポンスヘッダーをキャプチャするかもしれない。 表2を参照。
- HTTP ( HTTP、インスツルメンテーショ ン・プロセスがクライアントである呼び出し)終了時のリクエストとレスポンス・ヘッダをキャプチャするトレーサーもあるかもしれない。 表2を参照。
- 同じヘッダーが要求ヘッダーおよび応答ヘッダーとして存在している場合、2 つの値のいずれかがトレーサーによってキャプチャーされない可能性があります。
| トレーサー | HTTP エントリーの要求ヘッダー | HTTP エントリーの応答ヘッダー | HTTP 出口の要求ヘッダー | HTTP 出口の応答ヘッダー |
|---|---|---|---|---|
| Go | ✅ | ✅ | ✅ | ✅ |
| Java | ✅ | ✅ [1] | ❌ | ❌ |
| .NET | ✅ | ❌ | ❌ | ❌ |
| Node.js | ✅ | ✅ | ✅ | ✅ |
| PHP | ✅ | ❌ | ❌ | ❌ |
| NGINX | ✅ | ❌ | N.A. | N.A. |
| Python | ✅ | ✅ | ✅ | ✅ |
| Ruby | ✅ | ✅ | ✅ | ✅ |
| HTTPd | ✅ | ❌ | N.A. | N.A. |
Kafka トレース相関ヘッダーの設定
設定 com.instana.tracing.kafka.header-format を使用して、Instana トレーサーで使用される Kafka トレース相関ヘッダーのフォーマットを設定できます。 有効な値は binary, string, または both です。 以下の例を参照してください。
com.instana.tracing:
kafka:
header-format: string # possible values: binary, both, string
Kafka トレース相関を完全に無効にしてはならない。 ただし、 Kafka トレース相関を完全に無効にする必要がある場合は、 com.instana.tracing.kafka.trace-correlation: false. 以下の例を参照してください。
com.instana.tracing:
kafka:
trace-correlation: false
詳しくは、 Kafka ヘッダーの移行を参照。
トレースの無効化
特定のスパンタイプ(フレームワーク、ライブラリ、インストルメンテーション)またはライブラリグループ全体(スパンカテゴリー)のトレースを無効にすることができます。 例えば、 redis パッケージをトレースから完全に除外したり、すべてのロギング関連ライブラリのトレースを無効にするには、 disable 設定オプションを使用します。
この設定を行うには、以下の例に示すように、エージェント設定ファイルの com.instana.tracing.disable セクションの下に、無効にしたいタイプまたはカテゴリを定義します:
com.instana.tracing:
disable:
redis: true # Disable Redis
console: false # Keep console enabled
logging: true # Disable the entire logging category
ここで、それぞれ以下のとおりです。
true:指定されたタイプまたはカテゴリのトレースを無効にします。false:指定されたタイプまたはカテゴリーを明示的に有効にしておく。
前述の例では、 console を除いて、 logging カテゴリーのすべてのインストゥルメンテーションを無効にしている。 さらに、このコンフィギュレーションでは、 redis に関連するすべてのスパンもトレースから除外される。 障害のある図書館やカテゴリーについては、スパンの収集も報告もされていない。
サポート情報
次の表は、トレースの無効化をサポートしているトレーサーの一覧です:
| トレーサー | トレースの無効化をサポート |
|---|---|
| Node.js | ✅ |
| Go | ❌ |
| Java | ❌ |
| Python | ❌ |
| Ruby | ❌ |
| PHP | ✅ |
| .Net | ❌ |
| NGINX | ❌ |
エンドポイントの無視
特定のエンドポイントをトレースから除外することができます。 例えば、 redis パッケージを使用していて、 GET、 TYPE などのコマンドのトレースを避けたい場合は、 ignore-endpoints 設定オプションを使用します。
この機能をサポートする特定のパッケージとトレーサーについての詳細は、 サポート情報を参照。
フィルター・オプション
以下のオプションを使用して、トレースをフィルタリングすることができます:
メソッド名によるフィルタリング:このオプションを使用すると、メソッド名のみに基づいてトレースをフィルタリングできます。
RedisのGET呼び出しや、DynamoDBのQUERY呼び出しなど、特定の操作を無視したい場合に便利である。メソッド名とエンドポイントによるフィルタリング:このオプションを使用すると、メソッドと特定のエンドポイントの両方に基づいてトレースを除外することができます。 このオプションは、
Kafkaのような、特定のメソッド (たとえば、consume) のトレースを除外し、特定のトピック (たとえば、topic1またはtopic2) のトレースのみを除外できるテクノロジで特に便利です。
ルールのフィルタリング
トレースのフィルタリングのルールは以下の通り:
- トレースが無視されると、それ以降のダウンストリームトレースもすべて無視される。
- すべてのエンドポイントやメソッドを無視するには
*を使う。 - エンドポイント値( Kafka トピック名など)は、サービス間で一貫性を保つ。
- メソッド名はプログラミング言語や技術によって異なる場合がある。 サービスの正しいメソッドとエンドポイントを決定するには、Instana UI を参照してください。
次の Instana UI のスクリーンショットは、設定のための正しいメソッドとエンドポイントを識別するための視覚的なリファレンスを提供します:

除外するエンドポイントの設定
無視するエンドポイントを設定するには、次の例に示すように、エージェント設定ファイルの com.instana.tracing.ignore-endpoints セクションで、監視から除外する必要があるエンドポイントを指定します:
com.instana.tracing:
ignore-endpoints:
# Filtering by Method Name
redis:
- 'get'
- 'type'
dynamodb:
- 'query'
kafka:
- 'send'
# Filtering by Method Name and Endpoint for Kafka
kafka:
- methods: ["consume"]
endpoints: ["topic1", "topic2"] # Exclude consume calls for topic1 and topic2
- methods: ["consume", "send"]
endpoints: ["topic3"] # Exclude both consume and send calls for topic3
- methods: ["*"]
endpoints: ["topic4"] # Exclude all methods for topic4
- methods: ["consume"]
endpoints: ["*"] # Exclude consume method for all topics
前述の例では、リストされたフィルタリングオプションに対して、以下のトレースは無視される:
メソッドによるフィルタリング (
Redis,DynamoDB, andKafka)GETおよびTYPEのコマンドを使用する。RedisQUERYコマンドをDynamoDBSENDメソッド(Kafka)およびすべての下流トレース
メソッドとエンドポイントによるフィルタリング (
Kafkaのみ )CONSUMEKafkaおよびすべての下流トレースにおける および のメソッドtopic1topic2CONSUMEおよびSENDのメソッドtopic3のメソッドKafkaすべての下流のトレースKafkaのtopic4の全メソッド (*) と全下流トレースCONSUMEすべてのトピック (*) とすべてのダウンストリームトレースに対するメソッド
サポート情報
次の表は、エンドポイントの無視をサポートするトレーサーとパッケージの一覧です:
| サポートされるパッケージ | Node.js | Java | Go | PHP | Python | Ruby | .NET | NGINX |
|---|---|---|---|---|---|---|---|---|
| Redis | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| DynamoDB | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| Kafka | ✅ | ✅ | ❌ | ❌ | ✅ | ❌ | ❌ | ❌ |
| HTTP | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
プロセスの無視
特定のプロセスをトレースから除外することができます。
特定のプロセスの監視を無視するには、エージェント・コンフィギュレーション・ファイルの com.instana.ignore セクションのコメントを解除し、監視を必要としないプロセスのプロセス名をすべて列挙する。
プロセスか引数のどちらかを定義できる。 たとえば、 nginx というプロセスと /opt/server/server.js という引数を定義すると、NGINX プロセスと nodeJS プロセス(ファイル /opt/server/server.js を呼び出す)の両方が無視されます。 以下の例を参照してください。
com.instana.ignore:
processes:
- 'java'
- 'httpd'
arguments:
- '-batch-file=/tmp/batch.def'
Windowsの場合、リストのプロセス名は大文字と小文字を区別する。
スクリプトや他のジョブが同じコマンドで開始されることもあるが、単一のコマンドの実行だけは無視しなければならない。 このシナリオでは、プロセスが無視されるような引数を指定するには、argumentsを使う。
引数を指定する場合は、Instana UI の Process > Arguments で定義されている引数と環境変数を必ず取得してください。
Instanaは、引数間の空白に基づいて引数を取り込む。 例えば、 /usr/bin/java -p 4654 -Djava.locale.providers=CLDR,JRE,SPI でコマンドを実行する場合、 -p と 4654 の間にスペースがあると、Instana はそれらを2つの異なる引数として識別します。
Instana UI で有効になっているエージェント機能の無効化
Instana UI で有効になっているすべてのエージェント機能を無効にしたい場合は、 *instanaAgentDir*/etc/instana/com.instana.agent.main.config.Agent.cfg 設定ファイルに次の行を追加します:
backchannel.enabled = false
コードソースファイルをInstanaにアップロードする
Instana エージェントは、モニター対象のプロセスのオンデマンド・ソース・コードを取得して、収集したトレース・データに関連付けることができます。
Instana へのソース ファイルのオンデマンド アップロードを無効にするには、次の手順を実行します:
*instanaAgentDir*/etc/instana/com.instana.agent.main.config.Agent.cfgコンフィギュレーション・ファイルに以下のコンフィギュレーションを設定する:source.download.enabled = false- この設定を適用するには、Instana エージェントを再起動します。
エラー報告イベントの設定( AIX オペレーティングシステムのみ)
AIX システムからエラーイベントをポーリングする時間間隔を指定するには、 aixEventsPollRate イベントを秒単位で設定します(最小値は900秒)。
com.instana.plugin.host:
aixEventsPollRate: 900 # (Optional) Only for AIX systems. Setting a value to 900 seconds or larger will enable error report event collection and removing it will stop it.
この機能を無効にするには、エージェント設定ファイルから aixEventsPollRate event を削除してください。
特定プロセスの監視
Instanaは、コマンドラインに gunicorn、 uwsgi、 python の名前を持つプロセスを自動的に監視する。 コマンドラインに別の名前を持つ実行中の Python アプリケーションを監視するために、エージェント設定ファイルに特定のプロセス名を含めることができます。
発見したいプロセスを configuration.yaml ファイルに追加するには、以下の設定を使用する:
com.instana.plugin.python:
include_processes:
- ./process_name
この設定により、プロセス名が監視対象プロセスリストに追加され、Instana UI で表示できるようになります。
サポートされている技術には、
Servlet、Spring、Tomcat、http4sがある。 ↩︎