1. Guides
  2. Share observability report

Generate and distribute the report to external platforms by using the command edr send-report. You can specify more than one platform in the command, and the report will be sent to all. All arguments can be passed either as CLI arguments or in the config.yml file.

Slack

After you set up a Slack app and token you can run the command:

edr send-report --slack-token <SLACK_TOKEN> --slack-channel-name <CHANNEL_NAME>

You can control the name of the report by providing --slack-file-name <REPORT_NAME> to the edr send-report command. Make sure the report name you provided ends with .html.

Configuration

If you prefer to use config.yml file, you can add the following configuration instead of the CLI arguments:

slack:
  token: [Slack token]
  channel_name: [Slack channel]

Amazon S3

The prerequisites are to have AWS access keys and an S3 bucket.

If you already have a ~/.aws/credentials file, you can run the command and provide only the profile name and the bucket’s name:

edr send-report --aws-profile-name <AWS_PROFILE> --s3-bucket-name <BUCKET_NAME>

Alternatively, you can pass the access key ID and secret access key:

edr send-report --aws-access-key-id <ACCESS_KEY_ID> --aws-secret-access-key <SECRET_ACCESS_KEY> --s3-bucket-name <BUCKET_NAME>

You can control the location of the report in the bucket by providing --bucket-file-path <REPORT_PATH> to the edr send-report command. Make sure the report’s file name ends with .html.

Hosting the report as a website

You can host the report as the bucket’s website so that you can browse to it with a constant URL like https://<Elementary-Report-Bucket>.s3-website.<Region>.amazonaws.com. In order to do that, you’ll need to complete steps 1-4 on the configure a website on the bucket guide. After you’ve completed it, pass --update-bucket-website true to send-report in order to update the main page of the bucket’s website.

Configuration

If you prefer to use config.yml file, you can add the following configuration instead of the CLI arguments:

aws:
  profile_name: [AWS profile name]
  s3_bucket_name: [S3 bucket name]

update_bucket_website: [true | false]

Google Cloud Storage (GCS)

The prerequisite is to have a GCS bucket.
Once you have it, you’ll need to provide one of two ways to authenticate:

you can send the report to your GCS bucket by running the command:

edr send-report --google-service-account-path <SERVICE_ACCOUNT_PATH> --gcs-bucket-name <BUCKET_NAME>

OAuth using gcloud

If you’re using OAuth with gcloud, simply omit --google-service-account-path:

edr send-report --gcs-bucket-name <BUCKET_NAME>

You can control the location of the report in the bucket by providing --bucket-file-path <REPORT_PATH> to the edr send-report command. Make sure the report’s file name ends with .html.

Hosting the report as a website

You can host the report as the bucket’s website so that you can browse to it with a constant URL like https://storage.googleapis.com/<Elementary-Report-Bucket>/index.html. Here’s an example. In order to do that, pass --update-bucket-website true to send-report in order to update the index.html file in the bucket.

Note: You might want to limit or grant access to your reports bucket to certain users.

Configuration

If you prefer to use config.yml file, you can add the following configuration instead of the CLI arguments:

google:
  service_account_path: [Google service account path]
  gcs_bucket_name: [GCS bucket name]

update_bucket_website: [true | false]

Missing something?

Want to share the report with a different method or consult on deployment? Reach out to us on Slack.