---
title: Configuração
slug: configuracao
description: Learn how to configure the Jolokia2 plugin in Telegraf to collect JMX metrics with this comprehensive document. Discover examples for using the Jolokia2 Proxy Input and the Jolokia2 Agent, along with customizable parameters like mbean, paths, tag_keys, ta
createdAt: 2022-05-23T20:47:58.000Z
---

# Plugin Base

## Jolokia2 Proxy Input

:::CodeblockTabs
Plugin Telegraf

```shell
# Read JMX metrics from a Jolokia REST proxy endpoint
[[inputs.jolokia2_proxy]]
  # default_tag_prefix      = ""
  # default_field_prefix    = ""
  # default_field_separator = "."

  ## Proxy agent
  url = "http://localhost:8080/jolokia"
  # username = ""
  # password = ""
  # response_timeout = "5s"

  ## Optional TLS config
  # tls_ca   = "/var/private/ca.pem"
  # tls_cert = "/var/private/client.pem"
  # tls_key  = "/var/private/client-key.pem"
  # insecure_skip_verify = false

  ## Add proxy targets to query
  # default_target_username = ""
  # default_target_password = ""
  [[inputs.jolokia2_proxy.target]]
    url = "service:jmx:rmi:///jndi/rmi://targethost:9999/jmxrmi"
    # username = ""
    # password = ""

  ## Add metrics to read
  [[inputs.jolokia2_proxy.metric]]
    name  = "java_runtime"
    mbean = "java.lang:type=Runtime"
    paths = ["Uptime"]
```
:::

## Jolokia2 Agent

:::CodeblockTabs
Plugin Telegraf

```shell
# Read JMX metrics from a Jolokia REST agent endpoint
[[inputs.jolokia2_agent]]
  # default_tag_prefix      = ""
  # default_field_prefix    = ""
  # default_field_separator = "."

  # Add agents URLs to query
  urls = ["http://localhost:8080/jolokia"]
  # username = ""
  # password = ""
  # response_timeout = "5s"

  ## Optional TLS config
  # tls_ca   = "/var/private/ca.pem"
  # tls_cert = "/var/private/client.pem"
  # tls_key  = "/var/private/client-key.pem"
  # insecure_skip_verify = false

  ## Add metrics to read
  [[inputs.jolokia2_agent.metric]]
    name  = "java_runtime"
    mbean = "java.lang:type=Runtime"
    paths = ["Uptime"]
```
:::

# Métricas

Cada declaração gera uma request Jolokia para buscar a métrica.

| Chave             | Requerido | Descrição                                                                                                                                                                                         |
| ----------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **mbean**         | Sim       | O nome do objeto de um JMX MBean. Os valores de chave de propriedade do MBean podem conter um *wildcard* (**\***), permitindo que você busque vários MBeans.                                      |
| **paths**         | Não       | Uma lista de atributos MBean a serem lidos.                                                                                                                                                       |
| **tag\_keys**     | Não       | Uma lista de nomes de chave de propriedade MBean para converter em tags. O nome da chave da propriedade se torna o nome da tag, enquanto o valor da chave da propriedade se torna o valor da tag. |
| **tag\_prefix**   | Não       | Uma string para preceder os nomes de tag produzidos por esta declaração de métrica.                                                                                                               |
| **field\_name**   | Não       | Uma string a ser definida como o nome do campo produzido por esta métrica.                                                                                                                        |
| **field\_prefix** | Não       | Uma string para preceder os nomes de campo produzidos por esta declaração de métrica.                                                                                                             |

Use **paths** para refinar quais campos coletar.

:::CodeblockTabs
Exemplo de Configuração

```shell
[[inputs.jolokia2_agent.metric]]
  name  = "jvm_memory"
  mbean = "java.lang:type=Memory"
  paths = ["HeapMemoryUsage", "NonHeapMemoryUsage", "ObjectPendingFinalizationCount"]
```
:::

A declaração de métrica **jvm\_memory** anterior produz a seguinte saída:

:::CodeblockTabs
Exemplo de Saída

```shell
jvm_memory HeapMemoryUsage.committed=4294967296,HeapMemoryUsage.init=4294967296,HeapMemoryUsage.max=4294967296,HeapMemoryUsage.used=1750658992,NonHeapMemoryUsage.committed=67350528,NonHeapMemoryUsage.init=2555904,NonHeapMemoryUsage.max=-1,NonHeapMemoryUsage.used=65821352,ObjectPendingFinalizationCount=0 1503762436000000000
```
:::

Use wildcards (**\***) em valores de chave de propriedade **mbean** para criar séries distintas capturando valores em **tag\_keys**.

:::CodeblockTabs
Exemplo de Configuração

```shell
[[inputs.jolokia2_agent.metric]]
  name     = "jvm_garbage_collector"
  mbean    = "java.lang:name=*,type=GarbageCollector"
  paths    = ["CollectionTime", "CollectionCount"]
  tag_keys = ["name"]
```
:::

Como **name=\*** corresponde a **G1 Old Generation** e **G1 Young Generation**, e **name** é usado como uma **tag**, a declaração de métrica **jvm\_garbage\_collector** anterior produz duas métricas.

```shell
jvm_garbage_collector,name=G1\ Old\ Generation CollectionCount=0,CollectionTime=0 1503762520000000000
jvm_garbage_collector,name=G1\ Young\ Generation CollectionTime=32,CollectionCount=2 1503762520000000000
```

Para exemplos de configuração baseadas em *Servlets* produtivos, acesse:

[https://github.com/influxdata/telegraf/tree/master/plugins/inputs/jolokia2/examples](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/jolokia2/examples)

