Skip to content

Commit

Permalink
[Metricbeat][Istio] Add mixer metricset (elastic#15696)
Browse files Browse the repository at this point in the history
  • Loading branch information
ChrsMark committed Jan 24, 2020
1 parent 0dab517 commit e05ade8
Show file tree
Hide file tree
Showing 22 changed files with 872 additions and 5 deletions.
3 changes: 2 additions & 1 deletion CHANGELOG.next.asciidoc
Expand Up @@ -97,7 +97,8 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d
- Add DynamoDB AWS Metricbeat light module {pull}15097[15097]
- Release elb module as GA. {pull}15485[15485]
- Add a `system/network_summary` metricset {pull}15196[15196]
- Add mesh metricset for Istio Metricbeat module{pull}15535[15535]
- Add mesh metricset for Istio Metricbeat module {pull}15535[15535]
- Add mixer metricset for Istio Metricbeat module {pull}15696[15696]
- Make the `system/cpu` metricset collect normalized CPU metrics by default. {issue}15618[15618] {pull}15729[15729]

*Packetbeat*
Expand Down
237 changes: 237 additions & 0 deletions metricbeat/docs/fields.asciidoc
Expand Up @@ -16901,6 +16901,243 @@ type: keyword
--
[float]
=== mixer
Contains statistics related to the Istio mixer service
*`istio.mixer.istio.mcp.request.acks`*::
+
--
The number of request acks received by the source.
type: long
--
*`istio.mixer.config.adapter.info.errors.config`*::
+
--
The number of errors encountered during processing of the adapter info configuration.
type: long
--
*`istio.mixer.config.adapter.info.configs`*::
+
--
The number of known adapters in the current config.
type: long
--
*`istio.mixer.config.attributes`*::
+
--
The number of known attributes in the current config.
type: long
--
*`istio.mixer.config.handler.configs`*::
+
--
The number of known handlers in the current config.
type: long
--
*`istio.mixer.config.handler.errors.validation`*::
+
--
The number of errors encountered because handler validation returned error.
type: long
--
*`istio.mixer.config.instance.errors.config`*::
+
--
The number of errors encountered during processing of the instance configuration.
type: long
--
*`istio.mixer.config.instance.configs`*::
+
--
The number of known instances in the current config.
type: long
--
*`istio.mixer.config.rule.errors.config`*::
+
--
The number of errors encountered during processing of the rule configuration.
type: long
--
*`istio.mixer.config.rule.errors.match`*::
+
--
The number of rule conditions that was not parseable.
type: long
--
*`istio.mixer.config.rule.configs`*::
+
--
The number of known rules in the current config.
type: long
--
*`istio.mixer.config.template.errors.config`*::
+
--
The number of errors encountered during processing of the template configuration.
type: long
--
*`istio.mixer.config.template.configs`*::
+
--
The number of known templates in the current config.
type: long
--
*`istio.mixer.config.unsatisfied.action_handler`*::
+
--
The number of actions that failed due to handlers being unavailable.
type: long
--
*`istio.mixer.dispatcher_destinations_per_variety_total`*::
+
--
The number of Mixer adapter destinations by template variety type.
type: long
--
*`istio.mixer.handler.handlers.closed`*::
+
--
The number of handlers that were closed during config transition.
type: long
--
*`istio.mixer.handler.daemons`*::
+
--
The current number of active daemon routines in a given adapter environment.
type: long
--
*`istio.mixer.handler.failures.build`*::
+
--
The number of handlers that failed creation during config transition.
type: long
--
*`istio.mixer.handler.failures.close`*::
+
--
The number of errors encountered while closing handlers during config transition.
type: long
--
*`istio.mixer.handler.handlers.new`*::
+
--
The number of handlers that were newly created during config transition.
type: long
--
*`istio.mixer.handler.handlers.reused`*::
+
--
The number of handlers that were re-used during config transition.
type: long
--
*`istio.mixer.handler`*::
+
--
The name of the daemon handler
type: long
--
*`istio.mixer.variety`*::
+
--
The name of the variety
type: long
--
[[exported-fields-jolokia]]
== Jolokia fields
Expand Down
15 changes: 14 additions & 1 deletion metricbeat/docs/modules/istio.asciidoc
Expand Up @@ -11,7 +11,7 @@ beta[]
This is the Istio module. The Istio module collects metrics from the
Istio https://istio.io/docs/tasks/observability/metrics/querying-metrics/#about-the-prometheus-add-on[prometheus exporters endpoints].

The default metricset is `mesh`.
The default metricsets are `mesh`, `mixer`.

[float]
=== Compatibility
Expand All @@ -28,10 +28,19 @@ in <<configuration-metricbeat>>. Here is an example configuration:
[source,yaml]
----
metricbeat.modules:
# Istio mesh. To collect all all Mixer-generated metrics
- module: istio
metricsets: ["mesh"]
period: 10s
# use istio-telemetry.istio-system:42422, when deploying Metricbeat in a kuberentes cluster as Pod or Daemonset
hosts: ["localhost:42422"]
# Istio mixer. To monitor Mixer itself.
- module: istio
metricsets: ["mixer"]
period: 10s
# use istio-telemetry.istio-system:15014, when deploying Metricbeat in a kuberentes cluster as Pod or Daemonset
hosts: ["localhost:15014"]
----

[float]
Expand All @@ -41,5 +50,9 @@ The following metricsets are available:

* <<metricbeat-metricset-istio-mesh,mesh>>

* <<metricbeat-metricset-istio-mixer,mixer>>

include::istio/mesh.asciidoc[]

include::istio/mixer.asciidoc[]

23 changes: 23 additions & 0 deletions metricbeat/docs/modules/istio/mixer.asciidoc
@@ -0,0 +1,23 @@
////
This file is generated! See scripts/mage/docs_collector.go
////

[[metricbeat-metricset-istio-mixer]]
=== istio mixer metricset

beta[]

include::../../../../x-pack/metricbeat/module/istio/mixer/_meta/docs.asciidoc[]


==== Fields

For a description of each field in the metricset, see the
<<exported-fields-istio,exported fields>> section.

Here is an example document generated by this metricset:

[source,json]
----
include::../../../../x-pack/metricbeat/module/istio/mixer/_meta/data.json[]
----
3 changes: 2 additions & 1 deletion metricbeat/docs/modules_list.asciidoc
Expand Up @@ -104,7 +104,8 @@ This file is generated! See scripts/mage/docs_collector.go
|<<metricbeat-module-ibmmq,IBM MQ>> beta[] |image:./images/icon-yes.png[Prebuilt dashboards are available] |
.1+| .1+| |<<metricbeat-metricset-ibmmq-qmgr,qmgr>> beta[]
|<<metricbeat-module-istio,istio>> beta[] |image:./images/icon-no.png[No prebuilt dashboards] |
.1+| .1+| |<<metricbeat-metricset-istio-mesh,mesh>> beta[]
.2+| .2+| |<<metricbeat-metricset-istio-mesh,mesh>> beta[]
|<<metricbeat-metricset-istio-mixer,mixer>> beta[]
|<<metricbeat-module-jolokia,Jolokia>> |image:./images/icon-no.png[No prebuilt dashboards] |
.1+| .1+| |<<metricbeat-metricset-jolokia-jmx,jmx>>
|<<metricbeat-module-kafka,Kafka>> |image:./images/icon-yes.png[Prebuilt dashboards are available] |
Expand Down
1 change: 1 addition & 0 deletions x-pack/metricbeat/include/list.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions x-pack/metricbeat/metricbeat.reference.yml
Expand Up @@ -538,11 +538,20 @@ metricbeat.modules:
}
#-------------------------------- Istio Module --------------------------------
# Istio mesh. To collect all all Mixer-generated metrics
- module: istio
metricsets: ["mesh"]
period: 10s
# use istio-telemetry.istio-system:42422, when deploying Metricbeat in a kuberentes cluster as Pod or Daemonset
hosts: ["localhost:42422"]

