All pages
1 of 21

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Features and Benefits

With a properly implemented Monitoring Service and various metrics, the following is a brief list of advantages of Monitoring Service for clients:

  • Centralized Metric Aggregation Users can push metrics from various Prometheus-compatible agents to a central endpoint, where the service aggregates and stores them for comprehensive analysis.

  • Unified Querying Interface Metrics and logs (from the logging service) are accessible through a single Grafana instance, allowing users to perform detailed queries and gain insights across all their data sources.

  • Scalable Architecture The service is designed to handle extensive volumes of metrics, with the ability to scale up or down according to user needs, ensuring consistent performance regardless of workload.

  • High-Performance Data Processing Optimized for speed and efficiency, the service delivers rapid data ingestion, aggregation, and querying, enabling efficient monitoring and analysis.

Benefits

Besides all the topics listed in the features set, there are some more business-related benefits:

  • Metrics Unification: Unify metrics across multiple data centers and applications, providing a holistic view of infrastructure and application performance.

  • Reduced Cost: By centralizing and scaling the monitoring infrastructure, users can lower costs associated with maintaining and operating separate monitoring solutions.

  • Enhanced Data Consistency: Aggregating all metrics in one place ensures consistent and accurate data, improving the reliability of insights and reporting.

Note: All sub-user accounts in Grafana have at least a Viewer role, which allows them to see dashboards. The primary account owner can assign additional roles to sub-users as needed.

Monitoring Service

The Monitoring Service provides a centralized and scalable solution for monitoring and analyzing your application and infrastructure metrics.

Bulk Data Export: You can now export data in bulk by submitting a request to . For more information, see .

Note:

