Compare commits

...
Sign in to create a new pull request.

53 commits

Author SHA1 Message Date
Fedora Release Engineering
adb3603dc9 Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-16 09:09:21 +00:00
Fedora Release Engineering
eaf3b3bfab Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-16 21:47:02 +00:00
Kim B. Heino
11f3c22afc rhbz 2406177: Move sysusers.d config to munin-common 2025-12-28 20:09:31 +02:00
Fedora Release Engineering
b9d3bae50a Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-24 22:30:37 +00:00
14d481ff84 Add sysusers.d config file to allow rpm to create users/groups automatically
See https://fedoraproject.org/wiki/Changes/RPMSuportForSystemdSysusers.
2025-02-11 15:53:23 +01:00
Kim B. Heino
5335015f6b rhbz 2340895: Fix build on Fedora 42 2025-01-27 15:34:48 +02:00
Fedora Release Engineering
a881836b8d Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-17 19:26:34 +00:00
Kim B. Heino
244836eb03 Don't restart firewalld on package update, rhbz #2295597 2024-10-21 10:22:31 +03:00
Fedora Release Engineering
def83f2017 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-18 18:56:25 +00:00
Kim B. Heino
34b47ae6ae sources: add .asc too 2024-06-19 14:30:32 +03:00
Kim B. Heino
c9c48a14ad 2.0.76 2024-06-19 14:27:45 +03:00
Fedora Release Engineering
89bd7b20ec Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-25 08:23:26 +00:00
Fedora Release Engineering
b73a0daa50 Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-21 08:55:08 +00:00
Kim B. Heino
c560021120 2.0.75 2023-11-06 11:32:09 +02:00
Kim B. Heino
4341115b3d 2.0.74 2023-10-04 14:36:40 +03:00
Fedora Release Engineering
6599f221c9 Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-07-20 16:04:58 +00:00
Kim B. Heino
c55cca5272 2.0.73 2023-05-18 14:23:24 +03:00
Kim B. Heino
3667ae34b8 sources: update for 2.0.72 2023-03-07 11:44:40 +02:00
Kim B. Heino
e9fabf86e9 spec: update 2023-03-07 11:43:06 +02:00
Kim B. Heino
3d7e775bef *.service: cleanup 2023-03-07 11:34:16 +02:00
Kim B. Heino
bb95f3a616 00-default: add config for ipmi_* plugins 2023-03-07 11:33:50 +02:00
Fedora Release Engineering
56e001ab97 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-19 21:00:18 +00:00
Jitka Plesnikova
6c979bfa45 Remove perl(MODULE_COMPAT), it will be replaced by generators 2023-01-13 09:49:18 +01:00
Kim B. Heino
771506eab0 spec: bump release for rebuild 2022-07-24 15:26:24 +03:00
Kim B. Heino
81c32c8bf7 Replace /var/lib/munin/plugin-state with upstream default /var/lib/munin-node/plugin-state 2022-07-23 21:33:55 +03:00
Fedora Release Engineering
8136ab9a89 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 00:00:03 +00:00
Kim B. Heino
82a717e571 2.0.69, use /etc/munin/munin-conf.d instead of /etc/munin/conf.d as in upstream 2022-07-20 14:39:20 +03:00
Jitka Plesnikova
29952713f7 Perl 5.36 rebuild 2022-06-01 02:16:58 +02:00
Fedora Release Engineering
9ef93a8031 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 20:40:28 +00:00
Fedora Release Engineering
ab0187d28f - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 15:37:22 +00:00
Jitka Plesnikova
78b3d83173 Perl 5.34 rebuild 2021-05-23 01:38:20 +02:00
6fe6c7fc63 Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
2021-03-02 16:13:23 +01:00
Kim B. Heino
56d4874595 2.0.67 2021-02-24 15:14:13 +02:00
Kim B. Heino
65bf794da8 spec: cleanup 2021-02-05 15:04:43 +02:00
Todd Zullinger
72fcc21001 Verify upstream signature
Upstream provides GPG signatures for releases.  Verify them in %prep.
This is particularly helpful because upstream does not provide the
releases via https.

The signing key was downloaded from the keyserver network and then
exported in a minimal format using the following commands:

  fpr=910846ADEE4C5D67C19B3E6F0A24C05998BA4133
  gpg --recv-keys $fpr
  gpg -a --export-options export-minimal --export $fpr >gpgkey-$fpr.asc

The resulting key file matches what was added to the Debian munin
package by upstream contributor Lars Kruse, as found here:

  https://salsa.debian.org/debian/munin/-/blob/debian/debian/upstream/signing-key.asc

While in the area, align the indentation of the recently added make BR.
2021-02-05 00:30:52 -05:00
Todd Zullinger
44df45e8fd Upgrade to 2.0.66
https://github.com/munin-monitoring/munin/blob/2.0.66/ChangeLog
2021-02-04 23:52:23 -05:00
Fedora Release Engineering
81fdcef4b5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 21:02:06 +00:00
Tom Stellard
b768effb7c Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-07 02:10:02 +00:00
Kim B. Heino
f14b813b7a Drop epel6, major cleanup 2020-12-14 20:55:47 +02:00
Kim B. Heino
1ba65a9e12 sources: update 2020-11-17 14:57:47 +02:00
Kim B. Heino
ab88fc3fed 2.0.65
* Tue Nov 17 2020 Kim B. Heino <b@bbbs.net> - 2.0.65-1
- Upgrade to 2.0.65
- Improve plugin-state directory owners
- Don't require tmpwatch
- Change log file owner to root:adm or munin:adm
2020-11-17 14:55:46 +02:00
Fedora Release Engineering
66a4fe31d4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 08:39:45 +00:00
Kim B. Heino
9184bb199a sources: update 2020-07-06 11:19:44 +03:00
Kim B. Heino
e7542a3b41 Upgrade to 2.0.63 2020-07-06 11:18:25 +03:00
Jitka Plesnikova
22c7233576 Perl 5.32 rebuild 2020-06-25 15:03:14 +02:00
Jitka Plesnikova
97e4047018 Specify all perl's dependencies for build 2020-03-24 15:38:09 +01:00
Fedora Release Engineering
f64e33df43 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-01-29 14:19:32 +00:00
Kim B. Heino
1c00dec9bb Remove BR: perl(Directory::Scratch), it's for testing only, and not on epel8 2020-01-24 12:54:50 +02:00
Kim B. Heino
e57d519727 Merge branch 'master' into epel8 2020-01-24 12:40:42 +02:00
Kim B. Heino
da5e6b3b08 Remove unneeded Makefile and package.cfg 2020-01-24 12:40:03 +02:00
Kim B. Heino
8793e82c1e Convert cronjob to systemd timer and tmpfiles, first epel8 build 2020-01-24 12:27:32 +02:00
Kim B. Heino
5a7a5ce0e4 Upgrade to 2.0.54 2020-01-21 13:05:13 +02:00
Gwyn Ciesla
f78477cd28 "Adding package.cfg file" 2019-11-17 12:53:11 -06:00
26 changed files with 965 additions and 838 deletions

2
.gitignore vendored
View file

@ -1,4 +1,4 @@
munin-*.tar.gz
munin-*.tar.gz*
*.src.rpm
.build-*.log
munin-2*/

View file

@ -23,7 +23,7 @@ user root
[df*]
user root
env.exclude none unknown binfmt_misc cgroup_root debugfs devpts devtmpfs fuse.gvfs-fuse-daemon iso9660 ramfs romfs rootfs rpc_pipefs squashfs udf
env.exclude_re ^/run/user/ ^/sys/ ^/var/lib/docker ^/media/ ^/var/lib/mock/
env.exclude_re ^/run/user/ ^/sys/ ^/var/lib/docker ^/var/lib/containers/storage/overlay ^/var/lib/mock/ ^/media/ ^/mnt$
[exim*]
group mail
@ -37,6 +37,10 @@ user root
[if_*]
user root
[ipmi_*]
user root
timeout 20
[load]
env.load_warning 100

View file

@ -1,5 +0,0 @@
Host *
Compression yes
ConnectTimeout 15
ServerAliveInterval 15
ServerAliveCountMax 5

View file

@ -0,0 +1,504 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Comment: 9108 46AD EE4C 5D67 C19B 3E6F 0A24 C059 98BA 4133
Comment: Steve Schnepp <steve.schnepp@gmail.com>
Comment: Steve Schnepp <steve.schnepp@pwkf.org>
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
=bOn3
-----END PGP PUBLIC KEY BLOCK-----

View file

