You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

938 lines
33 KiB

zabbix_export:
version: '7.0'
template_groups:
- uuid: a571c0d144b14fd4a87a9d9b2aa9fcd6
name: Templates/Applications
templates:
- uuid: 08ef3d687d754b0aba17e1dcbd77d4bd
template: 'Cloudflare by HTTP'
name: 'Cloudflare by HTTP'
description: |
The template to monitor Cloudflare to see your web traffic and DNS metrics.
It works without any external scripts and uses Script item.
Generated by official Zabbix template tool "Templator" 2.0.0
vendor:
name: Zabbix
version: 7.0-0
groups:
- name: Templates/Applications
items:
- uuid: 2be79391779a4cd395723e62694262e8
name: 'Cloudflare: Total bandwidth'
type: DEPENDENT
key: cloudflare.bandwidth.all
delay: '0'
history: 7d
units: B
description: 'The volume of all data.'
preprocessing:
- type: JSONPATH
parameters:
- $.bandwidth.all
master_item:
key: cloudflare.get
tags:
- tag: component
value: bandwidth
- uuid: 7f5900d6c707405789624f84f502b042
name: 'Cloudflare: Cached bandwidth'
type: DEPENDENT
key: cloudflare.bandwidth.cached
delay: '0'
history: 7d
units: B
description: 'The volume of cached data.'
preprocessing:
- type: JSONPATH
parameters:
- $.bandwidth.cached
master_item:
key: cloudflare.get
tags:
- tag: component
value: bandwidth
- uuid: c5ab8cc281ff4f75bd4ada79d2c0d1e8
name: 'Cloudflare: Cache hit ratio of bandwidth'
type: DEPENDENT
key: cloudflare.bandwidth.cache_hit_ratio
delay: '0'
history: 7d
value_type: FLOAT
units: '%'
description: 'The ratio of the amount cached bandwidth to the bandwidth in percentage.'
preprocessing:
- type: JSONPATH
parameters:
- $.bandwidth.cache_hit_ratio
master_item:
key: cloudflare.get
tags:
- tag: component
value: bandwidth
triggers:
- uuid: acf573785c394924aae8ef74b2683fd1
expression: 'max(/Cloudflare by HTTP/cloudflare.bandwidth.cache_hit_ratio,#3) < {$CLOUDFLARE.CACHED_BANDWIDTH.MIN.WARN}'
name: 'Cloudflare: Cached bandwidth is too low'
event_name: 'Cloudflare: Cached bandwidth is too low (less than {$CLOUDFLARE.CACHED_BANDWIDTH.MIN.WARN}% for 3 last measurements)'
opdata: 'Current value: {ITEM.LASTVALUE1}'
priority: WARNING
tags:
- tag: scope
value: performance
- uuid: 901db6b121c7473485c91b0f27e7cf50
name: 'Cloudflare: SSL encrypted bandwidth'
type: DEPENDENT
key: cloudflare.bandwidth.ssl.encrypted
delay: '0'
history: 7d
units: B
description: 'The volume of encrypted data.'
preprocessing:
- type: JSONPATH
parameters:
- $.bandwidth.encrypted
master_item:
key: cloudflare.get
tags:
- tag: component
value: bandwidth
- uuid: 4637d88e62204f9d8fb9fc0f179c5319
name: 'Cloudflare: Unencrypted bandwidth'
type: DEPENDENT
key: cloudflare.bandwidth.ssl.unencrypted
delay: '0'
history: 7d
units: B
description: 'The volume of unencrypted data.'
preprocessing:
- type: JSONPATH
parameters:
- $.bandwidth.unencrypted
master_item:
key: cloudflare.get
tags:
- tag: component
value: bandwidth
- uuid: 96e88a64df014997b8c675cbc4bb97a1
name: 'Cloudflare: Uncached bandwidth'
type: DEPENDENT
key: cloudflare.bandwidth.uncached
delay: '0'
history: 7d
units: B
description: 'The volume of uncached data.'
preprocessing:
- type: JSONPATH
parameters:
- $.bandwidth.uncached
master_item:
key: cloudflare.get
tags:
- tag: component
value: bandwidth
- uuid: 6eff62f2786d42a7925bd516a1c2a958
name: 'Cloudflare: DNS queries'
type: DEPENDENT
key: cloudflare.dns.query.all
delay: '0'
history: 7d
units: conn
description: 'The amount of all DNS queries.'
preprocessing:
- type: JSONPATH
parameters:
- $.dns.query.all
master_item:
key: cloudflare.get
tags:
- tag: component
value: dns
- uuid: 4612a834ef054740ba5fea529a08e220
name: 'Cloudflare: Stale DNS queries'
type: DEPENDENT
key: cloudflare.dns.query.stale
delay: '0'
history: 7d
units: conn
description: 'The number of stale DNS queries.'
preprocessing:
- type: JSONPATH
parameters:
- $.dns.query.stale
master_item:
key: cloudflare.get
tags:
- tag: component
value: dns
- uuid: 4aeb289b631a402390a833e3c5227d38
name: 'Cloudflare: Uncached DNS queries'
type: DEPENDENT
key: cloudflare.dns.query.uncached
delay: '0'
history: 7d
units: conn
description: 'The number of uncached DNS queries.'
preprocessing:
- type: JSONPATH
parameters:
- $.dns.query.uncached
master_item:
key: cloudflare.get
tags:
- tag: component
value: dns
- uuid: 9450a68208fd4cb8bde009296d722064
name: 'Cloudflare: Get data'
type: SCRIPT
key: cloudflare.get
delay: 0;m01
history: '0'
trends: '0'
value_type: TEXT
params: |
var Cloudflare = {
params: {},
setParams: function (params) {
['api_endpoint', 'token', 'zone'].forEach(function (field) {
if (typeof params !== 'object' || typeof params[field] === 'undefined'
|| params[field] === '') {
throw 'Required param is not set: "' + field + '".';
}
});
Cloudflare.params = params;
if (typeof Cloudflare.params.api_endpoint === 'string') {
if (!Cloudflare.params.api_endpoint.endsWith('/')) {
Cloudflare.params.api_endpoint += '/';
}
}
},
request: function (method, query, data) {
var response,
request = new HttpRequest(),
url = Cloudflare.params.api_endpoint + query;
request.addHeader('Content-Type: application/json');
request.addHeader('Authorization: Bearer ' + Cloudflare.params.token);
if (typeof data !== 'undefined') {
data = JSON.stringify(data);
}
Zabbix.log(4, '[ Cloudflare ] Sending request: ' + url + ((typeof data === 'string') ? ('\n' + data) : ''));
switch (method) {
case 'get':
response = request.get(url, data);
break;
case 'post':
response = request.post(url, data);
break;
default:
throw 'Unsupported HTTP request method: ' + method;
}
Zabbix.log(4, '[ Cloudflare ] Received response with status code ' + request.getStatus() + ': ' + response);
if (request.getStatus() < 200 || request.getStatus() >= 300) {
throw 'Request failed with status code ' + request.getStatus() + ': ' + response;
}
if (response !== null) {
try {
response = JSON.parse(response);
}
catch (error) {
throw 'Failed to parse response received from Cloudflare. Check debug log for more information.';
}
}
if (query === 'graphql/' && request.getStatus() == 200 && typeof response.errors !== 'undefined'
&& Array.isArray(response.errors)) {
throw 'Request failed with error "' + (getField(response, 'errors.0.message') || 'unknown') + '"';
}
return {
status: request.getStatus(),
response: response
};
}
}
function getField(object, field, def) {
var names = field.split('.');
var name = names.shift();
while (typeof name !== 'undefined') {
if (typeof object === undefined || typeof object[name] === 'undefined') {
return def;
}
object = object[name];
name = names.shift();
}
return object;
}
try {
Cloudflare.setParams(JSON.parse(value));
var datetime_end = new Date(),
datetime_start = new Date();
datetime_start.setTime(datetime_end.getTime() - 3600000);
datetime_start.setMinutes(0, 0, 0);
datetime_end.setTime(datetime_start.getTime());
datetime_end.setMinutes(59, 59, 0);
var datetime_start_str = datetime_start.toISOString(),
datetime_end_str = datetime_end.toISOString();
var data = {
"query": "{viewer {zones(filter: {zoneTag: \"" + Cloudflare.params.zone + "\"}) {\
httpRequests1hGroups(limit: 100 filter: {\
datetime_geq: \"" + datetime_start_str + "\", datetime_leq: \"" + datetime_end_str + "\"\
}) {\
sum{\
requests\
cachedRequests\
encryptedRequests\
responseStatusMap{ requests edgeResponseStatus }\
bytes\
cachedBytes\
encryptedBytes\
threats\
pageViews\
}\
uniq{uniques}\
}\
}}}", "variables": {}
}
var result = Cloudflare.request('post', 'graphql/', data),
cloudflare = {},
res = getField(result.response, 'data.viewer.zones.0.httpRequests1hGroups.0.sum');
if (typeof res === 'object') {
cloudflare = {
requests: {
all: res.requests || 0,
cached: res.cachedRequests || 0,
encrypted: res.encryptedRequests || 0,
cache_hit_ratio: 0,
success_ratio: 0,
others_ratio: 0,
response_100: 0,
response_200: 0,
response_300: 0,
response_400: 0,
response_500: 0
},
bandwidth: {
all: res.bytes || 0,
cached: res.cachedBytes || 0,
cache_hit_ratio: 0,
encrypted: res.encryptedBytes || 0,
},
threats: {
all: res.threats || 0
},
pageviews: {
all: res.pageViews || 0
}
}
cloudflare.requests.uncached = res.requests - res.cachedRequests;
cloudflare.requests.unencrypted = cloudflare.requests.all - cloudflare.requests.encrypted;
cloudflare.bandwidth.uncached = cloudflare.bandwidth.all - cloudflare.bandwidth.cached;
cloudflare.bandwidth.unencrypted = cloudflare.bandwidth.all - cloudflare.bandwidth.encrypted;
if (Array.isArray(res.responseStatusMap)) {
res.responseStatusMap.forEach(function (element) {
var group = Math.floor((element.edgeResponseStatus / 100)) * 100;
cloudflare.requests['response_' + group] += element.requests;
});
}
if (cloudflare.requests.all > 0) {
cloudflare.requests.success_ratio = (cloudflare.requests.response_200
/ cloudflare.requests.all * 100).toFixed(2);
cloudflare.requests.others_ratio = ((cloudflare.requests.all - cloudflare.requests.response_200)
/ cloudflare.requests.all * 100).toFixed(2);
cloudflare.requests.cache_hit_ratio = (cloudflare.requests.cached
/ cloudflare.requests.all * 100).toFixed(2);
}
if (cloudflare.bandwidth.all > 0) {
cloudflare.bandwidth.cache_hit_ratio = (cloudflare.bandwidth.cached / cloudflare.bandwidth.all * 100).toFixed(2);
}
res = getField(result.response, 'data.viewer.zones.0.httpRequests1hGroups.0.uniq');
if (typeof res === 'object') {
cloudflare.uniques = {
all: res.uniques || 0
}
}
result = Cloudflare.request('get', 'zones/' + encodeURIComponent(Cloudflare.params.zone)
+ '/dns_analytics/report?dimensions=queryName&metrics=queryCount,uncachedCount,staleCount&since='
+ encodeURIComponent(datetime_start_str) + '&until=' + encodeURIComponent(datetime_end_str));
res = getField(result.response, 'result.totals');
if (typeof result.response.result === 'object') {
cloudflare.dns = {
query: {
all: res.queryCount || 0,
uncached: res.uncachedCount || 0,
stale: res.staleCount || 0
}
}
}
}
return JSON.stringify(cloudflare);
}
catch (error) {
error += (String(error).endsWith('.')) ? '' : '.';
Zabbix.log(3, '[ Cloudflare ] ERROR: ' + error);
throw 'Requesting failed: ' + error;
}
description: 'The JSON with result of Cloudflare API request.'
timeout: '{$CLOUDFLARE.GET_DATA.TIMEOUT}'
parameters:
- name: token
value: '{$CLOUDFLARE.API.TOKEN}'
- name: zone
value: '{$CLOUDFLARE.ZONE_ID}'
- name: api_endpoint
value: '{$CLOUDFLARE.API.URL}'
tags:
- tag: component
value: raw
- uuid: 71efacd9f1dc46a7aa29876c8bf7906c
name: 'Cloudflare: Total page views'
type: DEPENDENT
key: cloudflare.pageviews.all
delay: '0'
history: 7d
units: pg
description: 'The amount of all pageviews.'
preprocessing:
- type: JSONPATH
parameters:
- $.pageviews.all
master_item:
key: cloudflare.get
tags:
- tag: component
value: pageviews
- uuid: d4a7431b1f6a4d3ab11551a36c98fbf7
name: 'Cloudflare: Total requests'
type: DEPENDENT
key: cloudflare.requests.all
delay: '0'
history: 7d
units: req
description: 'The amount of all requests.'
preprocessing:
- type: JSONPATH
parameters:
- $.requests.all
master_item:
key: cloudflare.get
tags:
- tag: component
value: requests
- uuid: cc9d651cdec94afeb12ead87b3c3e8f3
name: 'Cloudflare: Cached requests'
type: DEPENDENT
key: cloudflare.requests.cached
delay: '0'
history: 7d
units: req
preprocessing:
- type: JSONPATH
parameters:
- $.requests.cached
master_item:
key: cloudflare.get
tags:
- tag: component
value: requests
- uuid: e1c2a1280d25439f8020b3ebc451d892
name: 'Cloudflare: Cache hit ratio % over time'
type: DEPENDENT
key: cloudflare.requests.cache_hit_ratio
delay: '0'
history: 7d
value_type: FLOAT
units: '%'
description: 'The ratio of the amount cached requests to all requests in percentage.'
preprocessing:
- type: JSONPATH
parameters:
- $.requests.cache_hit_ratio
master_item:
key: cloudflare.get
tags:
- tag: component
value: requests
- uuid: 228912bdae724d70b1abe79510b69082
name: 'Cloudflare: Non-2xx responses ratio'
type: DEPENDENT
key: cloudflare.requests.others_ratio
delay: '0'
history: 7d
value_type: FLOAT
units: '%'
description: 'The ratio of the amount requests with non-2xx response codes to all requests in percentage.'
preprocessing:
- type: JSONPATH
parameters:
- $.requests.others_ratio
master_item:
key: cloudflare.get
tags:
- tag: component
value: requests
triggers:
- uuid: e76f4a61dd094419b6e0af706758e545
expression: 'min(/Cloudflare by HTTP/cloudflare.requests.others_ratio,#3) > {$CLOUDFLARE.ERRORS.MAX.WARN}'
name: 'Cloudflare: Ratio of non-2xx responses is too high'
event_name: 'Cloudflare: Ratio of non-2xx responses is too high (more than {$CLOUDFLARE.ERRORS.MAX.WARN}% for 3 last measurements)'
opdata: 'Current value: {ITEM.LASTVALUE1}'
priority: AVERAGE
description: 'A large number of errors can indicate a malfunction of the site.'
tags:
- tag: scope
value: performance
- uuid: 0f427419265a4ef09f052a03c539125d
name: 'Cloudflare: Response codes 1xx'
type: DEPENDENT
key: cloudflare.requests.response_100
delay: '0'
history: 7d
units: req
description: 'The number requests with 1xx response codes.'
preprocessing:
- type: JSONPATH
parameters:
- $.requests.response_100
master_item:
key: cloudflare.get
tags:
- tag: component
value: requests
- uuid: 3ade3e726d314382a3e841b3d5cb5834
name: 'Cloudflare: Response codes 2xx'
type: DEPENDENT
key: cloudflare.requests.response_200
delay: '0'
history: 7d
units: req
description: 'The number requests with 2xx response codes.'
preprocessing:
- type: JSONPATH
parameters:
- $.requests.response_200
master_item:
key: cloudflare.get
tags:
- tag: component
value: requests
- uuid: 2caff86e7ca5400889f3b2bd4b6ba986
name: 'Cloudflare: Response codes 3xx'
type: DEPENDENT
key: cloudflare.requests.response_300
delay: '0'
history: 7d
units: req
description: 'The number requests with 3xx response codes.'
preprocessing:
- type: JSONPATH
parameters:
- $.requests.response_300
master_item:
key: cloudflare.get
tags:
- tag: component
value: requests
- uuid: b3510ec2adc74e10824365012c13250f
name: 'Cloudflare: Response codes 4xx'
type: DEPENDENT
key: cloudflare.requests.response_400
delay: '0'
history: 7d
units: req
description: 'The number requests with 4xx response codes.'
preprocessing:
- type: JSONPATH
parameters:
- $.requests.response_400
master_item:
key: cloudflare.get
tags:
- tag: component
value: requests
- uuid: 714ef2cbecbe4a93b20988a0bc6863a7
name: 'Cloudflare: Response codes 5xx'
type: DEPENDENT
key: cloudflare.requests.response_500
delay: '0'
history: 7d
units: req
description: 'The number requests with 5xx response codes.'
preprocessing:
- type: JSONPATH
parameters:
- $.requests.response_500
master_item:
key: cloudflare.get
tags:
- tag: component
value: requests
- uuid: d39fcd4fdc594257bea91de0890d326b
name: 'Cloudflare: SSL encrypted requests'
type: DEPENDENT
key: cloudflare.requests.ssl.encrypted
delay: '0'
history: 7d
units: req
description: 'The number of encrypted requests.'
preprocessing:
- type: JSONPATH
parameters:
- $.requests.encrypted
master_item:
key: cloudflare.get
tags:
- tag: component
value: requests
- uuid: acbbc431dfc3431583123380edb6da38
name: 'Cloudflare: Unencrypted requests'
type: DEPENDENT
key: cloudflare.requests.ssl.unencrypted
delay: '0'
history: 7d
units: req
description: 'The number of unencrypted requests.'
preprocessing:
- type: JSONPATH
parameters:
- $.requests.unencrypted
master_item:
key: cloudflare.get
tags:
- tag: component
value: requests
- uuid: 6100ff50001543ae83e84ab2c47260f3
name: 'Cloudflare: 2xx responses ratio'
type: DEPENDENT
key: cloudflare.requests.success_ratio
delay: '0'
history: 7d
value_type: FLOAT
units: '%'
description: 'The ratio of the amount requests with 2xx response codes to all requests in percentage.'
preprocessing:
- type: JSONPATH
parameters:
- $.requests.success_ratio
master_item:
key: cloudflare.get
tags:
- tag: component
value: requests
- uuid: 7907f68e795b40fca1bd520556ea1fff
name: 'Cloudflare: Uncached requests'
type: DEPENDENT
key: cloudflare.requests.uncached
delay: '0'
history: 7d
units: req
description: 'The number of uncached requests.'
preprocessing:
- type: JSONPATH
parameters:
- $.requests.uncached
master_item:
key: cloudflare.get
tags:
- tag: component
value: requests
- uuid: 328051a78529494e943edda567aa0e24
name: 'Cloudflare: Total threats'
type: DEPENDENT
key: cloudflare.threats.all
delay: '0'
history: 7d
description: 'The number of all threats.'
preprocessing:
- type: JSONPATH
parameters:
- $.threats.all
master_item:
key: cloudflare.get
tags:
- tag: component
value: threats
- uuid: d1a2ec213b084701805f3f974af25a21
name: 'Cloudflare: Unique visitors'
type: DEPENDENT
key: cloudflare.uniques.all
delay: '0'
history: 7d
units: conn
description: 'The number of all visitors IPs.'
preprocessing:
- type: JSONPATH
parameters:
- $.uniques.all
master_item:
key: cloudflare.get
tags:
- tag: component
value: uniques
tags:
- tag: class
value: service
- tag: target
value: cloudflare
macros:
- macro: '{$CLOUDFLARE.API.TOKEN}'
value: '<change>'
description: 'Your Cloudflare API Token.'
- macro: '{$CLOUDFLARE.API.URL}'
value: 'https://api.cloudflare.com/client/v4'
description: 'The URL of Cloudflare API endpoint.'
- macro: '{$CLOUDFLARE.CACHED_BANDWIDTH.MIN.WARN}'
value: '50'
description: 'Minimum of cached bandwidth in %.'
- macro: '{$CLOUDFLARE.ERRORS.MAX.WARN}'
value: '30'
description: 'Maximum responses with errors in %.'
- macro: '{$CLOUDFLARE.GET_DATA.TIMEOUT}'
value: 3s
description: 'Response timeout for Cloudflare API.'
- macro: '{$CLOUDFLARE.ZONE_ID}'
value: '<change>'
description: 'Your Cloudflare Site Zone ID.'
dashboards:
- uuid: 51f1013e8a3d492faed27fe80b68fc53
name: Overview
pages:
- widgets:
- type: graph
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'Cloudflare by HTTP'
name: 'Cloudflare: Bandwidth'
- type: graph
x: '12'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'Cloudflare by HTTP'
name: 'Cloudflare: Web requests'
- type: graph
'y': '5'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'Cloudflare by HTTP'
name: 'Cloudflare: DNS requests'
- type: graph
x: '12'
'y': '5'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'Cloudflare by HTTP'
name: 'Cloudflare: Caching'
- type: graph
'y': '10'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'Cloudflare by HTTP'
name: 'Cloudflare: HTTP responses ratio over time'
- type: graph
x: '12'
'y': '10'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'Cloudflare by HTTP'
name: 'Cloudflare: IPs and threats'
- type: graph
'y': '15'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'Cloudflare by HTTP'
name: 'Cloudflare: HTTP response codes over time'
graphs:
- uuid: 09e113216680490c9dd15805474bcac7
name: 'Cloudflare: Bandwidth'
graph_items:
- color: 199C0D
item:
host: 'Cloudflare by HTTP'
key: cloudflare.bandwidth.all
- sortorder: '1'
color: F63100
item:
host: 'Cloudflare by HTTP'
key: cloudflare.bandwidth.cached
- sortorder: '2'
color: 00611C
item:
host: 'Cloudflare by HTTP'
key: cloudflare.bandwidth.uncached
- sortorder: '3'
color: F7941D
item:
host: 'Cloudflare by HTTP'
key: cloudflare.bandwidth.ssl.encrypted
- sortorder: '4'
color: FC6EA3
item:
host: 'Cloudflare by HTTP'
key: cloudflare.bandwidth.ssl.unencrypted
- uuid: ed4ef5ce4a6a4c5692c22079d8879e0e
name: 'Cloudflare: Caching'
graph_items:
- color: 199C0D
item:
host: 'Cloudflare by HTTP'
key: cloudflare.requests.cache_hit_ratio
- sortorder: '1'
color: F63100
item:
host: 'Cloudflare by HTTP'
key: cloudflare.bandwidth.cache_hit_ratio
- uuid: 25df26cece41403d864f1ced5901bffa
name: 'Cloudflare: DNS requests'
graph_items:
- color: 199C0D
item:
host: 'Cloudflare by HTTP'
key: cloudflare.dns.query.all
- sortorder: '1'
color: F63100
item:
host: 'Cloudflare by HTTP'
key: cloudflare.dns.query.stale
- sortorder: '2'
color: 00611C
item:
host: 'Cloudflare by HTTP'
key: cloudflare.dns.query.uncached
- uuid: 3fb3b089a115420bbc051c14fcd2f3aa
name: 'Cloudflare: HTTP response codes over time'
graph_items:
- color: 199C0D
item:
host: 'Cloudflare by HTTP'
key: cloudflare.requests.response_100
- sortorder: '1'
color: F63100
item:
host: 'Cloudflare by HTTP'
key: cloudflare.requests.response_200
- sortorder: '2'
color: 00611C
item:
host: 'Cloudflare by HTTP'
key: cloudflare.requests.response_300
- sortorder: '3'
color: F7941D
item:
host: 'Cloudflare by HTTP'
key: cloudflare.requests.response_400
- sortorder: '4'
color: FC6EA3
item:
host: 'Cloudflare by HTTP'
key: cloudflare.requests.response_500
- uuid: c9e1708427a84182a406faec327bb6f1
name: 'Cloudflare: HTTP responses ratio over time'
graph_items:
- color: 199C0D
item:
host: 'Cloudflare by HTTP'
key: cloudflare.requests.others_ratio
- sortorder: '1'
color: F63100
item:
host: 'Cloudflare by HTTP'
key: cloudflare.requests.success_ratio
- uuid: 6a0da78eec23423ab084a0760f1691be
name: 'Cloudflare: IPs and threats'
graph_items:
- color: 199C0D
item:
host: 'Cloudflare by HTTP'
key: cloudflare.threats.all
- sortorder: '1'
color: F63100
item:
host: 'Cloudflare by HTTP'
key: cloudflare.uniques.all
- uuid: 659df99629a341449c77baf7a9b99b77
name: 'Cloudflare: Web requests'
graph_items:
- color: 199C0D
item:
host: 'Cloudflare by HTTP'
key: cloudflare.requests.all
- sortorder: '1'
color: F63100
item:
host: 'Cloudflare by HTTP'
key: cloudflare.requests.cached
- sortorder: '2'
color: 00611C
item:
host: 'Cloudflare by HTTP'
key: cloudflare.requests.uncached
- sortorder: '3'
color: F7941D
item:
host: 'Cloudflare by HTTP'
key: cloudflare.requests.ssl.encrypted
- sortorder: '4'
color: FC6EA3
item:
host: 'Cloudflare by HTTP'
key: cloudflare.requests.ssl.unencrypted