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 ObservabilityAdvent Calendar 2024

Day 12

OTEL CollectorでMac上のInstana AgentのログをInstanaバックエンドへの取り込み

Posted at

はじめに

本記事では、Macマシン(M1チップ搭載)上でInstana Agentのログを収集し、OpenTelemetry Collectorを活用してInstanaバックエンドに送信する手順を解説します。

アーキテクチャ

image.png

実現ステップ

1. Instana Agentのダウンロードと展開

  1. Instana UIからMacOS用のAir-gapped(Archive)版Instana Agentをダウンロードします。
    Screenshot 2024-12-20 at 13.35.04.png

  2. ダウンロードしたアーカイブを展開します。

2. Agent側にInstana Backend関連情報の設定

以下のファイルを編集し、Instanaバックエンドのホスト、ポート、プロトコル、エージェントキーを設定します。

ファイル: /Users/userXXX/Downloads/installations/instana-agent_static/etc/instana/com.instana.agent.main.sender.Backend.cfg

host=ingress-XXXXX-saas.instana.io
port=443
protocol=HTTP/2
key=XXXXXXXXXXXXXXX

3. OpenTelemetry Collection Pluginの有効化

以下の設定を追加し、OpenTelemetry Collection Pluginを有効化します。

ファイル: /Users/userXXX/Downloads/installations/instana-agent_static/etc/instana/configuration.yaml

# OpenTelemetry Collector
com.instana.plugin.opentelemetry:
  enabled: true

4. OpenTelemetry Collector Contribのダウンロード

以下のコマンドを使用して、Opentelemetryの公式サイトからMac M1に対応したOpenTelemetry Collector Contribをダウンロードします。

curl -L https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.116.1/otelcol-contrib_0.116.1_darwin_arm64.tar.gz -o otelcol-contrib.tar.gz

補足情報:
OpenTelemetry Collectorには、Core(otelcol)とContrib(otelcol-contrib)の2つのバージョンがあります。Coreは最小限の基本機能を提供し、パフォーマンスに優れていますが、Contribは拡張機能が豊富で、ファイルログやシスログなど追加のReceiversやProcessorsをサポートしています。今回の場合に、Contribを利用することになります。

5. OpenTelemetry Collectorの設定

ダウンロードしたアーカイブを展開し、otelcol-contribバイナリと同じディレクトリに以下の内容でmac_config.yamlを作成します。

mac_config.yamlの例

receivers:
  filelog:
    include: [ "/Users/userXXX/Downloads/installations/instana-agent_static/data/log/agent.log" ]
    include_file_path: true
    include_file_name: true
    preserve_leading_whitespaces: true
    operators:
      - type: recombine
        combine_field: body
        is_first_entry: body matches "^[^\\s]"
        source_identifier: attributes["log.file.path"]

processors:
  transform/severity_parse:
    log_statements:
    - context: log
      statements:
      - set(severity_text, "Fatal") where IsMatch(body.string, ".*FATAL.*")
      - set(severity_text, "Error") where IsMatch(body.string, ".*ERROR.*")
      - set(severity_text, "Warn") where IsMatch(body.string, ".*WARN.*")
      - set(severity_text, "Info") where IsMatch(body.string, ".*INFO.*")
  batch: {}

exporters:
  otlp/instanaAgent:
    endpoint: "localhost:4317"
    tls:
      insecure: true

service:
  pipelines:
    logs:
      receivers: [filelog]
      processors: [transform/severity_parse, batch]
      exporters: [otlp/instanaAgent]

6. OpenTelemetry Collectorの起動

以下のコマンドを使用してOTEL Collectorを起動します。

./otelcol-contrib --config=./mac_config.yaml

7. Instana Agentの起動

Instana Agentのインストールディレクトリに移動し、以下のコマンドでAgentを起動します。

./start

ステータスを確認します。

./status

8. ポートの確認

以下のコマンドを使用してポート43174318がリッスンされているかを確認します。

% netstat -a | grep 4317
% netstat -a | grep 4318

9. Instana UIでエージェントの確認

Instana UIにアクセスし、Macのエージェントが検知されているか確認します。
Screenshot 2024-12-20 at 13.55.49.png

10. ログ収集の確認

Instana UIの「分析」→「ログ」画面で、エージェントログが収集されているか確認します。
Screenshot 2024-12-20 at 13.57.11.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?