@ -1,94 +0,0 @@
#!/bin/sh
#
# /etc/init.d/munin-asyncd
#
# chkconfig: - 91 9
# description: Network-wide resource monitoring tool (async proxy)
# processname: munin-asyncd
#
### BEGIN INIT INFO
# Provides: munin-asyncd
# Required-Start: $network $syslog
# Required-Stop:
# Default-Stop: 0 1 2 6
# Short-Description: Network-wide resource monitoring tool (async proxy)
# Description: Munin is a highly flexible and powerful solution used to create
# graphs of virtually everything imaginable throughout your network,
# while still maintaining a rattling ease of installation and
# configuration.
### END INIT INFO
# Source function library.
. /etc/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# Read config
ASYNCD=yes
[ -f /etc/sysconfig/munin-node ] && . /etc/sysconfig/munin-node
progasync=munin-asyncd
binasync=/usr/sbin/$progasync
RETVAL=0
start() {
echo -n $"Starting $progasync: "
mkdir -p /var/run/munin 2>/dev/null
chown munin:munin /var/run/munin
restorecon /var/run/munin 2>/dev/null
${binasync} < /dev/null > /dev/null 2>&1 &
sleep 1
pkill -0 $progasync
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo_success
touch /var/lock/subsys/$progasync
else
echo_failure
fi
echo
return $RETVAL
}
stop() {
echo -n $"Stopping $progasync: "
killproc ${binasync}
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/$progasync
return $RETVAL
}
restart() {
stop
start
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
condrestart)
[ -f /var/lock/subsys/$progasync ] && restart
;;
status)
status ${binasync}
RETVAL=$?
;;
*)
echo "Usage: $0 {start|stop|restart|condrestart|status}"
RETVAL=2
esac
exit $RETVAL

View file

@ -1,14 +1,19 @@
[Unit]
Description=Munin Node - Asynchronous Proxy
Documentation=man:munin-async http://munin.readthedocs.org/en/stable-2.0/reference/munin-async.html
Documentation=http://guide.munin-monitoring.org/en/latest/node/async.html
Requires=munin-node.service
After=network.target network-online.target munin-node.service
After=network.target
After=network-online.target
After=munin-node.service
[Service]
Type=simple
Type=notify
User=munin
ExecStart=/usr/sbin/munin-asyncd
PrivateTmp=true
PrivateDevices=yes
PrivateTmp=yes
ProtectHome=yes
ProtectSystem=full
TimeoutStopSec=20s
[Install]

View file

@ -1,105 +0,0 @@
#!/bin/sh
#
# munin-cgi-graph Start and stop Munin FastCGI processes for NGINX
#
# chkconfig: - 80 20
# description: Spawn Munin FastCGI scripts to be used by NGINX web server
### BEGIN INIT INFO
# Provides:
# Required-Start: $network $syslog
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start:
# Default-Stop: 0 1 2 6
# Short-Description: Start and stop Munin FastCGI processes
# Description: Spawn Munin FastCGI scripts to be used by NGINX web server
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
exec=/usr/bin/spawn-fcgi
lockfile=/var/lock/subsys/munin-cgi-graph
graphprog=/var/www/html/munin/cgi/munin-cgi-graph
graphsock=/var/run/munin/munin-cgi-graph.sock
graphpid=/var/run/munin/munin-cgi-graph.pid
GRAPHOPTIONS="-u munin -U nginx -S -M 0600 -F 2"
[ -f /etc/sysconfig/munin-cgi-graph ] && . /etc/sysconfig/munin-cgi-graph
munin_cleanup() {
# Remove the socket if it exists
[ -n "${graphsock}" -a -S "${graphsock}" ] && rm -f ${graphsock}
}
start() {
munin_cleanup
echo -n $"Starting munin-cgi-graph: "
daemon "${exec} -s ${graphsock} -P ${graphpid} ${GRAPHOPTIONS} -- ${graphprog} >/dev/null"
RETVAL=$?
echo
if [ $RETVAL -eq 0 ]; then
touch $lockfile
fi
return $RETVAL
}
stop() {
echo -n $"Stopping munin-cgi-graph: "
killproc $graphprog
RETVAL=$?
echo
munin_cleanup
[ $RETVAL -eq 0 ] && rm -f $lockfile
return $RETVAL
}
restart() {
stop
start
}
reload() {
restart
}
rh_status() {
# run checks to determine if the service is running or use generic status
status $graphprog
}
rh_status_q() {
rh_status &>/dev/null
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload}"
exit 2
esac
exit $?

View file

@ -1,6 +1,5 @@
[Unit]
Description=Munin FastCGI Graphs Service
After=network.target
Requires=munin-cgi-graph.socket
[Service]

View file

@ -1,105 +0,0 @@
#!/bin/sh
#
# munin-cgi-html Start and stop Munin FastCGI processes for NGINX
#
# chkconfig: - 80 20
# description: Spawn Munin FastCGI scripts to be used by NGINX web server
### BEGIN INIT INFO
# Provides:
# Required-Start: $network $syslog
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start:
# Default-Stop: 0 1 2 6
# Short-Description: Start and stop Munin FastCGI processes
# Description: Spawn Munin FastCGI scripts to be used by NGINX web server
### END INIT INFO
# Source function library.
. /etc/rc.d/init.d/functions
exec=/usr/bin/spawn-fcgi
lockfile=/var/lock/subsys/munin-cgi-html
htmlprog=/var/www/html/munin/cgi/munin-cgi-html
htmlsock=/var/run/munin/munin-cgi-html.sock
htmlpid=/var/run/munin/munin-cgi-html.pid
HTMLOPTIONS="-u munin -U nginx -S -M 0600 -F 1"
[ -f /etc/sysconfig/munin-cgi-html ] && . /etc/sysconfig/munin-cgi-html
munin_cleanup() {
# Remove the socket if it exists
[ -n "${htmlsock}" -a -S "${htmlsock}" ] && rm -f ${htmlsock}
}
start() {
munin_cleanup
echo -n $"Starting munin-cgi-html: "
daemon "${exec} -s ${htmlsock} -P ${htmlpid} ${HTMLOPTIONS} -- ${htmlprog} >/dev/null"
RETVAL=$?
echo
if [ $RETVAL -eq 0 ]; then
touch $lockfile
fi
return $RETVAL
}
stop() {
echo -n $"Stopping munin-cgi-html: "
killproc $htmlprog
RETVAL=$?
echo
munin_cleanup
[ $RETVAL -eq 0 ] && rm -f $lockfile
return $RETVAL
}
restart() {
stop
start
}
reload() {
restart
}
rh_status() {
# run checks to determine if the service is running or use generic status
status $htmlprog
}
rh_status_q() {
rh_status &>/dev/null
}
case "$1" in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
restart
;;
*)
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload}"
exit 2
esac
exit $?

View file

@ -1,6 +1,5 @@
[Unit]
Description=Munin FastCGI HTML Pages Service
After=network.target
Requires=munin-cgi-html.socket
[Service]

View file

@ -1,8 +1,5 @@
/var/log/munin-node/munin-node.log {
daily
rotate 7
missingok
notifempty
compress
copytruncate
}

View file

@ -1,120 +0,0 @@
#!/bin/sh
#
# /etc/init.d/munin-node
#
# chkconfig: - 90 10
# description: Network-wide resource monitoring tool (node)
# processname: munin-node
#
### BEGIN INIT INFO
# Provides: munin-node
# Required-Start: $network $syslog
# Required-Stop:
# Default-Stop: 0 1 2 6
# Short-Description: Network-wide resource monitoring tool (node)
# Description: Munin is a highly flexible and powerful solution used to create
# graphs of virtually everything imaginable throughout your network,
# while still maintaining a rattling ease of installation and
# configuration.
### END INIT INFO
# Source function library.
. /etc/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# Read config
ASYNCD=no
[ -f /etc/sysconfig/munin-node ] && . /etc/sysconfig/munin-node
prognode=munin-node
progasync=munin-asyncd
binnode=/usr/sbin/$prognode
binasync=/usr/sbin/$progasync
pidnode=/var/run/munin/$prognode.pid
RETVAL=0
start() {
echo -n $"Starting $prognode: "
mkdir -p /var/run/munin 2>/dev/null
chown munin:munin /var/run/munin
restorecon /var/run/munin 2>/dev/null
${binnode} < /dev/null > /dev/null 2>&1 &
sleep 1
pkill -0 $prognode
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo_success
touch /var/lock/subsys/$prognode
if [ "${ASYNCD}" = "yes" ]; then
echo
echo -n $"Starting $progasync: "
sleep 1
${binasync} < /dev/null > /dev/null 2>&1 &
sleep 1
pkill -0 $progasync
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo_success
else
echo_failure
fi
fi
else
echo_failure
fi
echo
return $RETVAL
}
stop() {
if [ "${ASYNCD}" = "yes" ]; then
echo -n $"Stopping $progasync: "
killproc ${binasync}
echo
fi
echo -n $"Stopping $prognode: "
killproc ${binnode}
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prognode
return $RETVAL
}
restart() {
stop
start
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
condrestart)
[ -f /var/lock/subsys/$prognode ] && restart
;;
status)
status -p ${pidnode} ${binnode}
RETVAL=$?
if [ $RETVAL = 0 -a "${ASYNCD}" = "yes" ]; then
status ${binasync}
RETVAL=$?
fi
;;
*)
echo "Usage: $0 {start|stop|restart|condrestart|status}"
RETVAL=2
esac
exit $RETVAL

