ftdc

Crates.ioftdc
lib.rsftdc
version0.1.4
sourcesrc
created_at2021-11-06 17:10:37.972422
updated_at2023-09-07 18:18:41.895451
descriptionCrate to download ftdc data for mongodb clusters.
homepage
repositoryhttps://github.com/maoertel/mongodb-ftdc
max_upload_size
id477729
size75,884
Mathias Oertel (maoertel)

documentation

https://docs.rs/ftdc

README

Download mongodb FTDC data

Lib crate to enable your application to download Full Time Diagnostic Data Capture (FTDC) data from mongodb clusters to investigate deeper (e.g. keyhole).

Usage

To download FTDC data from a mongodb cluster you need to provide some input to the CLI:

  1. Group key: The group key (or: project id) the respective cluster belongs too. It is encoded into the link you get from atlas when selecting the specific cluster on Atlas UI (e.g.cloud.mongodb.com/v2/{group key}/clusters)
  2. Replicaset name: The name of the replica set the data should be loaded from. You can either provide the direct targeted replica set name (e.g. atlas-<something>-shard-0) or the name of the shard (e.g some-name-shard-00). Do not forget the number here as it qualifies the shard in case you want data from a sharded cluster. For a standalone replica set it is 00 but lets say for a sharded cluster with 3 shards it would be 00, 01, 02.
  3. API key: You need to have a valid API key for at least the cluster you want to download FTDC data from.
use error::Error;
use reqwest::Client;
use service::{FtdcDataService, FtdcLoader};

#[tokio::main]
async fn main() -> Result<(), Error> {
  let group_key = "...";
  let replica_set_name = "...";
  let size = 10_000_000
  let public = "...";
  let private = "...";

  let service = FtdcDataService { client: Client::new() };

  service
    .get_ftdc_data(
      group_key,
      replica_set_name,
      size,
      public,
      private,
    )
    .await
    .map(|download_path| println!("Downloaded to: `{download_path}`"))
}

The data is downloaded to the current directory the application was executed in as a *.tar.gz file.

Commit count: 29

cargo fmt