github.com/netdata/go.d.plugin@v0.58.1/modules/lighttpd/integrations/lighttpd.md (about) 1 <!--startmeta 2 custom_edit_url: "https://github.com/netdata/go.d.plugin/edit/master/modules/lighttpd/README.md" 3 meta_yaml: "https://github.com/netdata/go.d.plugin/edit/master/modules/lighttpd/metadata.yaml" 4 sidebar_label: "Lighttpd" 5 learn_status: "Published" 6 learn_rel_path: "Data Collection/Web Servers and Web Proxies" 7 most_popular: True 8 message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE" 9 endmeta--> 10 11 # Lighttpd 12 13 14 <img src="https://netdata.cloud/img/lighttpd.svg" width="150"/> 15 16 17 Plugin: go.d.plugin 18 Module: lighttpd 19 20 <img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" /> 21 22 ## Overview 23 24 This collector monitors the activity and performance of Lighttpd servers, and collects metrics such as the number of connections, workers, requests and more. 25 26 27 It sends HTTP requests to the Lighttpd location [server-status](https://redmine.lighttpd.net/projects/lighttpd/wiki/Mod_status), 28 which is a built-in location that provides metrics about the Lighttpd server. 29 30 31 This collector is supported on all platforms. 32 33 This collector supports collecting metrics from multiple instances of this integration, including remote instances. 34 35 36 ### Default Behavior 37 38 #### Auto-Detection 39 40 By default, it detects Lighttpd instances running on localhost that are listening on port 80. 41 On startup, it tries to collect metrics from: 42 43 - http://localhost/server-status?auto 44 - http://127.0.0.1/server-status?auto 45 46 47 #### Limits 48 49 The default configuration for this integration does not impose any limits on data collection. 50 51 #### Performance Impact 52 53 The default configuration for this integration is not expected to impose a significant performance impact on the system. 54 55 56 ## Metrics 57 58 Metrics grouped by *scope*. 59 60 The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels. 61 62 63 64 ### Per Lighttpd instance 65 66 These metrics refer to the entire monitored application. 67 68 This scope has no labels. 69 70 Metrics: 71 72 | Metric | Dimensions | Unit | 73 |:------|:----------|:----| 74 | lighttpd.requests | requests | requests/s | 75 | lighttpd.net | sent | kilobits/s | 76 | lighttpd.workers | idle, busy | servers | 77 | lighttpd.scoreboard | waiting, open, close, hard_error, keepalive, read, read_post, write, handle_request, request_start, request_end | connections | 78 | lighttpd.uptime | uptime | seconds | 79 80 81 82 ## Alerts 83 84 There are no alerts configured by default for this integration. 85 86 87 ## Setup 88 89 ### Prerequisites 90 91 #### Enable Lighttpd status support 92 93 To enable status support, see the [official documentation](https://redmine.lighttpd.net/projects/lighttpd/wiki/Mod_status). 94 95 96 97 ### Configuration 98 99 #### File 100 101 The configuration file name for this integration is `go.d/lighttpd.conf`. 102 103 104 You can edit the configuration file using the `edit-config` script from the 105 Netdata [config directory](https://github.com/netdata/netdata/blob/master/docs/configure/nodes.md#the-netdata-config-directory). 106 107 ```bash 108 cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata 109 sudo ./edit-config go.d/lighttpd.conf 110 ``` 111 #### Options 112 113 The following options can be defined globally: update_every, autodetection_retry. 114 115 116 <details><summary>Config options</summary> 117 118 | Name | Description | Default | Required | 119 |:----|:-----------|:-------|:--------:| 120 | update_every | Data collection frequency. | 1 | no | 121 | autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no | 122 | url | Server URL. | http://127.0.0.1/server-status?auto | yes | 123 | timeout | HTTP request timeout. | 1 | no | 124 | username | Username for basic HTTP authentication. | | no | 125 | password | Password for basic HTTP authentication. | | no | 126 | proxy_url | Proxy URL. | | no | 127 | proxy_username | Username for proxy basic HTTP authentication. | | no | 128 | proxy_password | Password for proxy basic HTTP authentication. | | no | 129 | method | HTTP request method. | GET | no | 130 | body | HTTP request body. | | no | 131 | headers | HTTP request headers. | | no | 132 | not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no | 133 | tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no | 134 | tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no | 135 | tls_cert | Client TLS certificate. | | no | 136 | tls_key | Client TLS key. | | no | 137 138 </details> 139 140 #### Examples 141 142 ##### Basic 143 144 A basic example configuration. 145 146 ```yaml 147 jobs: 148 - name: local 149 url: http://127.0.0.1/server-status?auto 150 151 ``` 152 ##### HTTP authentication 153 154 Basic HTTP authentication. 155 156 <details><summary>Config</summary> 157 158 ```yaml 159 jobs: 160 - name: local 161 url: http://127.0.0.1/server-status?auto 162 username: username 163 password: password 164 165 ``` 166 </details> 167 168 ##### HTTPS with self-signed certificate 169 170 Lighttpd with enabled HTTPS and self-signed certificate. 171 172 <details><summary>Config</summary> 173 174 ```yaml 175 jobs: 176 - name: local 177 url: https://127.0.0.1/server-status?auto 178 tls_skip_verify: yes 179 180 ``` 181 </details> 182 183 ##### Multi-instance 184 185 > **Note**: When you define multiple jobs, their names must be unique. 186 187 Collecting metrics from local and remote instances. 188 189 190 <details><summary>Config</summary> 191 192 ```yaml 193 jobs: 194 - name: local 195 url: http://127.0.0.1/server-status?auto 196 197 - name: remote 198 url: http://192.0.2.1/server-status?auto 199 200 ``` 201 </details> 202 203 204 205 ## Troubleshooting 206 207 ### Debug Mode 208 209 To troubleshoot issues with the `lighttpd` collector, run the `go.d.plugin` with the debug option enabled. The output 210 should give you clues as to why the collector isn't working. 211 212 - Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on 213 your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`. 214 215 ```bash 216 cd /usr/libexec/netdata/plugins.d/ 217 ``` 218 219 - Switch to the `netdata` user. 220 221 ```bash 222 sudo -u netdata -s 223 ``` 224 225 - Run the `go.d.plugin` to debug the collector: 226 227 ```bash 228 ./go.d.plugin -d -m lighttpd 229 ``` 230 231