Skip to content
Cloud8 Logo
  • PRODUCT
  • PRICING
  • SUPPORT
  • CONTACT US
  • LOGIN
  • PRODUCT
  • PRICING
  • SUPPORT
  • CONTACT US
  • LOGIN

Best Practices

  • Best Practices: Custom Rule Notifications via AWS S3
  • Best Practices: Microsoft Teams Support
  • Best Practices: Password and Credential Monitoring
  • AWS Bucket S3 Topic Notification
  • How to integrate Slack into Best Practices
  • How to monitor memory and swap with SSM

Charging

  • AWS account suspension: tips and what to do

Concepts

  • Cloud Control Panel – AWS, Azure, GCP, Huawei and Oracle
  • Cloud server image or template
  • Cost model: pay per use
  • FINOPS: Data Integration and Enhancement Flow (Infographic)
  • Difference between RI Applied vs RI in Cloud8 Panel
  • Security groups
  • Access key
  • Snapshot
  • Additional disks
  • Cloud Computing
  • Comparison: Automation via Cloud8 vs “homemade” automation

Credentials

  • Connecting OCI Providers to Cloud8 – Full Tutorial
  • Best Practices: Enabling user monitoring in Azure
  • Multi-Factor Authentication (MFA) with Cloud8 Panel
  • How to integrate SSO with Azure AD
  • Security credentials for public clouds
  • How to use IAM Role to integrate your security with Cloud8
  • Using Cloud8 with a custom AWS security credential
  • Credential for Huawei Cloud

First Steps

  • Connecting OCI Providers to Cloud8 – Full Tutorial
  • Connecting AWS Providers to Cloud8 – Full Tutorial
  • Onboarding: getting started on Cloud8
  • Cloud8 Users and Profiles
  • How to create an Azure credential to integrate with Cloud8
  • Creating a new Amazon AWS account
  • How to associate your Amazon AWS account with Cloud8
  • Hot to enable cloud cost estimates monitoring
  • How to manage more than one AWS account
  • How to create a GCP Credential to integrate with Cloud8
  • Creating a New Account on Amazon Cloud (AWS)

MSP / Reseller

  • MSP: Configuring markup
  • White label at no additional cost
  • MSP: Configuring costs

Services

  • S3 Lambda Notification Processor (deploy via CLI)
  • Exporting data to Azure Storage Account
  • FinOps: Cost Anomaly Reports and Charts
  • FinOps: Reports, Alerts and Budgets
  • FinOps: Tagged / Untagged
  • FinOps: Tag Sanitization, Compliance and MultiCloud
  • FinOps: Tag Sharing and Prorating
  • FinOps: Reverse API
  • Exporting data to AWS S3 (Bucket)
  • Cloud Task Automations
  • Automated backup of cloud servers
  • How to install the Metricbeat component in OKE
  • How to install Metricbeat component on EKS
  • How to install Metricbeat component on GKE clusters
  • How to install Metricbeat component on AKS
  • GCP Storage Integration
  • How to enable support for ECS / EKS shared costs
  • RDS reports with grouping by ID
  • Add TAGs with CSV file
  • Kubernetes Cost Support
  • Detailed Costs Report
  • Workflow: How to reset tasks periodically
  • How to integrate SSO with Azure AD
  • Cloud aggregator control panel
  • Multiple Users – Multiuser Panel
  • Cloud cost control, alerts and reports
  • Cloud usage statistics
  • Alerts
  • Managers on Cloud8 – Resource management on AWS, Azure and GCP
  • Audit logs
  • ECS / Fargate support on Workflow

Troubleshooting

  • I exported the cloud server usage report. What do the fields mean?
  • I subscribed Amazon and I still can’t access Cloud8
  • How is the cloud cost estimate calculated?
  • I created a security group through the AWS console and it still doesn’t appear in Cloud8
  • Cloud8 and Amazon don’t monitor my cloud server’s memory?
  • Using Cloud8 with a custom AWS security credential

Tutorials

  • S3 Lambda Notification Processor (deploy via CLI)
  • Best Practices: Microsoft Teams Support
  • FinOps: Cost Anomaly Reports and Charts
  • FinOps: Tagged / Untagged
  • FinOps: Tag Sanitization, Compliance and MultiCloud
  • Group data in Pivot Table
  • How to install the Metricbeat component in OKE
  • How to install Metricbeat component on EKS
  • How to install Metricbeat component on GKE clusters
  • How to install Metricbeat component on AKS
  • Workflow: How to reset tasks periodically
  • How to integrate SSO with Azure AD
  • How to configure the Scheduler for script execution on OCI
  • How to access a Windows server in the Amazon AWS cloud
  • How to access a Linux server
  • How to create a cloud server
  • How to configure scheduling for script execution in AWS
  • How to configure scheduling by Tags / Labels
  • Configure vault copy at AWS (cross account) with KMS
  • How to integrate Slack into Best Practices
View Categories
  • Home
  • Docs
  • Best Practices

AWS Bucket S3 Topic Notification

6 min read

