MongoDB レシーバー
MongoDB のレシーバーは、golang の mongo ドライバを使って MongoDB インスタンスから統計情報を取得します。
MongoDB レシーバーは、Atlas が管理していない MongoDB サーバーを含む、スタンドアロンの MongoDB クラスターからメトリクスをフェッチします。サポートされているパイプラインのタイプは metrics です。詳細については「パイプラインでデータを処理する」を参照してください。
レシーバーは MongoDB の dbStats と serverStatus コマンドで統計情報を収集し、golang の mongo ドライバを使います。詳細については「Mongo Go driver documentation」を参照してください。
mongodb モニタータイプの代わりに MongoDBレシーバーを使用します。前提条件
MongoDB レシーバーは MongoDB バージョン 4.0+、5.0、6.0、7.0 をサポートしています。
MongoDB では、clusterMonitor ロールを持つ最小権限ユーザー (LPU) を設定してメトリクスを収集することを推奨しています。
-
MongoDB のロールについては「MongoDB built-in roles」を参照してください。
-
これらのアクセス許可の設定方法の例については、「lpu.sh」を参照してください。
はじめに
以下の手順に従って、コンポーネントの設定とアクティベーションを行ってください:
-
Splunk Distribution of the OpenTelemetry Collector をホストまたはコンテナプラットフォームにデプロイします:
-
次のセクションで説明するようにレシーバーを設定します。
-
Collector を再起動します。
サンプル構成
MongoDBレシーバーを有効にするには、次の例のように、設定ファイルの mongodb セクションに receivers を追加します:
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 パイプラインにレシーバーを含めます。例:
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です。このレシーバーは、一定の間隔でメトリクスを収集します。有効な時間単位はns、us(µs)、ms、s、m、hです。この値は、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 フィールドを設定することで、特定のメトリクスをアクティブまたは非アクティブにできます。例:
receivers:
samplereceiver:
metrics:
metric-one:
enabled: true
metric-two:
enabled: false
以下は、アクティブ化されたメトリクスを持つホスト・メトリクス・レシーバーの構成例です:
receivers:
hostmetrics:
scrapers:
process:
metrics:
process.cpu.utilization:
enabled: true
-
MTS ベースのサブスクリプションの場合、すべてのメトリックがメトリックの使用にカウントされます。
-
ホストベースのプランを使用している場合、このドキュメントでアクティブ(アクティブ:はい)としてリストされているメトリックはデフォルトと見なされ、無料で含まれています。
詳細については、「Infrastructure Monitoringのサブスクリプション使用状況(ホストとメトリクスのプラン)」を参照してください。
トラブルシューティング
__ ___ ___ _ ______ _____________ _____ ________ ___ ___ ___ ____ __ ___ ____ ____ __ ______ _____________ ______ ___ ___ ___ ____ __ ___ _________ _____
_________ __ ______ _____________ _____ _________
-
______ _ ____ __ ___ ______ _______ _______
-
_______ ______ ________
_________ __ ___________ _________ ___ ____ _____ _____
-
___ _ ________ ___ ___ _______ _______ _________ _______ __ ______ ________
-
____ ___ ______ ______________ ____ _____ _____ _______ __ ___________ ____ __________ _________ ___ ______ _________ __________ __ _____ ___ ____ _______