GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wie man OpenVZ-Limits mit vzwatchd auf Debian und Ubuntu überwacht

Vzwatchd ist ein OpenVZ-Überwachungs-Daemon, der den Serveradministrator per E-Mail benachrichtigt, wenn ein Limit des Containers erreicht ist. OpenVZ ist eine Linux-Kernel-Virtualisierungstechnologie, die häufig von Webhosting-Diensten verwendet wird. Es ist der kostenlose Kern der kommerziellen virtuozzo-Virtualisierungsanwendung. OpenVZ ist eine leichte Virtualisierung, die weniger Overhead als KVM oder XEN hat, es ist eher wie ein Linux LXC-Gefängnis, aber mit erweiterten Begrenzungsoptionen, um zu definieren, wie viele Ressourcen eine virtuelle Maschine verwenden darf, und es hat Unterstützung für Dateisystemquoten.

Dieses Tutorial erklärt die Installation und Konfiguration des vzwatchd-Daemons auf Debian und Ubuntu.

1 Verwendet mein virtueller Server OpenVZ

Haben Sie einen virtuellen Server von einem Hosting-Unternehmen gemietet, ohne zu wissen, welche Virtualisierungstechnologie verwendet wird? Führen Sie den folgenden Befehl aus, um zu testen, ob OpenVZ verwendet wird:

cat /proc/user_beancounters

Wenn die Ausgabe der folgenden ähnelt, verwendet Ihr Server OpenVZ oder eine kompatible Technologie und Sie können vzwatchd verwenden, um den vserver zu überwachen.

[email protected]:/# cat /proc/user_beancounters
Version: 2.5
uid resource held maxheld barrier limit failcnt
101: kmemsize 190939926 274194432 9223372036854775807 9223372036854775807 0
lockedpages 0 3211 1048576 1048576 0
privvmpages 749006 781311 9223372036854775807 9223372036854775807 0
shmpages 22506 30698 9223372036854775807 9223372036854775807 0
dummy 0 0 9223372036854775807 9223372036854775807 0
numproc 237 312 9223372036854775807 9223372036854775807 0
physpages 486543 804959 0 1048576 0
vmguarpages 0 0 3145728 9223372036854775807 0
oomguarpages 233498 242378 1048576 9223372036854775807 0
numtcpsock 111 298 9223372036854775807 9223372036854775807 0
numflock 253 294 9223372036854775807 9223372036854775807 0
numpty 1 12 9223372036854775807 9223372036854775807 0
numsiginfo 0 33 9223372036854775807 9223372036854775807 0
tcpsndbuf 7083944 11209000 9223372036854775807 9223372036854775807 0
tcprcvbuf 3300832 10792248 9223372036854775807 9223372036854775807 0
othersockbuf 261256 1008400 9223372036854775807 9223372036854775807 0
dgramrcvbuf 0 5152 9223372036854775807 9223372036854775807 0
numothersock 166 526 1024 1024 0
dcachesize 168291899 247843839 9223372036854775807 9223372036854775807 0
numfile 3098 5205 9223372036854775807 9223372036854775807 0
dummy 0 0 9223372036854775807 9223372036854775807 0
dummy 0 0 9223372036854775807 9223372036854775807 0
dummy 0 0 9223372036854775807 9223372036854775807 0
numiptent 28 35 9223372036854775807 9223372036854775807 0

Die Ausgabe zeigt die Limits der virtuellen Maschine, jede Zeile beschreibt ein Limit und die Spalte, die von vzwatchd überwacht wird, ist die letzte Spalte, die zählt, wie oft ein Limit erreicht wurde.

2 Installieren Sie vzwatchd

Vzwatchd ist in Perl geschrieben, es wird mit dem CPAN-Befehl aus dem Perl-CPAN-Archiv heruntergeladen und installiert.

Installieren der Voraussetzungen

Ich werde die folgenden Schritte als Root-Benutzer ausführen und sudo -s auf Ubuntu ausführen, um Root zu werden:

sudo -s

Zuerst installiere ich das Make-Tool und den Nano-Editor, Make wird von CPAN verwendet, um vzwatchd zu erstellen, und ich werde Nano später verwenden, um die Konfigurationsdatei zu bearbeiten:

apt-get install make nano

Als Nächstes installiere ich vzwatchd vom CPAN mit diesem Befehl:

cpan -i App::OpenVZ::BCWatch

