|
Key
This line was removed.
This word was removed. This word was added.
This line was added.
|
Changes (6)
View Page History{note}
Be wary that *Petals ESB anterior to version 5.3.0* exposes MBeans as complex Java types (such as Maps and Lists), which *are not compatible with the jmx agent and will be ignored*. In later versions this was reworked to expose MBeans as standard OpenMBean format (ComplexData and TabularData), which is natively compatible with the agent. It is advised to *upgrade to Petals 5.3.0 (or later) to avoid compatibility issues* and enable all metrics straight out of the box.
{note}
Note that:
* Only *numeric values* are supported by Prometheus, complex types will be splitted in single numeric values by the agent. Strings can be interpreted as regexp to extract numeric values, or be stored as string labels under an arbitraty numeric value (a somewhat risky workaround for a temporal DB).
Note that:
* Only *numeric values* are supported by Prometheus, complex types will be splitted in single numeric values by the agent. Strings can be interpreted as regexp to extract numeric values, or be stored as string labels under an arbitraty numeric value (a somewhat risky workaround for a temporal DB).
* Custom and complex objects (other than OpenMBeans) may not be exported by the exporter, *having ‘\- pattern “.\*”’ as only rule will return every metric available\* (useful for testing or default rule).
* Rules order is important: Eventually, *a single MBean attributes is processed by a single rule*\! To decide which rule is applied: MBean attributes will be parsed by each rule (in order) until a pattern matches, then this rule is applied to the MBean attribute. In other words, all rules are tested against each MBean attribute the first one to match is kept for the attribute. So very specific rules should be put first, and generic/default rules last.
* Prometheus can make extensive use of *labels* through queries to determine *metrics* sources. Think about your needs when designing your labels, more explanations on [the official documentation|https://prometheus.io/docs/concepts/data_model/] or [this blog post.|https://pierrevincent.github.io/2017/12/prometheus-blog-series-part-1-metrics-and-labels/]
* Prometheus can make extensive use of *labels* through queries to determine *metrics* sources. Think about your needs when designing your labels, more explanations on [the official documentation|https://prometheus.io/docs/concepts/data_model/] or [this blog post.|https://pierrevincent.github.io/2017/12/prometheus-blog-series-part-1-metrics-and-labels/]
h2. Reload configuration
In short, once logged as admin:
# Open the side menu by clicking the Grafana icon in the top header.
# Open the side menu by clicking the Grafana icon in the top header.
h3. Creating a graph
? !grafana_dashboard.png|width=1112!
h3. Importing our generic dashboards
The following dashboards are designed to display various relevant metrics about systems, containers, components and services. They require that :
* each container exposes metrics using a jmx agent (or HTTP server) using " - pattern ".*" " as configured rule.
* prometheus is configured to scrape from each container, adding a specific _"container"_ label to each one. Like this for example:
{code}
static_configs:
- targets: ['<ip 1>:<port 1>']
labels:
container: '<container 1 name>'
- targets: ['<ip 2>:<port 2>']
labels:
container: '<container 2 name>'
{code}
* grafana server is configured to have prometheus available as datasource.
You can then download our dashboards:
[^Topology overview-1552482339462.json]
[^Container overview-1552482360774.json]
[^Components detail-1552482381216.json]
[^API-1552482402292.json]
[^All services-1552482428245.json]
The following dashboards are designed to display various relevant metrics about systems, containers, components and services. They require that :
* each container exposes metrics using a jmx agent (or HTTP server) using " - pattern ".*" " as configured rule.
* prometheus is configured to scrape from each container, adding a specific _"container"_ label to each one. Like this for example:
{code}
static_configs:
- targets: ['<ip 1>:<port 1>']
labels:
container: '<container 1 name>'
- targets: ['<ip 2>:<port 2>']
labels:
container: '<container 2 name>'
{code}
* grafana server is configured to have prometheus available as datasource.
You can then download our dashboards:
[^Topology overview-1552482339462.json]
[^Container overview-1552482360774.json]
[^Components detail-1552482381216.json]
[^API-1552482402292.json]
[^All services-1552482428245.json]
h1. Alerting