Add config-directory documentation for Windows service

This commit is contained in:
Daniel Nelson 2018-04-04 16:29:42 -07:00
parent bf60b55bcb
commit c367fb404d
2 changed files with 14 additions and 6 deletions

View File

@ -365,7 +365,7 @@ func main() {
DisplayName: "Telegraf Data Collector Service", DisplayName: "Telegraf Data Collector Service",
Description: "Collects data using a series of plugins and publishes it to" + Description: "Collects data using a series of plugins and publishes it to" +
"another series of plugins.", "another series of plugins.",
Arguments: []string{"-config", "C:\\Program Files\\Telegraf\\telegraf.conf"}, Arguments: []string{"--config", "C:\\Program Files\\Telegraf\\telegraf.conf"},
} }
prg := &program{ prg := &program{
@ -378,14 +378,14 @@ func main() {
if err != nil { if err != nil {
log.Fatal("E! " + err.Error()) log.Fatal("E! " + err.Error())
} }
// Handle the -service flag here to prevent any issues with tooling that // Handle the --service flag here to prevent any issues with tooling that
// may not have an interactive session, e.g. installing from Ansible. // may not have an interactive session, e.g. installing from Ansible.
if *fService != "" { if *fService != "" {
if *fConfig != "" { if *fConfig != "" {
(*svcConfig).Arguments = []string{"-config", *fConfig} (*svcConfig).Arguments = []string{"--config", *fConfig}
} }
if *fConfigDirectory != "" { if *fConfigDirectory != "" {
(*svcConfig).Arguments = append((*svcConfig).Arguments, "-config-directory", *fConfigDirectory) (*svcConfig).Arguments = append((*svcConfig).Arguments, "--config-directory", *fConfigDirectory)
} }
err := service.Control(s, *fService) err := service.Control(s, *fService)
if err != nil { if err != nil {

View File

@ -5,7 +5,7 @@ the general steps to set it up.
1. Obtain the telegraf windows distribution 1. Obtain the telegraf windows distribution
2. Create the directory `C:\Program Files\Telegraf` (if you install in a different 2. Create the directory `C:\Program Files\Telegraf` (if you install in a different
location simply specify the `-config` parameter with the desired location) location simply specify the `--config` parameter with the desired location)
3. Place the telegraf.exe and the telegraf.conf config file into `C:\Program Files\Telegraf` 3. Place the telegraf.exe and the telegraf.conf config file into `C:\Program Files\Telegraf`
4. To install the service into the Windows Service Manager, run the following in PowerShell as an administrator (If necessary, you can wrap any spaces in the file paths in double quotes ""): 4. To install the service into the Windows Service Manager, run the following in PowerShell as an administrator (If necessary, you can wrap any spaces in the file paths in double quotes ""):
@ -26,6 +26,15 @@ the general steps to set it up.
> net start telegraf > net start telegraf
``` ```
## Config Directory
You can also specify a `--config-directory` for the service to use:
1. Create a directory for config snippets: `C:\Program Files\Telegraf\telegraf.d`
2. Include the `--config-directory` option when registering the service:
```
> C:\"Program Files"\Telegraf\telegraf.exe --service install --config C:\"Program Files"\Telegraf\telegraf.conf --config-directory C:\"Program Files"\Telegraf\telegraf.d
```
## Other supported operations ## Other supported operations
Telegraf can manage its own service through the --service flag: Telegraf can manage its own service through the --service flag:
@ -37,7 +46,6 @@ Telegraf can manage its own service through the --service flag:
| `telegraf.exe --service start` | Start the telegraf service | | `telegraf.exe --service start` | Start the telegraf service |
| `telegraf.exe --service stop` | Stop the telegraf service | | `telegraf.exe --service stop` | Stop the telegraf service |
Troubleshooting common error #1067 Troubleshooting common error #1067
When installing as service in Windows, always double check to specify full path of the config file, otherwise windows service will fail to start When installing as service in Windows, always double check to specify full path of the config file, otherwise windows service will fail to start