System-Statistiken unter Ubuntu mit serverstats sammeln

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Zur Analyse von Betriebssystem-Statistiken gibt es zahlreiche Möglichkeiten, für eine grobe Analyse reicht es aber in vielen Fällen die wichtigsten Komponenten unter die Lupe zu nehmen. Das rrd-verwendende Werkzeug serverstats bietet einen schnellen und einfachen Zugang zu Statistiken und Graphen über Load, Prozesse, Memory und Festplatte. Im folgenden Artikel wird beschrieben, wie serverstats unter Ubuntu 14.04 LTS installiert und konfiguriert wird.

Installation

Das Package serverstats befindet sich in den Ubuntu-Repos und wird daher über apt installiert:[1]

$ sudo apt-get install serverstats
[...]
The following extra packages will be installed:
  libapache2-mod-php5 libc-client2007e libgd3 libjbig0 libjpeg-turbo8 libjpeg8
  libmcrypt4 libmysqlclient18 libperl5.18 libsensors4 libsnmp-base libsnmp30
  libtiff5 libvpx1 libxpm4 mlock mysql-common php5 php5-cli php5-common
  php5-gd php5-imap php5-json php5-mcrypt php5-mysql php5-readline php5-snmp
  rrdtool
[...]
The following NEW packages will be installed:
  libapache2-mod-php5 libc-client2007e libgd3 libjbig0 libjpeg-turbo8 libjpeg8
  libmcrypt4 libmysqlclient18 libperl5.18 libsensors4 libsnmp-base libsnmp30
  libtiff5 libvpx1 libxpm4 mlock mysql-common php5 php5-cli php5-common
  php5-gd php5-imap php5-json php5-mcrypt php5-mysql php5-readline php5-snmp
  rrdtool serverstats
0 upgraded, 29 newly installed, 0 to remove and 0 not upgraded.
Need to get 8,686 kB of archives.
After this operation, 35.6 MB of additional disk space will be used.
[...]

Konfiguration

Nützliche Informationen zu serverstats finden sich vor allem im Verzeichnis /usr/share/doc/serverstats/:

:/usr/share/doc/serverstats$ ls
changelog.Debian.gz  examples  graph-config.txt.gz  simple-config.txt
copyright            faq.txt   README.Debian        sources.txt.gz

Um das Interface über den Web-Browser zugänglich zu machen, wird die Beispiel-Konfiguration für Apache ins entsprechende /etc-Verzeichnis kopiert und aktiviert:

:/usr/share/doc/serverstats# cp examples/apache.conf /etc/apache2/sites-available/serverstats.conf
# a2ensite serverstats.conf
# service apache2 reload

Im Prinzip ist dadurch eine erste, einfache Konfiguration bereits abgeschlossen. Das Web-Interface zeigt die Graphen, generiert aus den rrd-Daten, an:

Ubuntu-serverstats-graph1.png

Komponenten hinzufügen

Das Haupt-Konfigurationsverzeichnis für serverstats befindet sich unter:

$ ls /etc/serverstats/
graph.php  log.php  main.php  monitor.php  rra.php  simple.php  sources.php

Standardmäßig wird über die Datei simple.php eine grundlegende Konfiguration bereit gestellt. In dieser Datei werde nun weitere Komponenten konfiguriert, im folgenden Beispiel die Festplatte /dev/sda (der Abschnitt disk ist bereits vorhanden, used wird jedoch auf true gesetzt):

$  cd /etc/serverstats/
$ sudo vi simple.php
 'disk' => array(
                'used' => true,
                'disks' => array('sda'),
                'graphs' => array(
                        'iorate' => array('used' => true, 'title' => 'IO-Rate (%s)')
                )
        ),

Ob die Konfiguration erfolgreich war, lässt sich dadurch prüfen, ob dir rrd-Daten erstellt wurden:

$ cd /var/lib/serverstats/rrd
:/var/lib/serverstats/rrd$ ls
cpu.rrd  disk_sda.rrd  load.rrd  memory.rrd  traffic_proc_eth0.rrd  users.rrd

Im Web-Interface erscheinen die neuen Graphen automatisch, da ein cronjob update.php jede Minute aufruft:

$ cat /etc/cron.d/serverstats 
$ Update the serverstatistic every minute.
* * * * * nobody if [ -x /usr/bin/php5 ] && [ -f /usr/share/serverstats/update.php ]; then /usr/bin/php5 /usr/share/serverstats/update.php > /dev/null; fi

Auf welcher Basis die rrd-Daten aufgebaut werden, lässt sich aus den Plugins extrahieren. Im Falle des disk-Plugins ist das /proc/diskstats:

$ grep diskstats /usr/share/serverstats/sources/disk.php
	public function __construct($disk, $withpartitions = false, $sector_size = 512, $path_stat = '/proc/diskstats')

Ubuntu-serverstats-graph2.png

Einzelnachweise

  1. Ubuntu Package serverstats (packages.ubuntu.com)


Foto Georg Schönberger.jpg

Autor: Georg Schönberger

Georg Schönberger, Abteilung DevOps bei der XORTEX eBusiness GmbH, absolvierte an der FH OÖ am Campus Hagenberg sein Studium zum Bachelor Computer- und Mediensicherheit, Studium Master Sichere Informationssysteme. Seit 2015 ist Georg bei XORTEX beschäftigt und arbeitet sehr lösungsorientiert und hat keine Angst vor schwierigen Aufgaben. Zu seinen Hobbys zählt neben Linux auch Tennis, Klettern und Reisen.


Das könnte Sie auch interessieren

Linux I/O Performance Messungen mit iostat
Linux Performance Messungen mit vmstat
TCP und UDP Netzwerk Performance mit iperf messen