[FEATURE] Add First Integration into Observability #1411
Labels
design
documentation
Improvements or additions to documentation
enhancement
New feature or request
integration
Integration project
Is your feature request related to a problem?
As part of the Integration RFC we would like to add the first Integration use case for NginX pre-canned dashboards including the logs & metrics observability schema supported signals
New repo structure
Proposal for Observability repo new structure structure
What solution would you like?
Integrating Component Structure
The following section details the structure and composition of an integration component and how it may be utilized for the Observability use-cases.
Structure
As mentioned above, integration is a collection of elements that formulate how to observe a specific data emitting resource - in our case a telemetry data producer.
A typical Observability Integration consists of the following parts:
Metadata
Display components
A major factor in the following RFC is that structured data has an enormous contribution to the understanding of the system behaviour.
Once input content has form and shape - it can and will be used to calculate and correlate different pieces of data.
The next parts of this document will present Integrations For Observability which has a key concept of Observability schema.
It will overview the concepts of observability, will describe the current issues customers are facing with observability and continue to elaborate on how to mitigate them using Integrations and structured schemas.
Creating An Integration
Integrations are an encapsulated collection of elements and a such have a specific structure.
NginX
Lets examine the next NginX integration component:
Definitions
config.json
defines the general configuration for the entire integration component.display
this is the folder in which the actual visualization components are storedqueries
this is the folder in which the actual PPL queries are storedschemas
this is the folder in which the schemas are stored - schema for mapping translations or index mapping.samples
this folder contains sample logs and translated logs are presentmetadata
this folder contains additional metadata definitions such as security and policiesinfo
this folder contains documentations, licences and external referencesConfig.json
file includes the following Integration configurationDefinitions:
version:
This references the next semantic versioning:
integ
version indicates the version for this specific Integrationschema
version indicates the Observability schema versionresource
version indicates the actual resource version which is being integrated.identification:
This references the field this integration is using to explicitly identify the resource the signal is generated from
In this case the field resides in the
instrumentationScope.attributes.identification
path and should have a value that corresponds to the name of the integration.Categories:
This section defines the classification categories associated to this Integration according to ECS specification (https://www.elastic.co/guide/en/ecs/current/ecs-allowed-values-event-category.html)
collection:
This references the different types of collection this integration if offering. It can be one of the following
{
Traces, Logs, Metrics, Alerts, Supplements
}.Collections
Let's dive into a specific log collection:
This log collects nginx access logs as described in the
info
section.The
input_type
is a categorical classification of the log kind which is specified in the ECS specification as well.dataset
is defined above and indicates the target routing index.lables
are general purpose labeling tags that allow further correlation and associations.schema
is the location of the mapping configuration between the original log format to the Observability Log format.Display:
Visualization contains the relevant visual components associated with this integration.
The visual display component will need to be validated to the schema that it is expected to work on - this may be part of the Integration validation flow...
Queries
Queries contains specific PPL queries that precisely demonstrates some common and useful use-case .
Example:
-- The visual display component will need to be validated to the schema that it is expected to work on
What alternatives have you considered?
A clear and concise description of any alternative solutions or features you've considered.
Do you have any additional context?
The text was updated successfully, but these errors were encountered: