LogoLogo
Contact Us
  • Finout Documentation
  • Get Started with Finout
    • Introduction to Finout's Suite of Features
    • Onboarding New Users to Your Finout Account
    • Single Sign-On (SSO) Setup
    • Enterprise Discount Program (EDP)
    • Cost and Usage Types
      • FairShare Cost
      • List Cost
  • Integrations
    • Cloud Services
      • Connect to AWS
      • Connect to Azure
      • Connect to Oracle
      • Connect to GCP
    • Third Party
      • Connect to Confluent
      • Connect to Databricks
      • Connect to Snowflake
      • Connect to Jira
      • Connect to Datadog
        • Datadog API Cost Calculation
        • Datadog Integration Levels
        • Datadog Usage Attribution Tags (UAT)
      • Connect to Microsoft Teams
      • Connect to ServiceNow
      • Custom Cost Centers
      • Credentials Vault
    • Telemetry
      • S3 Telemetry Integration
      • Setting Up a Datadog - Finout Metrics Integration (Export)
      • MegaBill Telemetry
    • Kubernetes
      • Connect to Kubernetes Prometheus
      • Kubernetes - How Finout Calculates K8s Costs
      • Kubernetes MegaBill
      • Kubernetes Budgeting
      • Kubernetes Anomaly Detection
      • Kubernetes Custom Dashboards
      • Kubernetes Predefined Dashboards
      • Ensure Compatibility of Your Kubernetes Monitoring with Finout
  • User Guide
    • Inform
      • MegaBill
      • Custom Drilldown
      • Custom Cost Input
      • Virtual Tags
        • Relational Virtual Tags
      • Shared Cost Reallocation
        • How to Use Shared Cost Reallocation
      • FinOps Dashboards
      • Financial Plans
      • Data Explorer
    • Optimize
      • My Commitments
      • Commitments Log
      • Anomalies
      • CostGuard
        • CostGuard - Scans
        • Connect CostGuard for AWS
        • Connect CostGuard for GCP
    • Operate
      • Reports
      • Tag Governance
  • Configuration
    • Finout API
      • Generate an API Token
      • Filter Object Definition
      • Cost API
      • Query Language API
      • Virtual Tags API
      • CostGuard API
      • Endpoint API
      • Virtual Tag Metadata API
    • Role-Based Access Control (RBAC)
      • Role Permissions
      • Managing Roles
        • Creating a Custom Role
        • Permissions List
        • Managing a Role and its Permissions
      • Managing Users
        • Inviting a User
        • Edit a User's Roles
      • Data Access Control
      • Groups
        • Create a New Group
        • Edit Group Data Access
        • Delete a group
        • Edit Group Users and SAML Groups
      • RBAC FAQs
    • Endpoints
      • Slack Notification Endpoint
  • Common Features
    • List of Common Features
      • ACL Permissions
      • Saved Views
Powered by GitBook

Still need help? Please feel free to reach out to our team at support@finout.io.

On this page

Was this helpful?

Export as PDF
  1. Integrations
  2. Kubernetes

Ensure Compatibility of Your Kubernetes Monitoring with Finout

PreviousKubernetes Predefined DashboardsNextInform

Last updated 3 months ago

Was this helpful?

For DevOps teams looking to confirm their Kubernetes monitoring setup works seamlessly with Finout, this concise guide provides the essentials. Learn how to leverage Finout's cronjob support across Prometheus-compatible systems, ensuring your monitoring solution is fully compatible and optimized for use with Finout. This straightforward approach aims to equip DevOps professionals with the knowledge needed to validate their exporter's functionality swiftly.

Before you begin, ensure you have the following prerequisites in place:

  • Prometheus-compatible system: Your metrics collection system must be compatible with Prometheus. This includes systems such as VictoriaMetrics, Thanos, Cortex, and M3, among others. These systems must support PromQL queries for integration.

  • Kubernetes cluster: You need an operational Kubernetes cluster where you can deploy the Finout Cronjob.

  • Connect to Kubernetes Prometheus: Refer to the for detailed instructions on setting up the Kubernetes Prometheus integration.

  • Environment variables: Ensure you have the necessary environment variables configured for connectivity. These include SCHEME, HOSTNAME, PORT, PROMETHEUS_USERNAME, PROMETHEUS_PASSWORD, and optionally, PROMETHEUS_AUTH_TOKEN, PROMETHEUS_BEARER_AUTH_TOKEN, and PROMETHEUS_X_SCOPE_ORGID.

Integration Steps

  1. Validate metrics export: Ensure that your system exports the correct metrics to Finout. Validate the following queries in your system:

    • Memory Usage (V2 or Standard):

      • For Memory Usage V2:

        - name: memory_usage_v2
         query: sum without (instance) (label_replace(sum(container_memory_working_set_bytes{pod!="", container!="",container!="POD", instance!=""}) by (instance, namespace, pod, container, %%%cluster_label), "node", "$1", "instance", "(.+)"))
      • For Standard Memory Usage:

        - name: memory_usage
        query: sum(node_namespace_pod_container:container_memory_working_set_bytes{pod!="", containeč!="",container!="POD", instance!=""}) by (node, namespace, pod, container, %%%cluster_label)
    • CPU Usage (V2 or Standard):

      • For CPU Usage V2:

        - name: cpu_usage_v2
        query: sum without (instance) (label_replace( sum(rate(container_cpu_usage_seconds_total{pod!="", container!="", container!="POD", instance!=""}[1m])) by (instance, namespace, pod, container, %%%cluster_label), "node", "$1", "instance", "(.+)"))
      • For Standard CPU Usage:

        - name: cpu_usage
        query: sum(rate(container_cpu_usage_seconds_total{pod!="", container!="", container!="POD", instance!=""}[1m])) by (node, namespace, pod, container,%%%cluster_label)
    • Network Usage (V2 or Standard):

      • Bytes Received and Transmitted:

        • For V2:

          - name: bytes_received_v2
          query: sum without (instance) (label_replace(sum(rate(container_network_receive_bytes_total{pod!="", instance!=""}[5m])) by (instance, namespace, pod, container, %%%cluster_label), "node", "$1", "instance", "(.+)"))
          - name: bytes_transmitted_v2
          query: sum without (instance) (label_replace(sum(rate(container_network_transmit_bytes_total{pod!="", instance!=""}[5m])) by (instance, namespace, pod, container, %%%cluster_label), "node", "$1", "instance", "(.+)"))
        • For standard Bytes Received and Transmitted:

          - name: bytes_received
          query: sum(rate(container_network_receive_bytes_total{pod!="", instance!=""}[1m])) by (node, namespace, pod, container, %%%cluster_label)
          - name: bytes_transmitted
          query: sum(rate(container_network_transmit_bytes_total{pod!="", instance!=""}[1m])) by (node, namespace, pod, container, %%%cluster_label)
    • Node Info:

      - name: node_info
      query: max(kube_node_info) by (node, provider_id,%%%cluster_label)

    Note: You may omit the cluster_label grouping when testing these queries.

  2. Deploy the Finout Cronjob: Deploy the Finout Cronjob in your Kubernetes cluster. This is essential for scheduling and running the integration tasks.

  3. Configure connectivity: Utilize the environment variables to configure the connectivity between Finout and your Prometheus-compatible metrics system. This setup allows Finout to execute PromQL queries against your metrics database.

  4. Grant Finout permissions: Ensure Finout has the necessary permissions to read your metrics export from your S3 bucket, as detailed in the .

By following these steps and ensuring your Prometheus-compatible system meets the requirements, you can successfully integrate Kubernetes metrics with Finout for enhanced monitoring and management capabilities.

main documentation
documentation