summaryrefslogtreecommitdiffstats
path: root/collectors/python.d.plugin/httpcheck/README.md
blob: 55aad52f04d029d944c6f6b5d514e3a042c28149 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<!--
title: "HTTP endpoint monitoring with Netdata"
custom_edit_url: https://github.com/netdata/netdata/edit/master/collectors/python.d.plugin/httpcheck/README.md
sidebar_label: "HTTP endpoints"
-->

# HTTP endpoint monitoring with Netdata

Monitors remote http server for availability and response time.

Following charts are drawn per job:

1.  **Response time** ms

    -   Time in 0.1 ms resolution in which the server responds.
    If the connection failed, the value is missing.

2.  **Status** boolean

    -   Connection successful
    -   Unexpected content: No Regex match found in the response
    -   Unexpected status code: Do we get 500 errors?
    -   Connection failed: port not listening or blocked
    -   Connection timed out: host or port unreachable

## Configuration

Edit the `python.d/httpcheck.conf` configuration file using `edit-config` from the Netdata [config
directory](/docs/configure/nodes.md), which is typically at `/etc/netdata`.

```bash
cd /etc/netdata   # Replace this path with your Netdata config directory, if different
sudo ./edit-config python.d/httpcheck.conf
```

Sample configuration and their default values.

```yaml
server:
  url: 'http://host:port/path'  # required
  status_accepted:              # optional
    - 200
  timeout: 1                    # optional, supports decimals (e.g. 0.2)
  update_every: 3               # optional
  regex: 'REGULAR_EXPRESSION'   # optional, see https://docs.python.org/3/howto/regex.html
  redirect: yes                 # optional
```

### Notes

-   The status chart is primarily intended for alarms, badges or for access via API.
-   A system/service/firewall might block Netdata's access if a portscan or
    similar is detected.
-   This plugin is meant for simple use cases. Currently, the accuracy of the
    response time is low and should be used as reference only.

---

[![analytics](https://www.google-analytics.com/collect?v=1&aip=1&t=pageview&_s=1&ds=github&dr=https%3A%2F%2Fgithub.com%2Fnetdata%2Fnetdata&dl=https%3A%2F%2Fmy-netdata.io%2Fgithub%2Fcollectors%2Fpython.d.plugin%2Fhttpcheck%2FREADME&_u=MAC~&cid=5792dfd7-8dc4-476b-af31-da2fdb9f93d2&tid=UA-64295674-3)](<>)