My heartbeat monitoring is working just fine, but syslog is flooded with error messages like this:
Jan 19 08:51:38 bslog1 heartbeat[32480]: 2022-01-19T08:51:38.532+0100 ERROR [reload] cfgfile/list.go:99 Error creating runner from config: could not parse cfg for datastream error unpacking monitor plugin config: missing required field accessing 'schedule'
@jurgenhaas apologies, I didn't notice the version in title. Also, please disregard the automated version warnings.
I tried to reproduce the issue but couldn't. Can you do us a favor and check which particular file is causing the error. Then, you can check yourself if anything is wrong there, or paste the source here if you couldn't.
You can check a particular file by disabling all others. Under your monitors.d directory, rename all the files so that they end with .disabled e.g. to test the file sample.http.yml your monitors.d should have:
sample.http.yml
sample.icmp.yml.disabled
sample.tcp.yml.disabled
Then from hearbeat's root directory, run ./heartbeat -e. If there's error in config, you'll see the ERROR line in logs. Otherwise, you'll only see INFO lines.
@abdulz thanks a lot for the instructions. That in fact revealed the issue and it was unnoticed in our Ansible template for years
We have http checks from many different sources, each of which have their own section in that template. And one of them really had the missing schedule setting.
Glad we figured that out and thanks for your support.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.