Skip to content

Commit

Permalink
Add experimental Kibana module to Metricbeat (#3895)
Browse files Browse the repository at this point in the history
The Kibana module is marked experimental as it might change or removed at any time.
  • Loading branch information
ruflin authored and tsg committed Apr 10, 2017
1 parent 81783d4 commit ca6caf1
Show file tree
Hide file tree
Showing 23 changed files with 586 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ https://github.com/elastic/beats/compare/v5.1.1...master[Check the HEAD diff]

*Packetbeat*
- Remove deprecated geoip. {pull}3766[3766]
- Add experimental Kibana module. {pull}3895[3895]

*Winlogbeat*
- Remove metrics endpoint. Replaced by http endpoint in libbeat (see #3717). {pull}3901[3901]
Expand Down
7 changes: 7 additions & 0 deletions metricbeat/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ services:
- ${PWD}/module/haproxy/_meta/env
- ${PWD}/module/jolokia/_meta/env
- ${PWD}/module/kafka/_meta/env
- ${PWD}/module/kibana/_meta/env
- ${PWD}/module/memcached/_meta/env
- ${PWD}/module/mongodb/_meta/env
- ${PWD}/module/mysql/_meta/env
Expand All @@ -43,6 +44,7 @@ services:
haproxy: { condition: service_healthy }
jolokia: { condition: service_healthy }
kafka: { condition: service_healthy }
kibana: { condition: service_healthy }
memcached: { condition: service_healthy }
mongodb: { condition: service_healthy }
mysql: { condition: service_healthy }
Expand Down Expand Up @@ -72,6 +74,11 @@ services:
kafka:
build: ${PWD}/module/kafka/_meta

kibana:
extends:
file: ${ES_BEATS}/testing/environments/${TESTING_ENVIRONMENT}.yml
service: kibana

memcached:
build: ${PWD}/module/memcached/_meta

Expand Down
92 changes: 92 additions & 0 deletions metricbeat/docs/fields.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ grouped in the following categories:
* <<exported-fields-haproxy>>
* <<exported-fields-jolokia>>
* <<exported-fields-kafka>>
* <<exported-fields-kibana>>
* <<exported-fields-kubelet>>
* <<exported-fields-memcached>>
* <<exported-fields-mongodb>>
Expand Down Expand Up @@ -3330,6 +3331,97 @@ type: keyword
Broker address
[[exported-fields-kibana]]
== kibana Fields
[]experimental
kibana Module
[float]
== kibana Fields
[float]
== status Fields
Status fields
[float]
=== kibana.status.name
type: keyword
Kibana instance name.
[float]
=== kibana.status.uuid
type: keyword
Kibana instance uuid.
[float]
=== kibana.status.version.number
type: keyword
Kibana version number.
[float]
=== kibana.status.status.overall.state
type: keyword
Kibana overall state.
[float]
== metrics Fields
Metrics fields
[float]
=== kibana.status.metrics.concurrent_connections
type: long
Current concurrent connections.
[float]
== requests Fields
Request statistics.
[float]
=== kibana.status.metrics.requests.disconnects
type: long
Total number of disconnected connections.
[float]
=== kibana.status.metrics.requests.total
type: long
Total number of connections.
[[exported-fields-kubelet]]
== kubelet Fields
Expand Down
37 changes: 37 additions & 0 deletions metricbeat/docs/modules/kibana.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
////
This file is generated! See scripts/docs_collector.py
////

[[metricbeat-module-kibana]]
== kibana Module

This is the kibana Module.



[float]
=== Example Configuration

The kibana module supports the standard configuration options that are described
in <<configuration-metricbeat>>. Here is an example configuration:

[source,yaml]
----
metricbeat.modules:
- module: kibana
metricsets: ["status"]
enabled: true
period: 10s
hosts: ["localhost:5601"]
----

[float]
=== Metricsets

The following metricsets are available:

* <<metricbeat-metricset-kibana-status,status>>

include::kibana/status.asciidoc[]

19 changes: 19 additions & 0 deletions metricbeat/docs/modules/kibana/status.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
////
This file is generated! See scripts/docs_collector.py
////

[[metricbeat-metricset-kibana-status]]
include::../../../module/kibana/status/_meta/docs.asciidoc[]


==== Fields

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

Here is an example document generated by this metricset:

[source,json]
----
include::../../../module/kibana/status/_meta/data.json[]
----
2 changes: 2 additions & 0 deletions metricbeat/docs/modules_list.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ This file is generated! See scripts/docs_collector.py
* <<metricbeat-module-haproxy,HAProxy>>
* <<metricbeat-module-jolokia,Jolokia>>
* <<metricbeat-module-kafka,kafka>>
* <<metricbeat-module-kibana,kibana>>
* <<metricbeat-module-kubelet,kubelet>>
* <<metricbeat-module-memcached,memcached>>
* <<metricbeat-module-mongodb,MongoDB>>
Expand All @@ -34,6 +35,7 @@ include::modules/golang.asciidoc[]
include::modules/haproxy.asciidoc[]
include::modules/jolokia.asciidoc[]
include::modules/kafka.asciidoc[]
include::modules/kibana.asciidoc[]
include::modules/kubelet.asciidoc[]
include::modules/memcached.asciidoc[]
include::modules/mongodb.asciidoc[]
Expand Down
2 changes: 2 additions & 0 deletions metricbeat/include/list.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ import (
_ "github.com/elastic/beats/metricbeat/module/kafka"
_ "github.com/elastic/beats/metricbeat/module/kafka/consumergroup"
_ "github.com/elastic/beats/metricbeat/module/kafka/partition"
_ "github.com/elastic/beats/metricbeat/module/kibana"
_ "github.com/elastic/beats/metricbeat/module/kibana/status"
_ "github.com/elastic/beats/metricbeat/module/kubelet"
_ "github.com/elastic/beats/metricbeat/module/kubelet/container"
_ "github.com/elastic/beats/metricbeat/module/kubelet/node"
Expand Down
8 changes: 8 additions & 0 deletions metricbeat/metricbeat.full.yml
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,14 @@ metricbeat.modules:
#username: ""
#password: ""

#------------------------------- kibana Module -------------------------------
- module: kibana
metricsets: ["status"]
enabled: true
period: 10s
hosts: ["localhost:5601"]


#------------------------------- kubelet Module ------------------------------
#- module: kubelet
# metricsets: ["node","container","volume","pod","system"]
Expand Down
8 changes: 8 additions & 0 deletions metricbeat/metricbeat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,14 @@ metricbeat.modules:
period: 10s
processes: ['.*']

#------------------------------- kibana Module -------------------------------
- module: kibana
metricsets: ["status"]
enabled: true
period: 10s
hosts: ["localhost:5601"]




#================================ General =====================================
Expand Down
6 changes: 6 additions & 0 deletions metricbeat/module/kibana/_meta/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
- module: kibana
metricsets: ["status"]
enabled: true
period: 10s
hosts: ["localhost:5601"]

4 changes: 4 additions & 0 deletions metricbeat/module/kibana/_meta/docs.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
== kibana Module

This is the kibana Module.

2 changes: 2 additions & 0 deletions metricbeat/module/kibana/_meta/env
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
KIBANA_HOST=kibana
KIBANA_PORT=5601
11 changes: 11 additions & 0 deletions metricbeat/module/kibana/_meta/fields.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
- key: kibana
title: "kibana"
description: >
[]experimental
kibana Module
fields:
- name: kibana
type: group
description: >
fields:
4 changes: 4 additions & 0 deletions metricbeat/module/kibana/doc.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/*
Package kibana is a Metricbeat module that contains MetricSets.
*/
package kibana
35 changes: 35 additions & 0 deletions metricbeat/module/kibana/status/_meta/data.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
{
"@timestamp": "2016-05-23T08:05:34.853Z",
"beat": {
"hostname": "host.example.com",
"name": "host.example.com"
},
"kibana": {
"status": {
"metrics": {
"concurrent_connections": 0,
"requests": {
"disconnects": 0,
"total": 0
}
},
"name": "kibana",
"status": {
"overall": {
"state": "red"
}
},
"uuid": "c94305f7-ad4e-4e0c-8aba-5c3e869dce59",
"version": {
"number": "6.0.0-alpha1"
}
}
},
"metricset": {
"host": "kibana:5601",
"module": "kibana",
"name": "status",
"rtt": 115
},
"type": "metricsets"
}
7 changes: 7 additions & 0 deletions metricbeat/module/kibana/status/_meta/docs.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
=== kibana status MetricSet

[]experimental

This is the status metricset of the module kibana. This status endpoint is available in 6.0 by default and can be enabled in Kibana >= 5.4 with the config option `status.v6ApiFormat: true`.

The indention of this Kibana module is to have a minimal data set that works across Kibana versions.
43 changes: 43 additions & 0 deletions metricbeat/module/kibana/status/_meta/fields.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
- name: status
type: group
description: >
Status fields
fields:
- name: name
type: keyword
description: >
Kibana instance name.
- name: uuid
type: keyword
description: >
Kibana instance uuid.
- name: version.number
type: keyword
description: >
Kibana version number.
- name: status.overall.state
type: keyword
description: >
Kibana overall state.
- name: metrics
type: group
description: >
Metrics fields
fields:
- name: concurrent_connections
type: long
description: >
Current concurrent connections.
- name: requests
type: group
description: >
Request statistics.
fields:
- name: disconnects
type: long
description: >
Total number of disconnected connections.
- name: total
type: long
description: >
Total number of connections.
Loading

0 comments on commit ca6caf1

Please sign in to comment.