What I've done:
- Set up a Docker container running Heartbeat and sending to a remote ES cluster
- Configured monitors
What should be happening
I should see my Heartbeat monitors in the Uptime UI
What is happening
Uptime UI shows error "There was a problem retrieving the index pattern" on load, then shows no monitors. No data in Discover either, both with UptimeIndexPattern
and variations of heatbeat*
.
My heartbeat.yml:
output:
elasticsearch:
hosts: ['http://172.24.102.168:9200','http://172.24.102.169:9200']
username: '${ELASTICSEARCH_USERNAME:}'
password: '${ELASTICSEARCH_PASSWORD:}'
setup:
kibana:
host: '${KIBANA_URL:}'
dashboards:
enabled: false
template:
settings:
index:
number_of_shards: 1
codec: best_compression
heartbeat:
config:
monitors:
path: '${path.config}/monitors.d/*'
reload:
enabled: true
period: 1m
processors:
- add_observer_metadata: {}
- add_cloud_metadata: {}
- add_host_metadata: {}
- add_kubernetes_metadata: {}
Monitors:
- id: sample-github
type: http
name: GitHub
schedule: '@every 1m'
hosts:
- github.com
- id: appserv
type: http
name: appserv
schedule: '@every 1m'
hosts:
- http://172.24.102.222:9000/flash-http-services
- http://172.24.102.211:9000/flash-http-services
- http://172.24.102.205:9000/flash-http-services
Versions:
- Heartbeat: 7.5.2 (also tried with 7.5.1)
- Kibana: 7.5.1
- Elasticsearch: 7.5.1
Uptime UI:
Discover:
Actual index data:
What I've tried:
- The docs (bottom of this page) said to use an alias to heartbeat-8* (can someone explain why Stack version 7.x is using an 8 index pattern???), so I tried creating an alias. I've tried all of the following and the aliases were created, but Uptime and Discover still refused to work:
{ "add" : { "index" : "heartbeat-*", "alias" : "heartbeat-8*" } } // Tried this first, but it got rejected because * is not allowed; the docs were misleading
{ "add" : { "index" : "heartbeat-*", "alias" : "heartbeat-8" } }
{ "add" : { "index" : "heartbeat-*", "alias" : "UptimeIndexPattern" } }
- Tried stopping heartbeat, deleting all heartbeat indices, index templates and index patterns and starting again
- Tried deleting the UptimeIndexPattern and giving my heartbeat-* index the ID heartbeat-8*
The most perplexing fact is Discover not working. I can get that Uptime might be broken, but Discover just falls over too.
Please, somebody help me. Setting up Heartbeat used to be the easiest part of the entire Elastic Stack. Now for some reason it's broken, and it's driving me crazy.