Skip to main content
Skip table of contents

Data Ingestion API

Feature

Germain UX provides an Ingestion API that enables users to insert data into the Germain Datamart.

The Ingestion API serves as a means to seamlessly integrate external data sources with Germain UX, allowing users to import data from various systems, applications, or sources directly into the Germain Datamart for analysis and monitoring.

By leveraging the Ingestion API, users can programmatically push data into Germain UX, ensuring that the monitoring system stays up to date with the latest information from different data sources. This API facilitates the ingestion of data in a structured manner, ensuring data integrity and consistency within the Germain Datamart.

Whether it's user activity logs, application performance metrics, server logs, or any other relevant data, the Ingestion API provides a convenient and standardized method for importing this data into Germain UX, enabling comprehensive monitoring and analysis of the collected information.

By utilizing the Ingestion API, organizations can leverage the power of Germain UX to gain valuable insights, detect anomalies, optimize performance, and make data-driven decisions based on a holistic view of their systems and applications.

For detailed information on how to use the Ingestion API and integrate external data sources with Germain UX, please refer to the documentation or developer resources provided by the Germain UX platform.

Usage

You can submit new facts to Germain via ingestion services.

CODE
POST /ingestion/fact

URL: https://example.com/ingestion/fact

The request body (JSON) needs to be a list of facts, example:

JSON
[
    {
        "myClassName": "com.germainsoftware.apm.data.model.GenericEvent",
        "type": "Custom:Error",
        "timestamp": "2022-03-14T17:38:00Z",
        "details": "An error occured."
    },
    ...
]

The list can contain one or more facts at a time.

Example

You wish to automatically create a data point in GermainUX everytime a new “SR Update” occurs in Mulesoft.

Sample cURL command for Mulesoft request:

CODE
curl -X POST 'https://<your germain host name>/ingestion/fact' \
--header 'Content-Type: application/json' \
--data '[{
        "myClassName": "com.germainsoftware.apm.data.model.GenericMetric",
        "type": "Mulesoft:APIMetric",
        "name": "SR Update",
        "timestamp": "2022-05-16T20:54:40",
        "value":"500",
        "database":{
            "name":"1234-1234554-134514-145",
            "flavor":"t6lfuupdvw.%60hqe2lhhn3%3Eum%3C%3Dosuh%60vttbuv*%3As%3Fe1%28rbpv6740-1735e9bb9a8-0x20f"
        },
        "pid":"320",
        "application": {
            "component": "4.3.2",
            "name": "CSMulesoft-Cases-api"
        },
        "system": {
            "name": "CSSendSMS",
             "hostname": "Platform"
        }
    }]'

In GermainUX:

A datapoint gets inserted into GermainUX’s data warehouse, and it looks like this on a GermainUX's Drillthrough dashboard:

Time Stamp and Time Zone

Time Zone needs to be included in any Time Stamp includes a timezone at the end or an Epoch Timestamp with Milli seconds.

Example that works ("Z" is added at the end): "timestamp": "2023-11-20T20:54:40Z"

Example that works (Epoch Timestamp is used): "timestamp": 1700575703731

Example that does not work ("Z" is missing at the end): "timestamp": "2023-11-20T20:54:40"

Authentication

No authentication is required to submit new facts.

Feature Availability: 2022.1 or later

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.