Deprecate the cassandra input plugin (#4050)
This commit is contained in:
parent
f8063113ce
commit
96120a6fc5
|
@ -1,5 +1,12 @@
|
||||||
## v1.7 [unreleased]
|
## v1.7 [unreleased]
|
||||||
|
|
||||||
|
### Release Notes
|
||||||
|
|
||||||
|
- The `cassandra` input plugin has been deprecated in favor of the `jolokia2`
|
||||||
|
input plugin which is much more configurable and more performant. There is
|
||||||
|
an [example configuration](./plugins/inputs/jolokia2/examples) to help you
|
||||||
|
get started.
|
||||||
|
|
||||||
### New Inputs
|
### New Inputs
|
||||||
|
|
||||||
- [fibaro](./plugins/inputs/fibaro/README.md) - Contributed by @dynek
|
- [fibaro](./plugins/inputs/fibaro/README.md) - Contributed by @dynek
|
||||||
|
|
|
@ -5,7 +5,7 @@ and writing metrics.
|
||||||
|
|
||||||
Design goals are to have a minimal memory footprint with a plugin system so
|
Design goals are to have a minimal memory footprint with a plugin system so
|
||||||
that developers in the community can easily add support for collecting metrics
|
that developers in the community can easily add support for collecting metrics
|
||||||
from local or remote services.
|
. For an example configuration referencet from local or remote services.
|
||||||
|
|
||||||
Telegraf is plugin-driven and has the concept of 4 distinct plugins:
|
Telegraf is plugin-driven and has the concept of 4 distinct plugins:
|
||||||
|
|
||||||
|
@ -130,7 +130,7 @@ configuration options.
|
||||||
* [aws cloudwatch](./plugins/inputs/cloudwatch)
|
* [aws cloudwatch](./plugins/inputs/cloudwatch)
|
||||||
* [bcache](./plugins/inputs/bcache)
|
* [bcache](./plugins/inputs/bcache)
|
||||||
* [bond](./plugins/inputs/bond)
|
* [bond](./plugins/inputs/bond)
|
||||||
* [cassandra](./plugins/inputs/cassandra)
|
* [cassandra](./plugins/inputs/cassandra) (deprecated, use [jolokia2](./plugins/inputs/jolokia2))
|
||||||
* [ceph](./plugins/inputs/ceph)
|
* [ceph](./plugins/inputs/ceph)
|
||||||
* [cgroup](./plugins/inputs/cgroup)
|
* [cgroup](./plugins/inputs/cgroup)
|
||||||
* [chrony](./plugins/inputs/chrony)
|
* [chrony](./plugins/inputs/chrony)
|
||||||
|
@ -163,7 +163,7 @@ configuration options.
|
||||||
* [iptables](./plugins/inputs/iptables)
|
* [iptables](./plugins/inputs/iptables)
|
||||||
* [ipset](./plugins/inputs/ipset)
|
* [ipset](./plugins/inputs/ipset)
|
||||||
* [jolokia](./plugins/inputs/jolokia) (deprecated, use [jolokia2](./plugins/inputs/jolokia2))
|
* [jolokia](./plugins/inputs/jolokia) (deprecated, use [jolokia2](./plugins/inputs/jolokia2))
|
||||||
* [jolokia2](./plugins/inputs/jolokia2)
|
* [jolokia2](./plugins/inputs/jolokia2) (java, cassandra, kafka)
|
||||||
* [kapacitor](./plugins/inputs/kapacitor)
|
* [kapacitor](./plugins/inputs/kapacitor)
|
||||||
* [kubernetes](./plugins/inputs/kubernetes)
|
* [kubernetes](./plugins/inputs/kubernetes)
|
||||||
* [leofs](./plugins/inputs/leofs)
|
* [leofs](./plugins/inputs/leofs)
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
|
|
||||||
# Telegraf plugin: Cassandra
|
# Telegraf plugin: Cassandra
|
||||||
|
|
||||||
|
### **Deprecated in version 1.7**: Please use the [jolokia2](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/jolokia2) plugin with the [cassandra.conf](/influxdata/telegraf/blob/master/plugins/inputs/jolokia2/examples/cassandra.conf) example configuration.
|
||||||
|
|
||||||
#### Plugin arguments:
|
#### Plugin arguments:
|
||||||
- **context** string: Context root used for jolokia url
|
- **context** string: Context root used for jolokia url
|
||||||
- **servers** []string: List of servers with the format "<user:passwd@><host>:port"
|
- **servers** []string: List of servers with the format "<user:passwd@><host>:port"
|
||||||
|
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
"strings"
|
"strings"
|
||||||
|
@ -174,7 +175,11 @@ func (c cassandraMetric) addTagsFields(out map[string]interface{}) {
|
||||||
|
|
||||||
func (j *Cassandra) SampleConfig() string {
|
func (j *Cassandra) SampleConfig() string {
|
||||||
return `
|
return `
|
||||||
# This is the context root used to compose the jolokia url
|
## DEPRECATED: The cassandra plugin has been deprecated. Please use the
|
||||||
|
## jolokia2 plugin instead.
|
||||||
|
##
|
||||||
|
## see https://github.com/influxdata/telegraf/tree/master/plugins/inputs/jolokia2
|
||||||
|
|
||||||
context = "/jolokia/read"
|
context = "/jolokia/read"
|
||||||
## List of cassandra servers exposing jolokia read service
|
## List of cassandra servers exposing jolokia read service
|
||||||
servers = ["myuser:mypassword@10.10.10.1:8778","10.10.10.2:8778",":8778"]
|
servers = ["myuser:mypassword@10.10.10.1:8778","10.10.10.2:8778",":8778"]
|
||||||
|
@ -258,6 +263,16 @@ func parseServerTokens(server string) map[string]string {
|
||||||
return serverTokens
|
return serverTokens
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *Cassandra) Start(acc telegraf.Accumulator) error {
|
||||||
|
log.Println("W! DEPRECATED: The cassandra plugin has been deprecated. " +
|
||||||
|
"Please use the jolokia2 plugin instead. " +
|
||||||
|
"https://github.com/influxdata/telegraf/tree/master/plugins/inputs/jolokia2")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *Cassandra) Stop() {
|
||||||
|
}
|
||||||
|
|
||||||
func (c *Cassandra) Gather(acc telegraf.Accumulator) error {
|
func (c *Cassandra) Gather(acc telegraf.Accumulator) error {
|
||||||
context := c.Context
|
context := c.Context
|
||||||
servers := c.Servers
|
servers := c.Servers
|
||||||
|
|
|
@ -2,7 +2,9 @@
|
||||||
|
|
||||||
The [Jolokia](http://jolokia.org) _agent_ and _proxy_ input plugins collect JMX metrics from an HTTP endpoint using Jolokia's [JSON-over-HTTP protocol](https://jolokia.org/reference/html/protocol.html).
|
The [Jolokia](http://jolokia.org) _agent_ and _proxy_ input plugins collect JMX metrics from an HTTP endpoint using Jolokia's [JSON-over-HTTP protocol](https://jolokia.org/reference/html/protocol.html).
|
||||||
|
|
||||||
## Jolokia Agent Configuration
|
### Configuration:
|
||||||
|
|
||||||
|
#### Jolokia Agent Configuration
|
||||||
|
|
||||||
The `jolokia2_agent` input plugin reads JMX metrics from one or more [Jolokia agent](https://jolokia.org/agent/jvm.html) REST endpoints.
|
The `jolokia2_agent` input plugin reads JMX metrics from one or more [Jolokia agent](https://jolokia.org/agent/jvm.html) REST endpoints.
|
||||||
|
|
||||||
|
@ -32,7 +34,7 @@ Optionally, specify SSL options for communicating with agents:
|
||||||
paths = ["Uptime"]
|
paths = ["Uptime"]
|
||||||
```
|
```
|
||||||
|
|
||||||
## Jolokia Proxy Configuration
|
#### Jolokia Proxy Configuration
|
||||||
|
|
||||||
The `jolokia2_proxy` input plugin reads JMX metrics from one or more _targets_ by interacting with a [Jolokia proxy](https://jolokia.org/features/proxy.html) REST endpoint.
|
The `jolokia2_proxy` input plugin reads JMX metrics from one or more _targets_ by interacting with a [Jolokia proxy](https://jolokia.org/features/proxy.html) REST endpoint.
|
||||||
|
|
||||||
|
@ -77,7 +79,7 @@ Optionally, specify SSL options for communicating with proxies:
|
||||||
paths = ["Uptime"]
|
paths = ["Uptime"]
|
||||||
```
|
```
|
||||||
|
|
||||||
## Jolokia Metric Configuration
|
#### Jolokia Metric Configuration
|
||||||
|
|
||||||
Each `metric` declaration generates a Jolokia request to fetch telemetry from a JMX MBean.
|
Each `metric` declaration generates a Jolokia request to fetch telemetry from a JMX MBean.
|
||||||
|
|
||||||
|
@ -167,3 +169,11 @@ Both `jolokia2_agent` and `jolokia2_proxy` plugins support default configuration
|
||||||
| `default_field_separator` | `.` | A character to use to join Mbean attributes when creating fields. |
|
| `default_field_separator` | `.` | A character to use to join Mbean attributes when creating fields. |
|
||||||
| `default_field_prefix` | _None_ | A string to prepend to the field names produced by all `metric` declarations. |
|
| `default_field_prefix` | _None_ | A string to prepend to the field names produced by all `metric` declarations. |
|
||||||
| `default_tag_prefix` | _None_ | A string to prepend to the tag names produced by all `metric` declarations. |
|
| `default_tag_prefix` | _None_ | A string to prepend to the tag names produced by all `metric` declarations. |
|
||||||
|
|
||||||
|
### Example Configurations:
|
||||||
|
|
||||||
|
- [Java JVM](/influxdata/telegraf/blob/master/plugins/inputs/jolokia2/examples/java.conf)
|
||||||
|
- [Kafka](/influxdata/telegraf/blob/master/plugins/inputs/jolokia2/examples/kafka.conf)
|
||||||
|
- [Cassandra](/influxdata/telegraf/blob/master/plugins/inputs/jolokia2/examples/cassandra.conf)
|
||||||
|
|
||||||
|
Please help improve this list and contribute new configuration files by opening an issue or pull request.
|
||||||
|
|
|
@ -0,0 +1,85 @@
|
||||||
|
[[inputs.jolokia2_agent]]
|
||||||
|
urls = ["http://localhost:8778/jolokia"]
|
||||||
|
name_prefix = "java_"
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent.metrics]]
|
||||||
|
name = "Memory"
|
||||||
|
mbean = "java.lang:type=Memory"
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent.metric]]
|
||||||
|
name = "GarbageCollector"
|
||||||
|
mbean = "java.lang:name=*,type=GarbageCollector"
|
||||||
|
tag_keys = ["name"]
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent]]
|
||||||
|
urls = ["http://localhost:8778/jolokia"]
|
||||||
|
name_prefix = "cassandra_"
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent.metric]]
|
||||||
|
name = "Cache"
|
||||||
|
mbean = "org.apache.cassandra.metrics:name=*,scope=*,type=Cache"
|
||||||
|
tag_keys = ["name", "scope"]
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent.metric]]
|
||||||
|
name = "Client"
|
||||||
|
mbean = "org.apache.cassandra.metrics:name=*,type=Client"
|
||||||
|
tag_keys = ["name"]
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent.metric]]
|
||||||
|
name = "ClientRequestMetrics"
|
||||||
|
mbean = "org.apache.cassandra.metrics:name=*,type=ClientRequestMetrics"
|
||||||
|
tag_keys = ["name"]
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent.metric]]
|
||||||
|
name = "ClientRequest"
|
||||||
|
mbean = "org.apache.cassandra.metrics:name=*,scope=*,type=ClientRequest"
|
||||||
|
tag_keys = ["name", "scope"]
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent.metric]]
|
||||||
|
name = "ColumnFamily"
|
||||||
|
mbean = "org.apache.cassandra.metrics:keyspace=*,name=*,scope=*,type=ColumnFamily"
|
||||||
|
tag_keys = ["keyspace", "name", "scope"]
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent.metric]]
|
||||||
|
name = "CommitLog"
|
||||||
|
mbean = "org.apache.cassandra.metrics:name=*,type=CommitLog"
|
||||||
|
tag_keys = ["name"]
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent.metric]]
|
||||||
|
name = "Compaction"
|
||||||
|
mbean = "org.apache.cassandra.metrics:name=*,type=Compaction"
|
||||||
|
tag_keys = ["name"]
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent.metric]]
|
||||||
|
name = "CQL"
|
||||||
|
mbean = "org.apache.cassandra.metrics:name=*,type=CQL"
|
||||||
|
tag_keys = ["name"]
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent.metric]]
|
||||||
|
name = "DroppedMessage"
|
||||||
|
mbean = "org.apache.cassandra.metrics:name=*,scope=*,type=DroppedMessage"
|
||||||
|
tag_keys = ["name", "scope"]
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent.metric]]
|
||||||
|
name = "FileCache"
|
||||||
|
mbean = "org.apache.cassandra.metrics:name=*,type=FileCache"
|
||||||
|
tag_keys = ["name"]
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent.metric]]
|
||||||
|
name = "ReadRepair"
|
||||||
|
mbean = "org.apache.cassandra.metrics:name=*,type=ReadRepair"
|
||||||
|
tag_keys = ["name"]
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent.metric]]
|
||||||
|
name = "HintedHandoffManager"
|
||||||
|
mbean = "org.apache.cassandra.metrics:type=HintedHandoffManager"
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent.metric]]
|
||||||
|
name = "Storage"
|
||||||
|
mbean = "org.apache.cassandra.metrics:name=*,type=Storage"
|
||||||
|
tag_keys = ["name"]
|
||||||
|
|
||||||
|
[[inputs.jolokia2_agent.metric]]
|
||||||
|
name = "ThreadPools"
|
||||||
|
mbean = "org.apache.cassandra.metrics:name=*,path=*,scope=*,type=ThreadPools"
|
||||||
|
tag_keys = ["name", "path", "scope"]
|
|
@ -56,13 +56,13 @@ func (jp *JolokiaProxy) SampleConfig() string {
|
||||||
## Add proxy targets to query
|
## Add proxy targets to query
|
||||||
# default_target_username = ""
|
# default_target_username = ""
|
||||||
# default_target_password = ""
|
# default_target_password = ""
|
||||||
[[inputs.jolokia_proxy.target]]
|
[[inputs.jolokia2_proxy.target]]
|
||||||
url = "service:jmx:rmi:///jndi/rmi://targethost:9999/jmxrmi"
|
url = "service:jmx:rmi:///jndi/rmi://targethost:9999/jmxrmi"
|
||||||
# username = ""
|
# username = ""
|
||||||
# password = ""
|
# password = ""
|
||||||
|
|
||||||
## Add metrics to read
|
## Add metrics to read
|
||||||
[[inputs.jolokia_proxy.metric]]
|
[[inputs.jolokia2_proxy.metric]]
|
||||||
name = "java_runtime"
|
name = "java_runtime"
|
||||||
mbean = "java.lang:type=Runtime"
|
mbean = "java.lang:type=Runtime"
|
||||||
paths = ["Uptime"]
|
paths = ["Uptime"]
|
||||||
|
|
Loading…
Reference in New Issue