In-Depth Analysis: Leverages Grafana's powerful visualization and exploration capabilities to uncover insights from metric data.
  • Monitoring Service is currently available only through the API, without the DCD implementation.

  • Product Overview

    Quick Links

    Developer Tools

    Frequently Asked Questions (FAQs)

    To get answers to the most commonly encountered questions about Monitoring Service, see FAQs.

    IONOS Cloud Support
    Bulk Data Export

    Metric Pipelines

    A metric pipeline refers to an instance or configuration of the Monitoring Service you can create using the REST API. To create an instance of the Monitoring Service, you can request the designated regional endpoint based on your desired location:

    • Berlin: https://monitoring.de-txl.ionos.com/pipelines

    • Frankfurt: https://monitoring.de-fra.ionos.com/pipelines

    • London: https://monitoring.gb-lhr.ionos.com/pipelines

    • Worcester: https://monitoring.gb-bhx.ionos.com/pipelines

    • Paris: https://monitoring.fr-par.ionos.com/pipelines

    • Logroño: https://monitoring.es-vit.ionos.com/pipelines

    • Lenexa: https://monitoring.us-mci.ionos.com/pipelines

    When creating a metric pipeline instance, you can define multiple metric streams within each pipeline. Each stream functions as a separate metric source, allowing you to organize and manage different sources of metrics within your monitoring system.

    After the pipeline is set up, a unique endpoint is assigned to each pipeline, thus establishing a connection with an independent metric server. This endpoint serves as the designated destination for sending metrics generated by all the metric sources within the pipeline.

    Contract limitations

    The maximum number of pipelines you are allowed to create. The default value is 10. If you require a higher limitation boundaries, you can contact team to discuss your specific requirements and adjust the limits accordingly.

    Metric Formats

    Various metric formats are employed in monitoring systems to measure performance, consumption, and other software properties. These formats serve as standardized ways to represent and transmit metric data. Here are some notable metric formats used in monitoring systems:

    Prometheus format

    Prometheus, a widely used monitoring system, defines its format for metrics, including types like Counter, Gauge, Histogram, and Summary.

    Quick Start

    After creating a monitoring pipeline via the , complete the monitoring pipeline configuration process using the following:

    Monitoring Service

    Provides a centralized and scalable solution for monitoring and analyzing your application and infrastructure metrics.

    Use Cases

    Information about various use cases of the Monitoring Service.

    DCD How-Tos

    Set user privileges for accessing and managing Monitoring Service via the DCD.

    API How-Tos

    Get started with creating and managing Monitoring Service via the API.

    Quick Start

    Learn how to manage monitoring pipeline configuration.

    Monitoring Service API

    Access the API documentation for the Monitoring Service.

    SDKs

    Explore the available SDKs for interacting with the Monitoring Service.

    Terraform

    Learn how to use Terraform for managing the Monitoring Service.

    IONOS Cloud Support
    REST API

    Send Metrics to the Platform

    Learn how to send metrics to the platform for monitoring and analysis.

    Access Metrics from the Platform

    Understand how to access and interpret metrics from the platform.

    Use Cases

    Monitoring Service ingests data from various parts of your environment into a central system that is responsible for storage, aggregation, visualization, and initiating automated responses and alert when certain conditions are met.

    Scenario 1: Application Performance Monitoring

    Precondition

    An e-commerce company wants to ensure its web application performs optimally, especially during peak traffic periods like holiday sales.

    Solution

    The Monitoring Service continuously tracks application metrics such as response time, error rates, and throughput. Custom alerts are set up to notify the IT team if response times exceed acceptable thresholds or if error rates spike.

    Scenario 2: Infrastructure Monitoring

    Precondition

    A financial institution needs to monitor its server infrastructure to ensure high availability and reliability of its online banking services.

    Solution

    The Monitoring Service collects metrics from servers, such as CPU usage, memory usage, disk I/O, and network traffic. Dashboards in Grafana provide real-time visualization, and alerts are configured for resource utilization thresholds.

    Scenario 3: Security Monitoring

    Precondition

    A healthcare provider needs to ensure the security and compliance of its systems that handle sensitive patient data.

    Solution

    The Monitoring Service tracks security-related metrics such as failed login attempts, unauthorized access attempts, and unusual network activity. Alerts are configured for suspicious activities, and detailed logs are stored for compliance audits.

    Scenario 4: DevOps and Continuous Integration

    Precondition

    A software development team wants to monitor the performance and stability of applications throughout the CI/CD pipeline.

    Solution

    The Monitoring Service is integrated with the CI/CD tools to collect metrics from development, staging, and production environments. Metrics such as build times, deployment success rates, and test coverage are tracked and visualized in Grafana.

    Scenario 5: IoT Device Monitoring

    Precondition

    A smart home company needs to monitor thousands of IoT devices deployed in customers homes to ensure they are functioning correctly.

    Solution

    The Monitoring Service collects metrics from IoT devices, such as battery levels, connectivity status, and sensor readings. Alerts are configured for critical metrics, and dashboards provide an overview of device health and performance.

    Scenario 6: Business Metrics Monitoring

    Precondition

    A SaaS company wants to track key business metrics such as user sign-ups, subscription renewals, and revenue growth.

    Solution

    The Monitoring Service collects business-related metrics and integrates them into Grafana dashboards. Custom alerts are set up to notify the team of significant changes in business metrics.

    Scenario 7: Network Monitoring

    Precondition

    An Internet Service Provider (ISP) needs to monitor its network infrastructure to ensure high availability and performance for its customers.

    Solution

    The Monitoring Service collects network metrics such as latency, packet loss, and bandwidth usage. Dashboards in Grafana provide real-time visualization of network performance, and alerts are configured for network anomalies.

    JSON format

    JSON is a lightweight, easy-to-read data-interchange format.

    Warning: JSON data should be compressed using the Snappy protocol. Snappy provides fast compression and decompression, making storing and transmitting JSON data more efficient.

    Metric source classification

    From a technical standpoint, there is no distinct categorization of metric sources. Any device, software, or application capable of generating and presenting metrics compatible with Prometheus is considered part of this group. Nonetheless, in most instances, the Prometheus agent emerges as the optimal solution. Here, we can name some common agents that are capable of producing Prometheus-compatible metrics:

    • Prometheus

    • Grafana Agent

    • OpenTelemetry

    • FluentBit

    Metrics examples

    Metrics in JSON format

    Metrics in Prometheus format

    {
      "input": {
        "cpu.0": {
          "records": 8,
          "bytes": 2536
        }
      },
      "output": {
        "stdout.0": {
          "proc_records": 5,
          "proc_bytes": 1585,
          "errors": 0,
          "retries": 0,
          "retries_failed": 0
        }
      }
    }
    fluentbit_input_records_total{name="cpu.0"} 57 1509150350542
    fluentbit_input_bytes_total{name="cpu.0"} 18069 1509150350542
    fluentbit_output_proc_records_total{name="stdout.0"} 54 1509150350542
    fluentbit_output_proc_bytes_total{name="stdout.0"} 17118 1509150350542
    fluentbit_output_errors_total{name="stdout.0"} 0 1509150350542
    fluentbit_output_retries_total{name="stdout.0"} 0 1509150350542
    fluentbit_output_retries_failed_total{name="stdout.0"} 0 1509150350542

    Set User Privileges for Monitoring Service

    Users need appropriate privileges to access, create, and modify Monitoring Service. Without necessary privileges, users have a read-only access and cannot provision changes. You can grant appropriate privileges via the User Manager.

    Warning: User privileges set using the IONOS Cloud API or the DCD apply to pipeline access only, not to Grafana access.

    To allow users to access, create, and modify the Monitoting Service, follow these steps:

    1. In the DCD, go to Menu > Management > Users & Groups. 2. Select the Groups tab in the User Manager window. 3. Select the appropriate group to assign relevant privileges. 4. In the Privileges tab, select Access and manage Monitoring to allow the associated group members to access and manage Monitoring Service.

    Note: You can remove the privileges from the group by clearing Access and manage Monitoring.

    Result: Appropriate privilege is granted to the group and the users in the respective group.

    Create and manage sub-users

    For improved user management and delegation, you can establish sub-users and grant them the necessary permissions to use the Monitoring Service. Sub-users can be given varying levels of access for their segment of the monitoring pipeline by the primary account owners. Only the pipelines that the primary account owner has assigned to sub-users are visible to them and can be managed, but they cannot access the primary account or pipelines created by other sub-users.

    To create sub-users, follow these steps:

    1. In the DCD, go to Menu > Management > Users & Groups. 2. Select the Groups tab in the User Manager window. 3. Select the appropriate group to assign relevant privileges. 4. In the Members tab, click + Add User and select a user(s) from the list.

    To delete an associated sub-user, click Remove User.

    Result: A sub-user(s) is created.

    Access Metrics from the Platform

    Prerequisite: You need to create a monitoring pipeline first to access Grafana. To create one, see Create a Monitoring Pipeline Instance.

    Obtain your Grafana URL

    You can obtain your Grafana instance address by sending a GET request to the server. For more information, see . The response contains the grafanaAddress. This information remains the same for all your monitoring pipelines.

    Retrieve All Monitoring Pipelines

    This endpoint enables retrieving all pipelines using pagination and optional filters.

    To retrieve all the Monitoring Pipelines, perform a GET request.

    Request

    The following is a sample request.

    Below is the list of optional Query Parameters:

    DCD How-Tos

    Overview

    Monitoring Service is a cloud-based service that allows you to ingest, aggregate, and analyze data to enhance your understanding of your system's performance and behavior. The service collects data from various parts of your environment into a central system that is responsible for storage, aggregation, visualization, and initiating automated responses and alert when certain conditions are met.

    Components of Monitoring Service

    The architecture of the Monitoring Service includes the following four main components that can be used to aggregate metrics from various sources, analyze the gathered metrics, and create visualizations for monitoring and report generation.

    Data Collection: Data collection involves gathering metrics to track system performance and health. During this phase, metrics are collected by an agent running on each monitored resource. These metrics are then pushed to the Monitoring Service, ensuring that all relevant performance and behavior data from various parts of the environment are efficiently gathered.
  • Data Aggregation & Processing: Once the data reaches the Monitoring Service, it undergoes aggregation and processing. This step prepares the data for storage by transforming and organizing it to optimize subsequent retrieval and analysis.

  • Indexing & Storage: Indexing and storage in monitoring services ensure that collected data is organized and accessible for quick retrieval and analysis. Indexing involves creating searchable metadata for the data, enabling efficient queries. Storage involves saving the data in a scalable and durable manner, often using databases or specialized storage systems designed for high write and read performance.

  • Visualization & Analysis: Visualization in monitoring services involves displaying collected and processed data in an intuitive and accessible format. Users can access their metrics for visualization, reporting, analysis, and alerting through a dedicated Grafana Instance. This provides comprehensive tools for interpreting the collected metrics, enabling informed decision-making and proactive system management.

  • Grant privileges to access and manage the Monitoring Service
    Create sub-users

    Set User Privileges for Monitoring Service

    Set user privileges for accessing and managing Monitoring Service via the DCD.

    Query Parameters
    Type
    Description
    Example

    orderBy

    string

    The field to order the results by. If not provided, the results will be ordered by the default field. Default: createdDate Enum: createdDate, lastModifiedDate, name, lastModifiedDate

    createdDate

    To make authenticated requests to the API, the following fields are mandatory in the request header:

    Header Parameters
    Required
    Type
    Description

    Authorization

    yes

    string

    The Bearer token enables requests to authenticate using a JSON Web Token (JWT). The token can be generated using the Authentication API.

    Response

    The following is a sample response. The values returned by each response differ based on the request.

    200 Successful operation

    Result: All existing Monitoring Pipelines and their details are successfully obtained.

    curl --location \
    --request GET 'https://monitoring.de-txl.ionos.com/pipelines' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer $TOKEN'
    {
      "id": "930b1f07-e846-54fa-b447-9b78905ff2ef",
      "type": "collection",
      "href": "/pipelines",
      "items": [
        {
          "id": "f72521ba-1590-5998-bf96-6eb997a5887d",
          "type": "pipeline",
          "href": "/pipelines/f72521ba-1590-5998-bf96-6eb997a5887d",
          "metadata": {
            "createdDate": "2020-12-10T13:37:50+01:00",
            "createdBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
            "createdByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
            "lastModifiedDate": "2020-12-11T13:37:50+01:00",
            "lastModifiedBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
            "lastModifiedByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
            "resourceURN": "ionos:<product>:<location>:<contract>:<resource-path>",
            "status": "AVAILABLE",
            "statusMessage": null,
            "key": "momSrlgAAEmaYEvBsMr^HsYn",
            "grafanaEndpoint": "https://grafana.logging.de-txl.ionos.com",
            "httpEndpoint": "https://f8ss7fgr7s-metrics.jf9ejf8t6hrt.monitoring.de-txl.ionos.com"
          },
          "properties": {
            "name": "Pipeline1"
          }
        }
      ]
    }
    Retrieve Monitoring Pipeline information

    Obtain a new Key

    To obtain a new key, perform a PUT request with the complete key configuration. Ensure that you specify all the mandatory details. The optional fields will be automatically populated with default values or left empty if not specified.

    Request

    To get a new key for a pipeline, you can use the following request. Remember to replace the {pipelineID} with a valid ID of a pipeline to access its key.

    You can update the pipelineID value to delete a specific pipeline:

    Path Parameters
    Type
    Description
    Example

    To make authenticated requests to the API, the following fields are mandatory in the request header:

    Header Parameters
    Required
    Type
    Description

    Response

    Generates a new key for a pipeline invalidating the old one. The key is used for authentication when sending metrics.

    Send Metrics to the Platform

    You can send metrics to the Monitoring Service using agents such as Fluent Bit, Grafana Agent, Prometheus, and OpenTelemetry Collector.

    This Quickstart shows how to create a pipeline, get an API key, and configure one of these agents.

    Prerequisites

    • An IONOS account with permissions to create monitoring pipelines.

    • Outbound HTTPS access on port 443.

    • The required agent or collector must be installed on your system.

    Example endpoint:

    123456789-metrics.987654321.monitoring.de-txl.ionos.com

    Note: To make a final and complete address, add api/v1/push to the end of the endpoint. For example: 123456789-metrics.987654321.monitoring.de-txl.ionos.com/api/v1/push.

    You can also find Prometheus configuration examples in our .

    1

    Create a pipeline

    Send a POST request to the Monitoring Service API:

    The response includes the httpEndpoint. Save this value.

    2

    Configure an agent

    Each agent requires the pipeline httpEndpoint and API key.

    This example shows how to configure Fluent Bit to send metrics to the Monitoring Service.

    1. Install the Fluent Bit package for your distribution.

    2. Update the fluentbit.conf file with the HTTP endpoint and API key.

    3. Run Fluent Bit.

    Troubleshooting

    1. Verify: Open the Monitoring Service dashboard and confirm that metrics appear.

    2. Invalid API key: Check that you copied the correct key.

    3. Connection errors: Verify outbound HTTPS access on port 443.

    4. No metrics displayed:

    Delete a Monitoring Pipeline Instance

    Deletes the specified Pipeline.

    To delete a Pipeline, perform a DELETE request with the pipelineId of the pipeline.

    Request

    The following is a sample request. Remember to replace the {pipelineID} with a valid ID of the specific pipeline that must be deleted.

    You can update the pipelineID value to delete a specific pipeline:

    Path Parameters
    Type
    Description
    Example

    To make authenticated requests to the API, the following fields are mandatory in the request header:

    Header Parameters
    Required
    Type
    Description

    Response

    202 Successful operation

    Result: The Monitoring Pipeline with the specified pipelineID is successfully deleted.

    Metric Sources

    Monitoring Service supports metrics from various Promethues compatible metric sources. Selected agents or exporters can push metrics to selected regional endpoint for ingestion. The collected metrics are processed, stored, and made available for querying and visualization.

    Note: You can send Prometheus compatible metrics from anywhere as long as you can reach the service endpoint.

    Examples provide some suggested and functional Prometheus configurations for our available metric sources.

    Prometheus

    Prometheus is a monitoring and alerting toolkit that is designed for reliability and scalability. It is a pull-based system that scrapes metrics from instrumented jobs, either directly or via an intermediary push gateway for short-lived jobs. It stores all scraped samples locally and runs rules over this data to either aggregate and record new time series from existing data or generate alerts. We also recommend you try our sample configuration.

    Grafana Agent

    Grafana Agent is an OpenTelemetry Collector distribution with configuration inspired by Terraform. It is designed to be flexible, performant, and compatible with multiple ecosystems such as Prometheus and OpenTelemetry. We also recommend you try our sample configuration.

    OpenTelemetry

    OpenTelemetry is a collection of APIs, SDKs, and tools. Use it to instrument, generate, collect, and export telemetry data (metrics) to help you analyze your software’s performance and behavior. We also recommend you try our sample configuration.

    FluentBit

    FluentBit is a super fast, lightweight, and highly scalable logging and metrics processor and forwarder. It is the preferred choice for cloud and containerized environments. We also recommend you try our sample configuration. This repository provides a basic example of how to configure FluentBit to send metrics to the Ionos Monitoring Service.

    Create a Monitoring Pipeline Instance

    To create or update a Pipeline, you need to provide the complete Pipeline configuration. If you wish to create a new Pipeline or modify an existing one with a specified ID, you should include all necessary details in your request. Optional fields will be automatically populated with default values or left empty if not provided. To ensure that the Pipeline is created or updated correctly, perform a PUT request with the full Pipeline data.

    Pipeline authentication for secure metric ingestion

    To ensure secure and authorized metric data submission, each Monitoring Pipeline is assigned a unique key upon creation. This key acts as a credential for metric exporters or agents pushing data to the pipeline's HTTP endpoint.

    API How-Tos

    The Monitoring Service offers regional APIs that enable programmatic interaction with the platform. These APIs serve various purposes: task automation, system integration, and platform functionality extension. Additionally, the APIs allow you to filter metrics based on different criteria.

    Sub-user access control

    A sub-user is a user who has access to the Monitoring Service but is not an administrator or an owner. IONOS's crucial access control restriction does not allow sub-users to view or modify pipelines belonging to other sub-user accounts, except the primary administrator, who retains full cross-pipeline privileges. Ensure that the sub-user pipeline ownership and access permissions align with your organizational needs.

    If a sub-user account creates a pipeline, access is restricted only to that sub-user and the primary administrator. Other sub-users cannot access or perform CRUD operations on the respective pipeline. For example, if sub-user A creates Pipeline 1, only sub-user A and the primary administrator account can view, edit, delete, or manage Pipeline 1. No other sub-user accounts will have access to it.

    Retrieve Monitoring Pipeline Information

    Returns the Monitoring Pipeline by ID.

    To retrieve a Monitoring Pipeline, perform a GET request.

    Request

    The following is a sample request. Remember to replace the

    curl --location \
    --request POST 'https://monitoring.de-txl.ionos.com/pipelines/{pipelineID}/key' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer $TOKEN'
    curl --location \
    --request DELETE 'https://monitoring.de-txl.ionos.com/pipelines/{pipelineID}' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer $TOKEN'
    Prometheus
    Grafana Agent
    OpenTelemetry
    FluentBit

    pipelineID

    string

    The ID (UUID) of the Pipeline.

    85c79b4b-5b40-570a-b788-58dd46ea71e2

    Authorization

    yes

    string

    The Bearer token enable requests to authenticate using a JSON Web Token (JWT).

    pipelineID

    string

    The ID (UUID) of the Pipeline.

    85c79b4b-5b40-570a-b788-58dd46ea71e2

    Authorization

    yes

    string

    The Bearer token enable requests to authenticate using an JSON Web Token (JWT).

    {
      "key": "momSrlgAAEmaYEvBsMr^HsYn"
    }
    {
        "description": "Deleting Pipeline was successful."
    }

    API key usage

    Use the API Key returned when you created the pipeline for authentication. You only need to generate a new one in specific cases, such as:

    • The key was accidentally shared

    • The key was lost

    • A team member with access left the company

    To generate a new API key, run:

    This will issue a new API Key and replace the previous one.

    The final endpoint for sending metrics is:

    Check the logs to confirm metrics are sent.

    You can configure Grafana Agent to send metrics to the monitoring pipeline.

    1. Install the Grafana Agent package for your distribution. For more information, refer to the Grafana Documentation.

    2. Update the HTTP endpoint and API key in the configuration file.

      prometheus.remote_write "LABEL" {
        endpoint {
          url = "your pipeline's httpEndpoint"
    
          headers = {
            "APIKEY" = "<API_KEY>",
          }
      }
    }

    Prometheus is a monitoring and alerting toolkit designed for reliability and scalability. It is a pull-based system that scrapes metrics from instrumented jobs, either directly or through a push gateway for short-lived jobs.

    1. Install the Prometheus package for your distribution.

    2. Update the prometheus.yml file with the HTTP endpoint and API key.

    OpenTelemetry is a set of APIs, libraries, agents, and instrumentation for observability. It is a Cloud Native Computing Foundation (CNCF).

    1. Install the OpenTelemetry Collector.

    2. Update the configuration file with the HTTP endpoint and API key.

    Confirm that the agent is running and producing data.
    GitHub repository
    [OUTPUT]
        Name   http
        Match  *
        Host   <pipeline-endpoint-host>
        Port   443
        URI    /
        Header Authorization Bearer <apiKey>
        Format json

    For security reasons, the API key is not returned in the response after creating a pipeline. It's crucial to store the key securely during pipeline creation for future reference.

    Key points

    • The key is included in the metadata section of the pipeline response (see "key": "momSrlgAAEmaYEvBsMr^HsYn" in the example).

    • Metric exporters or agents must be configured to include this key in their requests to the pipeline's HTTP endpoint for successful data ingestion.

    • This mechanism safeguards the pipeline from unauthorized data submissions and maintains data integrity within the Monitoring Service.

    Best practices

    • Store the pipeline key securely for authorized metric sources only.

    • Avoid sharing or exposing the key publicly.

    • Consider rotating pipeline keys periodically for enhanced security.

    To create a Monitoring Pipeline, perform a POST request.

    Request

    Below is the list of mandatory body parameters for creating a Pipeline:

    Body Parameters
    Required
    Type
    Description
    Example

    metadata

    no

    object

    Metadata

    {}

    properties

    yes

    To make authenticated requests to the API, the following fields are mandatory in the request header:

    Header Parameters
    Required
    Type
    Description

    Response

    The following is a sample response. The values returned by each response differ based on the request.

    Result: A Monitoring Pipeline is successfully created.

    Warning: User privileges set using the IONOS Cloud API or the DCD apply to pipeline access only, not to Grafana access.

    Endpoints

    A regional endpoint is necessary to interact with the Monitoring Service REST API endpoints. Currently, IONOS supports only the following regions for the Monitoring Service:

    • Berlin: https://monitoring.de-txl.ionos.com/pipelines

    • Frankfurt: https://monitoring.de-fra.ionos.com/pipelines

    • London: https://monitoring.gb-lhr.ionos.com/pipelines

    • Worcester: https://monitoring.gb-bhx.ionos.com/pipelines

    • Paris: https://monitoring.fr-par.ionos.com/pipelines

    • Logroño: https://monitoring.es-vit.ionos.com/pipelines

    • Lenexa: https://monitoring.us-mci.ionos.com/pipelines

    Note: We recommend using the authorized IP addresses associated with each endpoint if you need to configure firewall rules to restrict traffic sent to the Monitoring Service endpoints. It enables you to configure rules accordingly to ensure traffic is redirected only through authorized IP addresses for each endpoint. For more information about the authorized IP addresses, see FAQs.

    Request parameter headers

    To interact with the Monitoring Service REST API endpoints, the header must contain the following values:

    Header
    Required
    Type
    Description

    Authorization

    yes

    string

    A Bearer $TOKEN is a string that is tied to your account. For information on generating tokens, see .

    Content-Type

    yes

    string

    Set this to application/json.

    Quick Links

    Here are some of the most common API How-Tos for the Monitoring Service:

    We recommend you refer to the following after creating an instance via the API:

    {pipelineID}
    with a valid ID of the specific pipeline whose information you want to access.
    Path Parameter
    Type
    Description
    Example

    pipelineID

    string

    The ID (UUID) of the Pipeline.

    66a114c7-2ddd-5119-9ddf-5a789f5a5a44

    To make authenticated requests to the API, the following fields are mandatory in the request header:

    Header Parameter
    Required
    Type
    Description

    Response

    The following is a sample response. The values returned by each response differ based on the request.

    200 Successful operation

    Result: The Monitoring Pipeline and its details for the specified pipelineID are successfully obtained.

    Note: A key is necessary to send metrics through the newly formed monitoring pipeline. For more information about creating a key, see Obtain a New Key.

    An observability platform is necessary for visualization and reporting purposes. IONOS uses to enable you to meet your visualization needs.

    Note:

    • Once you have created a pipeline, you can access your Grafana instance by logging in with your IONOS credentials via our IAM SSO.

    • Your Grafana configurations and organization are associated with your contract number. If you have configured users with unique email addresses, they can access Grafana only with those specific email addresses linked to the contract number. Users cannot log into Grafana using any other email address unrelated to the contract.

    url: "your pipeline's httpEndpoint"
    headers:
      APIKEY: "<APIKEY>"
    exporters:
      prometheusremotewrite:
        endpoint: "your pipeline's httpEndpoint"
        external_labels:
          APIKEY: <API_KEY>
          label_name2: label_value2
    curl -X POST "https://monitoring.de-txl.ionos.com/pipelines"
      -H "Content-Type: application/json" \
      -d '{"name": "example-pipeline"}'
    curl --location \
    --request POST 'https://monitoring.de-txl.ionos.com/pipelines' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer $TOKEN' \
    --data '{
      "metadata": {},
      "properties": {
        "name": "Pipeline1"
      }
    }'
    {
      "id": "f72521ba-1590-5998-bf96-6eb997a5887d",
      "type": "pipeline",
      "href": "/pipelines/f72521ba-1590-5998-bf96-6eb997a5887d",
      "metadata": {
        "createdDate": "2020-12-10T13:37:50+01:00",
        "createdBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
        "createdByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
        "lastModifiedDate": "2020-12-11T13:37:50+01:00",
        "lastModifiedBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
        "lastModifiedByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
        "resourceURN": "ionos:<product>:<location>:<contract>:<resource-path>",
        "status": "AVAILABLE",
        "statusMessage": null,
        "key": "momSrlgAAEmaYEvBsMr^HsYn",
        "grafanaEndpoint": "https://grafana.logging.de-txl.ionos.com",
        "httpEndpoint": "https://f8ss7fgr7s-metrics.jf9ejf8t6hrt.monitoring.de-txl.ionos.com"
      },
      "properties": {
        "name": "Pipeline1"
      }
    }
    curl --location \
    --request GET 'https://monitoring.de-txl.ionos.com/pipelines/{pipelineID}' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer $TOKEN'
    {
      "id": "f72521ba-1590-5998-bf96-6eb997a5887d",
      "type": "pipeline",
      "href": "/pipelines/f72521ba-1590-5998-bf96-6eb997a5887d",
      "metadata": {
        "createdDate": "2020-12-10T13:37:50+01:00",
        "createdBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
        "createdByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
        "lastModifiedDate": "2020-12-11T13:37:50+01:00",
        "lastModifiedBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
        "lastModifiedByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
        "resourceURN": "ionos:<product>:<location>:<contract>:<resource-path>",
        "status": "AVAILABLE",
        "statusMessage": null,
        "key": "momSrlgAAEmaYEvBsMr^HsYn",
        "grafanaEndpoint": "https://grafana.logging.de-txl.ionos.com",
        "httpEndpoint": "https://f8ss7fgr7s-metrics.jf9ejf8t6hrt.monitoring.de-txl.ionos.com"
      },
      "properties": {
        "name": "Pipeline1"
      }
    }

    object

    A pipeline consists of the generic rules and configurations of a monitoring pipeline instance.

    { "name": "Pipeline1" }

    properties.name

    yes

    string

    Name of your Pipeline.

    Pipeline1

    Authorization

    yes

    string

    The Bearer token enables requests to authenticate using a JSON Web Token (JWT). The token can be generated using the Authentication API.

    Content-Type

    yes

    string

    Set this to application/json.

    Authorization

    yes

    string

    The Bearer token to enable requests to authenticate using a JSON Web Token (JWT).

    Create a Monitoring Pipeline Instance

    Create an instance of a monitoring pipeline.

    Obtain a new Key

    Obtain a new key for a monitoring pipeline.

    Modify a Monitoring Pipeline Instance

    Update an existing monitoring pipeline.

    Retrieve a Monitoring Pipeline

    Retrieve information about a specific monitoring pipeline.

    Retrieve All Monitoring Pipelines

    Retrieve all monitoring pipelines.

    Delete a Monitoring Pipeline Instance

    Delete a specific monitoring pipeline.

    Send Metrics to the Platform

    Learn how to send metrics to the platform for monitoring and analysis.

    Access Metrics from the Platform

    Understand how to access and retrieve metrics from the platform.

    Create New Tokens
    curl -X POST "https://monitoring.de-txl.ionos.com/pipelines/<PIPELINE_ID>/key"
    https://<HTTP_ENDPOINT>/api/v1/push

    Grafana access

    Access to Grafana is linked to your logging or monitoring pipelines or central logging or monitoring and IAM Single Sign-On (SSO).

    • No pipelines or central logging or monitoring: Attempting to log in is blocked, and an error message is displayed. Create at least one pipeline first.

    • Active pipelines or central logging or monitoring: As soon as at least one pipeline is created through the DCD or API, login with your IONOS account is enabled, and you can use Grafana.

    • Deleted pipelines: If all pipelines are deleted and there are no central logging or monitoring instances, Grafana access remains for 30 days. After 30 days of inactivity, the following actions occur:

      • Grafana access is removed.

      • Service accounts are disabled, and tokens become invalid.

    • Returning after inactivity:

      • Creating a new pipeline after 30+ days restores Grafana access.

      • All users are created anew with admin rights and new UUIDs. You must reconfigure roles, permissions, and dashboards.

      • Service accounts are enabled, and tokens become operational again.

    • Central logging or monitoring users:

      • Having central logging or monitoring instances automatically grants Grafana access without manual pipeline creation.

      • Similarly, not having any pipelines, disabling central logging or monitoring, or not having any central logging or monitoring instances when there are no pipelines automatically removes Grafana access after 30 days of inactivity. Grafana access after 30 days of inactivity.

    Troubleshooting login

    If you are unable to log into Grafana, ensure:

    • The user is active and has access to the DCD.

    • The user has or has had a logging pipeline at least once within the last 30 days and is connected to the specified contract number.

    • The user has enabled central logging at least once within the last 30 days.

    • The user uses the correct email address associated with the contract number.

    If the issue persists, contact IONOS Cloud Support.

    Examples

    • Scenario: No pipelines or central logging or monitoring instances yet

      • Behavior: Login rejected with an error message "Sign up is disabled".

      • Resolution: Create a pipeline (DCD or API) or create a central logging or monitoring instance to enable access.

    • Scenario: Pipelines and central logging or monitoring instances deleted

      • Behavior: Access continues for 30 days; after that, access is revoked, users are removed, and service accounts are disabled; dashboards will be restored upon return.

      • Resolution: Create a new pipeline or central logging or monitoring instance within 30 days to maintain uninterrupted access.

    • Scenario: Central logging or monitoring instances are present

      • Behavior: Grafana access is granted immediately and remains available while the feature is active.

    Grafana

    Using the URL in the grafanaAddress, you can access Grafana.

    How to Restrict Grafana access

    Access to Grafana via SSO depends on IAM and the pipeline lifecycle. To effectively restrict Grafana access:

    1. Remove or restrict the user in IAM for the relevant contract (so they cannot SSO).

    FAQs

    What is Monitoring Service?

    The Monitoring Service offers a centralized and scalable solution for monitoring and analyzing your application and infrastructure metrics. It enables you to track performance, detect issues proactively, and ensure optimal operation across your systems.

    What types of metrics can be monitored?

    The Monitoring Service supports a wide range of metrics, including system performance, application performance, network traffic, and custom metrics specific to your applications. Metrics must be Prometheus-compatible.

    How frequently are metrics pushed to the server?

    Metrics are pushed to our servers at configurable intervals to match your monitoring needs. The default push interval is one minute. You can adjust this interval based on your requirements.

    Can I set up custom alerts for specific metrics?

    Yes, you can easily configure custom alerts directly within Grafana for specific metrics. The Monitoring Service utilized Grafana for visualization, allowing you to define alert conditions, thresholds, and notification preferences.

    How secure is the data collected by the Monitoring Service?

    The Monitoring Service employs multiple layers of security to ensure data protection:

    • Transport Layer Security (TLS): Data is encrypted during transmission.

    • Data Partitioning: Each user's data is stored in separate partitions to ensure isolation.

    • Encryption: Both server-side and client-side encryption are used to secure data at rest.

    Can I customize the dashboards in the Monitoring Service?

    Yes, Monitoring Service offers powerful dashboard customization capabilities through Grafana. Create, modify, and share interactive dashboards to visualize your data in the way that best suits your needs. Grafana's rich feature set allows you to build highly informative and engaging dashboards.

    How do I manage user access to the Monitoring Service?

    User access is managed through a robust role-based access control Role-Based Access Control (RBAC) system. Administrators can create user accounts, assign roles, and define permissions to control access to different features and data within the Monitoring Service.

    What is the difference between Monitoring as a Service and Monitoring Service?

    Note: From September 1, 2024, Monitoring as a Service will receive limited support and updates. For enhanced features, greater flexibility, and future-proof monitoring capabilities, we recommend using .

    Can I restrict the traffic sent to Monitoring Service endpoints?

    Yes, we recommend configuring firewall rules using the authorized IP addresses associated with each endpoint to restrict the traffic to Monitoring Service endpoints. The following is a list of locations and their specific IP addresses:

    What is Cloud Native Computing Foundation?

    The Cloud Native Computing Foundation (CNCF) is part of the Linux Foundation, focused on advancing cloud-native technologies. It hosts projects like Kubernetes and Prometheus, provides certification, and promotes standards for cloud-native computing.

    For more details, visit the website.

    Modify a Monitoring Pipeline Instance

    Ensures that the pipeline with the provided ID is created or modified. The full pipeline needs to be provided to ensure (either update or create) the pipeline. Non present data will only be filled with defaults or left empty, but not take previous values into consideration.

    To ensure that the pipeline with the provided ID is created or modified, perform PUT request.

    Request

    The following is a sample request. Remember to replace the {pipelineID} with a valid ID of the specific pipeline you want to create or update.

    Below is the list of mandatory path parameters for updating a Monitoring Pipeline:

    Path Parameters
    Type
    Description
    Example

    Below is the list of mandatory body parameters for updating a Monitoring Pipeline:

    Body Parameters
    Required
    Type
    Description
    Example

    To make authenticated requests to the API, the following fields are mandatory in the request header:

    Header Parameters
    Required
    Type
    Description

    Response

    The following is a sample response. The values returned by each response differ based on the request.

    200 Successful operation

    Result: The Monitoring Pipeline is successfully updated or created.

    curl --location \
    --request PUT 'https://monitoring.de-txl.ionos.com/pipelines/{pipelineID}' \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer $TOKEN' \
    --data-raw '{
      "metadata": {},
      "properties": {
        "name": "Pipeline1"
      }
    }'

    Team settings will also be restored, but users will need to be re-added to the team.

    Remove the user from the Grafana organization to clean up roles and memberships.

    Warning:

    • Changing privileges in the IONOS Cloud API or the DCD without restricting the user’s IAM access may not immediately prevent Grafana SSO, even when pipelines are active or during the 30-day grace period.

    • Removing a user only from the Grafana organization does not control SSO eligibility; ensure the user’s IAM access is revoked if complete removal is required.

    Limited; out-of-the-box solution

    Highly customizable; compatible with Prometheus-compatible metrics

    Data Retention

    Basic; limited retention period

    Extensive; flexible retention options based on configuration

    Cost

    Free

    Billed per 1 million samples

    https://monitoring.de-fra.ionos.com

    82.215.75.93 85.215.75.92 217.160.218.121 217.160.218.124

    Paris

    https://monitoring.fr-par.ionos.com

    5.250.177.220 5.250.178.35 5.250.177.226 5.250.178.34

    Lenexa

    https://monitoring.us-mci.ionos.com

    74.208.249.232 209.46.121.39 69.48.204.20 209.46.121.225

    Feature

    Monitoring as a Service (MaaS)

    Monitoring Service

    Management Level

    Fully managed; no agent management required

    User-managed; users configure and manage their own agents

    Metric Collection Mechanism

    Abstracted; automatic for IONOS Cloud VMs

    Push-based; users push metrics to provided endpoints

    Deployment

    Restricted to IONOS Cloud VMs

    Flexible; supports Cloud-agnostic and On-Premise environments

    Metric Scope

    Limited to CPU, network, and storage metrics

    Extensive; includes host-based, application, network, system metrics, etc.

    Location

    Region-specific Endpoints

    IP addresses

    Berlin

    https://monitoring.de-txl.ionos.com

    85.215.196.160 85.215.203.152 85.215.133.99 87.106.141.230

    Logroño

    https://monitoring.es-vit.ionos.com

    194.164.165.102 85.215.203.152 85.215.248.62 85.215.248.97

    London

    https://monitoring.gb-lhr.ionos.com

    217.160.157.83 217.160.157.82 217.160.157.89 82.165.230.137

    Worcester

    https://monitoring.bhx-lhr.ionos.com

    194.164.92.15 82.165.196.8 79.99.40.114 82.165.196.23

    Monitoring Service
    CNCF

    Customization

    Frankfurt

    A pipeline consists of the generic rules and configurations of a monitoring pipeline instance.

    { "name": "Updated Pipeline" }

    pipelineId

    string

    The ID (UUID) of the Pipeline.

    f72521ba-1590-5998-bf96-6eb997a5887d

    metadata

    no

    object

    Metadata

    {}

    properties

    yes

    Authorization

    yes

    string

    The Bearer token enables requests to authenticate using a JSON Web Token (JWT). The token can be generated using the Authentication API.

    Content-Type

    yes

    string

    Set this to application/json.

    object

    {
      "id": "f72521ba-1590-5998-bf96-6eb997a5887d",
      "type": "pipeline",
      "href": "/pipelines/f72521ba-1590-5998-bf96-6eb997a5887d",
      "metadata": {
        "createdDate": "2020-12-10T13:37:50+01:00",
        "createdBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
        "createdByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
        "lastModifiedDate": "2020-12-11T13:37:50+01:00",
        "lastModifiedBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
        "lastModifiedByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
        "resourceURN": "ionos:<product>:<location>:<contract>:<resource-path>",
        "status": "AVAILABLE",
        "statusMessage": null,
        "key": "momSrlgAAEmaYEvBsMr^HsYn",
        "grafanaEndpoint": "https://grafana.logging.de-txl.ionos.com",
        "httpEndpoint": "https://f8ss7fgr7s-metrics.jf9ejf8t6hrt.monitoring.de-txl.ionos.com"
      },
      "properties": {
        "name": "Pipeline1"
      }
    }

    Metric Types

    To find out the available types of metrics, we can start by looking at what type of information we can track.

    Host-based metrics

    These would be anything involved in evaluating the health or performance of an individual machine, disregarding for the moment its application stacks and services.

    • CPU

    Memory

  • Disk Space

  • Processes

  • Network traffic

  • Storage 1/O

  • System Metrics

  • Application metrics

    These are metrics concerned with units of processing or work that depend on the host-level resources, like services or applications. The specific types of metrics to look at depend on what the service is providing, what dependencies it has, and what other components it interacts with.

    • Error and success rates

    • Service failures and restarts

    • Performance and latency of responses

    • Resource usage

    Network and connectivity metrics

    These are important gauges of outward-facing availability but are also essential in ensuring that services are accessible to other machines for any systems that span more than one machine.

    • Connectivity

    • Error rates and packet loss

    • Latency

    • Bandwidth utilization

    Server pool metrics

    While metrics about individual servers are useful, at scale a service is better represented as the ability of a collection of machines to perform work and respond adequately to requests. This type of metric is in many ways just a higher-level extrapolation of application and server metrics, but the resources in this case are homogeneous servers instead of machine-level components.

    • Pooled resource usage

    • Scaling adjustment indicators

    • Degraded instances

    External dependency metrics

    Other metrics you may wish to add to your system are those related to external dependencies. Often, services provide status pages or an API to discover service outages, but tracking these within your systems—as well as your actual interactions with the service—can help you identify problems with your providers that may affect your operations.

    • Service status and availability

    • Success and error rates

    • Run rate and operational costs

    • Resource exhaustion