AWS S3 Bucket topic notification integration is possible within the Cloud8 Platform. Just follow the steps below:

1. Registering integration with AWS Bucket S3 #

Cloud8 Registering integration with AWS Bucket S3
  • First find the Integrations option in the side menu, and click on the New Integration option.
  • In the Type field , select the S3 Bucket option
  • Fill in the remaining fields according to the bucket access and credentials settings for the integration.

2. New Notification with S3 in Best Practices #

After registering an integration of the “S3 Bucket” type, in “Integrations” on the platform, a
synchronization will be made with Best Practices. With this, it will be possible to view a new “S3” type notification in Best Practices, as shown below:

  • In the Cloud8 Dashboard, access the Best Practices tab
  • Within Best Practices , click on the “ Global Notifications ” button
  • Select the “ Configure Notifications ” tab. The integrated S3 notification will be listed with the name.

NOTE : Since it is synchronized, it will not be possible to edit or delete the registration. To do this, use the “Integrations” screen within the Cloud8 platform.

Cloud8 New Notification with S3 in Best Practices

3. Setting up Notification with S3 in Reporting Settings in Best Practices #

  • Accessing the Best Practices tab, click on the Reports button , then select the Settings tab ;
  • In the “ Notification ” field , select the notification registered in Step 1 ;
  • Select the desired “ Scheduler ” for this configuration;
  • Provider selection is optional;
  • Choose the format in which you want to generate the report: PDF (default) or JSON;
  • Set the level of detail of the report in the “ Version “ field. The default version is “detailed”;
  • To finish your registration, just save.
Cloud8 Setting up Notification with S3 in Reporting Settings in Best Practices

When selecting a Provider, you can set its name as Prefix Type. Or you can select Custom and define a prefix as you like.

From this point on, Best Practices will upload the files as the reports are generated (both in PDF and JSON). Below we have an example of the S3 Bucket registered above, and with the report files.

Cloud8 example of the S3 Bucket registered above, and with the report files

If you set a Prefix, your files appears as bellow:

Cloud8 Cloud8 example of the S3 Bucket registered with prefixes, and with the report files

4. Best Practices Report Integration (JSON/DETAILED) #

JSON format structure #

providers: #

List of providers for the generated report. Each item in the list has two fields:

  • id : AWS or Azure provider identifier
  • name : name of the AWS or Azure provider

Example :

"providers": [
  {
    "id": "xxxxxxxxxxxx",
    "name": "Provedor 1 (AWS)"
  },
  {
    "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "name": "Provedor 2 (Azure)"
  }
]

reports: #

List of rules, results, settings, and unmonitored items that make up the report. Each item in the list has the following fields:

  • category : rule category
  • product : name of the cloud provider’s product/service (AWS or Azure)
  • id : rule identifier
  • rule : rule name
  • description : rule description
  • instant : date and time of execution in milliseconds
  • headers : name of the columns in the results table

Example :