Wenn Sie CPAN zum ersten Mal auf einem Server verwenden, stellt Ihnen das Skript einige Fragen zur grundlegenden CPAN-Konfiguration:

Would you like to configure as much as possible automatically? [yes]
Would you like me to automatically choose some CPAN mirror sites for you? (This means connecting to the Internet) [yes]

Beantworten Sie beide Fragen mit "Ja".

Der Installer wird nun viele Perl-Module herunterladen, kompilieren und installieren:

[email protected]:~# cpan -i App::OpenVZ::BCWatch

CPAN.pm requires configuration, but most of it can be done automatically.
If you answer 'no' below, you will enter an interactive dialog for each
configuration option instead.

Would you like to configure as much as possible automatically? [yes] yes

Autoconfigured everything but 'urllist'.

Now you need to choose your CPAN mirror sites. You can let me
pick mirrors for you, you can select them from a list or you
can enter them by hand.

Would you like me to automatically choose some CPAN mirror
sites for you? (This means connecting to the Internet) [yes] yes
Trying to fetch a mirror list from the Internet
Fetching with LWP:
http://www.perl.org/CPAN/MIRRORED.BY

Looking for CPAN mirrors near you (please be patient)
.............................. done!

New urllist
http://www.planet-elektronik.de/CPAN/
http://cpan.noris.de/
http://cpan.lnx.sk/

Autoconfiguration complete.

commit: wrote '/root/.cpan/CPAN/MyConfig.pm'

You can re-run configuration any time with 'o conf init' in the CPAN shell
Fetching with LWP:
http://www.planet-elektronik.de/CPAN/authors/01mailrc.txt.gz
Going to read '/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://www.planet-elektronik.de/CPAN/modules/02packages.details.txt.gz
Going to read '/root/.cpan/sources/modules/02packages.details.txt.gz'
Database was generated on Mon, 13 Apr 2015 23:29:02 GMT
..............
New CPAN.pm version (v2.10) available.
[Currently running version is v1.960001]
You might want to try
install CPAN
reload cpan
to both upgrade CPAN.pm and run the new version without leaving
the current session.

[... snip ...]

CPAN.pm: Going to build G/GW/GWOLF/Config-File-1.50.tar.gz

Building Config-File
GWOLF/Config-File-1.50.tar.gz
./Build -- OK
Running Build test
t/pod.t ........... Subroutine main::all_pod_files_ok redefined at /usr/local/share/perl/5.14.2/Test/Pod.pm line 90.
t/pod.t ........... ok
t/pod_coverage.t .. ok
t/test.t .......... 1/11 Invalid characters in key to'be^ignored at line 10 - Ignoring at /root/.cpan/build/Config-File-1.50-NjLxod/blib/lib/Config/File.pm line 41, <GEN0> line 10.
Line format invalid at line 11: 'malformed line that should be also dropped (no equal sign)' at /root/.cpan/build/Config-File-1.50-NjLxod/blib/lib/Config/File.pm line 35, <GEN0> line 11.
t/test.t .......... ok
All tests successful.
Files=3, Tests=13, 0 wallclock secs ( 0.03 usr 0.00 sys + 0.13 cusr 0.02 csys = 0.18 CPU)
Result: PASS
GWOLF/Config-File-1.50.tar.gz
./Build test -- OK
Running Build install
Building Config-File
Installing /usr/local/share/perl/5.14.2/Config/File.pm
Installing /usr/local/man/man3/Config::File.3pm
GWOLF/Config-File-1.50.tar.gz
./Build install -- OK
Running Build for S/SC/SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
Has already been unwrapped into directory /root/.cpan/build/App-OpenVZ-BCWatch-0.04-4Al97O

CPAN.pm: Going to build S/SC/SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz

Building App-OpenVZ-BCWatch
SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
./Build -- OK
Running Build test
t/00-load.t ....... ok
t/basic.t ......... ok
t/pod-coverage.t .. ok
t/pod.t ........... ok
All tests successful.
Files=4, Tests=6, 0 wallclock secs ( 0.04 usr 0.01 sys + 0.27 cusr 0.04 csys = 0.36 CPU)
Result: PASS
SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
./Build test -- OK
Running Build install
Building App-OpenVZ-BCWatch
Installing /usr/local/man/man1/vzwatchd.1p
Installing /usr/local/share/perl/5.14.2/App/OpenVZ/BCWatch.pm
Installing /usr/local/man/man3/App::OpenVZ::BCWatch.3pm
Installing /usr/local/bin/vzwatchd
SCHUBIGER/App-OpenVZ-BCWatch-0.04.tar.gz
./Build install -- OK

