MongoDB レシーバー

MongoDB のレシーバーは、golang の mongo ドライバを使って MongoDB インスタンスから統計情報を取得します。

MongoDB レシーバーは、Atlas が管理していない MongoDB サーバーを含む、スタンドアロンの MongoDB クラスターからメトリクスをフェッチします。サポートされているパイプラインのタイプは metrics です。詳細については「パイプラインでデータを処理する」を参照してください。

レシーバーは MongoDB の dbStatsserverStatus コマンドで統計情報を収集し、golang の mongo ドライバを使います。詳細については「Mongo Go driver documentation」を参照してください。

注: 非推奨のSignalFx Smart Agent mongodb モニタータイプの代わりに MongoDBレシーバーを使用します。

前提条件

MongoDB レシーバーは MongoDB バージョン 4.0+、5.0、6.0、7.0 をサポートしています。

MongoDB では、clusterMonitor ロールを持つ最小権限ユーザー (LPU) を設定してメトリクスを収集することを推奨しています。

  • MongoDB のロールについては「MongoDB built-in roles」を参照してください。

  • これらのアクセス許可の設定方法の例については、「lpu.sh」を参照してください。

注: MongoDB で自動検出を使っている場合は「Automatic discovery for MongoDB」を参照してください。

はじめに

以下の手順に従って、コンポーネントの設定とアクティベーションを行ってください:

  1. Splunk Distribution of the OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします:

  2. 次のセクションで説明するようにレシーバーを設定します。

  3. Collector を再起動します。

サンプル構成

MongoDBレシーバーを有効にするには、次の例のように、設定ファイルの mongodb セクションに receivers を追加します:

YAML
receivers:
  mongodb:
    hosts:
      - endpoint: localhost:27017
    username: otel
    password: ${env:MONGODB_PASSWORD}
    collection_interval: 60s
    initial_delay: 1s
    tls:
      insecure: true
      insecure_skip_verify: true

設定を完了するには、構成ファイルの service セクションの metrics パイプラインにレシーバーを含めます。例:

YAML
service:
  pipelines:
    metrics:
      receivers: [mongodb]

設定オプション

以下の設定はオプションです:

  • hosts。デフォルトでは [localhost:27017] です。host:port または Unix ドメイン ソケット エンドポイントのリスト。transport オプションが使用できなくなりました。

    • スタンドアロンの MongoDB デプロイの場合は、これは mongod インスタンスのホスト名とポート番号です。

    • レプリカセットの場合は、レプリカセット設定にある mongod インスタンスのホスト名とポートを指定します。replica_set フィールドを指定すると、ノードは自動検出されます。

    • シャーディングされた MongoDB デプロイの場合、mongos ホストのリストを指定します。

  • username:認証が必要な場合は、clusterMonitor のアクセス許可をここに入力します。

  • password:認証が必要な場合は、ここにパスワードを入力してください。

  • collection_interval。デフォルトでは 1m です。このレシーバーは、一定の間隔でメトリクスを収集します。有効な時間単位は nsusµs )、mssmh です。この値は、Golang の time parseDuration で読み取り可能な文字列である必要があります。詳細については「ParseDuration」を参照してください。

  • initial_delay。デフォルトでは 1s です。このレシーバーが開始するまでの待ち時間を定義します。

  • replica_set:MongoDBのデプロイがレプリカセットの場合は、レプリカセット名を指定します。レプリカセット内の他のノードを自動ディスカバリーできるようになります。

  • timeout。デフォルトでは 1m です。mongo に対してコマンドを実行する際のタイムアウト。

  • tls:TLS 制御。デフォルトでは、安全でない設定は拒否され、証明書の検証はオンになっています。詳しくは 「TLS Configuration Settings」を参照してください。

  • direct_connectionします。true の場合、ドライバは他のノードを自動検出しようとせず、代わりにホストへの直接接続を実行します。

設定

次の表にMongoDBレシーバーの設定オプションを示します:

同梱

https://raw.githubusercontent.com/splunk/collector-config-tools/main/cfg-metadata/receiver/mongodb.yaml

メトリクス

以下のメトリクス、リソース属性、および属性が使用できます。

同梱

https://raw.githubusercontent.com/splunk/collector-config-tools/main/metric-metadata/mongodbreceiver.yaml

  • mongodb.extent.count は、mmapv1 ストレージエンジンを搭載した 4.4 未満のバージョンで利用可能です。

特定のメトリクスをアクティブまたは非アクティブにする

各メトリクスの metrics セクションの enabled フィールドを設定することで、特定のメトリクスをアクティブまたは非アクティブにできます。例:

YAML
receivers:
  samplereceiver:
    metrics:
      metric-one:
        enabled: true
      metric-two:
        enabled: false

以下は、アクティブ化されたメトリクスを持つホスト・メトリクス・レシーバーの構成例です:

YAML
receivers:
  hostmetrics:
    scrapers:
      process:
        metrics:
          process.cpu.utilization:
            enabled: true
注: 非アクティブ化されたメトリックは Splunk Observability Cloud に送信されません。
請求
  • MTS ベースのサブスクリプションの場合、すべてのメトリックがメトリックの使用にカウントされます。

  • ホストベースのプランを使用している場合、このドキュメントでアクティブ(アクティブ:はい)としてリストされているメトリックはデフォルトと見なされ、無料で含まれています。

詳細については、「Infrastructure Monitoringのサブスクリプション使用状況(ホストとメトリクスのプラン)」を参照してください。

トラブルシューティング

If you are a Splunk Observability Cloud customer and are not able to see your data in Splunk Observability Cloud, you can get help in the following ways.

Available to Splunk Observability Cloud customers

Available to prospective customers and free trial users

  • Ask a question and get answers through community support at Splunk Answers.

  • Join the Splunk community #observability Slack channel to communicate with customers, partners, and Splunk employees worldwide.