View file

@ -1,14 +1,17 @@
[Unit]
Description=Munin Node
Documentation=man:munin-node(1) http://munin.readthedocs.org/en/stable-2.0/reference/munin-node.html
After=network.target network-online.target
Documentation=man:munin-node(1) http://guide.munin-monitoring.org/en/latest/node/index.html
After=network.target
After=network-online.target
PartOf=munin-asyncd.service
[Service]
Type=forking
ExecStart=/usr/sbin/munin-node
PIDFile=/run/munin/munin-node.pid
PrivateTmp=true
Type=notify
ExecStart=/usr/sbin/munin-node --foreground
PrivateDevices=no
PrivateTmp=yes
ProtectHome=read-only
ProtectSystem=full
TimeoutStopSec=30s
[Install]

View file

@ -0,0 +1,28 @@
diff -ur munin-2.0.63.orig/node/sbin/munin-run munin-2.0.63/node/sbin/munin-run
--- munin-2.0.63.orig/node/sbin/munin-run 2020-05-27 23:52:55.000000000 +0300
+++ munin-2.0.63/node/sbin/munin-run 2020-07-04 10:55:27.079868324 +0300
@@ -31,7 +31,7 @@
# --pipe: 235 or later
# --collect: 236 or later
-my $REQUIRED_SYSTEMD_VERSION = 236;
+my $REQUIRED_SYSTEMD_VERSION = 999;
# See "man systemd.exec" for the list of all systemd properties.
# The following properties belong to the relevant sections "Capabilities",
@@ -50,7 +50,6 @@
EnvironmentFile
Group
Limit\w+
- LockPersonality
MemoryDenyWriteExecute
MountFlags
NetworkNamespacePath
@@ -189,6 +188,7 @@
# "systemd show" does not output the EnvironmentFile property in a readable format.
# See https://github.com/systemd/systemd/issues/14723.
next if ($property_definition =~ /^EnvironmentFiles?=(.*) \(ignore_errors=(yes|no)\)$/);
+ next if ($property_definition =~ /^RestrictSUIDSGID=/);
push @flag_list, $1 if $property_definition =~ /$flag_name_regex/;
}
return @flag_list;

View file

@ -1,7 +1,7 @@
###########################################################################
# #
# Please don't edit this example config file. Create and edit #
# file /etc/munin/conf.d/local.conf instead. #
# file /etc/munin/munin-conf.d/local.conf instead. #
# #
# You must also install munin-nginx or munin-apache sub-package. See #
# /usr/share/doc/munin-*/*.conf for example nginx/apache config files #
@ -17,7 +17,7 @@
#dbdir /var/lib/munin
#htmldir /var/www/html/munin
#logdir /var/log/munin
#rundir /var/run/munin
#rundir /run/munin
# Where to look for the HTML templates
#
@ -33,7 +33,7 @@
#cgitmpdir /var/lib/munin/cgi-tmp
# (Exactly one) directory to include all files from.
includedir /etc/munin/conf.d
includedir /etc/munin/munin-conf.d
# You can choose the time reference for "DERIVE" like graphs, and show
# "per minute", "per hour" values instead of the default "per second"

View file

@ -1,7 +0,0 @@
# Collect Munin data every five minutes, clean up once a day
MAILTO=root
*/5 * * * * munin /usr/bin/munin-cron
21 5 * * * root /usr/sbin/tmpwatch --ctime 24h /var/lib/munin/cgi-tmp
25 5 * * * root /usr/sbin/tmpwatch --ctime 30d /var/lib/munin --exclude /var/lib/munin/.ssh --exclude /var/lib/munin/cgi-tmp --exclude /var/lib/munin/plugin-state --exclude /var/lib/munin/rrdcached

View file

@ -1,47 +1,9 @@
/var/log/munin/munin-cgi-graph.log {
daily
rotate 7
missingok
notifempty
compress
}
/var/log/munin/munin-cgi-html.log {
daily
rotate 7
missingok
notifempty
compress
}
/var/log/munin/munin-graph.log {
daily
rotate 7
missingok
notifempty
compress
}
/var/log/munin/munin-html.log {
daily
rotate 7
missingok
notifempty
compress
}
/var/log/munin/munin-limits.log {
daily
rotate 7
missingok
notifempty
compress
}
/var/log/munin/munin-cgi-graph.log
/var/log/munin/munin-cgi-html.log
/var/log/munin/munin-graph.log
/var/log/munin/munin-html.log
/var/log/munin/munin-limits.log
/var/log/munin/munin-update.log {
daily
rotate 7
missingok
notifempty
compress
}

15
munin.service Normal file
View file

@ -0,0 +1,15 @@
[Unit]
Description=Munin server to collect data from nodes
Documentation=man:munin-cron(8)
After=network.target
After=network-online.target
After=munin-node.service
After=munin-rrdcached.service
[Service]
User=munin
ExecStart=/usr/bin/munin-cron
PrivateDevices=no
PrivateTmp=yes
ProtectHome=yes
ProtectSystem=full

View file

