# Metricbeat Autodiscover - error parsing URL: empty host

**URL:** <https://discuss.elastic.co/t/metricbeat-autodiscover-error-parsing-url-empty-host/147888>\
**Category:** Beats\
**Tags:** metricbeat\
**Created:** [September 10, 2018, 6:16am UTC](https://discuss.elastic.co/t/metricbeat-autodiscover-error-parsing-url-empty-host/147888 "2018-09-10T06:16:37Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![simioa](https://avatars.discourse-cdn.com/v4/letter/s/73ab20/32.png) [@simioa](https://discuss.elastic.co/u/simioa)\
**Post date:** [September 10, 2018, 6:16am UTC](https://discuss.elastic.co/t/metricbeat-autodiscover-error-parsing-url-empty-host/147888/1 "2018-09-10T06:16:37Z")

</div>

Metricbeat Version used: 6.4.0  
Kubernetes Version: 1.10

Hi,

I'm trying to get the Prometheus Collector working with Hints based autodiscovery in Kubernetes.

Unfortunately I always get the following Error:

> ERROR [autodiscover] cfgfile/list.go:104 Error creating runner from config: 1 error: 1 error: host parsing failed for prometheus-collector: error parsing URL: empty host

I checked the start event for the host field and it's present.

`Got a start event: map[host:100.123.3.45 port:1234 kubernetes:{"annotations":{"co":{"elastic":{"metrics/hosts":"${data.host}:10254","metrics/metricsets":"collector","metrics/module":"prometheus","metrics/period":"1m"}}}} config:[0xc42001f4a0] start:true], generated configs: [0xc42001f4a0]`

My Configuration is the following:

```
metricbeat.autodiscover:
  providers:
    - type: kubernetes
      hints.enabled: true

```

I'm using the following Annotations:

```auto
      annotations:
        co.elastic.metrics/hosts: ${data.host}:10254
        co.elastic.metrics/metricsets: collector
        co.elastic.metrics/module: prometheus
        co.elastic.metrics/period: 1m
        prometheus.io/port: "10254"
        prometheus.io/scrape: "true"

```

Any ideas why this is happening?

---

<div class="post-metadata">

**Author:** ![exekias](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/exekias/32/28718_2.png) [@exekias](https://discuss.elastic.co/u/exekias)\
**Post date:** [September 10, 2018, 7:44am UTC](https://discuss.elastic.co/t/metricbeat-autodiscover-error-parsing-url-empty-host/147888/2 "2018-09-10T07:44:33Z")

</div>

Hi @simioa

That config should work, do you see any other start event without a host or a different error? A full log would help here

Best regards

---

<div class="post-metadata">

**Author:** ![simioa](https://avatars.discourse-cdn.com/v4/letter/s/73ab20/32.png) [@simioa](https://discuss.elastic.co/u/simioa)\
**Post date:** [September 10, 2018, 11:57am UTC](https://discuss.elastic.co/t/metricbeat-autodiscover-error-parsing-url-empty-host/147888/3 "2018-09-10T11:57:18Z")

</div>

Hi @exekias  
I see two start events for the same container, but for different ports:

```
|2018-09-10T11: 33: 07.664Z|DEBUG|[autodiscover]|autodiscover/autodiscover.go: 206|Got a stop event: map[config: [0xc420966ae0] stop: true host: 100.123.3.45 port: 8080 kubernetes: { "annotations": { "cni": { "projectcalico": { "org/podIP": "100.123.3.45/32" } }, "co": { "elastic": { "metrics/hosts": "${data.host}:10254", "metrics/metricsets": "collector", "metrics/module": "prometheus", "metrics/period": "1m" } }, "kubernetes": { "io/psp": "privileged" }, "prometheus": { "io/port": "10254", "io/scrape": "true" } } } ], generated configs: [0xc420966ae0]|
|---|---|---|---|---|
|2018-09-10T11: 33: 07.664Z|DEBUG|[autodiscover]|autodiscover/autodiscover.go: 216|Config &{ {<nil> } <nil> 0xc420afb360 } is not running|
|2018-09-10T11: 33: 07.664Z|DEBUG|[autodiscover]|autodiscover/autodiscover.go: 138|Reloading existing autodiscover configs after error|
|2018-09-10T11: 33: 07.664Z|DEBUG|[autodiscover]|cfgfile/list.go: 70|Starting reload procedure, current runners: 0|
|2018-09-10T11: 33: 07.664Z|DEBUG|[autodiscover]|cfgfile/list.go: 88|Start list: 1, Stop list: 0|
|2018-09-10T11: 33: 07.664Z|ERROR|[autodiscover]|cfgfile/list.go: 104|Error creating runner from config: 1 error: 1 error: host parsing failed for prometheus-collector: error parsing URL: empty host|
|2018-09-10T11: 33: 07.664Z|DEBUG|[autodiscover]|autodiscover/autodiscover.go: 206|Got a stop event: map[stop: true host: 100.123.3.45 port: 6443 kubernetes: { "annotations": { "cni": { "projectcalico": { "org/podIP": "100.123.3.45/32" } }, "co": { "elastic": { "metrics/hosts": "${data.host}:10254", "metrics/metricsets": "collector", "metrics/module": "prometheus", "metrics/period": "1m" } }, "kubernetes": { "io/psp": "privileged" }, "prometheus": { "io/port": "10254", "io/scrape": "true" } } } 0xc4203852c0] ], generated configs: [0xc4203852c0]|
|2018-09-10T11: 33: 07.664Z|DEBUG|[autodiscover]|autodiscover/autodiscover.go: 216|Config &{ {<nil> } <nil> 0xc4205b4820 } is not running |
|2018-09-10T11: 33: 07.664Z|DEBUG|[autodiscover]|autodiscover/autodiscover.go: 138|Reloading existing autodiscover configs after error |
|2018-09-10T11: 33: 07.664Z|DEBUG|[autodiscover]|cfgfile/list.go: 70|Starting reload procedure, current runners: 0 |
|2018-09-10T11: 33: 07.664Z|DEBUG|[autodiscover]|cfgfile/list.go: 88|Start list: 1, Stop list: 0 |
|2018-09-10T11: 33: 07.664Z|ERROR|[autodiscover]|cfgfile/list.go: 104|Error creating runner from config: 1 error: 1 error: host parsing failed for prometheus-collector: error parsing URL: empty host |
|2018-09-10T11: 33: 07.664Z|DEBUG|[autodiscover]|autodiscover/autodiscover.go: 164|Got a start event: map[host: 100.123.3.45 port: 8080 kubernetes: { "annotations": { "cni": { "projectcalico": { "org/podIP": "100.123.3.45/32" } }, "co": { "elastic": { "metrics/hosts": "${data.host}:10254", "metrics/metricsets": "collector", "metrics/module": "prometheus", "metrics/period": "1m" } }, "kubernetes": { "io/psp": "privileged" }, "prometheus": { "io/port": "10254", "io/scrape": "true" } } } config: [0xc4207f0ff0] start: true ], generated configs: [0xc4207f0ff0]|
|2018-09-10T11: 33: 07.664Z|DEBUG|[autodiscover]|autodiscover/autodiscover.go: 237|Got a meta field in the event|
|2018-09-10T11: 33: 07.664Z|DEBUG|[autodiscover]|autodiscover/autodiscover.go: 138|Reloading existing autodiscover configs after error|
|2018-09-10T11: 33: 07.664Z|DEBUG|[autodiscover]|cfgfile/list.go: 70|Starting reload procedure, current runners: 0|
|2018-09-10T11: 33: 07.664Z|DEBUG|[autodiscover]|cfgfile/list.go: 88|Start list: 1, Stop list: 0|
|2018-09-10T11: 33: 07.664Z|ERROR|[autodiscover]|cfgfile/list.go: 104|Error creating runner from config: 1 error: 1 error: host parsing failed for prometheus-collector: error parsing URL: empty host|
|2018-09-10T11: 33: 07.665Z|DEBUG|[autodiscover]|autodiscover/autodiscover.go: 164|Got a start event: map[config: [0xc42009edb0] start: true host: 100.123.3.45 port: 6443 kubernetes: { "annotations": { "cni": { "projectcalico": { "org/podIP": "100.123.3.45/32" } }, "co": { "elastic": { "metrics/hosts": "${data.host}:10254", "metrics/metricsets": "collector", "metrics/module": "prometheus", "metrics/period": "1m" } }, "kubernetes": { "io/psp": "privileged" }, "prometheus": { "io/port": "10254", "io/scrape": "true" } } } ], generated configs: [0xc42009edb0]|
|2018-09-10T11: 33: 07.665Z|DEBUG|[autodiscover]|autodiscover/autodiscover.go: 237|Got a meta field in the event|
|2018-09-10T11: 33: 07.665Z|DEBUG|[autodiscover]|autodiscover/autodiscover.go: 138|Reloading existing autodiscover configs after error|
|2018-09-10T11: 33: 07.665Z|DEBUG|[autodiscover]|cfgfile/list.go: 70|Starting reload procedure, current runners: 0|
|2018-09-10T11: 33: 07.665Z|DEBUG|[autodiscover]|cfgfile/list.go: 88|Start list: 1, Stop list: 0|
|2018-09-10T11: 33: 07.665Z|ERROR|[autodiscover]|cfgfile/list.go: 104|Error creating runner from config: 1 error: 1 error: host parsing failed for prometheus-collector: error parsing URL: empty host|
|2018-09-10T11: 33: 17.665Z|DEBUG|[autodiscover]|autodiscover/autodiscover.go: 138|Reloading existing autodiscover configs after error|
|2018-09-10T11: 33: 17.665Z|DEBUG|[autodiscover]|cfgfile/list.go: 70|Starting reload procedure, current runners: 0|
|2018-09-10T11: 33: 17.665Z|DEBUG|[autodiscover]|cfgfile/list.go: 88|Start list: 1, Stop list: 0|
|2018-09-10T11: 33: 17.665Z|ERROR|[autodiscover]|cfgfile/list.go: 104|Error creating runner from config: 1 error: 1 error: host parsing failed for prometheus-collector: error parsing URL: empty host|

```

Unfortunately I can not see any other Errors in the log

Best regards

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [October 8, 2018, 11:57am UTC](https://discuss.elastic.co/t/metricbeat-autodiscover-error-parsing-url-empty-host/147888/4 "2018-10-08T11:57:25Z")

</div>

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