Nachfolgend möchte ich beschreiben, wie man einen XenServer in Version 6.1 soweit einrichtet, dass dieser von einem Munin Server überwacht werden kann.
Vorbereitungen
Für die passenden Pakete muss noch ein weiteres Repository eingerichtet werden. Dieses Repository von RPMForge kann wie folgt eingerichtet werden:
wget "http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm" rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
Schaut ggf. mal direkt in http://pkgs.repoforge.org/rpmforge-release/, ob es ein neueres RPM für den XenServer Host gibt. Passt dabei auf, dass bestimmte RPMs für CentOS 6 gedacht sind, XenServer aber noch auf CentOS 5.7 basiert.
Anschließend ist es noch notwendig, dass im Verzeichnis /etc/yum.repos.d in der Datei CentOS-Base.repo die Standard-Repositorys aktiviert werden, damit aus denen auch Pakete nach installiert werden können:
# CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 exclude=kernel-xen*, *xen* enabled=1 #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 exclude=kernel-xen*, *xen* enabled=1 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 enabled=1 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 #contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib #baseurl=http://mirror.centos.org/centos/$releasever/contrib/$basearch/ gpgcheck=1 enabled=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
Installation
Soweit sind nun alle notwendigen Vorbereitungen getroffen und jetzt kann nun der Munin-Client installiert werden:
[root@isrvlx01-h0 yum.repos.d]# yum install munin-node Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: ftp.plusline.de * centosplus: ftp.plusline.de * extras: ftp.plusline.de * rpmforge: mirror1.hs-esslingen.de * updates: ftp.plusline.de Excluding Packages from CentOS-5 - Base Finished Excluding Packages from CentOS-5 - Updates Finished Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package munin-node.noarch 0:1.2.5-2.el5.rf set to be updated --> Processing Dependency: perl(Net::SNMP) for package: munin-node --> Processing Dependency: perl-Net-Server for package: munin-node --> Processing Dependency: perl(Net::Server::Fork) for package: munin-node --> Processing Dependency: perl(LWP::Simple) for package: munin-node --> Running transaction check ---> Package perl-Net-SNMP.noarch 0:5.2.0-1.2.el5.rf set to be updated --> Processing Dependency: perl(Socket6) >= 0.19 for package: perl-Net-SNMP --> Processing Dependency: perl(Digest::HMAC) for package: perl-Net-SNMP --> Processing Dependency: perl(Crypt::DES) for package: perl-Net-SNMP --> Processing Dependency: perl(Digest::SHA1) for package: perl-Net-SNMP ---> Package perl-Net-Server.noarch 0:0.99-1.el5.rf set to be updated ---> Package perl-libwww-perl.noarch 0:5.805-1.1.1 set to be updated --> Processing Dependency: perl-HTML-Parser >= 3.33 for package: perl-libwww-perl --> Processing Dependency: perl(URI::URL) for package: perl-libwww-perl --> Processing Dependency: perl(URI) for package: perl-libwww-perl --> Processing Dependency: perl(HTML::Entities) for package: perl-libwww-perl --> Processing Dependency: perl(Compress::Zlib) for package: perl-libwww-perl --> Processing Dependency: perl(URI::Heuristic) for package: perl-libwww-perl --> Processing Dependency: perl(URI::Escape) for package: perl-libwww-perl --> Running transaction check ---> Package perl-Compress-Zlib.i386 0:1.42-1.fc6 set to be updated ---> Package perl-Crypt-DES.i386 0:2.05-3.2.el5.rf set to be updated ---> Package perl-Digest-HMAC.noarch 0:1.01-15 set to be updated ---> Package perl-Digest-SHA1.i386 0:2.11-1.2.1 set to be updated ---> Package perl-HTML-Parser.i386 0:3.55-1.fc6 set to be updated --> Processing Dependency: perl-HTML-Tagset >= 3.03 for package: perl-HTML-Parser --> Processing Dependency: perl(HTML::Tagset) for package: perl-HTML-Parser ---> Package perl-Socket6.i386 0:0.19-3.fc6 set to be updated ---> Package perl-URI.noarch 0:1.35-3 set to be updated --> Running transaction check ---> Package perl-HTML-Tagset.noarch 0:3.10-2.1.1 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================================= Package Arch Version Repository Size ============================================================================================================================================================= Installing: munin-node noarch 1.2.5-2.el5.rf rpmforge 148 k Installing for dependencies: perl-Compress-Zlib i386 1.42-1.fc6 base 52 k perl-Crypt-DES i386 2.05-3.2.el5.rf rpmforge 37 k perl-Digest-HMAC noarch 1.01-15 base 12 k perl-Digest-SHA1 i386 2.11-1.2.1 base 48 k perl-HTML-Parser i386 3.55-1.fc6 base 92 k perl-HTML-Tagset noarch 3.10-2.1.1 base 15 k perl-Net-SNMP noarch 5.2.0-1.2.el5.rf rpmforge 96 k perl-Net-Server noarch 0.99-1.el5.rf rpmforge 171 k perl-Socket6 i386 0.19-3.fc6 base 22 k perl-URI noarch 1.35-3 base 116 k perl-libwww-perl noarch 5.805-1.1.1 base 376 k Transaction Summary ============================================================================================================================================================= Install 12 Package(s) Upgrade 0 Package(s) Total download size: 1.2 M Is this ok [y/N]: y Downloading Packages: (1/12): perl-Digest-HMAC-1.01-15.noarch.rpm | 12 kB 00:00 (2/12): perl-HTML-Tagset-3.10-2.1.1.noarch.rpm | 15 kB 00:00 (3/12): perl-Socket6-0.19-3.fc6.i386.rpm | 22 kB 00:00 (4/12): perl-Crypt-DES-2.05-3.2.el5.rf.i386.rpm | 37 kB 00:00 (5/12): perl-Digest-SHA1-2.11-1.2.1.i386.rpm | 48 kB 00:00 (6/12): perl-Compress-Zlib-1.42-1.fc6.i386.rpm | 52 kB 00:00 (7/12): perl-HTML-Parser-3.55-1.fc6.i386.rpm | 92 kB 00:00 (8/12): perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch.rpm | 96 kB 00:00 (9/12): perl-URI-1.35-3.noarch.rpm | 116 kB 00:00 (10/12): munin-node-1.2.5-2.el5.rf.noarch.rpm | 148 kB 00:00 (11/12): perl-Net-Server-0.99-1.el5.rf.noarch.rpm | 171 kB 00:00 (12/12): perl-libwww-perl-5.805-1.1.1.noarch.rpm | 376 kB 00:00 ------------------------------------------------------------------------------------------------------------------------------------------------------------- Total 2.2 MB/s | 1.2 MB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : perl-Digest-SHA1 1/12 Installing : perl-Socket6 2/12 Installing : perl-Crypt-DES 3/12 Installing : perl-Compress-Zlib 4/12 Installing : perl-Digest-HMAC 5/12 Installing : perl-Net-SNMP 6/12 Installing : perl-URI 7/12 Installing : perl-Net-Server 8/12 Installing : perl-HTML-Tagset 9/12 Installing : perl-HTML-Parser 10/12 Installing : perl-libwww-perl 11/12 Installing : munin-node 12/12 Installed: munin-node.noarch 0:1.2.5-2.el5.rf Dependency Installed: perl-Compress-Zlib.i386 0:1.42-1.fc6 perl-Crypt-DES.i386 0:2.05-3.2.el5.rf perl-Digest-HMAC.noarch 0:1.01-15 perl-Digest-SHA1.i386 0:2.11-1.2.1 perl-HTML-Parser.i386 0:3.55-1.fc6 perl-HTML-Tagset.noarch 0:3.10-2.1.1 perl-Net-SNMP.noarch 0:5.2.0-1.2.el5.rf perl-Net-Server.noarch 0:0.99-1.el5.rf perl-Socket6.i386 0:0.19-3.fc6 perl-URI.noarch 0:1.35-3 perl-libwww-perl.noarch 0:5.805-1.1.1 Complete!
Jetzt sind soweit alle notwendigen Pakete installiert, die man für den Betrieb des Munin Nodes benötigt.
Konfiguration
Die Grundlagen, wie und wo Munin konfiguriert wird, brauche ich hier nicht zu erklären. Dafür gibt es zuhaufe Anleitungen im Netz. Wichtig in dem Zusammenhang mit diesem Tutorial ist die Tatsache, dass der Munin-Node beim Start des Servers mit gestartet werden soll. Wenn man nachschaut, ist das per Default nicht der Fall:
[root@isrvlx01-h0 munin]# chkconfig --list advise-pcpus 0:off 1:off 2:on 3:on 4:on 5:on 6:off atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off attach-static-vdis 0:off 1:off 2:on 3:on 4:on 5:on 6:off crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off dhcpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off dhcrelay 0:off 1:off 2:off 3:off 4:off 5:off 6:off ebtables 0:off 1:off 2:off 3:off 4:off 5:off 6:off elxhbamgrd 0:off 1:off 2:off 3:off 4:off 5:off 6:off elxmilid 0:off 1:off 2:off 3:off 4:off 5:off 6:off elxsnmpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off fe 0:off 1:off 2:on 3:on 4:on 5:on 6:off firstboot 0:off 1:off 2:on 3:on 4:on 5:on 6:off genptoken 0:off 1:off 2:on 3:on 4:on 5:on 6:off haldaemon 0:off 1:off 2:off 3:off 4:off 5:off 6:off ip6tables 0:off 1:off 2:off 3:off 4:off 5:off 6:off ipmievd 0:off 1:off 2:off 3:off 4:off 5:off 6:off iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off irqbalance 0:off 1:off 2:on 3:on 4:on 5:on 6:off iscsi 0:off 1:off 2:off 3:off 4:off 5:off 6:off iscsid 0:off 1:off 2:off 3:off 4:off 5:off 6:off kdump 0:off 1:off 2:on 3:on 4:on 5:on 6:off kudzu 0:off 1:off 2:off 3:off 4:off 5:off 6:off loadbrsysctl 0:off 1:off 2:on 3:on 4:on 5:on 6:off lwsmd 0:off 1:off 2:off 3:on 4:off 5:on 6:off mcstrans 0:off 1:off 2:on 3:on 4:on 5:on 6:off mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off mdmpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off messagebus 0:off 1:off 2:off 3:off 4:off 5:off 6:off microcode_ctl 0:off 1:off 2:on 3:on 4:on 5:on 6:off mpathroot 0:off 1:off 2:on 3:on 4:on 5:on 6:off mpp 0:off 1:off 2:off 3:on 4:off 5:on 6:off multipathd 0:off 1:off 2:on 3:on 4:on 5:on 6:off munin-node 0:off 1:off 2:off 3:off 4:off 5:off 6:off netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off netplugd 0:off 1:off 2:off 3:off 4:off 5:off 6:off network 0:off 1:off 2:on 3:on 4:on 5:on 6:off nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off nfslock 0:off 1:off 2:off 3:on 4:on 5:on 6:off ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off open-iscsi 0:off 1:off 2:off 3:off 4:off 5:off 6:off openvswitch 0:off 1:off 2:on 3:on 4:on 5:on 6:off perfmon 0:off 1:off 2:on 3:on 4:on 5:on 6:off portmap 0:off 1:off 2:off 3:on 4:on 5:on 6:off rawdevices 0:off 1:off 2:off 3:on 4:on 5:on 6:off rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off rpcgssd 0:off 1:off 2:off 3:on 4:on 5:on 6:off rpcidmapd 0:off 1:off 2:off 3:on 4:on 5:on 6:off rpcsvcgssd 0:off 1:off 2:off 3:off 4:off 5:off 6:off save-boot-info 0:off 1:off 2:on 3:on 4:on 5:on 6:off set-memory-target 0:off 1:off 2:on 3:on 4:on 5:on 6:off smartd 0:off 1:off 2:off 3:off 4:off 5:off 6:off snapwatchd 0:off 1:off 2:on 3:on 4:on 5:on 6:off snmpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off snmptrapd 0:off 1:off 2:off 3:off 4:off 5:off 6:off squeezed 0:off 1:off 2:on 3:on 4:on 5:on 6:off sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off sysstat 0:off 1:off 2:off 3:off 4:off 5:off 6:off tune-vcpus 0:off 1:off 2:on 3:on 4:on 5:on 6:off v6d 0:off 1:off 2:on 3:on 4:on 5:on 6:off winbind 0:off 1:off 2:off 3:off 4:off 5:off 6:off xapi 0:off 1:off 2:on 3:on 4:on 5:on 6:off xapi-domains 0:off 1:off 2:off 3:on 4:on 5:on 6:off xcp-networkd 0:off 1:off 2:on 3:on 4:on 5:on 6:off xcp-rrdd 0:off 1:off 2:on 3:on 4:on 5:on 6:off xe-linux-distribution 0:off 1:off 2:on 3:on 4:on 5:on 6:off xen-watchdog 0:off 1:off 2:off 3:off 4:off 5:off 6:off xenopsd 0:off 1:off 2:on 3:on 4:on 5:on 6:off xenservices 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Entsprechend gibt man ein
chkconfig --levels 235 munin-node on
ein und startet den Node anschließend noch mit
/etc/init.d/munin-node start
und dann sollte soweit alles funktionsfähig sein!
Ansonsten sollte nur nach Abschluss aller Arbeiten darauf geachtet werden, dass die neuen wie auch aktivierten Repos deaktiviert werden, damit man sich nicht unabsichtlich ggf. das System zerschießt (wegen den Updates von Citrix).