x-pack/solutions/observability/plugins/infra/README.md
infra pluginThis is the home of the infra plugin, which aims to provide a solution for
the infrastructure monitoring use-case within Kibana.
The plugin provides two main apps in Kibana - the Metrics UI and the Logs UI. Both are reachable via their own main navigation items and via links from other parts of Kibana.
The Metrics UI consists of three main screens, which are the Inventory, the Node details and the Metrics explorer.
The Logs UI provides one log viewer screen.
In order to address the whole infrastructure monitoring team, the @elastic/infra-logs-ui team alias can be used as a mention or in review requests.
The Infrastructure forum and Logs forum on Discuss are frequented by the team as well.
Since the infra plugin lives within the Kibana repository, Kibana's
contribution procedures apply. In addition to that,
this section details a few plugin-specific aspects.
The Metrics UI displays ECS-compatible metric data from indices
matching the metricbeat-* pattern by default. The primary way to ingest these
is by running Metricbeat to deliver metrics to the development Elasticsearch
cluster. It can be used to ingest development host metrics using the system
module.
A setup that ingests docker and nginx metrics is described in [./docs/test_setups/infra_metricbeat_docker_nginx.md].
Similarly, the Logs UI assumes ECS-compatible log data to be present in
indices matching the filebeat-* pattern. At the time of writing the minimum
required fields are @timestamp and message, but the presence of other ECS
fields enable additional functionality such as linking to and from other
solutions.
The primary way to ingest such log data is via Filebeat. A convenient source of log entries are the Kibana and Elasticsearch log files produced by the development environment itself. These can easily be consumed by enabling the modules
$ filebeat modules enable elasticsearch
$ filebeat modules enable kibana
and then editing the modules.d/elasticsearch.yml and modules.d/kibana.yml
to change the var.paths settings to contain paths to the development
environment's log files, e.g.:
- module: elasticsearch
server:
enabled: true
var.paths:
- "${WORK_ENVIRONMENT}/kibana/.es/8.0.0/logs/elasticsearch_server.json"
var.convert_timezone: true
As with all of Kibana, we welcome contributions from everyone. The usual life-cycle of a PR looks like the following:
master and
backported later. The checklist in the PR description template can be used
to guide the progress of the PR.Team:logs-metrics-uiFeature:Metrics UI if it relates to the Metrics UIFeature:Logs UI if it relates to the Logs UImaster currently representsrelease_note:enhancement if the PR contains a new feature or enhancementrelease_note:fix if the PR contains an external-facing fixrelease_note:breaking if the PR contains a breaking changerelease_note:deprecation if the PR contains deprecations of publicly
documented features.release_note:skip if the PR contains only house-keeping changes, fixes
to unreleased code or documentation changes@elasticmachine merge upstream or retest can be used to manually trigger a CI
run. The result will be reported on the PR itself. Out of courtesy for the
reviewers the checks should pass before requesting reviews.@elastic/logs-metrics-ui it should be requested manually.master to keep the history clean.master, the PR is backported to the
branches that represent the versions indicated by the labels. The yarn backport command can be used to automate most of the process.There are always exceptions to the rule, so seeking guidance about any of the steps is highly recommended.