Docker での Instana バックエンドの設定

「 Docker 」で Instana のバックエンドを設定できます。

settings.hcl ファイルのテンプレートを作成する

settings.hcl ファイルは、インストール・プロセス中に生成されます。 このファイルには、ダウンロードキー、セールスキー、プロファイル、テナント名、ユニット名、環境のホスト名など、 Instana に関連するすべての設定が含まれています。 Instana バックエンドをインストールするには、これらの設定が必要です。 このファイルを設定すると、このファイルを使用してセルフホスト型クラシックエディション( DockerInstana-console )がインストールされます。

注:Instana をインストールするには、ファイル settings.hcl のインストールが必要です。

必要に応じて、以下のコマンドを実行して、デフォルト (空) 値を使用して settings.hcl ファイルを作成します。

instana settings template
 

デフォルト構成

以下のパラメーターの値は、インストール時に設定されます。

type      = "single"
profile   = "normal"
tenant    = "<Your-tenancy-identifier>"
unit      = "<Your-backend-identifier>"
agent_key = "<Your-agent-key>"
sales_key = "<Your-sales-key>"
host_name = "<The-FQDN-of-the-machine-the-backend-is-installed-on>"
token_secret = "<max_12_digits>"

cert {
  crt     = "<Path-to-your-signed-certificate>"
  key     = "<Path-to-your-private-key-file>"
}
 

パラメーターを変更する場合は、 vi settings.hcl コマンドを実行します。 新しい設定を Classic Edition に適用するには、コマンド instana update を実行してください。

データ・ディレクトリー

Instana デフォルトでは、以下のディレクトリ構造になります:

dir {
  metrics  = "/mnt/metrics"
  traces   = "/mnt/traces"
  data     = "/mnt/data"
  logs     = "/var/log/instana"
}
 
表 1. データディレクトリ
ディレクトリー 説明 タイプ
メトリック Cassandra は、そのデータ・ディレクトリーをこの親ディレクトリーに作成します。 専用ディスク (/mnt/metrics) を使用して、高 I/O デバイスにディレクトリーをマウントします。 ストリング
トレース ClickHouse は、そのデータ・ディレクトリーをこの親ディレクトリーに作成します。 専用ディスク (/mnt/traces) を使用して、高 I/O デバイスにディレクトリーをマウントします。 ストリング
データ Instana また、サードパーティ製のコンポーネントもこの親ディレクトリにデータを保存します。 ストリング
Logs Instana スタックに含まれるすべてのコンポーネントは、この親ディレクトリにログファイルを作成します。 ストリング

データストアの認証情報

すべてのデータ・ストアに認証が必要です。 オプション: 資格情報を構成します。 指定されていない資格情報は最初に生成され、 settings.hcl ファイルに追加されます。 settings.hcl ファイルでパスワードを更新することにより、パスワードを変更できます。

変更を適用するには、以下のコマンドを実行します。

instana update
 
注: 変更できるのはパスワードのみです。 ユーザーは固定されており、変更できません。
...
datastore "cassandra" {
  user     = "cassandra"
  password = "SECURE_PASS"
}
datastore "elasticsearch" {
  user     = "elastic"
  password = "SECURE_PASS"
}
datastore "kafka" {
  user     = "kafka"
  password = "SECURE_PASS"
}
datastore "clickhouse" {
  user     = "clickhouse"
  password = "SECURE_PASS"
}
datastore "postgres" {
  user     = "postgres"
  password = "SECURE_PASS"
}
datastore "aggregator" {
  user     = "aggregator"
  password = "SECURE_PASS"
}
...
 

特例:マルチホスト

注: マルチホスト構成の場合、 ClickHouse の認証情報は、 ClickHouse ホストの値と一致させる必要があるため、 Instana バックエンドホスト上では自動的に作成されません。

ClickHouse ホストの ClickHouse 認証情報をコピーし、 Instanasettings.hcl ホストのファイルに貼り付けます。

データ保存

インフラストラクチャーおよびプラットフォームのモニタリングのデータ保存

インストール時に、以下のデータ保存パラメーターが計算されます。 値ゼロは、このタイム・スパンのロールアップを除去しないようにシステムに指示します。 小規模なロールアップで値をゼロに設定すると、ディスクの容量がすぐにいっぱいになってしまう可能性があります。

