Page MenuHomePhabricator
Paste P8481

prometheus-trafficserver-exporter.deb.diff
ActivePublic

Authored by ema on May 7 2019, 10:13 AM.
Tags
None
Referenced Files
F28952128: raw.txt
May 7 2019, 10:13 AM
Subscribers
None
diff -Nru prometheus-trafficserver-exporter-0.2.0/.bumpversion.cfg prometheus-trafficserver-exporter-0.2.3/.bumpversion.cfg
--- prometheus-trafficserver-exporter-0.2.0/.bumpversion.cfg 2018-10-30 04:10:29.000000000 +0100
+++ prometheus-trafficserver-exporter-0.2.3/.bumpversion.cfg 2019-05-03 15:54:32.000000000 +0200
@@ -1,5 +1,5 @@
[bumpversion]
-current_version = 0.2.0
+current_version = 0.2.3
commit = True
tag = True
diff -Nru prometheus-trafficserver-exporter-0.2.0/debian/changelog prometheus-trafficserver-exporter-0.2.3/debian/changelog
--- prometheus-trafficserver-exporter-0.2.0/debian/changelog 2018-10-30 11:19:18.000000000 +0100
+++ prometheus-trafficserver-exporter-0.2.3/debian/changelog 2019-05-07 11:40:33.000000000 +0200
@@ -1,3 +1,11 @@
+prometheus-trafficserver-exporter (0.2.3-1) experimental; urgency=medium
+
+ * New upstream version.
+ * Update manpage.
+ * Add myself to uploaders.
+
+ -- Valentin Gutierrez <vgutierrez@wikimedia.org> Tue, 07 May 2019 11:40:33 +0200
+
prometheus-trafficserver-exporter (0.2.0-1) unstable; urgency=medium
[ Emanuele Rocca ]
diff -Nru prometheus-trafficserver-exporter-0.2.0/debian/control prometheus-trafficserver-exporter-0.2.3/debian/control
--- prometheus-trafficserver-exporter-0.2.0/debian/control 2018-10-30 11:19:18.000000000 +0100
+++ prometheus-trafficserver-exporter-0.2.3/debian/control 2019-05-07 11:40:33.000000000 +0200
@@ -2,6 +2,7 @@
Section: net
Priority: optional
Maintainer: Emanuele Rocca <ema@debian.org>
+Uploaders: Valentin Gutierrez <vgutierrez@wikimedia.org>
Homepage: https://github.com/gdvalle/trafficserver_exporter
Build-Depends: debhelper (>= 9),
dh-python,
diff -Nru prometheus-trafficserver-exporter-0.2.0/debian/prometheus-trafficserver-exporter.1 prometheus-trafficserver-exporter-0.2.3/debian/prometheus-trafficserver-exporter.1
--- prometheus-trafficserver-exporter-0.2.0/debian/prometheus-trafficserver-exporter.1 2018-10-30 11:19:18.000000000 +0100
+++ prometheus-trafficserver-exporter-0.2.3/debian/prometheus-trafficserver-exporter.1 2019-05-07 11:40:33.000000000 +0200
@@ -1,11 +1,11 @@
-.TH TRAFFICSERVER_EXPORTER "1" "August 2018" "prometheus-trafficserver-exporter 0.2.0" "User Commands"
+.TH TRAFFICSERVER_EXPORTER "1" "August 2018" "prometheus-trafficserver-exporter 0.2.3" "User Commands"
.SH NAME
prometheus-trafficserver-exporter \- Prometheus exporter for Apache Traffic Server
.SH DESCRIPTION
usage: prometheus-trafficserver-exporter [\-h] [\-\-endpoint ENDPOINT] [\-\-addr ADDR]
.TP
[\-\-port PORT] [\-\-pidfile PIDFILE] [\-\-procstats]
-[\-\-no\-procstats] [\-\-max\-retries MAX_RETRIES]
+[\-\-no\-procstats] [\-\-no\-ssl\-verification] [\-\-max\-retries MAX_RETRIES]
[\-v]
.PP
Traffic Server exporter for Prometheus
@@ -34,6 +34,10 @@
\fB\-\-no\-procstats\fR
Disable process metric collection (default: True)
.TP
+\fB\-\-no\-ssl\-verification\fR
+Disable SSL certificate verification on metric collection
+(default: True)
+.TP
\fB\-\-max\-retries\fR MAX_RETRIES
Maximum retries for DNS lookups or connnection
timeouts/failures (default: 0)
diff -Nru prometheus-trafficserver-exporter-0.2.0/setup.py prometheus-trafficserver-exporter-0.2.3/setup.py
--- prometheus-trafficserver-exporter-0.2.0/setup.py 2018-10-30 04:10:29.000000000 +0100
+++ prometheus-trafficserver-exporter-0.2.3/setup.py 2019-05-03 15:54:32.000000000 +0200
@@ -11,7 +11,7 @@
setup(
name='trafficserver_exporter',
- version='0.2.0',
+ version='0.2.3',
author='Greg Dallavalle',
description='Traffic Server metrics exporter for Prometheus',
long_description=__doc__,
diff -Nru prometheus-trafficserver-exporter-0.2.0/trafficserver_exporter/collector.py prometheus-trafficserver-exporter-0.2.3/trafficserver_exporter/collector.py
--- prometheus-trafficserver-exporter-0.2.0/trafficserver_exporter/collector.py 2018-10-30 04:10:29.000000000 +0100
+++ prometheus-trafficserver-exporter-0.2.3/trafficserver_exporter/collector.py 2019-05-03 15:54:32.000000000 +0200
@@ -79,9 +79,10 @@
class StatsPluginCollector(object):
"""Collector for metrics from the stats_over_http plugin."""
- def __init__(self, endpoint, max_retries=0):
+ def __init__(self, endpoint, max_retries=0, ssl_verify=True):
"""Instantiate a new Collector for ATS stats."""
self._endpoint = endpoint
+ self._ssl_verify = ssl_verify
self.log = LOG
self.session = requests.Session()
http_adapter = requests.adapters.HTTPAdapter(max_retries=max_retries)
@@ -90,9 +91,8 @@
def get_json(self):
"""Query the ATS stats endpoint, return parsed JSON."""
- return json.loads(requests.get(self._endpoint).content.decode("UTF-8"))[
- "global"
- ]
+ r = requests.get(self._endpoint, verify=self._ssl_verify)
+ return r.json()["global"]
def collect(self):
"""Generator used to gather and return all metrics."""
@@ -172,6 +172,28 @@
)
yield metric
+ # Incoming responses
+ metric = Metric(
+ "trafficserver_responses_incoming_total", "Incoming responses.", "counter"
+ )
+ metric.add_sample(
+ "trafficserver_responses_incoming_total",
+ value=float(data["proxy.process.http.incoming_responses"]),
+ labels={"protocol": "http"},
+ )
+ yield metric
+
+ # Outgoing requests
+ metric = Metric(
+ "trafficserver_requests_outgoing_total", "Outgoing requests.", "counter"
+ )
+ metric.add_sample(
+ "trafficserver_requests_outgoing_total",
+ value=float(data["proxy.process.http.outgoing_requests"]),
+ labels={"protocol": "http"},
+ )
+ yield metric
+
# Client aborts
metric = Metric(
"trafficserver_error_client_aborts_total", "Client aborts.", "counter"
@@ -688,7 +710,7 @@
metric.add_sample(
"trafficserver_cache_avail_size_bytes_total",
value=float(
- data["proxy.process.cache.volume_{0}.bytes_used".format(volume)]
+ data["proxy.process.cache.volume_{0}.bytes_total".format(volume)]
),
labels={"volume": str(volume)},
)
@@ -702,7 +724,35 @@
metric.add_sample(
"trafficserver_cache_used_bytes_total",
value=float(
- data["proxy.process.cache.volume_{0}.bytes_total".format(volume)]
+ data["proxy.process.cache.volume_{0}.bytes_used".format(volume)]
+ ),
+ labels={"volume": str(volume)},
+ )
+ yield metric
+
+ metric = Metric(
+ "trafficserver_cache_direntries",
+ "Total cache direntries.",
+ "gauge",
+ )
+ metric.add_sample(
+ "trafficserver_cache_direntries",
+ value=float(
+ data["proxy.process.cache.volume_{0}.direntries.total".format(volume)]
+ ),
+ labels={"volume": str(volume)},
+ )
+ yield metric
+
+ metric = Metric(
+ "trafficserver_cache_used_direntries",
+ "Cache direntries used.",
+ "gauge",
+ )
+ metric.add_sample(
+ "trafficserver_cache_used_direntries",
+ value=float(
+ data["proxy.process.cache.volume_{0}.direntries.used".format(volume)]
),
labels={"volume": str(volume)},
)
diff -Nru prometheus-trafficserver-exporter-0.2.0/trafficserver_exporter/trafficserver_exporter.py prometheus-trafficserver-exporter-0.2.3/trafficserver_exporter/trafficserver_exporter.py
--- prometheus-trafficserver-exporter-0.2.0/trafficserver_exporter/trafficserver_exporter.py 2018-10-30 04:10:29.000000000 +0100
+++ prometheus-trafficserver-exporter-0.2.3/trafficserver_exporter/trafficserver_exporter.py 2019-05-03 15:54:32.000000000 +0200
@@ -45,6 +45,13 @@
)
ARGS.set_defaults(procstats=True)
ARGS.add_argument(
+ "--no-ssl-verification",
+ dest="sslverification",
+ action="store_false",
+ help="Disable SSL certificate verification on metric collection",
+)
+ARGS.set_defaults(sslverification=True)
+ARGS.add_argument(
"--max-retries",
dest="max_retries",
type=int,
@@ -92,7 +99,8 @@
httpd_thread = start_http_server(args.port, addr=args.addr)
LOG.debug("Registering StatsPluginCollector")
- REGISTRY.register(StatsPluginCollector(args.endpoint, max_retries=args.max_retries))
+ REGISTRY.register(StatsPluginCollector(args.endpoint, max_retries=args.max_retries,
+ ssl_verify=args.sslverification))
if args.procstats:
LOG.debug("Registering ProcessCollector")