diff --git a/plugins/inputs/apache/README.md b/plugins/inputs/apache/README.md index ffebbcbf8..634abd11a 100644 --- a/plugins/inputs/apache/README.md +++ b/plugins/inputs/apache/README.md @@ -1,55 +1,84 @@ -# Telegraf plugin: Apache +# Apache Input Plugin -#### Plugin arguments: -- **urls** []string: List of apache-status URLs to collect from. Default is "http://localhost/server-status?auto". -- **username** string: Username for HTTP basic authentication -- **password** string: Password for HTTP basic authentication -- **timeout** duration: time that the HTTP connection will remain waiting for response. Default 4 seconds ("4s") +The Apache plugin collects server performance information using the [`mod_status`](https://httpd.apache.org/docs/2.4/mod/mod_status.html) module of the [Apache HTTP Server](https://httpd.apache.org/). -##### Optional SSL Config +Typically, the `mod_status` module is configured to expose a page at the `/server-status?auto` location of the Apache server. The [ExtendedStatus](https://httpd.apache.org/docs/2.4/mod/core.html#extendedstatus) option must be enabled in order to collect all available fields. For information about how to configure your server reference the [module documenation](https://httpd.apache.org/docs/2.4/mod/mod_status.html#enable). -- **ssl_ca** string: the full path for the SSL CA certicate -- **ssl_cert** string: the full path for the SSL certificate -- **ssl_key** string: the full path for the key file -- **insecure_skip_verify** bool: if true HTTP client will skip all SSL verifications related to peer and host. Default to false +### Configuration: -#### Description +```toml +# Read Apache status information (mod_status) +[[inputs.apache]] + ## An array of URLs to gather from, must be directed at the machine + ## readable version of the mod_status page including the auto query string. + ## Default is "http://localhost/server-status?auto". + urls = ["http://localhost/server-status?auto"] -The Apache plugin collects from the /server-status?auto URL. See -[apache.org/server-status?auto](http://www.apache.org/server-status?auto) for an -example. And -[here](http://httpd.apache.org/docs/2.2/mod/mod_status.html) for the apache -mod_status documentation. + ## Credentials for basic HTTP authentication. + # username = "myuser" + # password = "mypassword" -# Measurements: + ## Maximum time to receive response. + # response_timeout = "5s" -Meta: -- tags: `port=`, `server=url` + ## Optional SSL Config + # ssl_ca = "/etc/telegraf/ca.pem" + # ssl_cert = "/etc/telegraf/cert.pem" + # ssl_key = "/etc/telegraf/key.pem" + ## Use SSL but skip chain & host verification + # insecure_skip_verify = false +``` -- apache_TotalAccesses -- apache_TotalkBytes -- apache_CPULoad -- apache_Uptime -- apache_ReqPerSec -- apache_BytesPerSec -- apache_BytesPerReq -- apache_BusyWorkers -- apache_IdleWorkers -- apache_ConnsTotal -- apache_ConnsAsyncWriting -- apache_ConnsAsyncKeepAlive -- apache_ConnsAsyncClosing +### Measurements & Fields: -### Scoreboard measurements +- apache + - BusyWorkers (float) + - BytesPerReq (float) + - BytesPerSec (float) + - ConnsAsyncClosing (float) + - ConnsAsyncKeepAlive (float) + - ConnsAsyncWriting (float) + - ConnsTotal (float) + - CPUChildrenSystem (float) + - CPUChildrenUser (float) + - CPULoad (float) + - CPUSystem (float) + - CPUUser (float) + - IdleWorkers (float) + - Load1 (float) + - Load5 (float) + - Load15 (float) + - ParentServerConfigGeneration (float) + - ParentServerMPMGeneration (float) + - ReqPerSec (float) + - ServerUptimeSeconds (float) + - TotalAccesses (float) + - TotalkBytes (float) + - Uptime (float) -- apache_scboard_waiting -- apache_scboard_starting -- apache_scboard_reading -- apache_scboard_sending -- apache_scboard_keepalive -- apache_scboard_dnslookup -- apache_scboard_closing -- apache_scboard_logging -- apache_scboard_finishing -- apache_scboard_idle_cleanup -- apache_scboard_open +The following fields are collected from the `Scoreboard`, and represent the number of requests in the given state: + +- apache + - scboard_closing (float) + - scboard_dnslookup (float) + - scboard_finishing (float) + - scboard_idle_cleanup (float) + - scboard_keepalive (float) + - scboard_logging (float) + - scboard_open (float) + - scboard_reading (float) + - scboard_sending (float) + - scboard_starting (float) + - scboard_waiting (float) + +### Tags: + +- All measurements have the following tags: + - port + - server + +### Example Output: + +``` +apache,port=80,server=debian-stretch-apache BusyWorkers=1,BytesPerReq=0,BytesPerSec=0,CPUChildrenSystem=0,CPUChildrenUser=0,CPULoad=0.00995025,CPUSystem=0.01,CPUUser=0.01,ConnsAsyncClosing=0,ConnsAsyncKeepAlive=0,ConnsAsyncWriting=0,ConnsTotal=0,IdleWorkers=49,Load1=0.01,Load15=0,Load5=0,ParentServerConfigGeneration=3,ParentServerMPMGeneration=2,ReqPerSec=0.00497512,ServerUptimeSeconds=201,TotalAccesses=1,TotalkBytes=0,Uptime=201,scboard_closing=0,scboard_dnslookup=0,scboard_finishing=0,scboard_idle_cleanup=0,scboard_keepalive=0,scboard_logging=0,scboard_open=100,scboard_reading=0,scboard_sending=1,scboard_starting=0,scboard_waiting=49 1502489900000000000 +``` diff --git a/plugins/inputs/apache/apache.go b/plugins/inputs/apache/apache.go index 1cf223e24..a3df105bb 100644 --- a/plugins/inputs/apache/apache.go +++ b/plugins/inputs/apache/apache.go @@ -34,15 +34,17 @@ type Apache struct { } var sampleConfig = ` - ## An array of Apache status URI to gather stats. + ## An array of URLs to gather from, must be directed at the machine + ## readable version of the mod_status page including the auto query string. ## Default is "http://localhost/server-status?auto". urls = ["http://localhost/server-status?auto"] - ## user credentials for basic HTTP authentication - username = "myuser" - password = "mypassword" - ## Timeout to the complete conection and reponse time in seconds - response_timeout = "25s" ## default to 5 seconds + ## Credentials for basic HTTP authentication. + # username = "myuser" + # password = "mypassword" + + ## Maximum time to receive response. + # response_timeout = "5s" ## Optional SSL Config # ssl_ca = "/etc/telegraf/ca.pem"