WARNING: Version 6.2 of Metricbeat has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
HTTP json metricset
editHTTP json metricset
editThis functionality is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features.
This is the json
metricset of the HTTP module.
Features and Configuration
editThe JSON structure returned by the HTTP endpoint will be added to the provided namespace
field as shown in the following example:
{ "@timestamp": "2017-05-01T13:00:24.745Z", "beat": { "hostname": "mbp", "name": "mbp", "version": "6.0.0-alpha1" }, "http": { "http_json_namespace": { "date": "05-01-2017", "milliseconds_since_epoch": 1493643625474.000000, "time": "01:00:25 PM" } }, "metricset": { "host": "date.jsontest.com", "module": "http", "name": "json", "namespace": "http_json_namespace", "rtt": 238397 }, "type": "metricsets" }
Here the response from date.jsontest.com
is returned in the configured http_json_namespace
namespace:
{ "date": "05-01-2017", "milliseconds_since_epoch": 1493643625474.000000, "time": "01:00:25 PM" }
It is required to set a namespace in the general module config section.
request.enabled
editWith this configuration enabled additional information about the request are included. This includes the following information:
- HTTP Header
- HTTP Method
- Body/Payload
Example:
{ "@timestamp": "2017-05-01T13:00:24.745Z", "beat": { "hostname": "mbp", "name": "mbp", "version": "6.0.0-alpha1" }, "http": { "http_json_namespace": { "date": "05-01-2017", "milliseconds_since_epoch": 1493643625474.000000, "time": "01:00:25 PM" }, "request": { "body": "", "headers": { "Accept": "application/json" }, "method": "GET" } }, "metricset": { "host": "date.jsontest.com", "module": "http", "name": "json", "namespace": "http_json_namespace", "rtt": 238397 }, "type": "metricsets" }
response.enabled
editWith this configuration enabled additional information about the response are included. This includes the following information:
- HTTP Header
- HTTP Status Code
Example:
{ "@timestamp": "2017-05-01T13:00:24.745Z", "beat": { "hostname": "mbp", "name": "mbp", "version": "6.0.0-alpha1" }, "http": { "http_json_namespace": { "date": "05-01-2017", "milliseconds_since_epoch": 1493643625474.000000, "time": "01:00:25 PM" }, "response": { "headers": { "Access-Control-Allow-Origin": "*", "Content-Length": "100", "Content-Type": "application/json; charset=ISO-8859-1", "Date": "Mon, 01 May 2017 13:08:38 GMT", "Server": "Google Frontend", "X-Cloud-Trace-Context": "3f532d170112fc5b2a0b94fcbd6493b3" }, "code": 200 } }, "metricset": { "host": "date.jsontest.com", "module": "http", "name": "json", "namespace": "http_json_namespace", "rtt": 238397 }, "type": "metricsets" }
dedot.enabled
editWith this configuration enabled dots in json field names are replaced with _
character,
Example:
{ "@timestamp": "2017-05-01T13:00:24.745Z", "beat": { "hostname": "mbp", "name": "mbp", "version": "6.0.0-alpha1" }, "http": { "http_json_namespace": { "date": "05-01-2017", "milliseconds_since_epoch": 1493643625474.000000, "time": "01:00:25 PM" }, "response": { "headers": { "Access-Control-Allow-Origin": "*", "Content-Length": "100", "Content-Type": "application/json; charset=ISO-8859-1", "Date": "Mon, 01 May 2017 13:08:38 GMT", "Server": "Google Frontend", "X-Cloud-Trace-Context": "3f532d170112fc5b2a0b94fcbd6493b3" }, "code": 200 } }, "metricset": { "host": "date.jsontest.com", "module": "http", "name": "json", "namespace": "http_json_namespace", "rtt": 238397 }, "type": "metricsets" }
Exposed fields, Dashboards, Indexes, etc.
editSince this is a general purpose module that can be tailored for any application that exposes a JSON structure, it comes with no exposed fields description, dashboards or index patterns.
Fields
editFor a description of each field in the metricset, see the exported fields section.
Here is an example document generated by this metricset:
{ "@timestamp": "2017-10-12T08:05:34.853Z", "beat": { "hostname": "host.example.com", "name": "host.example.com" }, "http": { "testnamespace": { "hello": "world" } }, "metricset": { "host": "http:8080", "module": "http", "name": "json", "namespace": "testnamespace", "rtt": 115 } }