Monitoring HTTP

This article will help you get the Http plugin for sd-agent configured and returning metrics

Installing the http plugin package

Install the http plugin on Debian/Ubuntu:

sudo apt-get install sd-agent-http-check

Install the http plugin on RHEL/CentOS:

sudo yum install sd-agent-http-check

Read more about agent plugins.

Configuring the agent to collect swap metrics

1. Configure /etc/sd-agent/conf.d/http_check.yaml

init_config:

instances:
  - name: Example website
    url: https://example.com/
    # disable_ssl_validation: false      # default is true, so set false to check SSL validation
    # ca_certs: /path/to/ca/file         # e.g. /etc/ssl/certs/ca-certificates.crt
    # check_certificate_expiration: true # default is true
    # timeout: 3                         # in seconds. Default is 1.
  - name: Example website (staging)
    url: http://staging.example.com/

2. Restart the agent

sudo /etc/init.d/sd-agent restart

or

sudo systemctl restart sd-agent

Verifying the configuration
Execute info to verify the configuration with the following:

sudo /etc/init.d/sd-agent info 

or

/usr/share/python/sd-agent/agent.py info

If the agent has been configured correctly you'll see an output such as:

http
-----
  - instance #0 [OK]
  - Collected * metrics

You can also view the metrics returned with the following command:

sudo -u sd-agent /usr/share/python/sd-agent/agent.py check http_check

Configuring graphs

Click the name of your server from the Devices list in your Server Density account then go to the Metrics tab. Click the + Graph button on the right then choose the http metrics to display the graphs. The metrics will also be available to select when building dashboard graphs.

Screen_Shot_2018-01-18_at_11.46.12.png

Monitored metrics

Metric Values
http.ssl.days_left

Days until SSL certificate expiration
day / None
Type: float
network.http.response_time

The response time of an HTTP request to a given url, tagged by url, e.g. 'url:http://example.com'.
second / None
Type: float
network.http.can_connect

Whether the check can connect, 1 if true, 0 otherwise. Tagged by url, e.g. 'url:http://example.com'.
None / None
Type: int
network.http.cant_connect

Whether the check failed to connect, 1 if true, 0 otherwise. Tagged by url, e.g. 'url:http://example.com'.
None / None
Type: int
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

Monday  —  Friday.

10am  —  6pm UK.

Dedicated Support.