@ -1,95 +1,106 @@
Name: munin
Version: 2.0.51
Release: 1%{?dist}
Summary: Network-wide resource monitoring tool
License: GPLv2
URL: http://munin-monitoring.org/
Name: munin
Version: 2.0.76
Release: 10%{?dist}
Summary: Network-wide resource monitoring tool
License: GPL-2.0-only
URL: http://munin-monitoring.org/
Source0: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz
Source0: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz
Source1: http://downloads.munin-monitoring.org/munin/stable/%{version}/%{name}-%{version}.tar.gz.asc
# fpr=910846ADEE4C5D67C19B3E6F0A24C05998BA4133
# gpg --recv-keys $fpr
# gpg -a --export-options export-minimal --export $fpr > gpgkey-$fpr.asc
Source2: gpgkey-910846ADEE4C5D67C19B3E6F0A24C05998BA4133.asc
# Master sources
Source10: munin.conf
Source11: munin.logrotate
Source12: munin.tmpfilesd
Source13: munin.cron.d
Source14: asyncd-ssh.config
Source15: munin-rrdcached.service
Source16: httpd_cgi_graphs.conf
Source17: httpd_cron_graphs.conf
Source18: nginx_cgi_graphs.conf
Source10: munin.conf
Source11: munin.logrotate
Source12: munin.tmpfilesd
Source13: munin.timer
Source14: munin.service
Source15: munin-rrdcached.service
Source16: httpd_cgi_graphs.conf
Source17: httpd_cron_graphs.conf
Source18: nginx_cgi_graphs.conf
# Node sources
Source20: munin-node.conf
Source21: munin-node.logrotate
Source22: munin-node.rc
Source23: munin-node.service
Source24: munin-asyncd.rc
Source25: munin-asyncd.service
Source26: munin-node.xml
Source20: munin-node.conf
Source21: munin-node.logrotate
Source23: munin-node.service
Source25: munin-asyncd.service
Source26: munin-node.xml
# CGI sources
Source30: munin-cgi-html.rc
Source31: munin-cgi-graph.rc
Source32: munin-cgi-graph.service
Source33: munin-cgi-graph.socket
Source34: munin-cgi-html.service
Source35: munin-cgi-html.socket
Source32: munin-cgi-graph.service
Source33: munin-cgi-graph.socket
Source34: munin-cgi-html.service
Source35: munin-cgi-html.socket
# Common sources
Source40: munin.sysusers
# Patches
Patch101: 21b3d860c17d7997d64267963f91ed75ca8a3e03.patch
Patch102: postfix-category.patch
Patch101: 21b3d860c17d7997d64267963f91ed75ca8a3e03.patch
Patch102: cd842e36f3ab1a55c05304d6b78dc07048bd8f84.patch
Patch103: munin-run_no_systemd.patch
# Use some plugins from munin 3.0 branch
Source200: mysql_
# Use mysql plugin from Munin 3.0 branch for Galera support
Source200: mysql_
# Plugin config
Source300: 00-default
Source301: munin-node
Source300: 00-default
Source301: munin-node
BuildArch: noarch
BuildRequires: perl-interpreter >= 5.8
BuildRequires: perl-generators
BuildRequires: perl(Module::Build)
BuildRequires: firewalld-filesystem
BuildRequires: gnupg2
BuildRequires: make
BuildRequires: perl(Carp)
BuildRequires: perl(English)
BuildRequires: perl(File::Spec)
BuildRequires: perl(HTML::Template)
BuildRequires: perl(Log::Log4perl)
BuildRequires: perl(Net::Server)
BuildRequires: perl(Net::SSLeay)
BuildRequires: perl(Module::Build)
BuildRequires: perl(Net::SNMP)
BuildRequires: perl(Net::SSLeay)
BuildRequires: perl(Net::Server)
BuildRequires: perl(Text::Balanced)
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
BuildRequires: perl(Directory::Scratch)
BuildRequires: perl-Carp
BuildRequires: perl(base)
BuildRequires: perl(lib)
BuildRequires: perl(strict)
BuildRequires: perl(warnings)
BuildRequires: perl-generators
BuildRequires: perl-interpreter >= 5.8
BuildRequires: systemd
BuildRequires: firewalld-filesystem
%endif
# Munin server requires
Requires: %{name}-common = %{version}
Requires: %{name}-web-support
Requires: logrotate
Requires: tmpwatch
Requires: rrdtool
Requires: /bin/mail
Requires: perl(FCGI)
Requires: dejavu-sans-mono-fonts
Requires: logrotate
Requires: perl(DateTime)
Requires: perl(Digest::MD5)
Requires: perl(FCGI)
Requires: perl(File::Copy::Recursive)
Requires: perl(Getopt::Long)
Requires: perl(HTML::Template)
Requires: perl(IO::Socket::INET6)
Requires: perl(Net::Server)
Requires: perl(Net::SNMP)
Requires: perl(Net::SSLeay)
Requires: perl(Net::Server)
Requires: perl(Params::Validate)
Requires: perl(RRDs)
Requires: perl(Storable)
Requires: perl(Text::Balanced)
Requires: perl(DateTime)
Requires: perl(Time::HiRes)
Requires: perl(Taint::Runtime)
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Requires(pre): shadow-utils
Requires: dejavu-sans-mono-fonts
Requires: perl(Text::Balanced)
Requires: perl(Time::HiRes)
Requires: rrdtool
%{?systemd_requires}
BuildArch: noarch
# Some plugins are php or python3, remove them from autogenerated requires
%global __requires_exclude ^/usr/bin/(php|python3)$
%description
@ -102,44 +113,30 @@ it in your network. It will periodically poll all the nodes in your network
it's aware of for data, which it in turn will use to create graphs and HTML
pages, suitable for viewing with your graphical web browser of choice.
You must also install munin-nginx or munin-apache sub-package. See
/usr/share/doc/munin-*/*.conf for example nginx/apache config files
and installation instructions.
You must also install munin-nginx or munin-apache sub-package to generate
web graphs. See /usr/share/doc/munin-*/*.conf for example nginx/apache config
files and installation instructions.
%package node
Summary: Network-wide resource monitoring tool (node)
Requires: %{name}-common = %{version}
Requires: procps
Requires: sysstat
Requires: hdparm
Requires: bc
Requires: /usr/bin/which
Requires: conntrack-tools
Requires: perl(Net::CIDR)
Requires: perl(Net::Server)
Requires: perl(IO::Socket::INET6)
Requires: perl(Net::SSLeay)
Requires: perl(Cache::Cache)
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Requires(pre): shadow-utils
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
Requires: firewalld-filesystem
Summary: Network-wide resource monitoring tool (node)
Requires: %{name}-common = %{version}
Requires: /usr/bin/which
Requires: bc
Requires: conntrack-tools
Requires: firewalld-filesystem
Requires: hdparm
Requires: jo
Requires: perl(Cache::Cache)
Requires: perl(IO::Socket::INET6)
Requires: perl(Net::CIDR)
Requires: perl(Net::SSLeay)
Requires: perl(Net::Server)
Requires: procps-ng
Requires(pre): %{_sbindir}/semanage
Requires(pre): %{_sbindir}/restorecon
%{?systemd_requires}
%else
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig
Requires(preun): /sbin/service
%endif
BuildArch: noarch
Provides: munin-async = %{version}-%{release}
Obsoletes: munin-async < 2.0.39-4
Provides: munin-netip-plugins = %{version}-%{release}
Obsoletes: munin-netip-plugins < 2.0.39-4
Provides: munin-java-plugins = %{version}-%{release}
Obsoletes: munin-java-plugins < 2.0.39-2
Provides: munin-plugins-java = %{version}-%{release}
Obsoletes: munin-plugins-java < 2.0.45-2
BuildArch: noarch
%description node
@ -162,11 +159,11 @@ SNMP or similar technology.
%package common
Summary: Network-wide resource monitoring tool (common files)
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Requires: acl
Requires(pre): shadow-utils
BuildArch: noarch
Summary: Network-wide resource monitoring tool (common files)
Requires: acl
%{?systemd_requires}
%{?sysusers_requires_compat}
BuildArch: noarch
%description common
@ -179,11 +176,9 @@ and node (munin-node) packages.
%package plugins-ruby
Summary: Ruby plugins for Munin resource monitoring
Requires: %{name}-node = %{version}
BuildArch: noarch
Provides: munin-ruby-plugins = %{version}-%{release}
Obsoletes: munin-ruby-plugins < 2.0.39-2
Summary: Ruby plugins for Munin resource monitoring
Requires: %{name}-node = %{version}
BuildArch: noarch
%description plugins-ruby
@ -191,12 +186,13 @@ Additional Ruby plugins for munin-node.
%package nginx
Summary: NGINX support for Munin resource monitoring
Requires: %{name} = %{version}
Requires: munin-cgi
Requires: nginx-filesystem
Provides: munin-web-support = %{version}-%{release}
BuildArch: noarch
Summary: NGINX support for Munin resource monitoring
Requires: %{name} = %{version}
Requires: munin-cgi
Requires: nginx-filesystem
Provides: munin-web-support = %{version}-%{release}
Conflicts: munin-apache
BuildArch: noarch
%description nginx
@ -204,12 +200,13 @@ NGINX support for Munin resource monitoring.
%package apache
Summary: Apache support for Munin resource monitoring
Requires: %{name} = %{version}
Requires: httpd
Requires: mod_fcgid
Provides: munin-web-support = %{version}-%{release}
BuildArch: noarch
Summary: Apache support for Munin resource monitoring
Requires: %{name} = %{version}
Requires: httpd
Requires: mod_fcgid
Provides: munin-web-support = %{version}-%{release}
Conflicts: munin-nginx
BuildArch: noarch
%description apache
@ -217,22 +214,11 @@ Apache support for Munin resource monitoring.
%package cgi
Summary: FastCGI startup scripts for Munin resource monitoring
Requires: %{name} = %{version}
%if 0%{?rhel} == 6
Requires: spawn-fcgi
%endif
Requires: nginx-filesystem
BuildArch: noarch
Provides: munin-fcgi = %{version}-%{release}
Obsoletes: munin-fcgi < 2.0.39-4
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
Summary: FastCGI startup scripts for Munin resource monitoring
Requires: %{name} = %{version}
Requires: nginx-filesystem
%{?systemd_requires}
%else
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/chkconfig
Requires(preun): /sbin/service
%endif
BuildArch: noarch
%description cgi
@ -242,10 +228,12 @@ FastCGI so you don't need this package.
%prep
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
%setup -q
sed -i -e '
s,^PREFIX = \(.*\),PREFIX = $(DESTDIR)%{_prefix},;
s,^SBINDIR = \(.*\),SBINDIR = $(DESTDIR)%{_sbindir},;
s,^CONFDIR = \(.*\),CONFDIR = $(DESTDIR)%{_sysconfdir}/munin,;
s,^DOCDIR = \(.*\),DOCDIR = $(DESTDIR)%{_docdir}/%{name}-%{version},;
s,^MANDIR = \(.*\),MANDIR = $(DESTDIR)%{_mandir},;
@ -253,13 +241,9 @@ sed -i -e '
s,^HTMLDIR = \(.*\),HTMLDIR = $(DESTDIR)%{_localstatedir}/www/html/munin,;
s,^CGIDIR = \(.*\),CGIDIR = $(HTMLDIR)/cgi,;
s,^DBDIR = \(.*\),DBDIR = $(DESTDIR)%{_sharedstatedir}/munin,;
s,^DBDIRNODE = \(.*\),DBDIRNODE = $(DESTDIR)%{_sharedstatedir}/munin,;
s,^DBDIRNODE = \(.*\),DBDIRNODE = $(DESTDIR)%{_sharedstatedir}/munin-node,;
s,^LOGDIR = \(.*\),LOGDIR = $(DESTDIR)%{_localstatedir}/log/munin,;
%if 0%{?rhel} >= 8 || 0%{?fedora} >= 24
s,^PYTHON := \(.*\),PYTHON := /usr/bin/python3,;
%else
s,^PYTHON := \(.*\),PYTHON := /usr/bin/python2,;
%endif
s,^RUBY := \(.*\),RUBY := /usr/bin/ruby,;
s,^PERLLIB = \(.*\),PERLLIB = $(DESTDIR)%{perl_vendorlib},;
s,^HOSTNAME := \(.*\),HOSTNAME := localhost.localdomain,;
@ -273,8 +257,11 @@ sed -i -e '
s,^JC := \(.*\),JC := /bin/false,;
' Makefile.config
%patch101 -p1
%patch102 -p1
sed -i -e 's,@@DBDIR@@,%{_sharedstatedir}/munin-node,g' node/_bin/munin-get.in
%patch -P 101 -p1
%patch -P 102 -p1
%patch -P 103 -p1
cp %SOURCE16 .
cp %SOURCE17 .
@ -282,13 +269,11 @@ cp %SOURCE18 .
%build
make CONFIG=Makefile.config
make CONFIG=Makefile.config
%install
make CONFIG=Makefile.config \
DESTDIR=%{buildroot} \
install
make CONFIG=Makefile.config DESTDIR=%{buildroot} install
# Remove bundled fonts
rm -f %{buildroot}%{_datadir}/munin/DejaVuSans*.ttf
@ -303,16 +288,10 @@ cp %{SOURCE20} %{buildroot}%{_sysconfdir}/munin/
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
cp %{SOURCE21} %{buildroot}%{_sysconfdir}/logrotate.d/munin-node
# Add startup scripts
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
# Add services
mkdir -p %{buildroot}%{_unitdir}
cp %{SOURCE23} %{buildroot}%{_unitdir}
cp %{SOURCE25} %{buildroot}%{_unitdir}
%else
mkdir -p %{buildroot}%{_initrddir}
cp %{SOURCE22} %{buildroot}%{_initrddir}/munin-node
cp %{SOURCE24} %{buildroot}%{_initrddir}/munin-asyncd
%endif
# Move munin-asyncd to /usr/sbin/ (FHS)
mv %{buildroot}%{_datadir}/munin/munin-asyncd %{buildroot}%{_sbindir}/munin-asyncd
@ -320,7 +299,7 @@ mv %{buildroot}%{_datadir}/munin/munin-asyncd %{buildroot}%{_sbindir}/munin-asyn
# Remove the Sybase plugin for now, as they need perl modules that are not available
rm -f %{buildroot}%{_datadir}/munin/plugins/sybase_space
# Update some plugins from 3.0 branch
# Update plugins from 3.0 branch
cp %{SOURCE200} %{buildroot}%{_datadir}/munin/plugins/
# Install plugin config
@ -328,13 +307,15 @@ cp %{SOURCE300} %{buildroot}%{_sysconfdir}/munin/plugin-conf.d/
cp %{SOURCE301} %{buildroot}%{_sysconfdir}/munin/plugin-conf.d/
# Create plugin state dirs
mkdir -p %{buildroot}%{_sharedstatedir}/munin/plugin-state/root
mkdir -p %{buildroot}%{_sharedstatedir}/munin/plugin-state/munin
mkdir -p %{buildroot}%{_sharedstatedir}/munin-node/plugin-state/munin
mkdir -p %{buildroot}%{_sharedstatedir}/munin-node/plugin-state/root
%if 0%{?rhel} >= 7 || 0%{?fedora} > 19
# munin-get plugin directory
mkdir -p %{buildroot}%{_sharedstatedir}/munin-node/munin-get-plugins
# firewalld config
mkdir -p %{buildroot}/%{_prefix}/lib/firewalld/services
cp %{SOURCE26} %{buildroot}/%{_prefix}/lib/firewalld/services/
%endif
# Disable some plugins from autoconfig
@ -355,34 +336,33 @@ done
### Server ###
mv %{buildroot}%{_sysconfdir}/munin/munin-conf.d %{buildroot}%{_sysconfdir}/munin/conf.d
# Create compatibility symlink ghost
ln -s munin-conf.d %{buildroot}%{_sysconfdir}/munin/conf.d
# Overwrite default config file
cp %{SOURCE10} %{buildroot}%{_sysconfdir}/munin/
# Add missing custom.css
touch %{buildroot}%{_sysconfdir}/munin/static/custom.css
# Install logrotate script
cp %{SOURCE11} %{buildroot}%{_sysconfdir}/logrotate.d/munin
# Install tmpfiles config
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
mkdir -p %{buildroot}%{_tmpfilesdir}
mkdir -p %{buildroot}%{_rundir}/munin
cp %{SOURCE12} %{buildroot}%{_tmpfilesdir}/%{name}.conf
%endif
# Add server cron job
mkdir -p %{buildroot}%{_sysconfdir}/cron.d
cp %{SOURCE13} %{buildroot}%{_sysconfdir}/cron.d/munin
# Add timer and service
cp %{SOURCE13} %{buildroot}%{_unitdir}
cp %{SOURCE14} %{buildroot}%{_unitdir}
# Default ssh config for asyncd
# ssh for asyncd
mkdir -p %{buildroot}%{_sharedstatedir}/munin/.ssh
install -m 0600 %{SOURCE14} %{buildroot}%{_sharedstatedir}/munin/.ssh/config
# rrdcached
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
mkdir -p %{buildroot}%{_sharedstatedir}/munin/rrdcached
cp %{SOURCE15} %{buildroot}%{_unitdir}
%endif
# Use UTF-8 in XML templates
for i in static/definitions.html templates/partial/head.tmpl; do
@ -392,16 +372,10 @@ done
### CGI ###
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
cp %{SOURCE32} %{buildroot}%{_unitdir}
cp %{SOURCE33} %{buildroot}%{_unitdir}
cp %{SOURCE34} %{buildroot}%{_unitdir}
cp %{SOURCE35} %{buildroot}%{_unitdir}
%else
mkdir -p %{buildroot}%{_initrddir}
cp %{SOURCE30} %{buildroot}%{_initrddir}/munin-cgi-html
cp %{SOURCE31} %{buildroot}%{_initrddir}/munin-cgi-graph
%endif
### Log files (ghost) ###
@ -424,15 +398,14 @@ touch %{buildroot}%{_sysconfdir}/httpd/conf.d/munin-cgi.conf
touch %{buildroot}%{_sysconfdir}/munin/munin-htpasswd
%pre
getent group munin >/dev/null || groupadd -r munin
getent passwd munin >/dev/null || \
useradd -r -g munin -d %{_sharedstatedir}/munin -s /bin/sh -c "Munin user" munin
exit 0
### Common ###
install -m0644 -D %{SOURCE40} %{buildroot}%{_sysusersdir}/munin.conf
%post
# Create log files
mkdir -p %{_localstatedir}/log/munin
[ -f %{_localstatedir}/log/munin/munin-html.log ] || \
/usr/bin/install -m 0640 -o munin -g adm /dev/null %{_localstatedir}/log/munin/munin-html.log
[ -f %{_localstatedir}/log/munin/munin-limits.log ] || \
@ -441,8 +414,8 @@ exit 0
/usr/bin/install -m 0640 -o munin -g adm /dev/null %{_localstatedir}/log/munin/munin-update.log
# On new install only: create simple localhost config.
if [ "$1" = "1" ]; then
if [ ! -f %{_sysconfdir}/munin/conf.d/local.conf ]; then
cat - >> %{_sysconfdir}/munin/conf.d/local.conf <<EOF
if [ ! -f %{_sysconfdir}/munin/munin-conf.d/local.conf ]; then
cat - >> %{_sysconfdir}/munin/munin-conf.d/local.conf <<EOF
# Example host tree with localhost node. Configure your nodes here.
[localhost]
@ -451,115 +424,59 @@ if [ "$1" = "1" ]; then
EOF
fi
fi
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
%systemd_post munin-rrdcached.service
%systemd_post munin-rrdcached.service munin.timer munin.service
%preun
%systemd_preun munin-rrdcached.service
%systemd_preun munin-rrdcached.service munin.timer munin.service
%postun
%systemd_postun_with_restart munin-rrdcached.service
%triggerun -- munin < 2.0.42-2
setfacl --remove-all %{_rundir}/munin
chmod 775 %{_rundir}/munin
%endif
%pre node
getent group munin >/dev/null || groupadd -r munin
getent passwd munin >/dev/null || \
useradd -r -g munin -d %{_sharedstatedir}/munin -s /bin/sh -c "Munin user" munin
exit 0
%systemd_postun_with_restart munin-rrdcached.service munin.timer
%systemd_postun munin.service
%post node
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
%systemd_post munin-node.service
%systemd_post munin-asyncd.service
%firewalld_reload
%else
/sbin/chkconfig --add munin-node
/sbin/chkconfig --add munin-asyncd
%endif
# Create log file
[ -f %{_localstatedir}/log/munin-node/munin-node.log ] || \
/usr/bin/install -m 0640 -o root -g root /dev/null %{_localstatedir}/log/munin-node/munin-node.log
# Only run configure on a new install, not an upgrade.
/usr/bin/install -m 0640 -o root -g adm /dev/null %{_localstatedir}/log/munin-node/munin-node.log
# Fix munin-node/plugin-state and munin-node/munin-get-plugins SELinux
%{_sbindir}/semanage fcontext --delete --equal %{_sharedstatedir}/munin %{_sharedstatedir}/munin-node 2> /dev/null || :
%{_sbindir}/semanage fcontext --add --type munin_plugin_state_t "%{_sharedstatedir}/munin-node/plugin-state(/.*)?" 2> /dev/null || :
%{_sbindir}/semanage fcontext --add --type unconfined_munin_plugin_exec_t "%{_sharedstatedir}/munin-node/munin-get-plugins(/.*)?" 2> /dev/null || :
%{_sbindir}/restorecon -R %{_sharedstatedir}/munin-node || :
# Is this new install, not upgrade?
if [ "$1" = "1" ]; then
# Run configure
%{_sbindir}/munin-node-configure --shell 2> /dev/null | sh >& /dev/null || :
# Clean up munin mysql_ plugin shmems and semaphores to fix selinux issue
if [ -x %{_bindir}/ipcs -a -x %{_bindir}/ipcrm ]; then
for mem in $(%{_bindir}/ipcs --shmems | grep munin | cut --delimiter=' ' --fields=1)
do
for mem in $(%{_bindir}/ipcs --shmems | grep munin | cut --delimiter=' ' --fields=1); do
%{_bindir}/ipcrm --shmem-key ${mem} 2>/dev/null || :
done
for sem in $(%{_bindir}/ipcs --semaphores | grep munin | cut --delimiter=' ' --fields=1)
do
for sem in $(%{_bindir}/ipcs --semaphores | grep munin | cut --delimiter=' ' --fields=1); do
%{_bindir}/ipcrm --semaphore-key ${sem} 2>/dev/null || :
done
fi
fi
%systemd_post munin-node.service munin-asyncd.service
%preun node
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
%systemd_preun munin-node.service
%systemd_preun munin-asyncd.service
%else
if [ $1 -eq 0 ]; then
/sbin/service munin-node stop >/dev/null 2>&1 || :
/sbin/chkconfig --del munin-node
/sbin/service munin-asyncd stop >/dev/null 2>&1 || :
/sbin/chkconfig --del munin-asyncd
fi
%endif
%systemd_preun munin-node.service munin-asyncd.service
%postun node
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
%systemd_postun_with_restart munin-node.service
%systemd_postun_with_restart munin-asyncd.service
%else
if [ $1 -ge 1 ]; then
/sbin/service munin-node condrestart >/dev/null 2>&1
/sbin/service munin-asyncd condrestart >/dev/null 2>&1
# Is this uninstall, not upgrade?
if [ "$1" = "0" ]; then
%{_sbindir}/semanage fcontext --delete --type munin_plugin_state_t "%{_sharedstatedir}/munin-node/plugin-state(/.*)?" 2> /dev/null || :
%{_sbindir}/semanage fcontext --delete --type unconfined_munin_plugin_exec_t "%{_sharedstatedir}/munin-node/munin-get-plugins(/.*)?" 2> /dev/null || :
fi
%endif
%triggerun node -- munin-node < 2.0.40-2
if ls %{_localstatedir}/log/munin/munin-node.log* >/dev/null 2>&1; then
mv -f %{_localstatedir}/log/munin/munin-node.log* %{_localstatedir}/log/munin-node/
fi
chown -R munin:munin %{_sharedstatedir}/munin/spool/ >/dev/null 2>&1
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
systemctl daemon-reload
%systemd_postun_with_restart munin-node.service
%systemd_postun_with_restart munin-asyncd.service
%else
if [ $1 -ge 1 ]; then
/sbin/service munin-node condrestart >/dev/null 2>&1
/sbin/service munin-asyncd condrestart >/dev/null 2>&1
fi
%endif
%systemd_postun_with_restart munin-node.service munin-asyncd.service
%pre common
getent group munin >/dev/null || groupadd -r munin
getent passwd munin >/dev/null || \
useradd -r -g munin -d %{_sharedstatedir}/munin -s /bin/sh -c "Munin user" munin
exit 0
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
%triggerun common -- munin-common < 2.0.42-2
setfacl --remove-all %{_rundir}/munin
chmod 775 %{_rundir}/munin
%endif
%sysusers_create_compat %{SOURCE40}
%post nginx
@ -583,55 +500,34 @@ chmod 775 %{_rundir}/munin
%post cgi
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
%systemd_post munin-cgi-graph.socket munin-cgi-graph.service
%systemd_post munin-cgi-html.socket munin-cgi-html.service
%else
/sbin/chkconfig --add munin-cgi-html
/sbin/chkconfig --add munin-cgi-graph
%endif
%preun cgi
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
%systemd_preun munin-cgi-graph.socket munin-cgi-graph.service
%systemd_preun munin-cgi-html.socket munin-cgi-html.service
%else
if [ $1 -eq 0 ]; then
/sbin/service munin-cgi-html stop >/dev/null 2>&1 || :
/sbin/chkconfig --del munin-cgi-html
/sbin/service munin-cgi-graph stop >/dev/null 2>&1 || :
/sbin/chkconfig --del munin-cgi-graph
fi
%endif
%postun cgi
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
%systemd_postun_with_restart munin-cgi-graph.socket munin-cgi-graph.service
%systemd_postun_with_restart munin-cgi-html.socket munin-cgi-html.service
%else
if [ $1 -ge 1 ]; then
/sbin/service munin-cgi-html condrestart >/dev/null 2>&1
/sbin/service munin-cgi-graph condrestart >/dev/null 2>&1
fi
%endif
%files
%doc %{_mandir}/man5/munin.conf*
%doc %{_mandir}/man8/munin*
%dir %{_sysconfdir}/munin
%dir %{_sysconfdir}/munin/conf.d
%dir %{_sysconfdir}/munin/munin-conf.d
%dir %{_sysconfdir}/munin/templates
%dir %{_sysconfdir}/munin/static
%config(noreplace) %{_sysconfdir}/cron.d/munin
%{_unitdir}/munin.timer
%{_unitdir}/munin.service
%ghost %{_sysconfdir}/munin/conf.d
%config(noreplace) %{_sysconfdir}/logrotate.d/munin
%config(noreplace) %{_sysconfdir}/munin/munin.conf
%config(noreplace) %{_sysconfdir}/munin/templates/*
%config(noreplace) %{_sysconfdir}/munin/static/*
%{_bindir}/munin-check
%{_bindir}/munin-cron
%dir %{_datadir}/munin
@ -644,17 +540,13 @@ fi
%{perl_vendorlib}/Munin/Master
%attr(-, munin, munin) %dir %{_sharedstatedir}/munin
%attr(0700, munin, munin) %dir %{_sharedstatedir}/munin/.ssh
%config(noreplace) %attr(0600, munin, munin) %{_sharedstatedir}/munin/.ssh/config
%attr(-, munin, munin) %dir %{_localstatedir}/log/munin
%attr(-, munin, munin) %dir %{_localstatedir}/www/html/munin
%attr(-, munin, munin) %{_localstatedir}/www/html/munin/cgi
%attr(0640, munin, adm) %ghost %{_localstatedir}/log/munin/munin-html.log
%attr(0640, munin, adm) %ghost %{_localstatedir}/log/munin/munin-limits.log
%attr(0640, munin, adm) %ghost %{_localstatedir}/log/munin/munin-update.log
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
%attr(-, munin, munin) %dir %{_sharedstatedir}/munin/rrdcached
%{_unitdir}/munin-rrdcached.service
%endif
%dir %{_datadir}/munin/plugins
%{_datadir}/munin/plugins/munin_stats
%config(noreplace) %ghost %{_sysconfdir}/munin/munin-htpasswd
@ -667,22 +559,16 @@ fi
%doc %{_mandir}/man1/munin*
%doc %{_mandir}/man3/Munin*
%doc %{_mandir}/man5/munin-node.conf*
%dir %{_sysconfdir}/munin
%dir %{_sysconfdir}/munin/plugin-conf.d
%dir %{_sysconfdir}/munin/plugins
%config(noreplace) %{_sysconfdir}/logrotate.d/munin-node
%config(noreplace) %{_sysconfdir}/munin/munin-node.conf
%config(noreplace) %{_sysconfdir}/munin/plugin-conf.d/*
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
%{_unitdir}/munin-node.service
%{_unitdir}/munin-asyncd.service
%else
%{_initrddir}/munin-node
%{_initrddir}/munin-asyncd
%endif
%{_bindir}/munindoc
%{_bindir}/munin-get
%{_sbindir}/munin-node
%{_sbindir}/munin-node-configure
%{_sbindir}/munin-run
@ -694,32 +580,28 @@ fi
%exclude %{_datadir}/munin/plugins/munin_stats
%{perl_vendorlib}/Munin/Node
%{perl_vendorlib}/Munin/Plugin*
%if 0%{?rhel} >= 7 || 0%{?fedora} > 19
%{_prefix}/lib/firewalld/services/munin-node.xml
%endif
%attr(-, munin, munin) %dir %{_sharedstatedir}/munin
%attr(0775, root, munin) %dir %{_sharedstatedir}/munin/plugin-state
%attr(-, root, munin) %dir %{_sharedstatedir}/munin/plugin-state/root
%attr(-, munin, munin) %dir %{_sharedstatedir}/munin/plugin-state/munin
%attr(-, root, root) %dir %{_sharedstatedir}/munin-node
%attr(-, root, root) %dir %{_sharedstatedir}/munin-node/munin-get-plugins
%attr(-, root, root) %dir %{_sharedstatedir}/munin-node/plugin-state
%attr(-, munin, root) %dir %{_sharedstatedir}/munin-node/plugin-state/munin
%attr(-, root, root) %dir %{_sharedstatedir}/munin-node/plugin-state/root
%attr(-, munin, munin) %dir %{_sharedstatedir}/munin/spool
%attr(0700, munin, munin) %dir %{_sharedstatedir}/munin/.ssh
%attr(0755, root, root) %dir %{_localstatedir}/log/munin-node
%attr(0640, root, root) %ghost %{_localstatedir}/log/munin-node/munin-node.log
%attr(0750, root, adm) %dir %{_localstatedir}/log/munin-node
%attr(0640, root, adm) %ghost %{_localstatedir}/log/munin-node/munin-node.log
%files common
%license COPYING
%doc ChangeLog HACKING.pod perltidyrc
%doc httpd_cgi_graphs.conf httpd_cron_graphs.conf nginx_cgi_graphs.conf
%dir %{perl_vendorlib}/Munin
%{perl_vendorlib}/Munin/Common
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
%{_tmpfilesdir}/%{name}.conf
%{_sysusersdir}/munin.conf
%attr(0775, root, munin) %dir %{_rundir}/munin
%else
%attr(0775, root, munin) %dir %{_localstatedir}/run/munin
%endif
%files plugins-ruby
@ -728,6 +610,7 @@ fi
%files nginx
%attr(0775, munin, munin) %dir %{_sharedstatedir}/munin/cgi-tmp
%attr(0750, munin, adm) %dir %{_localstatedir}/log/munin
%attr(0660, munin, munin) %ghost %{_localstatedir}/log/munin/munin-cgi-graph.log
%attr(0660, munin, munin) %ghost %{_localstatedir}/log/munin/munin-cgi-html.log
%attr(0660, munin, munin) %ghost %{_localstatedir}/log/munin/munin-graph.log
@ -735,24 +618,154 @@ fi
%files apache
%attr(0775, munin, apache) %dir %{_sharedstatedir}/munin/cgi-tmp
%attr(0750, munin, apache) %dir %{_localstatedir}/log/munin
%attr(0660, munin, apache) %ghost %{_localstatedir}/log/munin/munin-cgi-graph.log
%attr(0660, munin, apache) %ghost %{_localstatedir}/log/munin/munin-cgi-html.log
%attr(0660, munin, apache) %ghost %{_localstatedir}/log/munin/munin-graph.log
%files cgi
%if 0%{?rhel} >= 7 || 0%{?fedora} >= 16
%{_unitdir}/munin-cgi-graph.service
%{_unitdir}/munin-cgi-graph.socket
%{_unitdir}/munin-cgi-html.service
%{_unitdir}/munin-cgi-html.socket
%else
%{_initrddir}/munin-cgi-html
%{_initrddir}/munin-cgi-graph
%endif
%changelog
* Thu Jul 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.76-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.76-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Sun Dec 28 2025 Kim B. Heino <b@bbbs.net> - 2.0.76-8
- rhbz 2406177: Move sysusers.d config to munin-common
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.76-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Tue Feb 11 2025 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.0.76-6
- Add sysusers.d config file to allow rpm to create users/groups automatically
* Mon Jan 27 2025 Kim B. Heino <b@bbbs.net> - 2.0.76-5
- rhbz 2340895: Fix build on Fedora 42
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.76-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Mon Oct 21 2024 Kim B. Heino <b@bbbs.net> - 2.0.76-3
- Don't restart firewalld on package update, rhbz #2295597
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.76-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Wed Jun 19 2024 Kim B. Heino <b@bbbs.net> - 2.0.76-1
- Upgrade to 2.0.76
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.75-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.75-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Mon Nov 6 2023 Kim B. Heino <b@bbbs.net> - 2.0.75-1
- Upgrade to 2.0.75
* Wed Oct 4 2023 Kim B. Heino <b@bbbs.net> - 2.0.74-1
- Upgrade to 2.0.74
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.73-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed May 17 2023 Kim B. Heino <b@bbbs.net> - 2.0.73-1
- Upgrade to 2.0.73
- rhbz 2183484: Permission denied for group apache on /var/log/munin
* Tue Mar 7 2023 Kim B. Heino <b@bbbs.net> - 2.0.72-1
- Upgrade to 2.0.72
- Add munin-get plugin directory
- Mangle /var/lib/munin-node SELinux
- Fix service startup order
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.69-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Sun Jul 24 2022 Kim B. Heino <b@bbbs.net> - 2.0.69-5
- Bump release for rebuild
* Sat Jul 23 2022 Kim B. Heino <b@bbbs.net> - 2.0.69-4
- Replace /var/lib/munin/plugin-state with upstream default /var/lib/munin-node/plugin-state
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.69-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jul 20 2022 Kim B. Heino <b@bbbs.net> - 2.0.69-2
- Replace /etc/munin/conf.d with upstream default /etc/munin/munin-conf.d
- Add compatibility symlink /etc/munin/conf.d if necessary
* Wed Jul 20 2022 Kim B. Heino <b@bbbs.net> - 2.0.69-1
- Upgrade to 2.0.69
* Wed Jun 01 2022 Jitka Plesnikova <jplesnik@redhat.com> - 2.0.67-6
- Perl 5.36 rebuild
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.67-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.67-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Sat May 22 2021 Jitka Plesnikova <jplesnik@redhat.com> - 2.0.67-3
- Perl 5.34 rebuild
* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 2.0.67-2
- Rebuilt for updated systemd-rpm-macros
See https://pagure.io/fesco/issue/2583.
* Wed Feb 24 2021 Kim B. Heino <b@bbbs.net> - 2.0.67-1
- Upgrade to 2.0.67
* Fri Feb 05 2021 Todd Zullinger <tmz@pobox.com> - 2.0.66-1
- Upgrade to 2.0.66
- Verify upstream signature
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.65-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Mon Dec 14 2020 Kim B. Heino <b@bbbs.net> - 2.0.65-2
- Add plugin-state subdirs for munin and root
* Tue Nov 17 2020 Kim B. Heino <b@bbbs.net> - 2.0.65-1
- Upgrade to 2.0.65
- Improve plugin-state directory owners
- Don't require tmpwatch
- Change log file owner to root:adm or munin:adm
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.63-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 6 2020 Kim B. Heino <b@bbbs.net> - 2.0.63-1
- Upgrade to 2.0.63
- Don't use systemd-run in munin-run, rhbz #1852345
- Use "Type=notify" for munin-node and munin-asyncd
* Thu Jun 25 2020 Jitka Plesnikova <jplesnik@redhat.com> - 2.0.54-5
- Perl 5.32 rebuild
* Tue Mar 24 2020 Jitka Plesnikova <jplesnik@redhat.com> - 2.0.54-4
- Specify all perl's dependencies for build
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.54-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jan 24 2020 Kim B. Heino <b@bbbs.net> - 2.0.54-2
- Convert cronjob to systemd timer and tmpfiles
* Tue Jan 21 2020 Kim B. Heino <b@bbbs.net> - 2.0.54-1
- Upgrade to 2.0.54
- Improve df's ignore list
- Use systemd hardening options for node and asyncd
* Sat Oct 19 2019 Kim B. Heino <b@bbbs.net> - 2.0.51-1
- Upgrade to 2.0.51

1
munin.sysusers Normal file
View file

@ -0,0 +1 @@
u munin - "Munin user" /var/lib/munin /bin/sh

9
munin.timer Normal file
View file

@ -0,0 +1,9 @@
[Unit]
Description=Munin server to collect data from nodes
Documentation=man:munin-cron(8)
[Timer]
OnCalendar=*:00/5
[Install]
WantedBy=timers.target

View file

@ -1 +1,13 @@
# Create runtime directory
d /run/munin 0775 root munin -
# Cleanup for old rrd/png etc files
x /var/lib/munin/.ssh
x /var/lib/munin/cgi-tmp
x /var/lib/munin/rrdcached
e /var/lib/munin/cgi-tmp/* - - - 1d
e /var/lib/munin/spool - - - 14d
e /var/lib/munin - - - 30d

69
mysql_
View file

@ -96,7 +96,7 @@ For example:
=item Cache::Cache
The plugin uses shared memory to cache the statistics gathered from
MySQL. This ensures minimal inpact on the MySQL server.
MySQL. This ensures minimal impact on the MySQL server.
=item DBD::mysql
@ -173,21 +173,26 @@ use warnings;
use strict;
use utf8;
use DBI;
use English qw( -no_match_vars );
use File::Basename;
use Math::BigInt; # Used to append "=> lib 'GMP'" here, but GMP caused
# segfault on some occasions. Removed as I don't
# think the tiny performance boost is worth the
# debugging effort.
use Storable qw(nfreeze thaw);
use Munin::Plugin;
my $has_cache;
my $has_dbi;
my $has_math_bigint;
BEGIN {
eval 'require Cache::SharedMemoryCache';
$has_cache = $@ ? 0 : 1;
eval { require Cache::SharedMemoryCache; };
$has_cache = $EVAL_ERROR ? 0 : 1;
eval { require DBI; DBI->import(); };
$has_dbi = $EVAL_ERROR ? 0 : 1;
# Used to append "=> lib 'GMP'" here, but GMP caused segfault on some
# occasions. Removed as I don't think the tiny performance boost is
# worth the debugging effort.
eval { require Math::BigInt; Math::BigInt->import(); };
$has_math_bigint = $EVAL_ERROR ? 0 : 1;
}
@ -1658,6 +1663,12 @@ sub main {
die "Missing dependency Cache::Cache"
unless $has_cache || $command eq 'autoconf';
die "Missing dependency DBI"
unless $has_dbi || $command eq 'autoconf';
die "Missing dependency Math::BigInt"
unless $has_math_bigint || $command eq 'autoconf';
return $command_map{$command}->($graph);
}
@ -1675,6 +1686,14 @@ sub autoconf {
print "no (Missing dependency Cache::Cache)\n";
return 0;
}
unless ($has_dbi) {
print "no (Missing dependency DBI)\n";
return 0;
}
unless ($has_math_bigint) {
print "no (Missing dependency Math::BigInt)\n";
return 0;
}
eval {
db_connect();
@ -1716,7 +1735,7 @@ sub suggest {
sub config {
my $graph_name = shift;
# In MySQL 5.1 (and probably erlier versions as well) status
# In MySQL 5.1 (and probably earlier versions as well) status
# variables are unique when looking at the last 19 characters.
#
# SELECT RIGHT(variable_name, 19), COUNT(*)
@ -1765,7 +1784,6 @@ sub config {
}
print "graph_category db\n";
my $i = 0;
for my $ds (@{$graph->{data_sources}}) {
my %ds_spec = (
%{$defaults{data_source_attrs}},
@ -1773,23 +1791,14 @@ sub config {
%$ds,
);
while (my ($k, $v) = each %ds_spec) {
# 'name' is only used internally in this script, not
# understood by munin.
next if ($k eq 'name');
# 'name' is only used internally in this script, not
# understood by munin.
next if ($k eq 'name');
# AREASTACK is part of munin as of version 1.3.3 (not
# released yet). Until then ...
if ($k eq 'draw' && $v eq 'AREASTACK') {
printf("%s.%s %s\n",
clean_fieldname($ds->{name}), $k, ($i ? 'STACK' : 'AREA'));
}
else {
# support simple pattern substitution in cdef ("%s" -> fieldname)
my $fieldname = clean_fieldname($ds->{name});
$v =~ s/%s/$fieldname/g if (($k eq "cdef") and ($v =~ /%s/));
printf("%s.%s %s\n", $fieldname, $k, $v);
}
$i++;
# support simple pattern substitution in cdef ("%s" -> fieldname)
my $fieldname = clean_fieldname($ds->{name});
$v =~ s/%s/$fieldname/g if (($k eq "cdef") and ($v =~ /%s/));
printf("%s.%s %s\n", $fieldname, $k, $v);
}
print_thresholds(clean_fieldname($ds->{name}));
}
@ -1955,8 +1964,8 @@ sub update_variables {
$sth->finish();
}
$data->{'mysql_base_memory'} = $data->{'key_buffer_size'}
+ $data->{'query_cache_size'}
$data->{'mysql_base_memory'} = $data->{'key_buffer_size'}
+ ( $data->{'query_cache_size'} || 0 )
+ $data->{'innodb_buffer_pool_size'}
+ ( $data->{'innodb_additional_mem_pool_size'} || 0 )
+ $data->{'innodb_log_buffer_size'}
@ -2124,7 +2133,7 @@ sub innodb_bigint {
return defined $y
? Math::BigInt->new($x)->blsft(32) + $y
: Math::BigInt->new("0x$x");
: Math::BigInt->new($x);
}
#---------------------------------------------------------------------
@ -2465,7 +2474,7 @@ sub parse_buffer_pool_and_memory {
return 1;
};
# mariadb-5.5
m/\GInternal hash tables \(constant factor \+ variable factor\)\n\s*Adaptive hash index\s*(\d+)\s*\((\d+) \+ (\d+)\) *\n\s+Page hash +(\d+) +\(buffer pool \d+ only\) *\n\s+Dictionary cache\s*(\d+)\s+\((\d+) \+ (\d+)\) *\n\s+File system\s+(\d+)\s+\((\d+) \+ (\d+)\) *\n\s+Lock system\s+(\d+)\s+\((\d+) \+ (\d+)\) *\n\s+Recovery system\s*(\d+)\s+\((\d+) \+ (\d+)\) *\n/gc
m/\GInternal hash tables \(constant factor \+ variable factor\)\n\s*Adaptive hash index\s*(\d+)\s*\((\d+) \+ (\d+)\) *\n\s+Page hash +(\d+) +\(buffer pool \d+ only\) *\n\s+Dictionary cache\s*(\d+)\s+\((\d+) \+ (\d+)\) *\n\s+File system\s+(\d+)\s+\((\d+) \+ (\d+)\) *\n\s+Lock system\s+(\d+)\s+\((\d+) \+ (\d+)\) *\n\s+Recovery system\s*(\d+)\s+\((\d+) \+ (\d+)\) *\n/gc
&& do {
$data->{ib_bpool_internal_adaptive_hash_size_total} = $1;
$data->{ib_bpool_internal_adaptive_hash_size_const} = $2;

View file

@ -8,7 +8,9 @@
# cgiurl_graph /munin/graph
#
# Then copy this file to /etc/nginx/conf.d/ directory and restart nginx.
# Services munin-cgi-graph and munin-cgi-html must also be started.
# Services munin-cgi-html and munin-cgi-graph must also be started:
#
# systemctl enable --now munin-cgi-html.socket munin-cgi-graph.socket
#
# Access Munin at http://localhost/munin/

View file

@ -1 +1,2 @@
SHA512 (munin-2.0.51.tar.gz) = 86e9d31cf755920fb42a1875c034847cdb0af4fab98d813c1362539f782e7c0c385c1c9c6653fafd7712bf54ce51f942fdb21f14204a7227b8cc95e11d9f388a
SHA512 (munin-2.0.76.tar.gz) = 37ad31fa8c7585e4a79ce5b62e6ac83c6f12fe0cbb1c28a257f7c71f99c6b05cc837c7557870a28211c253eb85d981a4b17aed2f6028881d5bdef27c01e445a2
SHA512 (munin-2.0.76.tar.gz.asc) = b34d6c62f73a1bc381e21e95c03e386fe26e1d32eebc396b82fea69326694db3370bdfc8f2cfcaf37d7c9d4bed27f68e17bebd729a5eac8505ddd97bf677241b