====== Munin - Node ======
* http://munin-monitoring.org/wiki/MuninInstallationDarwin
===== Telepítés =====
- Telepítsd fel a [[http://www.macports.org/install.php | MacPorts]]-ot és játszásdiból indítsd el a ''munin'' MacPorts-os telepítését, hogy legyen SVN kliens:
port install munin +server
//Le lehet állítani pár másodperc múlva//
- Telepítsd fel az [[https://itunes.apple.com/en/app/xcode/id497799835?mt=12 | AppStore]]-ból az **Xcode** programot
- Indítsd el az **Xcode** programot és telepítsd fel a **Command Line Tools**-t:
- **Preferences** -> **Downloads**
- Itt kattints a csomag melletti kis letöltés ikonra
- Nyiss egy rendszergazdai terminált (''sudo -s'')
- Felhasználó és csoport létrehozása:
dscl . create /Groups/munin PrimaryGroupID 4949
dscl . create /Users/munin UniqueID 4949
dscl . create /Users/munin PrimaryGroupID 4949
dscl . create /Users/munin UserShell /bin/false
dscl . create /Users/munin NFSHomeDirectory /usr/local/munin/var/run/munin
dscl . create /Users/munin RealName Munin
dscl . create /Groups/munin GroupMembership munin
defaults write /Library/Preferences/com.apple.loginwindow HiddenUsersList -array-add munin
- Takarítás:
rm -rf /usr/src/munin
rm -rf /usr/local/munin
rm -rf /opt/munin
rm -rf /etc/opt/munin/
rm /Library/LaunchDaemons/org.munin-monitoring.munin-node.plist
- Környezet kialakítása:
export LANG=C
mkdir -p /usr/local/munin/var/run/munin
chown munin:munin /usr/local/munin/var/run/munin
- Forráskód letöltése:
mkdir -p /usr/src/munin
cd /usr/src/munin
svn checkout "svn://munin.projects.linpro.no/munin/trunk"
cd /usr/src/munin/trunk
- Forrás átalakítása a Mac rendszerhez:
...
# Default user to run the plugins as
PLUGINUSER := munin
...
- Forráskódok forgatása:
make install-common
make install-node
make install-node-plugins
make install
- Pluginek bekapcsolása:
/opt/munin/sbin/munin-node-configure --suggest --shell | sh
rm /etc/opt/munin/plugins/munin_stats
- ''if_err_'' plugin javítása:
--- /opt/munin/lib/plugins/if_err_ 2018-11-05 13:27:43.000000000 +0100
+++ /opt/munin/lib/plugins/if_err_ 2018-11-05 13:27:55.000000000 +0100
@@ -82,4 +82,4 @@
# Name Mtu Network Address Ipkts Ierrs Ibytes Opkts Oerrs Obytes Coll
# en1 1500 00:17:f2:e8:f8:3c 11548082 38116 702690133 22938005 170 16013565627 0
-netstat -nib -I "$INTERFACE" | awk '$3 ~ /Link/ { print "down.value " $6 "\nup.value " $9 "\ncollisions.value " $11 }'
+netstat -nib -I "$INTERFACE" | awk '$3 ~ /Link/ { print "down.value " $6 "\nup.value " $9 '
- ''dar_memusage'' plugin javítása:
--- /opt/git-3th/munin-monitoring_contrib/plugins/system/dar_memusage.orig 2018-11-05 13:46:54.000000000 +0100
+++ /opt/git-3th/munin-monitoring_contrib/plugins/system/dar_memusage 2018-11-05 13:52:21.000000000 +0100
@@ -83,9 +83,9 @@
for ( $i = 1; ($i < $#top and $quit == 0); $i++ ) {
if ( $top[$i] =~ /^PhysMem/ ) {
$wired = $free = $used = $top[$i];
- $wired =~ s/^.+?\((\d+)M wired.+$/$1/; chomp $wired; $wired = $wired * 1024 * 1024;
- $free =~ s/^.+?, (\d+)([M|K]) unused.+$/$1/; chomp $free; $free = $free * 1024 * 1024; if ( $2 eq "K" ) { $free = $free / 1024; }
- $used =~ s/^.+?: (\d+)([M|G]) used.+$/$1/; chomp $used; $used = $used * 1024 * 1024; if ( $2 eq "G" ) { $used = $used * 1024; }
+ $wired =~ s/^.+?\((\d+)([K|M|G]) wired.+$/$1/; chomp $wired; $wired = $wired * 1024 * 1024; if ( $2 eq "K" ) { $wired = $wired / 1024; }; if ( $2 eq "G" ) { $wired = $wired * 1024; }
+ $free =~ s/^.+?, (\d+)([K|M|G]) unused.+$/$1/; chomp $free; $free = $free * 1024 * 1024; if ( $2 eq "K" ) { $free = $free / 1024; }; if ( $2 eq "G" ) { $free = $free * 1024; }
+ $used =~ s/^.+?: (\d+)([K|M"G]) used.+$/$1/; chomp $used; $used = $used * 1024 * 1024; if ( $2 eq "K" ) { $used = $used / 1024; }; if ( $2 eq "G" ) { $used = $used * 1024; }
print "wired.value " . $wired . "\n";
print "free.value " . $free . "\n";
print "used.value " . $used . "\n";
- Munin config Mac-esítése:
cd /etc/opt/munin/
log_level 4
log_file Sys::Syslog
pid_file /usr/local/munin/var/run/munin/munin-node.pid
#background 1
#setsid 1
user munin
group daemon
...
cd /Library/LaunchDaemons
EnvironmentVariables
LANG
en_GB.UTF-8
LC_ALL
en_GB.UTF-8
Label
org.munin-monitoring.munin-node
ProgramArguments
/opt/munin/sbin/munin-node
WorkingDirectory
/usr/local/munin/var/run/munin
RunAtLoad
- Daemon indítása:
launchctl load org.munin-monitoring.munin-node.plist
- Innentől pedig kövessük a [[tudasbazis:linux:munin|Linux-os munin-node]] beállítást!
===== Pluginek =====
==== Smartmontools ====
- Telepítsd fel a binárist:
port install smartmontools
- Munin beállítása:
ln -s /opt/munin/lib/plugins/smart_ /etc/opt/munin/plugins/smart_disk0
[smart_disk0]
user root
env.smartpath /opt/local/sbin/smartctl
- Daemon újraindítása:
cd /Library/LaunchDaemons
launchctl unload org.munin-monitoring.munin-node.plist
launchctl load org.munin-monitoring.munin-node.plist
=== USB-s lemez ===
* https://www.smartmontools.org/wiki/Supported_USB-Devices
Ebben az esetben a típust nekünk kell kézzel megadni a fenti linken elérhető táblázat alapján:
[smart_chieftec-usb-disk1]
env.smartargs -d sat -a
==== Darwin specifikus pluginek ====
- A szükséges git repo klónozása:
mkdir -p /opt/git-3th
git clone 'https://github.com/andras-tim/contrib.git' /opt/git-3th/munin-monitoring_contrib
- Pluginek bekötése, beállítása:
cd /opt/git-3th/munin-monitoring_contrib/plugins/system
ls dar_* |
grep -v 'dar_uptime' |
while read a
do
ln -s "/opt/git-3th/munin-monitoring_contrib/plugins/system/$a" /etc/opt/munin/plugins/
"/etc/opt/munin/plugins/$a" autoconf yes
done
- Pluginek tesztelése:
/opt/munin/sbin/munin-run dar_cpuusage
/opt/munin/sbin/munin-run dar_memusage
/opt/munin/sbin/munin-run dar_swap
/opt/munin/sbin/munin-run dar_vmstat
- //munin-node// újraindítása:
launchctl unload /Library/LaunchDaemons/org.munin-monitoring.munin-node.plist
launchctl load /Library/LaunchDaemons/org.munin-monitoring.munin-node.plist