Es ist wichtig, dass Sie die Linie

sehen
./Build install -- OK

am Ende der Kompilierausgabe. Wenn Sie stattdessen eine Fehlermeldung erhalten, führen Sie den Befehl erneut aus. Ich musste den Befehl zweimal ausführen, um alle Module erfolgreich zu kompilieren.

Um zu überprüfen, ob die Installation erfolgreich war, führen Sie den folgenden Befehl aus:

vzwatchd check

Dadurch wird die Installation überprüft und eine Beispielkonfigurationsdatei erstellt.

[email protected]:~# vzwatchd check
/etc/vzwatchd.conf does not exist, creating one with defaults.
Edit /etc/vzwatchd.conf to suit your needs and then start /usr/local/bin/vzwatchd again.

3 vzwatchd konfigurieren und aktivieren

Jetzt werde ich die Datei vzwatchd.conf bearbeiten und die E-Mail-Adresse für die Benachrichtigungen festlegen.

nano /etc/vzwatchd.conf

Die Konfigurationsdatei sollte so aussehen, nachdem Sie sie bearbeitet haben, nur natürlich mit Ihrer eigenen E-Mail-Adresse.

mail[from] = [email protected]
mail[to] = [email protected]
mail[subject] = vzwatchd on server.example.com: NOTICE
sleep = 60
verbose = 0
monitor_fields = failcnt
_active = 1

Die Änderungen sind:

  • Die Zeile "mail[from]" enthält die Absenderadresse der Benachrichtigungs-E-Mails.
  • Die Zeile "mail[to]" enthält die E-Mail-Adresse, die die Benachrichtigungen erhalten soll.
  • Der Wert in der Zeile "_active" muss auf 1 geändert werden, um vzwatchd zu aktivieren.
  • Wenn Sie mehrere OpenVZ-Server betreiben, kann es praktisch sein, "mail[subject]" so zu ändern, dass es den Servernamen enthält.

Konfigurieren Sie vzwatchd so, dass es automatisch startet, wenn der Server hochfährt:

vzwatchd install
[email protected]:~# vzwatchd install
+ /usr/sbin/update-rc.d vzwatchd defaults
update-rc.d: warning: /etc/init.d/vzwatchd missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
Adding system startup for /etc/init.d/vzwatchd ...
/etc/rc0.d/K20vzwatchd -> ../init.d/vzwatchd
/etc/rc1.d/K20vzwatchd -> ../init.d/vzwatchd
/etc/rc6.d/K20vzwatchd -> ../init.d/vzwatchd
/etc/rc2.d/S20vzwatchd -> ../init.d/vzwatchd
/etc/rc3.d/S20vzwatchd -> ../init.d/vzwatchd
/etc/rc4.d/S20vzwatchd -> ../init.d/vzwatchd
/etc/rc5.d/S20vzwatchd -> ../init.d/vzwatchd

Und starten Sie den vzwatchd Monitor-Daemon:

vzwatchd start
[email protected]:~# vzwatchd start
Starting /usr/local/bin/vzwatchd server

Jetzt werden Sie per E-Mail benachrichtigt, wenn Ihr virtueller OpenVZ-Server eine der Grenzen des OpenVZ-Containers erreicht.

  • OpenVZ
  • Vzwatchd

Ubuntu
  1. So installieren Sie Netflix in Kodi unter Ubuntu und Debian

  2. So verwenden Sie APT mit Proxy unter Ubuntu und Debian

  3. So installieren Sie Python 3.7 unter Ubuntu, Debian und LinuxMint

  4. So installieren Sie Mattermost mit MySQL unter Ubuntu 14.04 und Debian 8

  5. So richten Sie IP-Failover mit KeepAlived unter Ubuntu und Debian ein

So installieren Sie LEMP WordPress Ubuntu und Debian mit Virtualhost

So installieren Sie Zoom Ubuntu und Debian-Derivate

So richten Sie ein IPsec-basiertes VPN mit Strongswan unter Debian und Ubuntu ein

So installieren Sie Jitsi Meet unter Debian und Ubuntu

So installieren Sie Drupal mit Apache auf Debian und Ubuntu

So installieren Sie ONLYOFFICE-Dokumente unter Debian und Ubuntu