# Module system.yml doesn't exist

**URL:** <https://discuss.elastic.co/t/module-system-yml-doesnt-exist/138338>\
**Category:** Beats\
**Tags:** metricbeat\
**Created:** [July 3, 2018, 8:44am UTC](https://discuss.elastic.co/t/module-system-yml-doesnt-exist/138338 "2018-07-03T08:44:02Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![hamish](https://avatars.discourse-cdn.com/v4/letter/h/a5b964/32.png) [@hamish](https://discuss.elastic.co/u/hamish)\
**Post date:** [July 3, 2018, 8:44am UTC](https://discuss.elastic.co/t/module-system-yml-doesnt-exist/138338/1 "2018-07-03T08:44:02Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![hamish](https://avatars.discourse-cdn.com/v4/letter/h/a5b964/32.png) [@hamish](https://discuss.elastic.co/u/hamish)\
**Post date:** [July 3, 2018, 8:51am UTC](https://discuss.elastic.co/t/module-system-yml-doesnt-exist/138338/2 "2018-07-03T08:51:00Z")

</div>

So... if I specify the path.config manually...

/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

What gives? Why are all the paths OOTB wrong?

---

<div class="post-metadata">

**Author:** ![adrisr](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/adrisr/32/25423_2.png) [@adrisr](https://discuss.elastic.co/u/adrisr)\
**Post date:** [July 3, 2018, 9:02am UTC](https://discuss.elastic.co/t/module-system-yml-doesnt-exist/138338/3 "2018-07-03T09:02:18Z")

</div>

Can you try running `metricbeat` instead of `/usr/share/metricbeat/bin/metricbeat` ?

---

<div class="post-metadata">

**Author:** ![hamish](https://avatars.discourse-cdn.com/v4/letter/h/a5b964/32.png) [@hamish](https://discuss.elastic.co/u/hamish)\
**Post date:** [July 3, 2018, 10:07am UTC](https://discuss.elastic.co/t/module-system-yml-doesnt-exist/138338/4 "2018-07-03T10:07:09Z")

</div>

🙄 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...

---

<div class="post-metadata">

**Author:** ![adrisr](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/adrisr/32/25423_2.png) [@adrisr](https://discuss.elastic.co/u/adrisr)\
**Post date:** [July 3, 2018, 10:54am UTC](https://discuss.elastic.co/t/module-system-yml-doesnt-exist/138338/5 "2018-07-03T10:54:41Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![hamish](https://avatars.discourse-cdn.com/v4/letter/h/a5b964/32.png) [@hamish](https://discuss.elastic.co/u/hamish)\
**Post date:** [July 3, 2018, 11:31am UTC](https://discuss.elastic.co/t/module-system-yml-doesnt-exist/138338/6 "2018-07-03T11:31:17Z")

</div>

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](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)

![image](https://us1.discourse-cdn.com/elastic/original/3X/e/1/e1afda15af836388e45588031a9ca586e3a7fdcd.png)

---

<div class="post-metadata">

**Author:** ![hamish](https://avatars.discourse-cdn.com/v4/letter/h/a5b964/32.png) [@hamish](https://discuss.elastic.co/u/hamish)\
**Post date:** [July 4, 2018, 7:53am UTC](https://discuss.elastic.co/t/module-system-yml-doesnt-exist/138338/7 "2018-07-04T07:53:59Z")

</div>

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)

---

<div class="post-metadata">

**Author:** ![adrisr](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/adrisr/32/25423_2.png) [@adrisr](https://discuss.elastic.co/u/adrisr)\
**Post date:** [July 4, 2018, 8:35am UTC](https://discuss.elastic.co/t/module-system-yml-doesnt-exist/138338/8 "2018-07-04T08:35:03Z")

</div>

Thanks @hamish, I will raise the issue.

Just for completeness, can you tell us from which OS are you accessing those pages?

---

<div class="post-metadata">

**Author:** ![hamish](https://avatars.discourse-cdn.com/v4/letter/h/a5b964/32.png) [@hamish](https://discuss.elastic.co/u/hamish)\
**Post date:** [July 4, 2018, 9:22am UTC](https://discuss.elastic.co/t/module-system-yml-doesnt-exist/138338/9 "2018-07-04T09:22:36Z")

</div>

From a windows desktop using Chrome... I've also checked with a Mac (Safari), and it sees the same instructions

---

<div class="post-metadata">

**Author:** ![dedemorton](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dedemorton/32/84409_2.png) [@dedemorton](https://discuss.elastic.co/u/dedemorton)\
**Post date:** [July 6, 2018, 7:01pm UTC](https://discuss.elastic.co/t/module-system-yml-doesnt-exist/138338/10 "2018-07-06T19:01:41Z")

</div>

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](https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-getting-started.html), where the steps are more tailored to specific platforms.

Thanks very much for your input!

---

<div class="post-metadata">

**Author:** ![hamish](https://avatars.discourse-cdn.com/v4/letter/h/a5b964/32.png) [@hamish](https://discuss.elastic.co/u/hamish)\
**Post date:** [July 9, 2018, 6:36am UTC](https://discuss.elastic.co/t/module-system-yml-doesnt-exist/138338/11 "2018-07-09T06:36:25Z")

</div>

Yeah, thanks,

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.

---

<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:** [August 6, 2018, 6:36am UTC](https://discuss.elastic.co/t/module-system-yml-doesnt-exist/138338/12 "2018-08-06T06:36:26Z")

</div>

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