retention {
  metric_roll_up_5     = 86400
  metric_roll_up_60    = 2678400
  metric_roll_up_300   = 8035200
  metric_roll_up_3600  = 34214400
}
 

BeeInstana メトリック・パイプライン (公開プレビュー) が有効になっている場合、 BeeInstana データ・ストアに保管されているメトリックの保存を構成できます。 以下の例を参照してください。

env_var "FLAGS_retention_10s"{
  value="86400"
}
env_var "FLAGS_retention_60s"{
  value="2678400"
}
env_var "FLAGS_retention_300s"{
  value="8035200"
}
env_var "FLAGS_retention_3600s"{
  value="34214400"
}
 
表 2. 顧客維持率
保存 説明 タイプ
metric_roll_up_5 1秒および5秒の集計データが利用可能な期間(秒単位) int
metric_roll_up_60 1分ごとの集計データが利用可能な期間(秒単位) int
metric_roll_up_300 5分ごとの集計データが利用可能な期間(秒単位) int
metric_roll_up_3600 1時間ごとの集計データが利用可能な期間(秒単位) int
FLAGS_retention_10s BeeInstana に保存された10秒単位のメトリックデータが保持される期間(秒単位) int
FLAGS_retention_60s BeeInstana に保存された60秒単位のメトリックデータが保持される期間(秒単位) int
FLAGS_retention_300s BeeInstana に保存された5分ごとのメトリクスデータが保持される期間(秒単位) int
FLAGS_retention_3600s BeeInstana に保存された1時間ごとのメトリクスデータが保持される期間(秒単位) int
注: チャートの表示間隔は、選択した期間の長さのみに基づいて決定されます。 つまり、メトリクスデータの保持期間を変更しても、 Instana のダッシュボードに表示されるメトリクスデータの粒度には影響しません。 これらのメトリック保存プロパティーは単なる通知であり、変更してはなりません。

アプリケーション・パースペクティブおよびエンド・ユーザー・モニタリングのデータ保存

アプリケーションの視点エンドユーザーの監視は、いずれも以下のデータ保持パラメータを共有しています:

retention {
  app_data_short_term  = 7
}
 
表 3. 保持期間
保存 説明 タイプ
app_data_short_term 保存日数。 int

app_data_short_term フィールドの変更は、新しい アプリケーション・パースペクティブ ・データにのみ影響を与える可能性があります。

注: 7日以上である値のみが有効です。 7 未満の値を指定すると、システム全体で障害が発生します。

以下の例を参照してください。

  • app_data_short_term は 7 日から 14 日に変更されます。古いデータは、7 日より古い場合は削除され、14 日より古い場合は削除されます。
  • app_data_short_term が 14 日から 7 日に変更されます。古いデータは、14 日より古い場合は削除され、7 日より古い場合は削除されます。

この app_data_short_term フィールドを変更すると、新旧のエンドユーザー監視データに即座に反映されます。

以下の例を参照してください。

  • app_data_short_term が 7 日から 14 日に変更されました。古いデータと新しいデータは、14 日が経過すると削除されます。
  • app_data_short_term が 14 日から 7 日に変更されました。古いデータと新しいデータは、7 日が経過すると削除されます。

データのサブセットは、保存期間を超えて 13 カ月間保持されます。

設定

Docker リポジトリー設定

以下の設定を参照してください。

docker_repository {
  base_url = "my.mirror.internal/v2/artifact-public.instana.io"
  username = "user"
  password = "pass"
}
 
表 4. Docker リポジトリの設定
パラメーター 説明 タイプ
base_url ミラー・リポジトリーのベース URL (タグに依存)。 ストリング
username リポジトリー・サーバーのユーザー名。 ストリング
password リポジトリー・サーバーのパスワード。 ストリング

エンドユーザー監視(EUM)の設定

以下の設定を参照してください。

eum {
  tracking_base_url     = "https://mobile.acmecorp.com/eum/"
}
 
表5. エンドユーザー監視(EUM)の設定
パラメーター 説明 タイプ
tracking_base_url URL エンドユーザー監視のインジェスト・エンドポイントが公開されている。 この構成は、データの取り込みや処理に影響を与えません。 代わりに、Instana ユーザー・インターフェース内で正しい JavaScript およびモバイル・アプリケーション・エージェントのインストール手順を提示するために使用されます。 詳細については、 エンドユーザー監視の設定に関する専用ドキュメントを参照してください。 ストリング

通知サーバー設定

以下の設定を参照してください。

