# Cloudflare by HTTP ## Overview This template is designed for the effortless deployment of Cloudflare monitoring by Zabbix via HTTP and doesn't require any external scripts. ## Requirements Zabbix version: 7.0 and higher. ## Tested versions This template has been tested on: - Cloudflare ## Configuration > Zabbix should be configured according to the instructions in the [Templates out of the box](https://www.zabbix.com/documentation/7.0/manual/config/templates_out_of_the_box) section. ## Setup 1\. Create a host, for example mywebsite.com, for a site in your Cloudflare account. 2\. Link the template to the host. 3\. Customize the values of {$CLOUDFLARE.API.TOKEN}, {$CLOUDFLARE.ZONE_ID} macros. Cloudflare API Tokens are available in your Cloudflare account under My Profile > API Tokens. Zone ID is available in your Cloudflare account under Account Home > Site. ### Macros used |Name|Description|Default| |----|-----------|-------| |{$CLOUDFLARE.API.URL}|

The URL of Cloudflare API endpoint.

|`https://api.cloudflare.com/client/v4`| |{$CLOUDFLARE.API.TOKEN}|

Your Cloudflare API Token.

|``| |{$CLOUDFLARE.ZONE_ID}|

Your Cloudflare Site Zone ID.

|``| |{$CLOUDFLARE.GET_DATA.TIMEOUT}|

Response timeout for Cloudflare API.

|`3s`| |{$CLOUDFLARE.ERRORS.MAX.WARN}|

Maximum responses with errors in %.

|`30`| |{$CLOUDFLARE.CACHED_BANDWIDTH.MIN.WARN}|

Minimum of cached bandwidth in %.

|`50`| ### Items |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |Cloudflare: Total bandwidth|

The volume of all data.

|Dependent item|cloudflare.bandwidth.all

**Preprocessing**

| |Cloudflare: Cached bandwidth|

The volume of cached data.

|Dependent item|cloudflare.bandwidth.cached

**Preprocessing**

| |Cloudflare: Uncached bandwidth|

The volume of uncached data.

|Dependent item|cloudflare.bandwidth.uncached

**Preprocessing**

| |Cloudflare: Cache hit ratio of bandwidth|

The ratio of the amount cached bandwidth to the bandwidth in percentage.

|Dependent item|cloudflare.bandwidth.cache_hit_ratio

**Preprocessing**

| |Cloudflare: SSL encrypted bandwidth|

The volume of encrypted data.

|Dependent item|cloudflare.bandwidth.ssl.encrypted

**Preprocessing**

| |Cloudflare: Unencrypted bandwidth|

The volume of unencrypted data.

|Dependent item|cloudflare.bandwidth.ssl.unencrypted

**Preprocessing**

| |Cloudflare: DNS queries|

The amount of all DNS queries.

|Dependent item|cloudflare.dns.query.all

**Preprocessing**

| |Cloudflare: Stale DNS queries|

The number of stale DNS queries.

|Dependent item|cloudflare.dns.query.stale

**Preprocessing**

| |Cloudflare: Uncached DNS queries|

The number of uncached DNS queries.

|Dependent item|cloudflare.dns.query.uncached

**Preprocessing**

| |Cloudflare: Get data|

The JSON with result of Cloudflare API request.

|Script|cloudflare.get| |Cloudflare: Total page views|

The amount of all pageviews.

|Dependent item|cloudflare.pageviews.all

**Preprocessing**

| |Cloudflare: Total requests|

The amount of all requests.

|Dependent item|cloudflare.requests.all

**Preprocessing**

| |Cloudflare: Cached requests||Dependent item|cloudflare.requests.cached

**Preprocessing**

| |Cloudflare: Uncached requests|

The number of uncached requests.

|Dependent item|cloudflare.requests.uncached

**Preprocessing**

| |Cloudflare: Cache hit ratio % over time|

The ratio of the amount cached requests to all requests in percentage.

|Dependent item|cloudflare.requests.cache_hit_ratio

**Preprocessing**

| |Cloudflare: Response codes 1xx|

The number requests with 1xx response codes.

|Dependent item|cloudflare.requests.response_100

**Preprocessing**

| |Cloudflare: Response codes 2xx|

The number requests with 2xx response codes.

|Dependent item|cloudflare.requests.response_200

**Preprocessing**

| |Cloudflare: Response codes 3xx|

The number requests with 3xx response codes.

|Dependent item|cloudflare.requests.response_300

**Preprocessing**

| |Cloudflare: Response codes 4xx|

The number requests with 4xx response codes.

|Dependent item|cloudflare.requests.response_400

**Preprocessing**

| |Cloudflare: Response codes 5xx|

The number requests with 5xx response codes.

|Dependent item|cloudflare.requests.response_500

**Preprocessing**

| |Cloudflare: Non-2xx responses ratio|

The ratio of the amount requests with non-2xx response codes to all requests in percentage.

|Dependent item|cloudflare.requests.others_ratio

**Preprocessing**

| |Cloudflare: 2xx responses ratio|

The ratio of the amount requests with 2xx response codes to all requests in percentage.

|Dependent item|cloudflare.requests.success_ratio

**Preprocessing**

| |Cloudflare: SSL encrypted requests|

The number of encrypted requests.

|Dependent item|cloudflare.requests.ssl.encrypted

**Preprocessing**

| |Cloudflare: Unencrypted requests|

The number of unencrypted requests.

|Dependent item|cloudflare.requests.ssl.unencrypted

**Preprocessing**

| |Cloudflare: Total threats|

The number of all threats.

|Dependent item|cloudflare.threats.all

**Preprocessing**

| |Cloudflare: Unique visitors|

The number of all visitors IPs.

|Dependent item|cloudflare.uniques.all

**Preprocessing**

| ### Triggers |Name|Description|Expression|Severity|Dependencies and additional info| |----|-----------|----------|--------|--------------------------------| |Cloudflare: Cached bandwidth is too low||`max(/Cloudflare by HTTP/cloudflare.bandwidth.cache_hit_ratio,#3) < {$CLOUDFLARE.CACHED_BANDWIDTH.MIN.WARN}`|Warning|| |Cloudflare: Ratio of non-2xx responses is too high|

A large number of errors can indicate a malfunction of the site.

|`min(/Cloudflare by HTTP/cloudflare.requests.others_ratio,#3) > {$CLOUDFLARE.ERRORS.MAX.WARN}`|Average|| ## Feedback Please report any issues with the template at [`https://support.zabbix.com`](https://support.zabbix.com) You can also provide feedback, discuss the template, or ask for help at [`ZABBIX forums`](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback)