How can I have multiple config with only one daemon?

Im trying to have one config file-> telegraf.conf and other in /etc/telegraf/telegraf.d/
named test.conf with one swap metric.

After that i restart the service: systemctl restart telegraf

Using systemctl, what i have to do to read both config files, because using that i only read telegraf.conf.

Documentacion said:

On most systems, the default locations are /etc/telegraf/telegraf.conf for the main configuration file and /etc/telegraf/telegraf.d for the directory of configuration files.

So, in this case, My telegraf should read it test.conf too.

I read the post named “multiple telegraf configs” but i would like to have any daemon and use both configuration together in different files.

Im so confused about iT, what am i missing?

If I run telegraf:
telegraf --config-directory /etc/telegraf
then i combine both im not recording this configuration like by default.

Any suggestions??

I’m not sure what the problem is, I would try getting it to work in the foreground using:

telegraf --config /etc/telegraf/telegraf.conf --config-directory /etc/telegraf/telegraf.d --test

I need to try that in background, if I execute this on command, it combines both .conf files but if i start my daemon i dont have, for example:

telegraf --config /etc/telegraf/telegraf.conf --config-directory /etc/telegraf/telegraf.d
2017-11-16T07:05:58Z I! Starting Telegraf v1.4.1
2017-11-16T07:05:58Z I! Loaded outputs: influxdb influxdb
2017-11-16T07:05:58Z I! Loaded inputs: inputs.mem inputs.mongodb inputs.snmp inputs.disk inputs.diskio inputs.kernel inputs.processes inputs.system inputs.exec inputs.haproxy inputs.cpu inputs.swap

But, checking my daemon executestart (i started with systemctl):

[Unit]
Description=The plugin-driven server agent for reporting metrics into InfluxDB
Documentation=https://github.com/influxdata/telegraf
After=network.target

[Service]
EnvironmentFile=-/etc/default/telegraf
User=telegraf
ExecStart=/usr/bin/telegraf -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d ${TELEGRAF_OPTS}
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartForceExitStatus=SIGPIPE
KillMode=control-group

[Install]
WantedBy=multi-user.target

But, the real loaded inputs even when I have the execute start with --config-directory /etc/telegraf/telegraf.d, it doesn’t have input.swap and i dont insert anything in influxdb about swap metrics.

So, I dont know what is missing for me, or if it is not possible to have this working properly with systemctl.

I was researching more options and I think that I can use “mmonit” instead the daemon with systemctl because I dont find any solution about it or what im missing.
Its odd because im using the same (telegraf --config /etc/telegraf/telegraf.conf --config-directory /etc/telegraf/telegraf.d) but the first in command line and the second one with systemctl.

When run as a service Telegraf runs as the telegraf user, perhaps the configuration files or directory does not have the right permissions to allow this user to read them?

yes!! It’s working properly now.
Thank you so much ,this topic driving me crazy!