30. August 2010
In OpenNMS gibt es zwar auch einen “nativen” Memcached-Monitor – aber dieser funktioniert nur wenn der Memcached direkt über das Netz vom Monitorserver aus erreichbar ist.
Mit der bekannten SNMP-extend Methode lässt sich der Memcached Daemon auch gut via SNMP mit OpenNMS überwachen. Hier nur kurz die wichtigsten Scripte und Schritte:
Service überwachen
Das geht am einfachsten über das “HostResourceSwRunPlugin” Plugin welches die laufenden Prozesse via SNMP überwacht. Zunächst muss der Service überhaupt erkannt werden:
/etc/opennms/capsd-configuration.xml
<protocol -plugin protocol="Process-memcached"
class-name="org.opennms.netmgt.capsd.plugins.HostResourceSwRunPlugin"
scan="on" user-defined="false">
<property key="timeout" value="2000" />
<property key="retry" value="1" />
<property key="service-name" value="memcached" />
</protocol>
Dann wird die Überwachung definiert:
/etc/opennms/poller-configuration.xml
...
<service name="Process-memcached" interval="300000"
user-defined="false" status="on">
<parameter key="retry" value="5"/>
<parameter key="timeout" value="10000"/>
<parameter key="service-name" value="memcached"/>
<parameter key="run-level" value="3"/>
<parameter key="match-all" value="true"/>
</service>
...
<monitor service="Process-memcached" class-name="org.opennms.netmgt.poller.monitors.HostResourceSwRunMonitor"/>
Statistiken
Um noch ein paar Graphen zu generieren werden per SNMP noch die Statusdetails des Memcached Daemons übertragen…
Weiterlesen
8. August 2010
Um beim Apache den Content-Type für *.svg Dateien korrekt zu setzen:
<FilesMatch "\.(svg|SVG)$" >
ForceType image/svg+xml
</FilesMatch>
19. Juli 2010
Nur damit ich die Kommandos in 4 (oder 2) Jahren nicht vergesse:
#ARD
cvlc dvb-t:// :dvb-frequency=690000000 :dvb-bandwith=8 :program=256 \
--sout '#standard{access=http,mux=ogg,dst=0.0.0.0:8080}'
#ZDF
cvlc dvb-t:// :dvb-frequency=586000000 :dvb-bandwith=8 :program=514 \
--sout '#standard{access=http,mux=ogg,dst=0.0.0.0:8080}'
#Eurosport (Update)
cvlc dvb-t:// :dvb-frequency=722000000 :dvb-bandwith=8 :program=16420 \
--sout '#standard{access=http,mux=ogg,dst=0.0.0.0:8080}'
Das Paket für den VLC ohne GUI unter Ubuntu heißt “vlc-nox”. Damit wird das Signal vom DVB-T USB-Stick im Raum Düsseldorf per HTTP Port 8080 im lokalen Netz verteilt. Bei vielen Clients sollte man lieber per Multicast streamen…
Update: Es gibt doch tatsächlich noch ein paar Tour-de-France gucker heute, daher auch noch das Kommando für Eurosport.
12. Juli 2010
Es gibt viele Gründe für 2 Netzwerkkarten im Server. Sollen diese in unterschiedliche Netze angebunden werden gibt es Probleme weil normalerweise nur ein Standardgateway existiert.
Der Traffic verlässt zwar korrekt den Server über die gesetzten Routen, jedoch die Pakete an fremde Ziele verlassen den Server immer über die default-route, also u.U. nicht über das richtige Interface.
Folgend kurz die Schritte zum Einrichten eines Policy-Based Routing unter Debian/Ubuntu…
Ausgangslage
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.7.56 0.0.0.0 255.255.255.248 U 0 0 0 eth0
10.10.6.32 0.0.0.0 255.255.255.224 U 0 0 0 eth1
Neue Einträge anlegen
echo "1 dmz-a" >> /etc/iproute2/rt_tables
echo "2 dmz-b" >> /etc/iproute2/rt_tables
eth0 Route anlegen
ip route add 10.10.7.56/29 dev eth0 src 10.10.7.58 table dmz-a
ip route add default via 10.10.7.57 dev eth0 table dmz-a
ip rule add from 10.10.7.58/32 table dmz-a
ip rule add to 10.10.7.58/32 table dmz-a
eth1 Route anlegen
ip route add 10.10.6.32/27 dev eth1 src 10.10.6.35 table dmz-b
ip route add default via 10.10.6.33 dev eth1 table dmz-b
ip rule add from 10.10.6.35/32 table dmz-b
ip rule add to 10.10.6.35/32 table dmz-b
Das Kommando “ip route show” sollte jetzt die entsprechenden Einträge zeigen.
Theoretisch könnte man sich das PBR für eine der beiden NICs sparen wenn man dort einfach die klassische default-route setzt. Hier noch eine ausführliche Anleitung zum Thema.
8. Juni 2010
Es ist soweit: OpenNMS 1.8 ist da. Eher unbeabsichtigt kam ich soeben in die Lage unser NMS auf Version 1.8 zu hieven. Eigentlich wollte ich nur ein paar Updates einspielen und rechnete nicht damit, dass ein Major-Update darunter war
. Glücklicherweise lief alles bis auf eine Kleinigkeit problemlos.
Da ich das OpenNMS-repository in der sources.list habe, reichte mein routinemäßig durchgeführtes “apt-get update && apt-get upgrade” um OpenNMS auf 1.8 zu bringen. Die Fragen zum Überschreiben diverser Konfigurationsdateien habe ich alle mit “N” beantwortet. Die neuen Dateien werden dann mit *.dpkg-dist angelegt. Anschließend bin ich die Änderungen manuell durchgegangen – schließlich möchte ich nichts neues verpassen und aber auch meine alten Daten weiterverwenden.
OpenNMS startete. Leider konnte ich mich nicht in das Webinterface einloggen. Irgendeine Fehlermeldung die Datenbank betreffend. Hmm, da scheint apt wohl die Datenbank nicht aktualisiert zu haben (warum eigentlich nicht?). Da ich nicht wusste was zu tun ist, bin ich nochmal den oben erwähnten Wiki-Eintrag durchgegangen. Im Abschnitt “Initialize OpenNMS and the Database” fand sich dann der unscheinbare aber wichtige Satz:
Upon upgrade, you should run this command again to make sure your database schema and other things required at startup are up-to-date
Also folgendes Kommando ausgeführt:
/usr/share/opennms/bin/install -dis
Anschließend konnte ich mich wieder einloggen. Auf dem ersten Blick scheint alles das Update überstanden zu haben. Die custom-Poller arbeiten und meine Graphen werden weiter aufgezeichnet. Jetzt schaue ich mir erst mal die neuen Features an…
3. Juni 2010
Ubuntu Lucid verwendet grub2. Manchmal möchte man nur einmal ein anderes OS booten ohne danach auf den Boot-Timeout zu warten und den richtigen Grub-Eintrag auszuwählen.
Vorbereitung
Folgende Zeile in der /etc/default/grub ändern und danach einmalig “sudo update-grub” ausführen:
# /etc/default/grub
GRUB_DEFAULT=saved
Benutzung
# Windows 7 nur beim nächsten Booten setzen und danach Neustart
grub-reboot "Windows 7 (loader) (on /dev/sda2)" && reboot
# Grub Menüeintrag Nr. 3 nur beim nächsten Booten setzen und danach Neustart
grub-reboot 2 && reboot # (fängt bei 0 an zu zählen)
Verknüpfung unter Gnome
Dafür ist mal wieder zenity ganz praktisch: Verknüpfung zum folgenden Kommando anlegen:
bash -c 'zenity --question --text="Wirklich rebooten?"; if [ $? -eq 0 ]; then gksudo grub-reboot "Windows 7 (loader) (on /dev/sda2)" && gksudo reboot; fi'
31. Mai 2010
Für das nächste Mal schreibe ich mir jetzt die Schritte auf die ich durchführe wenn ich Ubuntu Desktop installiere. Natürlich ist die Zusammenstellung eines Systems immer individuell – dieses ist halt meines
Repositories erweitern und updaten
sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo add-apt-repository ppa:mozillateam/firefox-stable
sudo add-apt-repository ppa:dnjl/virtualization
sudo apt-get update
sudo apt-get upgrade
Pakete installieren
sudo apt-get install \
ttf-mscorefonts-installer \
thunderbird \
virt-manager \
hotssh \
wine
Schriftenrendering verbessern
Da ich mich irgendwie nicht so richtig mit Anti-Alias Schriftarten auf LCD Monitoren anfreunden kann und das Font-Styling von Windows XP mag, stelle ich zuerst das Font-Rendering um (laut www.sharpfonts.com):
sudo apt-get install ttf-mscorefonts-installer
wget http://www.sharpfonts.com/fontconfig.tbz
sudo tar xvjpf fontconfig.tbz -C /etc/fonts/
wget http://www.sharpfonts.com/fonts/tahoma32.exe
sudo cabextract -d /usr/share/fonts/truetype/ tahoma32.exe
Danach unter System->Einstellungen->Erscheinungsbild die “Schriftart in Anwendungen” auf Tahoma 8pt setzen
31. Mai 2010
Seit einiger Zeit meldet sich in den access-logs ein Agent mit “Nitro PDF Doaload”.
12. Mai 2010
Da unsere DNS-Server für fremde Zonen logischerweise direkt die Root-Nameserver befragen hatten wir natürlich auch mit dem DENIC-Problem zu kämpfen. Die google-Nameserver verwende ich normalerweise aus verschiedenen Gründen nicht, aber zur Zeit sind sie willkommen… Schnell in die named.conf auf den Nameservern eingetragen kann wenigstens wieder gesurft werden. Wenn das Problem vorüber ist wird der forwarder wieder raus genommen.
# named.conf
options {
...
forwarders {
8.8.8.8;
};
forward first;
}
Anscheinend verwendet Google andere TTLs oder einen sonstigen Mechanismus um die Zonen länger gültig zu halten.
9. Mai 2010
Caches sind ein schöne Sache. Gerade bei der Generierung von Webseiten spielen sie ihre Stärke voll aus: im Allgemeinen wird eine Webseite erheblich öfter aufgerufen als verändert.
Mittlerweile sollte sich der memcached Daemon herumgesprochen haben (Installation unter Centos). Hier die paar Zeilen um die Typo3 Caches von MySQL auf memcached umzustellen (funktioniert zumindest ab Typo3 4.3 on the fly).
In der typo3conf/localconf.php folgendes eintragen:
$TYPO3_CONF_VARS['SYS']['useCachingFramework'] = '1';
$TYPO3_CONF_VARS['SYS']['caching']['cacheConfigurations'] = array(
'cache_pages' => array(
'backend' => 't3lib_cache_backend_MemcachedBackend',
'options' => array(
'servers' => array('localhost:11211'),
),
),
'cache_pagesection' => array(
'backend' => 't3lib_cache_backend_MemcachedBackend',
'options' => array(
'servers' => array('localhost:11211'),
),
),
'cache_hash' => array(
'backend' => 't3lib_cache_backend_MemcachedBackend',
'options' => array(
'servers' => array('localhost:11211'),
),
),
);
Das sollte es gewesen sein, die Tabellen cache_pages, ‘cache_pagesection und cache_hash können getrost geleert werden und sollten nicht mehr von Typo3 verwendet werden.
Update: localconf.php Code changed