Skip to content

[Discuss] Proposal: support integration sets #132

@mtojek

Description

@mtojek

Hi everyone,

The goal of this issue is to discuss challenges, benefits and drawbacks of introducing a new package structure (potentially v2?), which can satisfy the requirement of service granularity (reported in #122). I've prepared a sample package to visualize the proposal.

MySQL pseudo-integration: https://github.com/mtojek/integrations/tree/v2-integration-sets/packages/mysql-2

Requirements:

  • fit in the new service granularity model proposed by @sorantis
  • have single manifest file (for package and all data streams), so it would be easier for Kibana and EPR to load and process package description
  • keep large contents (pipeline definitions, icons, screenshots, agent's configs) in separate resources
  • support extending resources, e.g. manifests contain vars on every level, fields are on multiple levels in the directory tree

Notes/observations:

  • Integration policies defines groups of inputs: logs, metrics, packets (packetbeat), synthetics (uptime). I suppose we'll need also traces
  • With this approach, we'll drop the original idea of a package - a group of dashboards, pipelines, etc. The new concept changes the meaning of not just integrations.
  • data_stream names are aligned with the manifest structure, e.g.:
    integration_sets:
    - name: basic
      integration_policies:
        logs:
          inputs:
            - name: error
              ilm_policy: custom-hot-warm-logs
              vars: ~ # ...
    .. gives - logs-mysql-basic.error-shared. I suppose there should be an option for the end-user to correct/change it.

Please do not consider this is as future approach or a kick-off for adjustments, it's rather an exercise to understand and estimate the amount of work in multiple places. It would be nice to hear some feedback from all parties.

EDIT:

Do not look at the manifest as it's the final/target format. Please rather focus on concepts/requirements.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions