/cloudzero-azure-insights

This project integrates Azure Advisor with CloudZero, allowing Azure Advisor cost recommendations to be extracted, converted to CloudZero insights, and uploaded to CloudZero effectively.

Primary LanguagePythonApache License 2.0Apache-2.0

CloudZero and Azure Advisor Integration Project

Contributor Covenant License GitHub release

This project integrates Azure Advisor with CloudZero, allowing Azure Advisor cost recommendations to be extracted, converted to CloudZero insights, and uploaded to CloudZero effectively.

Note: This application does not operate on a scheduled basis. Each time you execute the application, it retrieves cost recommendations from Azure Advisor and only uploads the ones that are currently not present in CloudZero.

Table of Contents

Make sure this is updated based on the sections included:

Installation

Prerequisites

  • Docker
  • Azure account with appropriate permissions
  • CloudZero account

Setting up Environment Variables

Create a .env file in the project root directory and populate it with the following environment variables:

AZURE_CLIENT_ID=your_azure_client_id
AZURE_CLIENT_SECRET=your_azure_client_secret
AZURE_TENANT_ID=your_azure_tenant_id
CLOUDZERO_API_KEY=your_cloudzero_api_key

Building the Docker Image

To build the Docker image, run the following command in the project root directory:

make build

This command builds a Docker image named azure-cloudzero-integration based on the Dockerfile in your project.

Getting Started

Running the Container

To transmit Azure recommendations to CloudZero Insights, use the following command:

make run-transmit

To export Azure recommendations to a CSV file, use the following command:

make run-export

To do both, use the following command:

make run-both

This command starts a container instance of azure-cloudzero-integration, using the environment variables defined in the .env file.

Logging

The application logs are configured to provide detailed information about the process and any errors that occur. Check the container logs for debugging and monitoring the application:

make logs CONTAINER_ID=<container_id>

Replace <container_id> with the actual ID of your running container.

Support + Feedback

  • Use Github Issues for code-level support
  • Contact support@cloudzero.com for usage, questions, specific cases
  • Link to other support forums and FAQs

Vulnerability Reporting

Please do not report security vulnerabilities on the public GitHub issue tracker. Email security@cloudzero.com instead.

Contribution

We appreciate feedback and contribution to this template! Before you get started, please see the following:

Thank You!

A big thank you to all of our sources of inspiration!

... and many more!

What is CloudZero?

CloudZero is the only cloud cost intelligence platform that puts engineering in control by connecting technical decisions to business results.:

  • Cost Allocation And Tagging Organize and allocate cloud spend in new ways, increase tagging coverage, or work on showback.
  • Kubernetes Cost Visibility Understand your Kubernetes spend alongside total spend across containerized and non-containerized environments.
  • FinOps And Financial Reporting Operationalize reporting on metrics such as cost per customer, COGS, gross margin. Forecast spend, reconcile invoices and easily investigate variance.
  • Engineering Accountability Foster a cost-conscious culture, where engineers understand spend, proactively consider cost, and get immediate feedback with fewer interruptions and faster and more efficient innovation.
  • Optimization And Reducing Waste Focus on immediately reducing spend by understanding where we have waste, inefficiencies, and discounting opportunities.

Learn more about CloudZero on our website www.cloudzero.com

License

This repo is covered under the Apache 2.0.