{
  "category": "Cost Savings",
  "product": "RDS - Database",
  "id": "OLD_DATABASE_SNAPSHOTS",
  "rule": "[Unused Resource] Old Database Snapshots",
  "instant": 1643120438000,
  "headers": [
    "Region",
    "Snapshot",
    "Name",
    "Days"
  ]
...

results: #

List of items that make up the results table, with the following fields:

  • provider : provider identifier (same id as the providers field detailed above)
  • results : results table, which contains the fields:
    • columns : result items (follow the order of the columns defined in headers)
    • kind : severity identifier of the provider line, with the worst result for it, which can be:
      • DANGER : critical
      • WARN : alert
      • INFO : suggestion
      • SUCCESS: sucesso
      • CREDENTIAL_ISSUE : Issues with provider credentials

Example :

"results": [
  {
    "provider": "xxxxxxxxxxxx",
    "results": [
      {
        "columns": [
          "us-east-1",
          "arn:aws:rds:us-east-1:xxxxxxxxxxxx:snapshot:public-database-snapshot",
          "public-database-snapshot",
          "272"
        ],
        "kind": "WARN"
      }
    ]
  }
],
...

conditions: #

List of filter settings in the rule, containing the following fields:

  • name : filter name
  • option : name of the field to filter the result
  • operation : operator that will be used when filtering the result
  • value : value that will be filtered in the result

Example :

"conditions": [
  {
    "name": "Manual snapshots older than 180 days",
    "option": "DatabaseSnapshot.name",
    "operation": "=",
    "value": "public-database-snapshot"
  },
  {
    "name": "Manual snapshots older than 180 days",
    "option": "DatabaseSnapshot.days",
    "operation": ">=",
    "value": "180"
  }
]
...

excludes: #

List of user-selected items that will not be monitored in the rule:

  • comments : item comment
  • providers : list of providers and items that will not be monitored, which contains the following fields:
    • provider : provider identifier
    • excludes : list of unmonitored items, which contains the fields:
    • columns : result items (follow the order of the columns defined in headers)

Example :

"excludes": [
  {
    "comments": "não monitorar este item",
    "providers": [
      {
        "provider": "xxxxxxxxxxxx",
        "excludes": [
          {
            "columns": [
              "us-east-1",
              "arn:aws:rds:us-east-1:xxxxxxxxxxxx:snapshot:public-database-snapshot",
              "public-database-snapshot",
              "273"
            ]
          }
        ]
      }
    ]
  }
],
...

kind: #

Rule severity identifier, with the worst result for it, which can be:

  • DANGER : critical
  • WARN : alert
  • INFO : suggestion
  • SUCCESS: sucesso
  • CREDENTIAL_ISSUE : Issues with provider credentials

Name of the generated file #

The generated files follow the following naming pattern:

  • Customer code
  • User code
  • Report configuration code
  • Generation date and time (format YYYY_MM_DDTHH_MM_SSZ)
  • File extension (.pdf or .json format)

Example :

report_1_31_1144_2022_01_26T12_11_02Z

Being :

report_[código cliente]_[código do usuário]_[código configuração do relatório]_[YYYY_MM_DDTHH_MM_SSZ]

NOTE : Each generated file is unique, and is not overwritten.

5. Best Practices Report Integration (JSON/SUMMARIZED) #

JSON format structure #

providers: #

List of providers for the generated report. Each item in the list has two fields:

  • id : AWS or Azure provider identifier
  • name : name of the AWS or Azure provider

Example :

"providers": [
  {
    "id": "xxxxxxxxxxxx",
    "name": "Provedor 1 (aws)"
  },
  {
    "id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "name": "Provedor 2 (azure)"
  }
]

reports: #

List of rules, results, settings, and unmonitored items that make up the report. Each item in the list has the following fields:

  • category : rule category
  • product : name of the cloud provider’s product/service (AWS or Azure)
  • id : rule identifier
  • rule : rule name
  • instant : date and time of execution in milliseconds
  • monthlySavings : estimated total savings (where applicable)
  • headers : fixed “Affected entries” – column with quantity of reported items

Example :

{
  {
    "category": "Cost Savings",
    "product": "EC2 / Virtual Machines - Compute",
    "level": "Improvement",
    "id": "COMPUTE_OPTIMIZER_EC2_INSTANCES_RECOMMENDATIONS",
    "rule": "Compute Optimizer recommendations for EC2 instances",
    "instant": 1672455600000,
    "monthlySavings": "$0.88",
    "headers": [
      "Affected entries"
    ],
...

results: #

List of items that make up the results table, with the following fields:

  • provider : provider identifier (same id as the providers field detailed above)
  • results : results table, which contains the fields:
    • columns : quantity of items reported

Example :

"results": [
  {
    "provider": "xxxxxxxxxxxx",
    "results": [
      {
        "columns": [
          2
        ]
      }
    ]
  }
]
...

Name of the generated file #

The files generated with the summarized version follow the following naming pattern:

  • Customer code
  • User code
  • Report configuration code
  • Report version (summarized)
  • Generation date and time (format YYYY_MM_DDTHH_MM_SSZ)
  • File extension (.pdf or .json format)

Example :

report_1_31_1144_summarized_2022_01_26T12_11_02Z

Being :

report_[código cliente]_[código do usuário]_[código configuração do relatório]_summarized_[YYYY_MM_DDTHH_MM_SSZ]

NOTE : Each generated file is unique, and is not overwritten.


You may want to check these Docs too: #

  • Best Practices: Custom Rule Notifications via AWS S3
  • Best Practices: Microsoft Teams Support
  • Best Practices: Password and Credential Monitoring
  • How to monitor memory and swap with SSM
  • How to integrate Slack into Best Practices
Amazon, AWS, bucket, Integration, notification, S3 Bucket
Did this Doc help you?

Share This Article:

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Table of Contents
  • 1. Registering integration with AWS Bucket S3
  • 2. New Notification with S3 in Best Practices
  • 3. Setting up Notification with S3 in Reporting Settings in Best Practices
  • 4. Best Practices Report Integration (JSON/DETAILED)
    • JSON format structure
      • providers:
      • reports:
      • results:
      • conditions:
      • excludes:
      • kind:
    • Name of the generated file
  • 5. Best Practices Report Integration (JSON/SUMMARIZED)
    • JSON format structure
      • providers:
      • reports:
      • results:
    • Name of the generated file
Cloud8 Logo
  • Terms of Use
  • About Us
  • FAQ / Support
  • Blog
  • Contact Us
  • Cookies (EU)
  • Terms of Use
  • About Us
  • FAQ / Support
  • Blog
  • Contact Us
  • Cookies (EU)
Globe-americas Facebook Twitter Linkedin Youtube

Disclaimer: AWS, images, and associated services are property of Amazon Web Services Inc. and its affiliates. Azure, images, and associated services are property of Microsoft Corporation. GCP, images, and associated services are property of Google Inc. Huawei, images, and associated services are property of Huawei Technologies Co Ltd. Oracle, images, and associated services are property of Oracle Corporation. Cloud8 Brasil em Português.

Manoel Netto Designer
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
View preferences
{title} {title} {title}