# Istio mixer. To monitor Mixer itself.
- module: istio
metricsets: ["mixer"]
period: 10s
# use istio-telemetry.istio-system:15014, when deploying Metricbeat in a kuberentes cluster as Pod or Daemonset
hosts: ["localhost:15014"]

#------------------------------- Jolokia Module -------------------------------
- module: jolokia
#metricsets: ["jmx"]
Expand Down
Empty file.
9 changes: 9 additions & 0 deletions x-pack/metricbeat/module/istio/_meta/config.reference.yml
@@ -1,4 +1,13 @@
# Istio mesh. To collect all all Mixer-generated metrics
- module: istio
metricsets: ["mesh"]
period: 10s
# use istio-telemetry.istio-system:42422, when deploying Metricbeat in a kuberentes cluster as Pod or Daemonset
hosts: ["localhost:42422"]

# Istio mixer. To monitor Mixer itself.
- module: istio
metricsets: ["mixer"]
period: 10s
# use istio-telemetry.istio-system:15014, when deploying Metricbeat in a kuberentes cluster as Pod or Daemonset
hosts: ["localhost:15014"]
9 changes: 9 additions & 0 deletions x-pack/metricbeat/module/istio/_meta/config.yml
@@ -1,4 +1,13 @@
# Istio mesh. To collect all all Mixer-generated metrics
- module: istio
metricsets: ["mesh"]
period: 10s
# use istio-telemetry.istio-system:42422, when deploying Metricbeat in a kuberentes cluster
hosts: ["localhost:42422"]

# Istio mixer. To monitor Mixer itself.
- module: istio
metricsets: ["mixer"]
period: 10s
# use istio-telemetry.istio-system:15014, when deploying Metricbeat in a kuberentes cluster
hosts: ["localhost:15014"]
2 changes: 1 addition & 1 deletion x-pack/metricbeat/module/istio/_meta/docs.asciidoc
@@ -1,7 +1,7 @@
This is the Istio module. The Istio module collects metrics from the
Istio https://istio.io/docs/tasks/observability/metrics/querying-metrics/#about-the-prometheus-add-on[prometheus exporters endpoints].

The default metricset is `mesh`.
The default metricsets are `mesh`, `mixer`.

[float]
=== Compatibility
Expand Down
Empty file.
2 changes: 1 addition & 1 deletion x-pack/metricbeat/module/istio/fields.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit e05ade8

Please sign in to comment.