Icmp fields not populating

Hello, I've got a instance of heartbeat running inside a docker container with the following configuration:

  - type: icmp
    schedule: '@every 10s'

  hosts: ["localhost:9200"]
  username: "****"
  password: "****"

Which does push metrics to elasticsearch, however, it doesn't populate the icmp fields the output instead looks like:

  "_index": "heartbeat-7.2.0-2019.07.19-000001",
  "_type": "_doc",
  "_id": "Pt5-CWwBtcbwlDNdyYDE",
  "_version": 1,
  "_score": null,
  "_source": {
    "@timestamp": "2019-07-19T09:09:58.869Z",
    "rtt": {
      "us": 5152
    "summary": {
      "down": 0,
      "up": 1
    "event": {
      "dataset": "uptime"
    "agent": {
      "ephemeral_id": "c7ecb4dc-386f-4785-8d32-df90fabdc212",
      "hostname": "****",
      "id": "f74ebac8-cdd5-4fe4-ba92-98ca136ed705",
      "version": "7.2.0",
      "type": "heartbeat"
    "requests": 1,
    "url": {
      "domain": "",
      "full": "icmp://",
      "scheme": "icmp"
    "ecs": {
      "version": "1.0.0"
    "host": {
      "name": "****"
    "monitor": {
      "check_group": "f59c0bbc-aa04-11e9-acce-20040ff2ec84",
      "ip": "",
      "status": "up",
      "duration": {
        "us": 5263
      "id": "auto-icmp-0X64D2CB44E8A5EACB-8f6593377dd1164c",
      "name": "",
      "type": "icmp"
  "fields": {
    "@timestamp": [
  "sort": [

Notably icmp.rtt.us is not there, which is what I was looking for. Is monitor.duration.us what I'm looking for?

Thanks for reporting this, seems like it may be a bug. That said, monitor.duration.us should be functionally equivalent. Technically, it factors in the time to run any validation code, but that's essentially a no-op for ICMP, so it should be equivalent.

By the way, would you mind opening a bug report on this in the beats repo? I do believe this is a bug.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.