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