Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add galley metricset for Istio Metricbeat module #15857

Merged
merged 8 commits into from
Jan 31, 2020
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.next.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -120,6 +120,7 @@ https://github.com/elastic/beats/compare/v7.0.0-alpha2...master[Check the HEAD d
- Add mixer metricset for Istio Metricbeat module {pull}15696[15696]
- Add pilot metricset for Istio Metricbeat module {pull}15761[15761]
- Make the `system/cpu` metricset collect normalized CPU metrics by default. {issue}15618[15618] {pull}15729[15729]
- Add galley metricset for Istio Metricbeat module {pull}15857[15857]
- Add `key/value` mode for SQL module. {issue}15770[15770] {pull]15845[15845]
- Add STAN dashboard {pull}15654[15654]
- Add support for Unix socket in Memcached metricbeat module. {issue}13685[13685] {pull}15822[15822]
Expand Down
331 changes: 331 additions & 0 deletions metricbeat/docs/fields.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -16602,6 +16602,337 @@ istio Module



[float]
=== galley

Contains statistics related to the Istio galley service



*`istio.galley.name`*::
+
--
The name of the resource the metric is related to


type: keyword

--

*`istio.galley.namespace`*::
+
--
The Kubernetes namespace of the resource


type: keyword

--

*`istio.galley.version`*::
+
--
The version of the object


type: keyword

--

*`istio.galley.collection`*::
+
--
The collection of the instance


type: keyword

--

*`istio.galley.istio.authentication.meshpolicies`*::
+
--
The number of valid istio/authentication/meshpolicies known to galley at a point in time


type: long

--

*`istio.galley.istio.authentication.policies`*::
+
--
The number of valid istio/authentication/policies known to galley at a point in time


type: long

--

*`istio.galley.istio.mesh.MeshConfig`*::
+
--
The number of valid istio/mesh/MeshConfig known to galley at a point in time


type: long

--

*`istio.galley.istio.networking.destinationrules`*::
+
--
The number of valid istio/networking/destinationrules known to galley at a point in time


type: long

--

*`istio.galley.istio.networking.envoyfilters`*::
+
--
The number of valid istio/networking/envoyfilters known to galley at a point in time


type: long

--

*`istio.galley.istio.networking.gateways`*::
+
--
The number of valid istio/networking/gateways known to galley at a point in time


type: long

--

*`istio.galley.istio.networking.sidecars`*::
+
--
The number of valid istio/networking/sidecars known to galley at a point in time


type: long

--

*`istio.galley.istio.networking.virtualservices`*::
+
--
The number of valid istio/networking/virtualservices known to galley at a point in time


type: long

--

*`istio.galley.istio.policy.attributemanifests`*::
+
--
The number of valid istio/policy/attributemanifests known to galley at a point in time


type: long

--

*`istio.galley.istio.policy.handlers`*::
+
--
The number of valid istio/policy/handlers known to galley at a point in time


type: long

--

*`istio.galley.istio.policy.instances`*::
+
--
The number of valid istio/policy/instances known to galley at a point in time


type: long

--

*`istio.galley.istio.policy.rules`*::
+
--
The number of valid istio/policy/rules known to galley at a point in time


type: long

--

*`istio.galley.runtime.processor.event_span.duration.ms.bucket.*`*::
+
--
The duration between each incoming event as histogram buckets in milliseconds


type: object

--

*`istio.galley.runtime.processor.event_span.duration.ms.sum`*::
+
--
The duration between each incoming event, sum of durations in milliseconds


type: long

format: duration

--

*`istio.galley.runtime.processor.event_span.duration.ms.count`*::
+
--
The duration between each incoming event, number of metrics


type: long

--

*`istio.galley.runtime.processor.snapshot_events.bucket.*`*::
+
--
The number of events that have been processed as histogram buckets


type: object

--

*`istio.galley.runtime.processor.snapshot_events.sum`*::
+
--
The number of events that have been processed, sum of events


type: long

--

*`istio.galley.runtime.processor.snapshot_events.count`*::
+
--
The duration between each incoming event, number of metrics


type: long

--

*`istio.galley.runtime.processor.snapshot_lifetime.duration.ms.bucket.*`*::
+
--
The duration of each snapshot as histogram buckets in milliseconds


type: object

--

*`istio.galley.runtime.processor.snapshot_lifetime.duration.ms.sum`*::
+
--
The duration of each snapshot, sum of durations in milliseconds


type: long

format: duration

--

*`istio.galley.runtime.processor.snapshot_lifetime.duration.ms.count`*::
+
--
The duration of each snapshot, number of metrics


type: long

--

*`istio.galley.runtime.state_type_instances`*::
+
--
The number of type instances per type URL


type: long

--

*`istio.galley.runtime.strategy.on_change`*::
+
--
The number of times the strategy's onChange has been called


type: long

--

*`istio.galley.runtime.strategy.timer_quiesce_reached`*::
+
--
The number of times a quiesce has been reached


type: long

--

*`istio.galley.source_kube_event_success_total`*::
+
--
The number of times a kubernetes source successfully handled an event


type: long

--

*`istio.galley.validation.cert_key.updates`*::
+
--
Galley validation webhook certificate updates


type: long

--

*`istio.galley.validation.config.load`*::
+
--
k8s webhook configuration (re)loads


type: long

--

*`istio.galley.validation.config.updates`*::
+
--
k8s webhook configuration updates


type: long

--

[float]
=== mesh

Expand Down
15 changes: 13 additions & 2 deletions metricbeat/docs/modules/istio.asciidoc
Original file line number Diff line number Diff line change
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 metricsets are `mesh`, `mixer`, `pilot`.
The default metricsets are `mesh`, `mixer`, `pilot`, `galley`.

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

# Istio galley. To collect all Galley-generated metrics
- module: istio
metricsets: ["galley"]
period: 10s
# use istio-galley.istio-system:15014, when deploying Metricbeat in a kuberentes cluster as Pod or Daemonset
hosts: ["localhost:15014"]

# Istio pilot. To collect all Pilot-generated metrics.
- module: istio
metricsets: ["pilot"]
Expand All @@ -55,12 +62,16 @@ metricbeat.modules:

The following metricsets are available:

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

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

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

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

include::istio/galley.asciidoc[]

include::istio/mesh.asciidoc[]

include::istio/mixer.asciidoc[]
Expand Down
Loading