Update to pcp-5.3.7-18 with pmproxy, pmcd.conf and pmdahacluster fixes
Resolves: rhbz#2211263 Resolves: rhbz#2219731 Resolves: rhbz#2159207
This commit is contained in:
parent
8ecfe8a1ba
commit
1c9cbf235b
14
pcp.spec
14
pcp.spec
@ -1,6 +1,6 @@
|
|||||||
Name: pcp
|
Name: pcp
|
||||||
Version: 5.3.7
|
Version: 5.3.7
|
||||||
Release: 17%{?dist}
|
Release: 18%{?dist}
|
||||||
Summary: System-level performance monitoring and performance management
|
Summary: System-level performance monitoring and performance management
|
||||||
License: GPLv2+ and LGPLv2+ and CC-BY
|
License: GPLv2+ and LGPLv2+ and CC-BY
|
||||||
URL: https://pcp.io
|
URL: https://pcp.io
|
||||||
@ -22,7 +22,9 @@ Patch11: redhat-bugzilla-1981886-pcp-ss-fetchgroup.patch
|
|||||||
Patch12: redhat-bugzilla-2159207-pmproxy-rollup-fixes.patch
|
Patch12: redhat-bugzilla-2159207-pmproxy-rollup-fixes.patch
|
||||||
Patch13: redhat-bugzilla-2139325-openmetrics-in-grafana.patch
|
Patch13: redhat-bugzilla-2139325-openmetrics-in-grafana.patch
|
||||||
Patch14: redhat-bugzilla-2150889-nfsclient-srcport.patch
|
Patch14: redhat-bugzilla-2150889-nfsclient-srcport.patch
|
||||||
Patch15: redhat-build-jsonsl.patch
|
Patch15: redhat-bugzilla-2219731-hacluster-metrics.patch
|
||||||
|
Patch16: redhat-bugzilla-2211263-pmcd-conf-rewrite.patch
|
||||||
|
Patch17: redhat-build-jsonsl.patch
|
||||||
|
|
||||||
# The additional linker flags break out-of-tree PMDAs.
|
# The additional linker flags break out-of-tree PMDAs.
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=2043092
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2043092
|
||||||
@ -2306,6 +2308,8 @@ updated policy package.
|
|||||||
%patch13 -p1
|
%patch13 -p1
|
||||||
%patch14 -p1
|
%patch14 -p1
|
||||||
%patch15 -p1
|
%patch15 -p1
|
||||||
|
%patch16 -p1
|
||||||
|
%patch17 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# the buildsubdir macro gets defined in %setup and is apparently only available in the next step (i.e. the %build step)
|
# the buildsubdir macro gets defined in %setup and is apparently only available in the next step (i.e. the %build step)
|
||||||
@ -3377,10 +3381,14 @@ fi
|
|||||||
%files zeroconf -f pcp-zeroconf-files.rpm
|
%files zeroconf -f pcp-zeroconf-files.rpm
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Jul 05 2023 Nathan Scott <nathans@redhat.com> - 5.3.7-18
|
||||||
|
- Improve pmproxy handling large HTTP requests (BZ 2159207)
|
||||||
|
- Fix hacluster metrics with current Pacemaker (BZ 2219731)
|
||||||
|
- Ensure pmcd.conf not needlessly over written (BZ 2211263)
|
||||||
|
|
||||||
* Thu Mar 09 2023 Nathan Scott <nathans@redhat.com> - 5.3.7-17
|
* Thu Mar 09 2023 Nathan Scott <nathans@redhat.com> - 5.3.7-17
|
||||||
- Harden pmdaopenmetrics metric name validator (BZ 2139325)
|
- Harden pmdaopenmetrics metric name validator (BZ 2139325)
|
||||||
- Fix issues in pmdanfsclient srcport handling (BZ 2150889)
|
- Fix issues in pmdanfsclient srcport handling (BZ 2150889)
|
||||||
- Improve pmproxy handling large HTTP requests (BZ 2159207)
|
|
||||||
|
|
||||||
* Thu Nov 17 2022 Nathan Scott <nathans@redhat.com> - 5.3.7-16
|
* Thu Nov 17 2022 Nathan Scott <nathans@redhat.com> - 5.3.7-16
|
||||||
- Ensure SNMP metrics config symlink installed (BZ 2139012)
|
- Ensure SNMP metrics config symlink installed (BZ 2139012)
|
||||||
|
@ -1,6 +1,20 @@
|
|||||||
|
diff -Naurp pcp-5.3.7.orig/man/man3/pmwebapi.3 pcp-5.3.7/man/man3/pmwebapi.3
|
||||||
|
--- pcp-5.3.7.orig/man/man3/pmwebapi.3 2022-04-05 09:05:43.000000000 +1000
|
||||||
|
+++ pcp-5.3.7/man/man3/pmwebapi.3 2023-07-05 13:43:00.404035611 +1000
|
||||||
|
@@ -175,6 +175,10 @@ parameter.
|
||||||
|
The value passed in the request will be sent back in the
|
||||||
|
response \- all responses will be in JSON object form in
|
||||||
|
this case, with top level "client" and "result" fields.
|
||||||
|
+.PP
|
||||||
|
+REST API clients can optionally submit an URL-encoded query string
|
||||||
|
+in the body of the HTTP request unless otherwise noted.
|
||||||
|
+In this case the POST method must be used instead of the GET method.
|
||||||
|
.SS GET \fI/series/query\fR \- \fBpmSeriesQuery\fR(3)
|
||||||
|
.TS
|
||||||
|
box;
|
||||||
diff -Naurp pcp-5.3.7.orig/qa/1604 pcp-5.3.7/qa/1604
|
diff -Naurp pcp-5.3.7.orig/qa/1604 pcp-5.3.7/qa/1604
|
||||||
--- pcp-5.3.7.orig/qa/1604 1970-01-01 10:00:00.000000000 +1000
|
--- pcp-5.3.7.orig/qa/1604 1970-01-01 10:00:00.000000000 +1000
|
||||||
+++ pcp-5.3.7/qa/1604 2023-03-09 11:30:01.448770018 +1100
|
+++ pcp-5.3.7/qa/1604 2023-07-05 13:42:53.394025688 +1000
|
||||||
@@ -0,0 +1,114 @@
|
@@ -0,0 +1,114 @@
|
||||||
+#!/bin/sh
|
+#!/bin/sh
|
||||||
+# PCP QA Test No. 1604
|
+# PCP QA Test No. 1604
|
||||||
@ -118,7 +132,7 @@ diff -Naurp pcp-5.3.7.orig/qa/1604 pcp-5.3.7/qa/1604
|
|||||||
+exit
|
+exit
|
||||||
diff -Naurp pcp-5.3.7.orig/qa/1604.out pcp-5.3.7/qa/1604.out
|
diff -Naurp pcp-5.3.7.orig/qa/1604.out pcp-5.3.7/qa/1604.out
|
||||||
--- pcp-5.3.7.orig/qa/1604.out 1970-01-01 10:00:00.000000000 +1000
|
--- pcp-5.3.7.orig/qa/1604.out 1970-01-01 10:00:00.000000000 +1000
|
||||||
+++ pcp-5.3.7/qa/1604.out 2023-03-09 11:30:01.448770018 +1100
|
+++ pcp-5.3.7/qa/1604.out 2023-07-05 13:42:53.394025688 +1000
|
||||||
@@ -0,0 +1,204 @@
|
@@ -0,0 +1,204 @@
|
||||||
+QA output created by 1604
|
+QA output created by 1604
|
||||||
+Start test Redis server ...
|
+Start test Redis server ...
|
||||||
@ -325,8 +339,8 @@ diff -Naurp pcp-5.3.7.orig/qa/1604.out pcp-5.3.7/qa/1604.out
|
|||||||
+ }
|
+ }
|
||||||
+]
|
+]
|
||||||
diff -Naurp pcp-5.3.7.orig/qa/1626 pcp-5.3.7/qa/1626
|
diff -Naurp pcp-5.3.7.orig/qa/1626 pcp-5.3.7/qa/1626
|
||||||
--- pcp-5.3.7.orig/qa/1626 2022-04-05 09:05:43.000000000 +1000
|
--- pcp-5.3.7.orig/qa/1626 2023-07-05 13:42:25.513986223 +1000
|
||||||
+++ pcp-5.3.7/qa/1626 2023-03-09 11:31:18.809008274 +1100
|
+++ pcp-5.3.7/qa/1626 2023-07-05 13:42:53.394025688 +1000
|
||||||
@@ -2,7 +2,7 @@
|
@@ -2,7 +2,7 @@
|
||||||
# PCP QA Test No. 1626
|
# PCP QA Test No. 1626
|
||||||
# pmproxy metrics
|
# pmproxy metrics
|
||||||
@ -376,8 +390,8 @@ diff -Naurp pcp-5.3.7.orig/qa/1626 pcp-5.3.7/qa/1626
|
|||||||
done
|
done
|
||||||
|
|
||||||
diff -Naurp pcp-5.3.7.orig/qa/1626.out pcp-5.3.7/qa/1626.out
|
diff -Naurp pcp-5.3.7.orig/qa/1626.out pcp-5.3.7/qa/1626.out
|
||||||
--- pcp-5.3.7.orig/qa/1626.out 2022-04-05 09:05:43.000000000 +1000
|
--- pcp-5.3.7.orig/qa/1626.out 2023-07-05 13:42:25.513986223 +1000
|
||||||
+++ pcp-5.3.7/qa/1626.out 2023-03-09 11:31:18.809008274 +1100
|
+++ pcp-5.3.7/qa/1626.out 2023-07-05 13:42:53.394025688 +1000
|
||||||
@@ -1,10 +1,10 @@
|
@@ -1,10 +1,10 @@
|
||||||
QA output created by 1626
|
QA output created by 1626
|
||||||
== wait for pmproxy server metrics
|
== wait for pmproxy server metrics
|
||||||
@ -392,8 +406,8 @@ diff -Naurp pcp-5.3.7.orig/qa/1626.out pcp-5.3.7/qa/1626.out
|
|||||||
=== check for discovery partial metadata reads
|
=== check for discovery partial metadata reads
|
||||||
=== check maxrss and datasz values
|
=== check maxrss and datasz values
|
||||||
diff -Naurp pcp-5.3.7.orig/qa/1689.out pcp-5.3.7/qa/1689.out
|
diff -Naurp pcp-5.3.7.orig/qa/1689.out pcp-5.3.7/qa/1689.out
|
||||||
--- pcp-5.3.7.orig/qa/1689.out 2021-09-24 12:57:26.000000000 +1000
|
--- pcp-5.3.7.orig/qa/1689.out 2023-07-05 13:42:25.513986223 +1000
|
||||||
+++ pcp-5.3.7/qa/1689.out 2023-03-09 11:31:18.809008274 +1100
|
+++ pcp-5.3.7/qa/1689.out 2023-07-05 13:42:53.394025688 +1000
|
||||||
@@ -165,6 +165,30 @@ pmproxy.discover.throttled_changed_callb
|
@@ -165,6 +165,30 @@ pmproxy.discover.throttled_changed_callb
|
||||||
Help:
|
Help:
|
||||||
Number of filesystem change callbacks that were ignored due to throttling
|
Number of filesystem change callbacks that were ignored due to throttling
|
||||||
@ -458,7 +472,7 @@ diff -Naurp pcp-5.3.7.orig/qa/1689.out pcp-5.3.7/qa/1689.out
|
|||||||
+Contexts scanned during most recent webgroup garbage collection
|
+Contexts scanned during most recent webgroup garbage collection
|
||||||
diff -Naurp pcp-5.3.7.orig/qa/1691 pcp-5.3.7/qa/1691
|
diff -Naurp pcp-5.3.7.orig/qa/1691 pcp-5.3.7/qa/1691
|
||||||
--- pcp-5.3.7.orig/qa/1691 1970-01-01 10:00:00.000000000 +1000
|
--- pcp-5.3.7.orig/qa/1691 1970-01-01 10:00:00.000000000 +1000
|
||||||
+++ pcp-5.3.7/qa/1691 2023-03-08 19:03:34.890046547 +1100
|
+++ pcp-5.3.7/qa/1691 2023-07-05 13:42:53.404025702 +1000
|
||||||
@@ -0,0 +1,74 @@
|
@@ -0,0 +1,74 @@
|
||||||
+#!/bin/sh
|
+#!/bin/sh
|
||||||
+# Exercise pmseries handling of loading archives and ignoring metrics thereof.
|
+# Exercise pmseries handling of loading archives and ignoring metrics thereof.
|
||||||
@ -536,7 +550,7 @@ diff -Naurp pcp-5.3.7.orig/qa/1691 pcp-5.3.7/qa/1691
|
|||||||
+exit
|
+exit
|
||||||
diff -Naurp pcp-5.3.7.orig/qa/1691.out pcp-5.3.7/qa/1691.out
|
diff -Naurp pcp-5.3.7.orig/qa/1691.out pcp-5.3.7/qa/1691.out
|
||||||
--- pcp-5.3.7.orig/qa/1691.out 1970-01-01 10:00:00.000000000 +1000
|
--- pcp-5.3.7.orig/qa/1691.out 1970-01-01 10:00:00.000000000 +1000
|
||||||
+++ pcp-5.3.7/qa/1691.out 2023-03-08 19:03:34.890046547 +1100
|
+++ pcp-5.3.7/qa/1691.out 2023-07-05 13:42:53.404025702 +1000
|
||||||
@@ -0,0 +1,44 @@
|
@@ -0,0 +1,44 @@
|
||||||
+QA output created by 1691
|
+QA output created by 1691
|
||||||
+Start test Redis server ...
|
+Start test Redis server ...
|
||||||
@ -582,9 +596,244 @@ diff -Naurp pcp-5.3.7.orig/qa/1691.out pcp-5.3.7/qa/1691.out
|
|||||||
+
|
+
|
||||||
+d38aff137f65367ce1aec169be675021a3ebb25c
|
+d38aff137f65367ce1aec169be675021a3ebb25c
|
||||||
+ Metric: kernel.all.cpu.nice
|
+ Metric: kernel.all.cpu.nice
|
||||||
|
diff -Naurp pcp-5.3.7.orig/qa/1697 pcp-5.3.7/qa/1697
|
||||||
|
--- pcp-5.3.7.orig/qa/1697 1970-01-01 10:00:00.000000000 +1000
|
||||||
|
+++ pcp-5.3.7/qa/1697 2023-07-05 13:43:00.404035611 +1000
|
||||||
|
@@ -0,0 +1,134 @@
|
||||||
|
+#!/bin/sh
|
||||||
|
+# PCP QA Test No. 1697
|
||||||
|
+# Valgrind pmproxy REST API testing.
|
||||||
|
+# Based on 1601 and 1696
|
||||||
|
+
|
||||||
|
+# Copyright (c) 2022 Red Hat.
|
||||||
|
+#
|
||||||
|
+
|
||||||
|
+seq=`basename $0`
|
||||||
|
+echo "QA output created by $seq"
|
||||||
|
+
|
||||||
|
+# get standard environment, filters and checks
|
||||||
|
+. ./common.product
|
||||||
|
+. ./common.filter
|
||||||
|
+. ./common.check
|
||||||
|
+. ./common.python
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+_check_valgrind
|
||||||
|
+_check_series
|
||||||
|
+_check_redis_server_version_offline
|
||||||
|
+
|
||||||
|
+_cleanup()
|
||||||
|
+{
|
||||||
|
+ cd $here
|
||||||
|
+ [ -n "$options" ] && redis-cli $options shutdown
|
||||||
|
+ $sudo rm -rf $tmp $tmp.*
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+status=1 # failure is the default!
|
||||||
|
+username=`id -u -n`
|
||||||
|
+$sudo rm -rf $tmp $tmp.* $seq.full
|
||||||
|
+trap "_cleanup; exit \$status" 0 1 2 3 15
|
||||||
|
+
|
||||||
|
+# create a pmproxy configuration
|
||||||
|
+cat <<EOF > $tmp.conf
|
||||||
|
+[pmproxy]
|
||||||
|
+pcp.enabled = true
|
||||||
|
+http.enabled = true
|
||||||
|
+[pmseries]
|
||||||
|
+enabled = true
|
||||||
|
+EOF
|
||||||
|
+
|
||||||
|
+_filter_source()
|
||||||
|
+{
|
||||||
|
+ sed \
|
||||||
|
+ -e "s,$here,PATH,g" \
|
||||||
|
+ -e "s,$hostname,QAHOST,g" \
|
||||||
|
+ #end
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+_filter_proxyport()
|
||||||
|
+{
|
||||||
|
+ sed \
|
||||||
|
+ -e "s/ FD $proxyport / FD PORT /g" \
|
||||||
|
+ -e '/PORT ipv6 /d' \
|
||||||
|
+ # end
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+# real QA test starts here
|
||||||
|
+echo "Start test Redis server ..."
|
||||||
|
+redisport=`_find_free_port`
|
||||||
|
+options="-p $redisport"
|
||||||
|
+redis-server --port $redisport --save "" > $tmp.redis 2>&1 &
|
||||||
|
+_check_redis_ping $redisport
|
||||||
|
+_check_redis_server $redisport
|
||||||
|
+echo
|
||||||
|
+
|
||||||
|
+_check_redis_server_version $redisport
|
||||||
|
+
|
||||||
|
+# import some well-known test data into Redis
|
||||||
|
+pmseries $options --load "$here/archives/proc" | _filter_source
|
||||||
|
+
|
||||||
|
+# start pmproxy
|
||||||
|
+mkdir -p $tmp.pmproxy/pmproxy
|
||||||
|
+export PCP_RUN_DIR=$tmp.pmproxy
|
||||||
|
+export PCP_TMP_DIR=$tmp.pmproxy
|
||||||
|
+proxyport=`_find_free_port`
|
||||||
|
+$_valgrind_clean_assert pmproxy -f -p $proxyport -r $redisport -U $username -l- -c $tmp.conf >$tmp.valout 2>$tmp.valerr &
|
||||||
|
+pid=$!
|
||||||
|
+
|
||||||
|
+# valgrind takes awhile to fire up
|
||||||
|
+i=0
|
||||||
|
+while [ $i -lt 40 ]
|
||||||
|
+do
|
||||||
|
+ $PCP_BINADM_DIR/telnet-probe -c localhost $proxyport && break
|
||||||
|
+ sleep 1
|
||||||
|
+ i=`expr $i + 1`
|
||||||
|
+done
|
||||||
|
+if $PCP_BINADM_DIR/telnet-probe -c localhost $proxyport
|
||||||
|
+then
|
||||||
|
+ echo "Startup took $i secs" >>$seq.full
|
||||||
|
+else
|
||||||
|
+ echo "Arrgh: valgrind failed start pmproxy and get port $proxyport ready after 30 secs"
|
||||||
|
+ exit
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
+series1=`pmseries $options disk.all.read`
|
||||||
|
+[ -z "$series1" ] && _fail "Cannot find any timeseries matching disk.all.read"
|
||||||
|
+echo "Using series $series1 for disk.all.read"
|
||||||
|
+
|
||||||
|
+series2=`pmseries $options disk.dev.read`
|
||||||
|
+[ -z "$series2" ] && _fail "Cannot find any timeseries matching disk.dev.read"
|
||||||
|
+echo "Using series $series2 for disk.dev.read"
|
||||||
|
+
|
||||||
|
+series3=`pmseries $options kernel.all.uptime`
|
||||||
|
+[ -z "$series3" ] && _fail "Cannot find any timeseries matching kernel.all.uptime"
|
||||||
|
+echo "Using series $series3 for kernel.all.uptime"
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+echo "== verify metric descs" | tee -a $seq.full
|
||||||
|
+curl --silent "http://localhost:$proxyport/series/descs" -d "series=$series1,$series2,$series3" | tee -a $seq.full | pmjson
|
||||||
|
+
|
||||||
|
+echo "== verify metric names" | tee -a $seq.full
|
||||||
|
+curl --silent "http://localhost:$proxyport/series/metrics" -d "series=$series1,$series2,$series3" | tee -a $seq.full | pmjson
|
||||||
|
+
|
||||||
|
+echo "== verify metric labels" | tee -a $seq.full
|
||||||
|
+curl --silent "http://localhost:$proxyport/series/labels" -d "series=$series1,$series3" | tee -a $seq.full | pmjson
|
||||||
|
+
|
||||||
|
+echo "== verify metric insts" | tee -a $seq.full
|
||||||
|
+curl --silent "http://localhost:$proxyport/series/instances" -d "series=$series2" | tee -a $seq.full | pmjson
|
||||||
|
+
|
||||||
|
+# valgrind takes awhile to shutdown too
|
||||||
|
+pmsignal $pid
|
||||||
|
+pmsleep 3.5
|
||||||
|
+echo "=== valgrind stdout ===" | tee -a $seq.full
|
||||||
|
+cat $tmp.valout | _filter_valgrind
|
||||||
|
+
|
||||||
|
+echo "=== valgrind stderr ===" | tee -a $seq.full
|
||||||
|
+cat $tmp.valerr | _filter_pmproxy_log | grep -v "Cannot connect to Redis" | _filter_proxyport
|
||||||
|
+
|
||||||
|
+# success, all done
|
||||||
|
+status=0
|
||||||
|
+exit
|
||||||
|
diff -Naurp pcp-5.3.7.orig/qa/1697.out pcp-5.3.7/qa/1697.out
|
||||||
|
--- pcp-5.3.7.orig/qa/1697.out 1970-01-01 10:00:00.000000000 +1000
|
||||||
|
+++ pcp-5.3.7/qa/1697.out 2023-07-05 13:43:00.414035625 +1000
|
||||||
|
@@ -0,0 +1,93 @@
|
||||||
|
+QA output created by 1697
|
||||||
|
+Start test Redis server ...
|
||||||
|
+PING
|
||||||
|
+PONG
|
||||||
|
+
|
||||||
|
+pmseries: [Info] processed 5 archive records from PATH/archives/proc
|
||||||
|
+Using series 1440b8b8bfe69465340eb934e9086ae8212f3cff for disk.all.read
|
||||||
|
+Using series 605fc77742cd0317597291329561ac4e50c0dd12 for disk.dev.read
|
||||||
|
+Using series 01d8bc7fa75aaff98a08aa0b1c0f2394368d5183 for kernel.all.uptime
|
||||||
|
+== verify metric descs
|
||||||
|
+[
|
||||||
|
+ {
|
||||||
|
+ "series": "1440b8b8bfe69465340eb934e9086ae8212f3cff",
|
||||||
|
+ "source": "2cd6a38f9339f2dd1f0b4775bda89a9e7244def6",
|
||||||
|
+ "pmid": "60.0.24",
|
||||||
|
+ "indom": "none",
|
||||||
|
+ "semantics": "counter",
|
||||||
|
+ "type": "u64",
|
||||||
|
+ "units": "count"
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ "series": "605fc77742cd0317597291329561ac4e50c0dd12",
|
||||||
|
+ "source": "2cd6a38f9339f2dd1f0b4775bda89a9e7244def6",
|
||||||
|
+ "pmid": "60.0.4",
|
||||||
|
+ "indom": "60.1",
|
||||||
|
+ "semantics": "counter",
|
||||||
|
+ "type": "u32",
|
||||||
|
+ "units": "count"
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ "series": "01d8bc7fa75aaff98a08aa0b1c0f2394368d5183",
|
||||||
|
+ "source": "2cd6a38f9339f2dd1f0b4775bda89a9e7244def6",
|
||||||
|
+ "pmid": "60.26.0",
|
||||||
|
+ "indom": "none",
|
||||||
|
+ "semantics": "instant",
|
||||||
|
+ "type": "u32",
|
||||||
|
+ "units": "sec"
|
||||||
|
+ }
|
||||||
|
+]
|
||||||
|
+== verify metric names
|
||||||
|
+[
|
||||||
|
+ {
|
||||||
|
+ "series": "1440b8b8bfe69465340eb934e9086ae8212f3cff",
|
||||||
|
+ "name": "disk.all.read"
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ "series": "605fc77742cd0317597291329561ac4e50c0dd12",
|
||||||
|
+ "name": "disk.dev.read"
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ "series": "01d8bc7fa75aaff98a08aa0b1c0f2394368d5183",
|
||||||
|
+ "name": "kernel.all.uptime"
|
||||||
|
+ }
|
||||||
|
+]
|
||||||
|
+== verify metric labels
|
||||||
|
+[
|
||||||
|
+ {
|
||||||
|
+ "series": "1440b8b8bfe69465340eb934e9086ae8212f3cff",
|
||||||
|
+ "labels": {
|
||||||
|
+ "hostname": "bozo-laptop"
|
||||||
|
+ }
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ "series": "01d8bc7fa75aaff98a08aa0b1c0f2394368d5183",
|
||||||
|
+ "labels": {
|
||||||
|
+ "hostname": "bozo-laptop"
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+]
|
||||||
|
+== verify metric insts
|
||||||
|
+[
|
||||||
|
+ {
|
||||||
|
+ "series": "605fc77742cd0317597291329561ac4e50c0dd12",
|
||||||
|
+ "source": "2cd6a38f9339f2dd1f0b4775bda89a9e7244def6",
|
||||||
|
+ "instance": "c3795d8b757506a2901c6b08b489ba56cae7f0d4",
|
||||||
|
+ "id": 0,
|
||||||
|
+ "name": "sda"
|
||||||
|
+ }
|
||||||
|
+]
|
||||||
|
+=== valgrind stdout ===
|
||||||
|
+=== valgrind stderr ===
|
||||||
|
+Log for pmproxy on HOST started DATE
|
||||||
|
+
|
||||||
|
+pmproxy: PID = PID
|
||||||
|
+pmproxy request port(s):
|
||||||
|
+ sts fd port family address
|
||||||
|
+ === ==== ===== ====== =======
|
||||||
|
+ok FD unix UNIX_DOMAIN_SOCKET
|
||||||
|
+ok FD PORT inet INADDR_ANY
|
||||||
|
+[DATE] pmproxy(PID) Info: pmproxy caught SIGTERM
|
||||||
|
+[DATE] pmproxy(PID) Info: pmproxy Shutdown
|
||||||
|
+
|
||||||
|
+Log finished DATE
|
||||||
diff -Naurp pcp-5.3.7.orig/qa/common.check pcp-5.3.7/qa/common.check
|
diff -Naurp pcp-5.3.7.orig/qa/common.check pcp-5.3.7/qa/common.check
|
||||||
--- pcp-5.3.7.orig/qa/common.check 2022-04-05 09:05:43.000000000 +1000
|
--- pcp-5.3.7.orig/qa/common.check 2023-07-05 13:42:25.513986223 +1000
|
||||||
+++ pcp-5.3.7/qa/common.check 2023-03-09 11:31:18.809008274 +1100
|
+++ pcp-5.3.7/qa/common.check 2023-07-05 13:42:53.404025702 +1000
|
||||||
@@ -1226,7 +1226,7 @@ _wait_for_pmproxy_metrics()
|
@@ -1226,7 +1226,7 @@ _wait_for_pmproxy_metrics()
|
||||||
{
|
{
|
||||||
_n=0
|
_n=0
|
||||||
@ -595,8 +844,8 @@ diff -Naurp pcp-5.3.7.orig/qa/common.check pcp-5.3.7/qa/common.check
|
|||||||
_n=`expr $_n + 1`
|
_n=`expr $_n + 1`
|
||||||
[ $_n -lt 20 ] && continue
|
[ $_n -lt 20 ] && continue
|
||||||
diff -Naurp pcp-5.3.7.orig/qa/group pcp-5.3.7/qa/group
|
diff -Naurp pcp-5.3.7.orig/qa/group pcp-5.3.7/qa/group
|
||||||
--- pcp-5.3.7.orig/qa/group 2023-03-09 10:07:59.413862563 +1100
|
--- pcp-5.3.7.orig/qa/group 2023-07-05 13:42:25.523986237 +1000
|
||||||
+++ pcp-5.3.7/qa/group 2023-03-09 11:30:01.448770018 +1100
|
+++ pcp-5.3.7/qa/group 2023-07-05 13:43:00.414035625 +1000
|
||||||
@@ -1869,6 +1869,7 @@ x11
|
@@ -1869,6 +1869,7 @@ x11
|
||||||
1601 pmseries pmproxy local
|
1601 pmseries pmproxy local
|
||||||
1602 pmproxy local
|
1602 pmproxy local
|
||||||
@ -605,7 +854,7 @@ diff -Naurp pcp-5.3.7.orig/qa/group pcp-5.3.7/qa/group
|
|||||||
1608 pmproxy local
|
1608 pmproxy local
|
||||||
1613 pmda.linux kernel local
|
1613 pmda.linux kernel local
|
||||||
1622:retired local
|
1622:retired local
|
||||||
@@ -1890,6 +1891,7 @@ x11
|
@@ -1890,10 +1891,12 @@ x11
|
||||||
1688 pmieconf local
|
1688 pmieconf local
|
||||||
1689 pmproxy libpcp_web local
|
1689 pmproxy libpcp_web local
|
||||||
1690 pmseries local
|
1690 pmseries local
|
||||||
@ -613,9 +862,14 @@ diff -Naurp pcp-5.3.7.orig/qa/group pcp-5.3.7/qa/group
|
|||||||
1692 pmda.pmcd local
|
1692 pmda.pmcd local
|
||||||
1694 pidstat local python pcp pmlogextract
|
1694 pidstat local python pcp pmlogextract
|
||||||
1695 pmproxy valgrind local
|
1695 pmproxy valgrind local
|
||||||
|
1696 pmproxy valgrind local
|
||||||
|
+1697 pmproxy valgrind local
|
||||||
|
1700 pmda.bpftrace local python
|
||||||
|
1701 pmda.bpftrace local python
|
||||||
|
1702 pmda.bpftrace local python
|
||||||
diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/load.c pcp-5.3.7/src/libpcp_web/src/load.c
|
diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/load.c pcp-5.3.7/src/libpcp_web/src/load.c
|
||||||
--- pcp-5.3.7.orig/src/libpcp_web/src/load.c 2023-03-09 10:07:59.413862563 +1100
|
--- pcp-5.3.7.orig/src/libpcp_web/src/load.c 2023-07-05 13:42:25.523986237 +1000
|
||||||
+++ pcp-5.3.7/src/libpcp_web/src/load.c 2023-03-09 10:28:34.407315771 +1100
|
+++ pcp-5.3.7/src/libpcp_web/src/load.c 2023-07-05 13:42:53.414025716 +1000
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
- * Copyright (c) 2017-2021 Red Hat.
|
- * Copyright (c) 2017-2021 Red Hat.
|
||||||
@ -889,8 +1143,8 @@ diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/load.c pcp-5.3.7/src/libpcp_web/sr
|
|||||||
|
|
||||||
memset(baton, 0, sizeof(*baton));
|
memset(baton, 0, sizeof(*baton));
|
||||||
diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/query.c pcp-5.3.7/src/libpcp_web/src/query.c
|
diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/query.c pcp-5.3.7/src/libpcp_web/src/query.c
|
||||||
--- pcp-5.3.7.orig/src/libpcp_web/src/query.c 2022-04-05 10:35:25.000000000 +1000
|
--- pcp-5.3.7.orig/src/libpcp_web/src/query.c 2023-07-05 13:42:25.523986237 +1000
|
||||||
+++ pcp-5.3.7/src/libpcp_web/src/query.c 2023-03-09 11:30:01.448770018 +1100
|
+++ pcp-5.3.7/src/libpcp_web/src/query.c 2023-07-05 13:42:53.414025716 +1000
|
||||||
@@ -49,7 +49,7 @@ typedef struct seriesGetLookup {
|
@@ -49,7 +49,7 @@ typedef struct seriesGetLookup {
|
||||||
} seriesGetLookup;
|
} seriesGetLookup;
|
||||||
|
|
||||||
@ -1923,8 +2177,8 @@ diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/query.c pcp-5.3.7/src/libpcp_web/s
|
|||||||
|
|
||||||
int
|
int
|
||||||
diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/schema.h pcp-5.3.7/src/libpcp_web/src/schema.h
|
diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/schema.h pcp-5.3.7/src/libpcp_web/src/schema.h
|
||||||
--- pcp-5.3.7.orig/src/libpcp_web/src/schema.h 2023-03-09 10:07:59.413862563 +1100
|
--- pcp-5.3.7.orig/src/libpcp_web/src/schema.h 2023-07-05 13:42:25.533986251 +1000
|
||||||
+++ pcp-5.3.7/src/libpcp_web/src/schema.h 2023-03-09 10:28:34.407315771 +1100
|
+++ pcp-5.3.7/src/libpcp_web/src/schema.h 2023-07-05 13:42:53.414025716 +1000
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
- * Copyright (c) 2017-2021 Red Hat.
|
- * Copyright (c) 2017-2021 Red Hat.
|
||||||
@ -1951,8 +2205,8 @@ diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/schema.h pcp-5.3.7/src/libpcp_web/
|
|||||||
int error;
|
int error;
|
||||||
void *arg;
|
void *arg;
|
||||||
diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/slots.c pcp-5.3.7/src/libpcp_web/src/slots.c
|
diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/slots.c pcp-5.3.7/src/libpcp_web/src/slots.c
|
||||||
--- pcp-5.3.7.orig/src/libpcp_web/src/slots.c 2022-02-02 11:50:08.000000000 +1100
|
--- pcp-5.3.7.orig/src/libpcp_web/src/slots.c 2023-07-05 13:42:25.533986251 +1000
|
||||||
+++ pcp-5.3.7/src/libpcp_web/src/slots.c 2023-03-09 11:29:18.638638171 +1100
|
+++ pcp-5.3.7/src/libpcp_web/src/slots.c 2023-07-05 13:42:53.414025716 +1000
|
||||||
@@ -633,8 +633,10 @@ redisSlotsProxyConnect(redisSlots *slots
|
@@ -633,8 +633,10 @@ redisSlotsProxyConnect(redisSlots *slots
|
||||||
redisReader *reader = *readerp;
|
redisReader *reader = *readerp;
|
||||||
redisReply *reply = NULL;
|
redisReply *reply = NULL;
|
||||||
@ -2024,8 +2278,8 @@ diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/slots.c pcp-5.3.7/src/libpcp_web/s
|
|||||||
redisReply *errorReply = calloc(1, sizeof(redisReply));
|
redisReply *errorReply = calloc(1, sizeof(redisReply));
|
||||||
errorReply->type = REDIS_REPLY_ERROR;
|
errorReply->type = REDIS_REPLY_ERROR;
|
||||||
diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/timer.c pcp-5.3.7/src/libpcp_web/src/timer.c
|
diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/timer.c pcp-5.3.7/src/libpcp_web/src/timer.c
|
||||||
--- pcp-5.3.7.orig/src/libpcp_web/src/timer.c 2021-09-24 09:33:06.000000000 +1000
|
--- pcp-5.3.7.orig/src/libpcp_web/src/timer.c 2023-07-05 13:42:25.533986251 +1000
|
||||||
+++ pcp-5.3.7/src/libpcp_web/src/timer.c 2023-03-09 11:32:07.949159617 +1100
|
+++ pcp-5.3.7/src/libpcp_web/src/timer.c 2023-07-05 13:42:53.414025716 +1000
|
||||||
@@ -13,6 +13,7 @@
|
@@ -13,6 +13,7 @@
|
||||||
*/
|
*/
|
||||||
#include <sys/resource.h>
|
#include <sys/resource.h>
|
||||||
@ -2132,8 +2386,8 @@ diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/timer.c pcp-5.3.7/src/libpcp_web/s
|
|||||||
/* PID doesn't change, set it once */
|
/* PID doesn't change, set it once */
|
||||||
mmv_set(map, server.metrics[SERVER_PID], &pid);
|
mmv_set(map, server.metrics[SERVER_PID], &pid);
|
||||||
diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/webgroup.c pcp-5.3.7/src/libpcp_web/src/webgroup.c
|
diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/webgroup.c pcp-5.3.7/src/libpcp_web/src/webgroup.c
|
||||||
--- pcp-5.3.7.orig/src/libpcp_web/src/webgroup.c 2023-03-08 18:43:26.232977376 +1100
|
--- pcp-5.3.7.orig/src/libpcp_web/src/webgroup.c 2023-07-05 13:42:25.533986251 +1000
|
||||||
+++ pcp-5.3.7/src/libpcp_web/src/webgroup.c 2023-03-09 11:31:18.809008274 +1100
|
+++ pcp-5.3.7/src/libpcp_web/src/webgroup.c 2023-07-05 13:42:53.414025716 +1000
|
||||||
@@ -44,10 +44,8 @@ enum matches { MATCH_EXACT, MATCH_GLOB,
|
@@ -44,10 +44,8 @@ enum matches { MATCH_EXACT, MATCH_GLOB,
|
||||||
enum profile { PROFILE_ADD, PROFILE_DEL };
|
enum profile { PROFILE_ADD, PROFILE_DEL };
|
||||||
|
|
||||||
@ -2258,9 +2512,32 @@ diff -Naurp pcp-5.3.7.orig/src/libpcp_web/src/webgroup.c pcp-5.3.7/src/libpcp_we
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
diff -Naurp pcp-5.3.7.orig/src/pmproxy/src/http.c pcp-5.3.7/src/pmproxy/src/http.c
|
||||||
|
--- pcp-5.3.7.orig/src/pmproxy/src/http.c 2022-04-05 09:05:43.000000000 +1000
|
||||||
|
+++ pcp-5.3.7/src/pmproxy/src/http.c 2023-07-05 13:43:00.414035625 +1000
|
||||||
|
@@ -581,7 +581,7 @@ http_add_parameter(dict *parameters,
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
-static int
|
||||||
|
+int
|
||||||
|
http_parameters(const char *url, size_t length, dict **parameters)
|
||||||
|
{
|
||||||
|
const char *end = url + length;
|
||||||
|
diff -Naurp pcp-5.3.7.orig/src/pmproxy/src/http.h pcp-5.3.7/src/pmproxy/src/http.h
|
||||||
|
--- pcp-5.3.7.orig/src/pmproxy/src/http.h 2022-04-05 09:05:43.000000000 +1000
|
||||||
|
+++ pcp-5.3.7/src/pmproxy/src/http.h 2023-07-05 13:43:00.414035625 +1000
|
||||||
|
@@ -64,6 +64,7 @@ extern void http_transfer(struct client
|
||||||
|
extern void http_reply(struct client *, sds, http_code_t, http_flags_t, http_options_t);
|
||||||
|
extern void http_error(struct client *, http_code_t, const char *);
|
||||||
|
|
||||||
|
+extern int http_parameters(const char *, size_t, dict **);
|
||||||
|
extern int http_decode(const char *, size_t, sds);
|
||||||
|
extern const char *http_status_mapping(http_code_t);
|
||||||
|
extern const char *http_content_type(http_flags_t);
|
||||||
diff -Naurp pcp-5.3.7.orig/src/pmproxy/src/search.c pcp-5.3.7/src/pmproxy/src/search.c
|
diff -Naurp pcp-5.3.7.orig/src/pmproxy/src/search.c pcp-5.3.7/src/pmproxy/src/search.c
|
||||||
--- pcp-5.3.7.orig/src/pmproxy/src/search.c 2021-09-24 09:33:06.000000000 +1000
|
--- pcp-5.3.7.orig/src/pmproxy/src/search.c 2023-07-05 13:42:25.533986251 +1000
|
||||||
+++ pcp-5.3.7/src/pmproxy/src/search.c 2023-03-09 11:33:09.619349551 +1100
|
+++ pcp-5.3.7/src/pmproxy/src/search.c 2023-07-05 13:42:53.414025716 +1000
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
- * Copyright (c) 2020 Red Hat.
|
- * Copyright (c) 2020 Red Hat.
|
||||||
@ -2289,8 +2566,8 @@ diff -Naurp pcp-5.3.7.orig/src/pmproxy/src/search.c pcp-5.3.7/src/pmproxy/src/se
|
|||||||
on_pmsearch_done(-EINVAL, baton);
|
on_pmsearch_done(-EINVAL, baton);
|
||||||
return 1;
|
return 1;
|
||||||
diff -Naurp pcp-5.3.7.orig/src/pmproxy/src/series.c pcp-5.3.7/src/pmproxy/src/series.c
|
diff -Naurp pcp-5.3.7.orig/src/pmproxy/src/series.c pcp-5.3.7/src/pmproxy/src/series.c
|
||||||
--- pcp-5.3.7.orig/src/pmproxy/src/series.c 2022-04-05 09:05:43.000000000 +1000
|
--- pcp-5.3.7.orig/src/pmproxy/src/series.c 2023-07-05 13:42:25.533986251 +1000
|
||||||
+++ pcp-5.3.7/src/pmproxy/src/series.c 2023-03-09 11:33:09.619349551 +1100
|
+++ pcp-5.3.7/src/pmproxy/src/series.c 2023-07-05 13:43:00.414035625 +1000
|
||||||
@@ -1,5 +1,5 @@
|
@@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
- * Copyright (c) 2019-2020 Red Hat.
|
- * Copyright (c) 2019-2020 Red Hat.
|
||||||
@ -2298,7 +2575,15 @@ diff -Naurp pcp-5.3.7.orig/src/pmproxy/src/series.c pcp-5.3.7/src/pmproxy/src/se
|
|||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
* This program is free software; you can redistribute it and/or modify it
|
||||||
* under the terms of the GNU Lesser General Public License as published
|
* under the terms of the GNU Lesser General Public License as published
|
||||||
@@ -592,6 +592,9 @@ on_pmseries_done(int status, void *arg)
|
@@ -12,6 +12,7 @@
|
||||||
|
* License for more details.
|
||||||
|
*/
|
||||||
|
#include "server.h"
|
||||||
|
+#include "util.h"
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
|
typedef enum pmSeriesRestKey {
|
||||||
|
@@ -592,6 +593,9 @@ on_pmseries_done(int status, void *arg)
|
||||||
flags |= HTTP_FLAG_JSON;
|
flags |= HTTP_FLAG_JSON;
|
||||||
}
|
}
|
||||||
http_reply(client, msg, code, flags, options);
|
http_reply(client, msg, code, flags, options);
|
||||||
@ -2308,7 +2593,43 @@ diff -Naurp pcp-5.3.7.orig/src/pmproxy/src/series.c pcp-5.3.7/src/pmproxy/src/se
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@@ -890,10 +893,16 @@ pmseries_request_load(struct client *cli
|
@@ -824,30 +828,26 @@ static int
|
||||||
|
pmseries_request_body(struct client *client, const char *content, size_t length)
|
||||||
|
{
|
||||||
|
pmSeriesBaton *baton = (pmSeriesBaton *)client->u.http.data;
|
||||||
|
- sds series;
|
||||||
|
|
||||||
|
if (pmDebugOptions.http)
|
||||||
|
fprintf(stderr, "series servlet body (client=%p)\n", client);
|
||||||
|
|
||||||
|
- if (client->u.http.parser.method != HTTP_POST)
|
||||||
|
+ if (client->u.http.parser.method != HTTP_POST || client->u.http.parameters != NULL)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
switch (baton->restkey) {
|
||||||
|
case RESTKEY_LOAD:
|
||||||
|
case RESTKEY_QUERY:
|
||||||
|
- sdsfree(baton->query);
|
||||||
|
- baton->query = sdsnewlen(content, length);
|
||||||
|
- break;
|
||||||
|
-
|
||||||
|
case RESTKEY_DESC:
|
||||||
|
case RESTKEY_INSTS:
|
||||||
|
case RESTKEY_LABELS:
|
||||||
|
case RESTKEY_METRIC:
|
||||||
|
case RESTKEY_SOURCE:
|
||||||
|
case RESTKEY_VALUES:
|
||||||
|
- series = sdsnewlen(content, length);
|
||||||
|
- baton->sids = sdssplitlen(series, length, "\n", 1, &baton->nsids);
|
||||||
|
- sdsfree(series);
|
||||||
|
+ /* parse URL encoded parameters in the request body */
|
||||||
|
+ /* in the same way as the URL query string */
|
||||||
|
+ http_parameters(content, length, &client->u.http.parameters);
|
||||||
|
+ pmseries_setup_request_parameters(client, baton, client->u.http.parameters);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
@@ -890,10 +890,16 @@ pmseries_request_load(struct client *cli
|
||||||
message = sdsnewlen(failed, sizeof(failed) - 1);
|
message = sdsnewlen(failed, sizeof(failed) - 1);
|
||||||
http_reply(client, message, HTTP_STATUS_BAD_REQUEST,
|
http_reply(client, message, HTTP_STATUS_BAD_REQUEST,
|
||||||
HTTP_FLAG_JSON, baton->options);
|
HTTP_FLAG_JSON, baton->options);
|
||||||
@ -2325,7 +2646,7 @@ diff -Naurp pcp-5.3.7.orig/src/pmproxy/src/series.c pcp-5.3.7/src/pmproxy/src/se
|
|||||||
} else {
|
} else {
|
||||||
baton->loading.data = baton;
|
baton->loading.data = baton;
|
||||||
uv_queue_work(client->proxy->events, &baton->loading,
|
uv_queue_work(client->proxy->events, &baton->loading,
|
||||||
@@ -907,6 +916,9 @@ pmseries_request_done(struct client *cli
|
@@ -907,6 +913,9 @@ pmseries_request_done(struct client *cli
|
||||||
pmSeriesBaton *baton = (pmSeriesBaton *)client->u.http.data;
|
pmSeriesBaton *baton = (pmSeriesBaton *)client->u.http.data;
|
||||||
int sts;
|
int sts;
|
||||||
|
|
||||||
@ -2336,8 +2657,8 @@ diff -Naurp pcp-5.3.7.orig/src/pmproxy/src/series.c pcp-5.3.7/src/pmproxy/src/se
|
|||||||
on_pmseries_done(-EINVAL, baton);
|
on_pmseries_done(-EINVAL, baton);
|
||||||
return 1;
|
return 1;
|
||||||
diff -Naurp pcp-5.3.7.orig/src/pmproxy/src/server.c pcp-5.3.7/src/pmproxy/src/server.c
|
diff -Naurp pcp-5.3.7.orig/src/pmproxy/src/server.c pcp-5.3.7/src/pmproxy/src/server.c
|
||||||
--- pcp-5.3.7.orig/src/pmproxy/src/server.c 2023-03-08 18:43:26.232977376 +1100
|
--- pcp-5.3.7.orig/src/pmproxy/src/server.c 2023-07-05 13:42:25.533986251 +1000
|
||||||
+++ pcp-5.3.7/src/pmproxy/src/server.c 2023-03-09 11:33:09.619349551 +1100
|
+++ pcp-5.3.7/src/pmproxy/src/server.c 2023-07-05 13:42:53.424025730 +1000
|
||||||
@@ -180,7 +180,9 @@ signal_init(struct proxy *proxy)
|
@@ -180,7 +180,9 @@ signal_init(struct proxy *proxy)
|
||||||
{
|
{
|
||||||
uv_loop_t *loop = proxy->events;
|
uv_loop_t *loop = proxy->events;
|
||||||
|
94
redhat-bugzilla-2211263-pmcd-conf-rewrite.patch
Normal file
94
redhat-bugzilla-2211263-pmcd-conf-rewrite.patch
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
diff -Naurp pcp-5.3.7.orig/src/pmdas/bcc/Upgrade pcp-5.3.7/src/pmdas/bcc/Upgrade
|
||||||
|
--- pcp-5.3.7.orig/src/pmdas/bcc/Upgrade 2021-08-16 14:12:25.000000000 +1000
|
||||||
|
+++ pcp-5.3.7/src/pmdas/bcc/Upgrade 2023-07-10 16:25:31.904767032 +1000
|
||||||
|
@@ -26,8 +26,11 @@ then
|
||||||
|
else
|
||||||
|
sed -i -e "s,^\(bcc.*binary\),\1 notready,g" $PCP_PMCDCONF_PATH
|
||||||
|
fi
|
||||||
|
- sed -i \
|
||||||
|
- -e "s,python $PCP_PMDAS_DIR/bcc/,$PCP_PYTHON_PROG $PCP_PMDAS_DIR/bcc/,g" \
|
||||||
|
- $PCP_PMCDCONF_PATH 2>/dev/null
|
||||||
|
+ if grep -q '^bcc.*python ' "$PCP_PMCDCONF_PATH" 2>/dev/null
|
||||||
|
+ then
|
||||||
|
+ sed -i \
|
||||||
|
+ -e "s,python $PCP_PMDAS_DIR/bcc/,$PCP_PYTHON_PROG $PCP_PMDAS_DIR/bcc/,g" \
|
||||||
|
+ $PCP_PMCDCONF_PATH 2>/dev/null
|
||||||
|
+ fi
|
||||||
|
fi
|
||||||
|
exit 0
|
||||||
|
diff -Naurp pcp-5.3.7.orig/src/pmdas/kvm/Upgrade pcp-5.3.7/src/pmdas/kvm/Upgrade
|
||||||
|
--- pcp-5.3.7.orig/src/pmdas/kvm/Upgrade 2019-02-06 17:16:29.000000000 +1100
|
||||||
|
+++ pcp-5.3.7/src/pmdas/kvm/Upgrade 2023-07-10 16:25:31.904767032 +1000
|
||||||
|
@@ -17,7 +17,7 @@
|
||||||
|
|
||||||
|
. $PCP_DIR/etc/pcp.env
|
||||||
|
|
||||||
|
-if grep -q ^kvm "$PCP_PMCDCONF_PATH" 2>/dev/null
|
||||||
|
+if grep -q '^kvm.*perl.*' "$PCP_PMCDCONF_PATH" 2>/dev/null
|
||||||
|
then
|
||||||
|
sed -i -e "s,perl $PCP_PMDAS_DIR/kvm/pmdakvm.pl,$PCP_PMDAS_DIR/kvm/pmdakvm -d 95,g" $PCP_PMCDCONF_PATH 2>/dev/null
|
||||||
|
fi
|
||||||
|
diff -Naurp pcp-5.3.7.orig/src/pmdas/mssql/Upgrade pcp-5.3.7/src/pmdas/mssql/Upgrade
|
||||||
|
--- pcp-5.3.7.orig/src/pmdas/mssql/Upgrade 2021-08-16 14:12:25.000000000 +1000
|
||||||
|
+++ pcp-5.3.7/src/pmdas/mssql/Upgrade 2023-07-10 16:25:31.904767032 +1000
|
||||||
|
@@ -17,14 +17,20 @@
|
||||||
|
|
||||||
|
. $PCP_DIR/etc/pcp.env
|
||||||
|
|
||||||
|
-if grep -q ^mssql "$PCP_PMCDCONF_PATH" 2>/dev/null
|
||||||
|
+if grep -q '^mssql.*perl ' "$PCP_PMCDCONF_PATH" 2>/dev/null
|
||||||
|
then
|
||||||
|
sed -i \
|
||||||
|
- -e "s,python $PCP_PMDAS_DIR/mssql/,$PCP_PYTHON_PROG $PCP_PMDAS_DIR/mssql/,g" \
|
||||||
|
-e "s,perl $PCP_PMDAS_DIR/mssql/pmdamssql.pl,$PCP_PYTHON_PROG $PCP_PMDAS_DIR/mssql/pmdamssql.python,g" \
|
||||||
|
$PCP_PMCDCONF_PATH 2>/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
+if grep -q '^mssql.*python ' "$PCP_PMCDCONF_PATH" 2>/dev/null
|
||||||
|
+then
|
||||||
|
+ sed -i \
|
||||||
|
+ -e "s,python $PCP_PMDAS_DIR/mssql/,$PCP_PYTHON_PROG $PCP_PMDAS_DIR/mssql/,g" \
|
||||||
|
+ $PCP_PMCDCONF_PATH 2>/dev/null
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
perlpath=`which $PCP_PERL_PROG`
|
||||||
|
original="$PCP_PMDAS_DIR/mssql/mssql.conf"
|
||||||
|
upgraded="$PCP_PMDAS_DIR/mssql/mssql.conf.tmp"
|
||||||
|
diff -Naurp pcp-5.3.7.orig/src/pmdas/openmetrics/Upgrade pcp-5.3.7/src/pmdas/openmetrics/Upgrade
|
||||||
|
--- pcp-5.3.7.orig/src/pmdas/openmetrics/Upgrade 2021-08-16 14:12:25.000000000 +1000
|
||||||
|
+++ pcp-5.3.7/src/pmdas/openmetrics/Upgrade 2023-07-10 16:25:31.904767032 +1000
|
||||||
|
@@ -36,7 +36,7 @@ then
|
||||||
|
rm -f "$PCP_VAR_DIR/pmns/prometheus" 2>/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
-if grep -q ^openmetrics "$PCP_PMCDCONF_PATH" 2>/dev/null
|
||||||
|
+if grep -q '^openmetrics.*python ' "$PCP_PMCDCONF_PATH" 2>/dev/null
|
||||||
|
then
|
||||||
|
sed -i -e "s,python $PCP_PMDAS_DIR/openmetrics/,$PCP_PYTHON_PROG $PCP_PMDAS_DIR/openmetrics/,g" $PCP_PMCDCONF_PATH 2>/dev/null
|
||||||
|
fi
|
||||||
|
diff -Naurp pcp-5.3.7.orig/src/pmdas/postgresql/Upgrade pcp-5.3.7/src/pmdas/postgresql/Upgrade
|
||||||
|
--- pcp-5.3.7.orig/src/pmdas/postgresql/Upgrade 2021-08-16 14:12:25.000000000 +1000
|
||||||
|
+++ pcp-5.3.7/src/pmdas/postgresql/Upgrade 2023-07-10 16:25:31.914767070 +1000
|
||||||
|
@@ -17,14 +17,20 @@
|
||||||
|
|
||||||
|
. $PCP_DIR/etc/pcp.env
|
||||||
|
|
||||||
|
-if grep -q ^postgresql "$PCP_PMCDCONF_PATH" 2>/dev/null
|
||||||
|
+if grep -q '^postgresql.*perl ' "$PCP_PMCDCONF_PATH" 2>/dev/null
|
||||||
|
then
|
||||||
|
sed -i \
|
||||||
|
- -e "s,python $PCP_PMDAS_DIR/postgresql/,$PCP_PYTHON_PROG $PCP_PMDAS_DIR/postgresql/,g" \
|
||||||
|
-e "s,perl $PCP_PMDAS_DIR/postgresql/pmdapostgresql.pl,$PCP_PYTHON_PROG $PCP_PMDAS_DIR/postgresql/pmdapostgresql.python,g" \
|
||||||
|
$PCP_PMCDCONF_PATH 2>/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
|
+if grep -q '^postgresql.*python ' "$PCP_PMCDCONF_PATH" 2>/dev/null
|
||||||
|
+then
|
||||||
|
+ sed -i \
|
||||||
|
+ -e "s,python $PCP_PMDAS_DIR/postgresql/,$PCP_PYTHON_PROG $PCP_PMDAS_DIR/postgresql/,g" \
|
||||||
|
+ $PCP_PMCDCONF_PATH 2>/dev/null
|
||||||
|
+fi
|
||||||
|
+
|
||||||
|
perlpath=`which $PCP_PERL_PROG`
|
||||||
|
original="$PCP_PMDAS_DIR/postgresql/postgresql.conf"
|
||||||
|
upgraded="$PCP_PMDAS_DIR/postgresql/pmdapostgresql.conf"
|
729
redhat-bugzilla-2219731-hacluster-metrics.patch
Normal file
729
redhat-bugzilla-2219731-hacluster-metrics.patch
Normal file
@ -0,0 +1,729 @@
|
|||||||
|
diff -Naurp pcp-5.3.7.orig/qa/1897.out pcp-5.3.7/qa/1897.out
|
||||||
|
--- pcp-5.3.7.orig/qa/1897.out 2021-09-30 12:56:49.000000000 +1000
|
||||||
|
+++ pcp-5.3.7/qa/1897.out 2023-07-05 14:08:48.576224340 +1000
|
||||||
|
@@ -376,12 +376,12 @@ is given as label metadata values for th
|
||||||
|
inst [2 or "node-2:test_clone_state"] value 1
|
||||||
|
inst [3 or "node-2:test_site"] value 1
|
||||||
|
|
||||||
|
-ha_cluster.pacemaker.nodes.status.dc PMID: 155.3.8 [Whether the node status is given as disconnected]
|
||||||
|
+ha_cluster.pacemaker.nodes.status.dc PMID: 155.3.8 [Whether the node status is given as the DC]
|
||||||
|
Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
|
||||||
|
Semantics: instant Units: count
|
||||||
|
Help:
|
||||||
|
-Whether the disconnected status is reported by the node in the cluster, a
|
||||||
|
-value of 1 confirms the node status as disconnected.
|
||||||
|
+Whether the DC status is reported by the node in the cluster, a
|
||||||
|
+value of 1 confirms the node status as the designated coordinator.
|
||||||
|
inst [0 or "node-1"] value 0
|
||||||
|
inst [1 or "node-2"] value 1
|
||||||
|
|
||||||
|
@@ -680,6 +680,632 @@ ha_cluster.drbd.split_brain
|
||||||
|
=== std err ===
|
||||||
|
=== filtered valgrind report ===
|
||||||
|
Memcheck, a memory error detector
|
||||||
|
+Command: pminfo -L -K clear -K add,155,PCP_PMDAS_DIR/hacluster/pmda_hacluster.so,hacluster_init -f ha_cluster.pacemaker.config_last_change ha_cluster.corosync.quorate ha_cluster.sbd.devices.path ha_cluster.drbd.split_brain
|
||||||
|
+LEAK SUMMARY:
|
||||||
|
+definitely lost: 0 bytes in 0 blocks
|
||||||
|
+indirectly lost: 0 bytes in 0 blocks
|
||||||
|
+ERROR SUMMARY: 0 errors from 0 contexts ...
|
||||||
|
+
|
||||||
|
+== done
|
||||||
|
+
|
||||||
|
+== Checking metric descriptors and values - hacluster-root-002.tgz
|
||||||
|
+
|
||||||
|
+ha_cluster.corosync.member_votes.local PMID: 155.6.1 [Votes that are local to this node]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.5 0x26c00005
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The quorum votes which are local to this node in the cluster.
|
||||||
|
+ inst [0 or "rhel9-node1"] value 1
|
||||||
|
+ inst [1 or "rhel9-node2"] value 0
|
||||||
|
+
|
||||||
|
+ha_cluster.corosync.member_votes.node_id PMID: 155.6.2 [Node ID]
|
||||||
|
+ Data Type: 64-bit unsigned int InDom: 155.5 0x26c00005
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The full corosync ID for the nodes in the cluster.
|
||||||
|
+ inst [0 or "rhel9-node1"] value 1
|
||||||
|
+ inst [1 or "rhel9-node2"] value 2
|
||||||
|
+
|
||||||
|
+ha_cluster.corosync.member_votes.votes PMID: 155.6.0 [Quorum votes per node]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.5 0x26c00005
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The number of quorum votes allocated to each node in the cluster.
|
||||||
|
+ inst [0 or "rhel9-node1"] value 1
|
||||||
|
+ inst [1 or "rhel9-node2"] value 1
|
||||||
|
+
|
||||||
|
+ha_cluster.corosync.quorate PMID: 155.7.0 [Value given for quorate]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The value represents whether or not the cluster is quorate.
|
||||||
|
+ value 1
|
||||||
|
+
|
||||||
|
+ha_cluster.corosync.quorum_votes.expected_votes PMID: 155.7.1 [Expected vote count]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The number of expected quorum votes for the cluster.
|
||||||
|
+ value 2
|
||||||
|
+
|
||||||
|
+ha_cluster.corosync.quorum_votes.highest_expected PMID: 155.7.2 [Highest expected vote count]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The highest number of expected quorum votes for the cluster.
|
||||||
|
+ value 2
|
||||||
|
+
|
||||||
|
+ha_cluster.corosync.quorum_votes.quorum PMID: 155.7.4 [Whether cluster is quorate]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The value reported for the quorate for the cluster.
|
||||||
|
+ value 1
|
||||||
|
+
|
||||||
|
+ha_cluster.corosync.quorum_votes.total_votes PMID: 155.7.3 [Total number of votes]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The total number of quorum votes for the cluster.
|
||||||
|
+ value 2
|
||||||
|
+
|
||||||
|
+ha_cluster.corosync.ring_errors PMID: 155.7.5 [Number of faulty rings]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The total number of Corosync rings which are faulty.
|
||||||
|
+ value 0
|
||||||
|
+
|
||||||
|
+ha_cluster.corosync.rings.address PMID: 155.8.1 [IP Address for ring]
|
||||||
|
+ Data Type: string InDom: 155.6 0x26c00006
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The IP address locally linked to this ring.
|
||||||
|
+ inst [0 or "0"] value "192.168.122.148"
|
||||||
|
+
|
||||||
|
+ha_cluster.corosync.rings.all PMID: 155.15.0 [Corosync rings information]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.13 0x26c0000d
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Value is 1 if a ring exists. The details of the corresponding ring
|
||||||
|
+is given as label metadata values for this metric.
|
||||||
|
+ inst [0 or "0"] value 1
|
||||||
|
+
|
||||||
|
+ha_cluster.corosync.rings.node_id PMID: 155.8.2 [ID of the local node]
|
||||||
|
+ Data Type: 64-bit unsigned int InDom: 155.6 0x26c00006
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The internal Corosync node ID to the node matched to the ring.
|
||||||
|
+ inst [0 or "0"] value 1
|
||||||
|
+
|
||||||
|
+ha_cluster.corosync.rings.number PMID: 155.8.3 [Ring number]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.6 0x26c00006
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The number for the Corosync ring.
|
||||||
|
+ inst [0 or "0"] value 0
|
||||||
|
+
|
||||||
|
+ha_cluster.corosync.rings.ring_id PMID: 155.8.4 [Ring ID]
|
||||||
|
+ Data Type: string InDom: 155.6 0x26c00006
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The internal Corosync ring ID, corresponds to the first node to join.
|
||||||
|
+ inst [0 or "0"] value "1.9"
|
||||||
|
+
|
||||||
|
+ha_cluster.corosync.rings.status PMID: 155.8.0 [Corosync ring status]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.6 0x26c00006
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The status for each Corosync ring in the cluster, a value of 1 is faulty and
|
||||||
|
+0 is healthy.
|
||||||
|
+ inst [0 or "0"] value 0
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.al_writes PMID: 155.10.6 [Writes to the activity log]
|
||||||
|
+ Data Type: 64-bit unsigned int InDom: 155.8 0x26c00008
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Amount of writes to the activity log area of metadata by the DRBD
|
||||||
|
+resource:volume.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.bm_writes PMID: 155.10.7 [Writes to bitmap area]
|
||||||
|
+ Data Type: 64-bit unsigned int InDom: 155.8 0x26c00008
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Amount of writes to the bitmap area of metadata by the DRBD resource:volume.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.connections.all PMID: 155.18.0 [DRBD Peer disk information]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.16 0x26c00010
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Value is 1 if a drbd peer connection exists. The details of the corresponding DRBD peer
|
||||||
|
+connection is given as label metadata values for this metric.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.connections.peer_disk_state PMID: 155.11.4 [Peer disk state]
|
||||||
|
+ Data Type: string InDom: 155.9 0x26c00009
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The reported peer disk state for the connection.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.connections.peer_node_id PMID: 155.11.1 [The ID the connection is for]
|
||||||
|
+ Data Type: string InDom: 155.9 0x26c00009
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The given peer node ID for which the connection is for.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.connections.peer_role PMID: 155.11.2 [Role of the connection]
|
||||||
|
+ Data Type: string InDom: 155.9 0x26c00009
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The reported role type for the connection.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.connections.resource PMID: 155.11.0 [Resource that the connection is for]
|
||||||
|
+ Data Type: string InDom: 155.9 0x26c00009
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The given resource that the DRBD connection is for each resource:volume.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.connections.volume PMID: 155.11.3 [Volume number]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.9 0x26c00009
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The reported volume for the connection.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.connections_pending PMID: 155.11.8 [Number of connections pending]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.9 0x26c00009
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The number of requests sent which have not yet been received by DRBD for the
|
||||||
|
+resource:volume.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.connections_received PMID: 155.11.6 [Volume of data received]
|
||||||
|
+ Data Type: 64-bit unsigned int InDom: 155.9 0x26c00009
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The volume of data received via the network connection in KiB by DRBD for the
|
||||||
|
+resource:volume.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.connections_sent PMID: 155.11.7 [Volume of data sent]
|
||||||
|
+ Data Type: 64-bit unsigned int InDom: 155.9 0x26c00009
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The volume of data sent via the network connection in KiB by DRBD for the
|
||||||
|
+resource:volume.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.connections_sync PMID: 155.11.5 [Connections in sync]
|
||||||
|
+ Data Type: float InDom: 155.9 0x26c00009
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The number of DRBD connections in sync for each resource:volume, this value is
|
||||||
|
+between 0 to 100.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.connections_unacked PMID: 155.11.9 [Number of connection not acknowledged]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.9 0x26c00009
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The number of requests sent which have not yet been acknowledged by DRBD for
|
||||||
|
+the resource:volume.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.lower_pending PMID: 155.10.9 [Number of open requests]
|
||||||
|
+ Data Type: 64-bit unsigned int InDom: 155.8 0x26c00008
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The number of open requests to the local I/O subsystem by DRBD for the
|
||||||
|
+resource:volume.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.quorum PMID: 155.10.10 [Quorum status of DRBD resource:volume]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.8 0x26c00008
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The Quorum status of the DRBD resource according to resource:volume, 1 is
|
||||||
|
+quorate and 0 is non-quorate.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.read PMID: 155.10.5 [Amount read by DRBD resource]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.8 0x26c00008
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Amount in KiB read by the DRBD resource:volume.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.resources.all PMID: 155.17.0 [DRBD resource information]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.15 0x26c0000f
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Value is 1 if a drbd resource exists. The details of the corresponding drbd resource
|
||||||
|
+is given as label metadata values for this metric.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.resources.disk_state PMID: 155.10.3 [Disk state]
|
||||||
|
+ Data Type: string InDom: 155.8 0x26c00008
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The current reported disk state of for the resource:volume.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.resources.resource PMID: 155.10.0 [Name of the resource]
|
||||||
|
+ Data Type: string InDom: 155.8 0x26c00008
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The name given for the DRBD resource for each resource:volume.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.resources.role PMID: 155.10.1 [Role of the resource]
|
||||||
|
+ Data Type: string InDom: 155.8 0x26c00008
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The reported role for the DRBD resource for each resource:volume.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.resources.volume PMID: 155.10.2 [Volume of the resource]
|
||||||
|
+ Data Type: string InDom: 155.8 0x26c00008
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The volume number of the resource for each resource:volume.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.split_brain PMID: 155.10.11 [Signal for split brain detection.]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.8 0x26c00008
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+This metric signals if there has been a split brain occurring in DRBD for the
|
||||||
|
+resource:volume, value is 1 is a split brain has been detected.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.upper_pending PMID: 155.10.8 [Block I/O requests pending]
|
||||||
|
+ Data Type: 64-bit unsigned int InDom: 155.8 0x26c00008
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The number of the block I/O requests forwarded but not yet answered by DRBD
|
||||||
|
+for the resource:volume.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.written PMID: 155.10.4 [Amount written to DRBD resource]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.8 0x26c00008
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Amount in KiB written to the DRBD resource:volume.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.config_last_change PMID: 155.0.0 [Unix timestamp corresponding to last Pacemaker configuration change]
|
||||||
|
+ Data Type: 64-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Unix timestamp in seconds corresponding to the last time that the Pacemaker
|
||||||
|
+configuration was changed on the system.
|
||||||
|
+ value 1687428694
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.fail_count PMID: 155.1.0 [The number of fail count recorded]
|
||||||
|
+ Data Type: 64-bit unsigned int InDom: 155.0 0x26c00000
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The number of fail count per node and resource ID, the actual maximum value
|
||||||
|
+depends on Pacemaker internals.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.location_constraints.all PMID: 155.12.0 [Location constraint information]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.10 0x26c0000a
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Value is 1 if a location constraint exists. The details of the location constraint
|
||||||
|
+is given as label metadata values for this metric.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.location_constraints.node PMID: 155.2.0 [Node of the location constraint]
|
||||||
|
+ Data Type: string InDom: 155.1 0x26c00001
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The node that the location constraint applies to in the cluster.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.location_constraints.resource PMID: 155.2.1 [Resource of the location constraint]
|
||||||
|
+ Data Type: string InDom: 155.1 0x26c00001
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The resource that the location constraint applies to in the cluster.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.location_constraints.role PMID: 155.2.2 [Resource role of the location constraint]
|
||||||
|
+ Data Type: string InDom: 155.1 0x26c00001
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The resource role that the location constraint applies to, if any.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.location_constraints.score PMID: 155.2.3 [Score of the location constraint]
|
||||||
|
+ Data Type: string InDom: 155.1 0x26c00001
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The score given to the location constraint by Pacemaker, the value depends on
|
||||||
|
+Pacemaker internals.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.migration_threshold PMID: 155.1.1 [Migration threshold per node and resource ID]
|
||||||
|
+ Data Type: 64-bit unsigned int InDom: 155.0 0x26c00000
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The value for the migration threshold per node and resource ID set by the
|
||||||
|
+Pacemaker cluster.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.node_attributes PMID: 155.4.0 [Metadata used by Resource Agents]
|
||||||
|
+ Data Type: string InDom: 155.3 0x26c00003
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The raw values for the cluster metadata attributes and their value per node as
|
||||||
|
+used by the Resource Agents.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.node_attributes_all PMID: 155.13.0 [Metadata information]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.11 0x26c0000b
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Value is 1 if a node metadata exists. The details of the node metadata
|
||||||
|
+is given as label metadata values for this metric.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.nodes.status.dc PMID: 155.3.8 [Whether the node status is given as the DC]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Whether the DC status is reported by the node in the cluster, a
|
||||||
|
+value of 1 confirms the node status as the designated coordinator.
|
||||||
|
+ inst [0 or "rhel9-node1"] value 0
|
||||||
|
+ inst [1 or "rhel9-node2"] value 1
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.nodes.status.expected_up PMID: 155.3.7 [Whether the node status is given as expected_up]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Whether the expected_up status is reported by the node in the cluster, a
|
||||||
|
+value of 1 confirms the node status as expected_up.
|
||||||
|
+ inst [0 or "rhel9-node1"] value 1
|
||||||
|
+ inst [1 or "rhel9-node2"] value 1
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.nodes.status.maintenance PMID: 155.3.3 [Whether the node status is given as maintenance]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Whether the maintenance status is reported by the node in the cluster, a
|
||||||
|
+value of 1 confirms the node status as online.
|
||||||
|
+ inst [0 or "rhel9-node1"] value 0
|
||||||
|
+ inst [1 or "rhel9-node2"] value 0
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.nodes.status.online PMID: 155.3.0 [Whether the node status is given as online]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Whether the online status is reported by the node in the cluster, a value of
|
||||||
|
+1 confirms the node status as online.
|
||||||
|
+ inst [0 or "rhel9-node1"] value 1
|
||||||
|
+ inst [1 or "rhel9-node2"] value 1
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.nodes.status.pending PMID: 155.3.4 [Whether the node status is given as pending]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Whether the pending status is reported by the node in the cluster, a value of
|
||||||
|
+1 confirms the node status as pending.
|
||||||
|
+ inst [0 or "rhel9-node1"] value 0
|
||||||
|
+ inst [1 or "rhel9-node2"] value 0
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.nodes.status.shutdown PMID: 155.3.6 [Whether the node status is given as shutdown]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Whether the shutdown status is reported by the node in the cluster, a value
|
||||||
|
+of 1 confirms the node status as shutdown.
|
||||||
|
+ inst [0 or "rhel9-node1"] value 0
|
||||||
|
+ inst [1 or "rhel9-node2"] value 0
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.nodes.status.standby PMID: 155.3.1 [Whether the node status is given as standby]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Whether the standby status is reported by the node in the cluster, a value of
|
||||||
|
+1 confirms the node status as standby.
|
||||||
|
+ inst [0 or "rhel9-node1"] value 0
|
||||||
|
+ inst [1 or "rhel9-node2"] value 0
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.nodes.status.standby_on_fail PMID: 155.3.2 [Whether the node status is given as standby_on_fail]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Whether the standby_on_fail status is reported by the node in the cluster,
|
||||||
|
+a value of 1 confirms the node status as standby_on_fail.
|
||||||
|
+ inst [0 or "rhel9-node1"] value 0
|
||||||
|
+ inst [1 or "rhel9-node2"] value 0
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.nodes.status.unclean PMID: 155.3.5 [Whether the node status is given as unclean]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.2 0x26c00002
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Whether the unclean status is reported by the node in the cluster, a value of
|
||||||
|
+1 confirms the node status as unclean.
|
||||||
|
+ inst [0 or "rhel9-node1"] value 0
|
||||||
|
+ inst [1 or "rhel9-node2"] value 0
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.nodes.type PMID: 155.3.9 [The type given to the node]
|
||||||
|
+ Data Type: string InDom: 155.2 0x26c00002
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The membership type given to the node in the Pacemaker cluster.
|
||||||
|
+ inst [0 or "rhel9-node1"] value "member"
|
||||||
|
+ inst [1 or "rhel9-node2"] value "member"
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.resources.agent PMID: 155.5.0 [The name of the resource agent for this resource]
|
||||||
|
+ Data Type: string InDom: 155.4 0x26c00004
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The name given for the resource agent for the given resource instance in the
|
||||||
|
+cluster.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.resources.all PMID: 155.14.0 [Pacemaker resources information]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.12 0x26c0000c
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Value is 1 if a resources exists. The details of the resource
|
||||||
|
+is given as label metadata values for this metric.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.resources.clone PMID: 155.5.1 [The name of the clone given for this resource]
|
||||||
|
+ Data Type: string InDom: 155.4 0x26c00004
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The name given for the clone for the given resource instance in the cluster,
|
||||||
|
+if any.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.resources.group PMID: 155.5.2 [The name of the group given for this resource]
|
||||||
|
+ Data Type: string InDom: 155.4 0x26c00004
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The name given for the group for the given resource instance in the cluster,
|
||||||
|
+if any.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.resources.managed PMID: 155.5.3 [Value is either true or false]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.4 0x26c00004
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The value of whether the resource instance in the cluster is managed or not.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.resources.role PMID: 155.5.4 [The given role state]
|
||||||
|
+ Data Type: string InDom: 155.4 0x26c00004
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The value of the given role state for the resource instance in the cluster.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.resources.status.active PMID: 155.5.5 [Whether the resources status is given as active]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.4 0x26c00004
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Whether the active status is reported by the resource in the cluster, a
|
||||||
|
+value of 1 confirms the resource status as active.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.resources.status.blocked PMID: 155.5.7 [Whether the resources status is given as blocked]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.4 0x26c00004
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Whether the blocked status is reported by the resource in the cluster, a
|
||||||
|
+value of 1 confirms the resource status as blocked.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.resources.status.failed PMID: 155.5.8 [Whether the resources status is given as failed]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.4 0x26c00004
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Whether the failed status is reported by the resource in the cluster, a
|
||||||
|
+value of 1 confirms the resource status as failed.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.resources.status.failure_ignored PMID: 155.5.9 [Whether the resources status is given as failure_ignored]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.4 0x26c00004
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Whether the failure_ignored status is reported by the resource in the
|
||||||
|
+cluster, a value of 1 confirms the resource status as failure_ignored.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.resources.status.orphaned PMID: 155.5.6 [Whether the resources status is given as orphaned]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.4 0x26c00004
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Whether the orphaned status is reported by the resource in the cluster, a
|
||||||
|
+value of 1 confirms the resource status as orphaned.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.stonith_enabled PMID: 155.0.1 [Whether stonith is enabled in the cluster]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: PM_INDOM_NULL 0xffffffff
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Value returns as to whether stonith is enabled or disabled for the cluster.
|
||||||
|
+ value 0
|
||||||
|
+
|
||||||
|
+ha_cluster.sbd.all PMID: 155.16.0 [SBD device information]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.14 0x26c0000e
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+Value is 1 if a sbd device exists. The details of the corresponding SBD device
|
||||||
|
+is given as label metadata values for this metric.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.sbd.devices.path PMID: 155.9.0 [Path of SBD device]
|
||||||
|
+ Data Type: string InDom: 155.7 0x26c00007
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The full path given to each SBD device.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.sbd.devices.status PMID: 155.9.1 [Status of the SBD device]
|
||||||
|
+ Data Type: string InDom: 155.7 0x26c00007
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The current status given for each of the SBD devices, the value is one of
|
||||||
|
+healthy or unhealthy.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.sbd.timeouts.allocate PMID: 155.9.3 [allocate timeout value]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.7 0x26c00007
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The value threshold for allocate timeouts for the given SBD device.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.sbd.timeouts.loop PMID: 155.9.4 [loop timeout value]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.7 0x26c00007
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The value threshold for loop timeouts for the given SBD device.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.sbd.timeouts.mgswait PMID: 155.9.2 [mgswait timeout value]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.7 0x26c00007
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The value threshold for msgwait timeouts for the given SBD device.
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.sbd.timeouts.watchdog PMID: 155.9.5 [watchdog timeout value]
|
||||||
|
+ Data Type: 32-bit unsigned int InDom: 155.7 0x26c00007
|
||||||
|
+ Semantics: instant Units: count
|
||||||
|
+Help:
|
||||||
|
+The value threshold for watchdog timeouts for the given SBD device.
|
||||||
|
+No value(s) available!
|
||||||
|
+== Checking with valgrind - hacluster-root-002.tgz
|
||||||
|
+=== std out ===
|
||||||
|
+
|
||||||
|
+ha_cluster.pacemaker.config_last_change
|
||||||
|
+ value 1687428694
|
||||||
|
+
|
||||||
|
+ha_cluster.corosync.quorate
|
||||||
|
+ value 1
|
||||||
|
+
|
||||||
|
+ha_cluster.sbd.devices.path
|
||||||
|
+No value(s) available!
|
||||||
|
+
|
||||||
|
+ha_cluster.drbd.split_brain
|
||||||
|
+No value(s) available!
|
||||||
|
+=== std err ===
|
||||||
|
+=== filtered valgrind report ===
|
||||||
|
+Memcheck, a memory error detector
|
||||||
|
Command: pminfo -L -K clear -K add,155,PCP_PMDAS_DIR/hacluster/pmda_hacluster.so,hacluster_init -f ha_cluster.pacemaker.config_last_change ha_cluster.corosync.quorate ha_cluster.sbd.devices.path ha_cluster.drbd.split_brain
|
||||||
|
LEAK SUMMARY:
|
||||||
|
definitely lost: 0 bytes in 0 blocks
|
||||||
|
diff -Naurp pcp-5.3.7.orig/qa/hacluster/GNUmakefile pcp-5.3.7/qa/hacluster/GNUmakefile
|
||||||
|
--- pcp-5.3.7.orig/qa/hacluster/GNUmakefile 2021-02-17 15:27:41.000000000 +1100
|
||||||
|
+++ pcp-5.3.7/qa/hacluster/GNUmakefile 2023-07-05 14:08:41.096213777 +1000
|
||||||
|
@@ -8,7 +8,7 @@ default setup default_pcp:
|
||||||
|
|
||||||
|
install install_pcp: $(ROOTFILES)
|
||||||
|
$(INSTALL) -m 755 -d $(TESTDIR)
|
||||||
|
- $(INSTALL) -m 755 -f $(ROOTFILES) $(TESTDIR)/$(ROOTFILES)
|
||||||
|
+ $(INSTALL) -m 644 -f $(ROOTFILES) $(TESTDIR)
|
||||||
|
$(INSTALL) -m 644 -f GNUmakefile.install $(TESTDIR)/GNUmakefile
|
||||||
|
|
||||||
|
include $(BUILDRULES)
|
||||||
|
diff -Naurp pcp-5.3.7.orig/src/pmdas/hacluster/help pcp-5.3.7/src/pmdas/hacluster/help
|
||||||
|
--- pcp-5.3.7.orig/src/pmdas/hacluster/help 2021-07-13 09:34:38.000000000 +1000
|
||||||
|
+++ pcp-5.3.7/src/pmdas/hacluster/help 2023-07-05 14:05:16.565924954 +1000
|
||||||
|
@@ -103,9 +103,9 @@ of 1 confirms the node status as shutdow
|
||||||
|
Whether the expected_up status is reported by the node in the cluster, a
|
||||||
|
value of 1 confirms the node status as expected_up.
|
||||||
|
|
||||||
|
-@ ha_cluster.pacemaker.nodes.status.dc Whether the node status is given as disconnected
|
||||||
|
-Whether the disconnected status is reported by the node in the cluster, a
|
||||||
|
-value of 1 confirms the node status as disconnected.
|
||||||
|
+@ ha_cluster.pacemaker.nodes.status.dc Whether the node status is given as the DC
|
||||||
|
+Whether the DC status is reported by the node in the cluster, a
|
||||||
|
+value of 1 confirms the node status as the designated coordinator.
|
||||||
|
|
||||||
|
@ ha_cluster.pacemaker.resources.agent The name of the resource agent for this resource
|
||||||
|
The name given for the resource agent for the given resource instance in the
|
||||||
|
diff -Naurp pcp-5.3.7.orig/src/pmdas/hacluster/pacemaker.c pcp-5.3.7/src/pmdas/hacluster/pacemaker.c
|
||||||
|
--- pcp-5.3.7.orig/src/pmdas/hacluster/pacemaker.c 2021-07-13 09:34:38.000000000 +1000
|
||||||
|
+++ pcp-5.3.7/src/pmdas/hacluster/pacemaker.c 2023-07-05 14:08:35.526205912 +1000
|
||||||
|
@@ -534,18 +534,33 @@ hacluster_refresh_pacemaker_nodes(const
|
||||||
|
|
||||||
|
/* Collect our node names */
|
||||||
|
if (found_nodes && strstr(buffer, node_name)) {
|
||||||
|
- sscanf(buffer, "%*s %*s %*s online=\"%9[^\"]\" standby=\"%9[^\"]\" standby_onfail=\"%9[^\"]\" maintenance=\"%9[^\"]\" pending=\"%9[^\"]\" unclean=\"%9[^\"]\" shutdown=\"%9[^\"]\" expected_up=\"%9[^\"]\" is_dc =\"%9[^\"]\" %*s type=\"%9[^\"]\"",
|
||||||
|
- online,
|
||||||
|
- standby,
|
||||||
|
- standby_on_fail,
|
||||||
|
- maintenance,
|
||||||
|
- pending,
|
||||||
|
- unclean,
|
||||||
|
- shutdown,
|
||||||
|
- expected_up,
|
||||||
|
- dc,
|
||||||
|
- nodes->type
|
||||||
|
- );
|
||||||
|
+ if(strstr(buffer, "feature_set")) {
|
||||||
|
+ sscanf(buffer, "%*s %*s %*s online=\"%9[^\"]\" standby=\"%9[^\"]\" standby_onfail=\"%9[^\"]\" maintenance=\"%9[^\"]\" pending=\"%9[^\"]\" unclean=\"%9[^\"]\" %*s %*s shutdown=\"%9[^\"]\" expected_up=\"%9[^\"]\" is_dc =\"%9[^\"]\" %*s type=\"%9[^\"]\"",
|
||||||
|
+ online,
|
||||||
|
+ standby,
|
||||||
|
+ standby_on_fail,
|
||||||
|
+ maintenance,
|
||||||
|
+ pending,
|
||||||
|
+ unclean,
|
||||||
|
+ shutdown,
|
||||||
|
+ expected_up,
|
||||||
|
+ dc,
|
||||||
|
+ nodes->type
|
||||||
|
+ );
|
||||||
|
+ } else {
|
||||||
|
+ sscanf(buffer, "%*s %*s %*s online=\"%9[^\"]\" standby=\"%9[^\"]\" standby_onfail=\"%9[^\"]\" maintenance=\"%9[^\"]\" pending=\"%9[^\"]\" unclean=\"%9[^\"]\" shutdown=\"%9[^\"]\" expected_up=\"%9[^\"]\" is_dc =\"%9[^\"]\" %*s type=\"%9[^\"]\"",
|
||||||
|
+ online,
|
||||||
|
+ standby,
|
||||||
|
+ standby_on_fail,
|
||||||
|
+ maintenance,
|
||||||
|
+ pending,
|
||||||
|
+ unclean,
|
||||||
|
+ shutdown,
|
||||||
|
+ expected_up,
|
||||||
|
+ dc,
|
||||||
|
+ nodes->type
|
||||||
|
+ );
|
||||||
|
+ }
|
||||||
|
|
||||||
|
nodes->online = bool_convert(online);
|
||||||
|
nodes->standby = bool_convert(standby);
|
Loading…
Reference in New Issue
Block a user