I'm struggling... A lot of the setup and config just doesn't make sense, or looks completely wrong.
I've installed metricbeat via 64-bit RPM on RHEL-7. There's a /etc/metricbeat config directory created and binaries are in /usr/share/metricbeat
Following the config instructions from the metricbeat download page, results in a system that just doesn't work. I'm not sure if there's some secret instructions I've missed, or maybe I'm just expecting too much.
I'm currently at the step of running modules enable system. And get
Module system.yml doesn't exist!
Looking at the /etc/metricbeat directory, there is indeed a modules.d directory with system.yml in it. That's as delivered in the RPM. And the metricbeat.yml file states that the modules may be found in ${path.config}/modules.d/*.yml
However... Doing a /usr/share/metricbeat/bin/metricbeat export config shows the path.config to be set to /usr/share/metricbeat/bin and there's definitely no modules.d directory there (Either on the system, or in the RPM).
What gives? Why does the rpm drop the config info /etc/metricbeat is the binary is expecting it to be in the binary directory? Am I missing a step that's just not included? Is it mandatory to have metricbeat binary in the PATH? Am I missing something else?
/usr/share/metricbeat/bin/metricbeat -E path.config=/etc/metricbeat modules enable system
Module system is already enabled
Which means I have a workaround. but the next step (Following the instructions form KIbana, NOT the instructions from the download page) results in
]# /usr/share/metricbeat/bin/metricbeat -E path.config=/etc/metricbeat setup
Loaded index template
Loading dashboards (Kibana must be running and reachable)
Exiting: Error importing Kibana dashboards: fail to import the dashboards in Kibana: Error importing directory /usr/share/metricbeat/bin/kibana: No directory /usr/share/metricbeat/bin/kibana/6
Which is correct. There is no kibana directory at that path... It's installed at /usr/share/metricbeat/kibana
And that works... Quite why *beats will change the path.config according to the path or no path specified on the command line I have no idea... But thanks for that. It would be nice if it didn't do that, but I assume there's reason there somewhere.
I know why I was specifying the path though... The install docs on the download page specify a path... Which will never work BTW because the command
sudo ./metricbeats -e -c metricbeats.yml
doesn't get the paths right either... And assumes you've done a 'cd /usr/share/metricbeats/bin' before it (Which isn't specified). And assumes the yml is in the same directory as the binary... Which it isn't...
Can you point me to the exact location in the install docs where it specifies a path? I just checked and all I can see is the correct invocation for Deb and RPM installs.
It seems to me like you are following the steps for Mac.
Possibly... But I see no way to specify what system you're on when you're viewing the instructions on the download page.
The URL is https://www.elastic.co/downloads/beats/metricbeat which has separate linsk to the packages themselves for downloading. And the 'Installation Instructions' below, which start out assuming you're not using RPM (But as I assumed they were just generic) I installed using yum and then tried to follow steps 2 onwards...
The default instructions are Windows only perhaps? It doesn't say so, but after looking around that's the only download I see that's actually a zip file. It does say sudo though, so that would tend to indicate it's not windows instructions. And the unzip would indicate it's not 100% mac (Because that's a tarball)
In fact... It would be fair to say that ALL the install instructions on the download pages suffer from this same issue..
Logstash... Says to start with bin/logstash -f config.file.yml
However when you do, logstash immediately can't find logstash.yml, etc... Obvious? After a while, yeah. But then people for whom it's obvious won't be using the install instructions on the download page anyway. It really only catches people who are new. (Like me)
Unfortunately the website uses generic instructions. I will work with our web team to get the page updated. In the mean time, I suggest using the getting started steps in the Metricbeat documentation, where the steps are more tailored to specific platforms.
It's not for me any more, because now that I know what's doing, I can adjust accordingly. It's for all the other poor admins who come along, follow the instructions and wonder why it doesn't work.
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.