email {
  smtp {
    from      = "notif@acmecorp.com"
    host      = "relay-1.acme.internal"
    port      = 25
    user      = "ops-notif@acmecorp.com"
    password  = "yUnoEm41l"
    use_ssl   = true
    start_tls = false
  }
}
 
表 6. 通知サーバーの設定
パラメーター 説明 タイプ
from 通知 E メールからの送信者の E メール・アドレス。 ストリング
host 通知 E メールを送信する SMTP サーバーのアドレスまたはホスト名。 ストリング
port 通知 E メールを送信する SMTP サーバーのポート。 int
user 通知 E メールを送信する SMTP サーバーのユーザー名。 ストリング
password 通知 E メールを送信する SMTP サーバーのパスワード。 ストリング
use_ssl この値は、通知メールを送信するSMTPサーバーが SSL 暗号化を使用しているかどうかを示します。 ブール値
start_tls この値は、通知メールを送信するSMTPサーバーが、接続確立後に TLS にアップグレードするかどうかを示します。 ブール値

OAuth 設定

以下の設定を参照してください。

o_auth {
  client_id     = "123456-1n574n4adgjlmnop.apps.googleusercontent.com"
  client_secret = "XNLV-fpf_deadBeEf1234"
}
 
表 7. OAuth 設定
パラメーター 説明 タイプ
client_id Google OAuth 資格情報用のクライアント ID。 ストリング
client_secret Google OAuth 資格情報用のクライアント秘密鍵のパスワード。 ストリング

プロキシー設定

以下の設定を参照してください。

proxy {
  host     = "10.9.4.13"
  port     = 8080
  user     = "anonymous"
  password = "P4ssword1234"
  non_proxyHosts = ["google.com"]
}
 
表 8. プロキシ設定
パラメーター 説明 タイプ
host バックエンド・サーバーがプロキシー・サーバーを使用してインターネットと通信する場合は、プロキシー・アドレスまたはホスト名を入力します。 ストリング
port 通信先のプロキシー・サーバーのポート。 int
user プロキシー・サーバーのユーザー名。 ストリング
password プロキシー・サーバーのパスワード。 ストリング
non_proxyHosts 特定のホストに対してプロキシをバイパスする設定。 複数のドメインを使用する場合は、カンマで区切ってください。例えば、["google.com","example.com"]のようにします。 ストリング

HSTS を有効にする

HTTP のStrict Transport Security( HSTS )をグローバルに有効にするには、ファイル settings.hcl のルートに次のフラグを追加してください:

hsts_enabled = true
 

REST API クライアントの生成

ローカル版「 API 」仕様の URL は、 https://{onpremhost}/docs/openapi (オンプレミス版リリース170以降)以下の通りです。 REST API クライアントの設定方法の詳細については、 Web REST API のドキュメントを参照してください。

既存の証明書の置き換え

既存の証明書を他の証明書に置き換えるには、以下のコマンドを使用して、 settings.hcl ファイル内の証明書ファイルへのパスを更新します。

cert {
...
}
 

次に、以下のコマンドを実行してシステムを更新します。

instana update -f /path/to/settings.hcl
 
cert {
  crt = "/mnt/cert/tls.crt"
  key = "/mnt/cert/tls.key"
}
 

Webhookまたはメール連携用のカスタム証明書

Instana が SMTP サーバーから提示された証明書を検証できない場合、次のような「 TLS 」エラーが表示されることがあります:

ERROR c.i.email.service.client.JavaMail - Mail could not be send due to an error
javax.mail.MessagingException: Could not convert socket to TLS
 

Instana のインストール環境を、カスタム証明書を使用してWebhookへデータを正常に送信できるように設定するには、JVM用の証明書が含まれたカスタム Java™ キーストア (jssecacerts) を指定してください。

Instana のインストールを設定するには、以下の手順を実行してください:

  1. JVM にある現在の $JAVA_HOME/lib/security/cacertsJVM キーストアをコピーしてください。

  2. JVM のkeytoolを使用して、以下のコマンドを実行し、このキーストアにカスタム証明書をインポートしてください:

    $JAVA_HOME/bin/keytool -importcert -file custom-crt.crt -alias instana.com -keystore cacerts -storepass changeit
     
  3. settings.hcl ファイルのルートに custom_keystore 構成キーを設定して、鍵ストアの絶対パスを追加します。

    custom_keystore="<path_to_javakeystore>"