Install Icinga 2 on pfSense 2.3

pfSense 2.3 is using FreeBSD 10.3 as base. Needless to say that my firewall has to be in my monitoring. The install procedure isn’t as easy as expected.
pfSense 2.3 is since this version fully using the pkg infrastucture which should be well known by the BSD users. But it doesn’t provide a „pkg –install-dependencies“ command :-( You have to resolve them by hand. The needed links are:

http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/bash-4.3.46_1.txz
http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/mysql56-client-5.6.30.txz
http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/icu-55.1,1.txz
http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/boost-libs-1.55.0_12.txz
http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/yajl-2.1.0.txz
http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/postgresql93-client-9.3.13_2.txz
http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/monitoring-plugins-2.1.2.txz
http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/icinga2-2.4.10.txz

Each link have to be used with „pkg install <url>“. For example:

:-$ pkg install http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/bash-4.3.46_1.txz

After all these steps you can normally work with Icinga 2. The config files are not stored the Linux way unter /etc/icinga2 but under /usr/local/etc/icinga2.

Icinga 2 auf pfSense 2.3 installieren

pfSense 2.3 benutzt als Basis FreeBSD 10.3. Und auch meine Firewall muss ins Monitoring. Leider war das etwas schwieriger als gedacht.
pfSense 2.3 benutz seit dieser Version vollständig die pkg Infrastruktur, die BSDler gewohnt sind. Leider gibt es kein „pkg –install-dependencies“ Kommando. Abhängigkeiten müssen selbst installiert werden :-(

Damit pfSense trotzdem aus den Repos (auf BSD nennt man die Ports) installiert werden, muss man selber Hand anlegen.

http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/bash-4.3.46_1.txz
http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/mysql56-client-5.6.30.txz
http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/icu-55.1,1.txz
http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/boost-libs-1.55.0_12.txz
http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/yajl-2.1.0.txz
http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/postgresql93-client-9.3.13_2.txz
http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/monitoring-plugins-2.1.2.txz
http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/icinga2-2.4.10.txz

Diese Links führt man nun nacheinander auf der Konsole un dem Prefix „pkg install <url>“ aus. Also zum Beispiel:

:-$ pkg install http://pkg.freebsd.org/freebsd:10:x86:64/latest/All/bash-4.3.46_1.txz

Danach kann man ganz normal mit Icinga 2 arbeiten. Die Konfig Dateien liegen aber nicht (wie auf Linux gewohnt) unter /etc/icinga2 , sondern unter /usr/local/etc/icinga2.

Tor: Shutdown meines Exit Relays

Vor zwei bis drei Wochen habe ich mein Tor Exit Relay heruntergefahren. Der Grund hierfür ist der Umgang der Tor „Community“ über die Vorwürfe gegen ioerror. Viele Threads gingen auf den Mailing Lists auf und alle spekulierten wild rum. Niemand lieferte Beweise und viele Opfer versteckten sich in der Anonymität.
Das Verhalten der sogenannten Community hat mich zutiefst bestürzt. Danach habe ich beschlossen mein Relay abzuschalten und das Projekt nicht weiter zu unterstützen.

Der Daemon ist deinstalliert und die Keys wurde sicher gelöscht. Ich habe mich von allen Mailinglisten abgemeldet. Die negativen Seiten von Tor überwiegen damit für mich.

Icinga2 Notifications sent over Pushover.net

I recently switched to Pushover.net for sending my Icinga 2 notifications on my smartphone.

Edit the script

Pushover published many sample implementation scripts on their website. I use the perl and adapted it a bit. It’s stored on my master server under /etc/icinga2/scripts/pushover.pl and contains

#!/usr/bin/perl

use LWP::UserAgent;
use Mozilla::CA;

LWP::UserAgent->new()->post(
 "https://api.pushover.net/1/messages.json", [
 "token" => "myapitoken",
 "user" => "myusertoken",
 "message" => $ENV{'message'},
 "title" => $ENV{'title'},
]);

Read More „Icinga2 Notifications sent over Pushover.net“

Icinga 2: High inode usage in /var/spool/icinga2/perfdata

Just a short post because the topic is not very hard. My Icinga 2 notified me of high inode usage on my master server. Thanks to Stackexchange I’ve got an one line command to display the directories with high inode usage:

:~$ find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n

The output was:

   1122 /usr/share/man/man1
   2360 /usr/share/man/man3
   3150 /var/lib/dpkg/info
  30497 /var/lib/grafana/png
 896245 /var/spool/icinga2/perfdata

The directory /var/spool/icinga2/perfdata held nearly 900.000 files. These contained performance data from previously done checks. The Icinga 2 feature to „blame“ for this behaviour is perfdata. I activated that feature because I believed I wouldn’t get any performance data at all without it. Thats false. You can safely deactivate it:

:~$ icinga2 feature disable perfdata
:~$ systemctl reload icinga2.service

Afterwards you can remove the already stored files either each file on its own:

:~$ find /var/spool/icinga2/perfdata -type f -delete

or the whole directory at once:

:~$ rm -rf /var/spool/icinga2/perfdata

Icinga 2: Hoher inode Verbrauch unter /var/spool/icinga2/perfdata

Nur ein kurzer Blogeintrag, weil man da Thema nicht wirklich unnötig lange ausformulieren muss. Mein Icinga 2 hat mich darauf hingewiesen, dass mein Master Server einen hohen inode Verbrauch hat. Dank Stackexchange habe ich einen Einzeiler erhalten, der mir den inode Verbrauch in Ordnern aufsummiert und sortiert:

:~$ find / -xdev -printf '%h\n' | sort | uniq -c | sort -k 1 -n

Die Ausgabe in meinem Fall war:

   1122 /usr/share/man/man1
   2360 /usr/share/man/man3
   3150 /var/lib/dpkg/info
  30497 /var/lib/grafana/png
 896245 /var/spool/icinga2/perfdata

Im Ordner unter /var/spool/icinga2/perfdata waren knapp 900.000 Dateien. In diesen stehen die Performance Werte von ausgeführten Checks drinnen. Verursacht werden diese Anhäufung durch das Icinga 2 Feature perfdata.
Ich hatte das damals aktiviert, weil ich dachte, dass ich nur so Performance Daten weitergeben kann. Dies ist aber nicht der Fall. Deaktivieren kann man es einfach via:

:~$ icinga2 feature disable perfdata
:~$ systemctl reload icinga2.service

Die bereits gespeicherten Daten kann man gefahrlos entfernen. Entweder man löscht alle Dateien einzeln mit

:~$ find /var/spool/icinga2/perfdata -type f -delete

oder gleich den gesamten Ordner:

:~$ rm -rf /var/spool/icinga2/perfdata

 

Sinusbot auf Debian 8

Der einzig gute TeamSpeak 3 Musikbot ist Sinusbot. Zumindest habe ich bis jetzt keine anständige Alternative gefunden. Das Problem mit TeamSpeak 3 ist, dass es eine GUI braucht. Auf Headless Servern kann man mit einem falschen X11 Server GUI Anwendungen laufen lassen. Leider ist die Codebase von Sinusbot nicht öffentlich verfügbar. Hinzu kommt, dass Sinusbot aktuell nur in einer Beta Version verfügbar ist.

Voraussetzung ist eine Debian 8 Headless Linux Server in der 64 bit Variante. 32 bit Installationen sind nicht kompatibel mit dem Sinusbot.

Am Anfang eine kleine Vorgeschichte

Auf der Entwicklerseite wird Sinusbot in der Version 0.9.8 angeboten. Dieser läuft aber auf keinen meiner getesteten Linux Versionen. In der Installationsanleitung wird nicht die normale Version verwendet, sondern Sinusbot in der Version 0.9.11-ee30ef7. Diese läuft aber auch nicht. Erst wenn man die Seite genauer ansieht, dann findet man sozusagen eine Beta Version von der Beta Version 0.9.12.2-58b509d und diese funktioniert auch.

Das Projekt hat eine schöne Homepage, aber wenn der Quellcode öffentlich wäre, dann könnte man selbst Versionen aus dem Git bauen. Vor jedem Systemupdate sollte man ein Backup von der kompletten Festplatte machen.

Vorbereitung

Abhängigkeiten und anlegen eines User Accounts

Read More „Sinusbot auf Debian 8“

Icinga2 Notifications via Pushover.net

Vor einiger Zeit habe ich in einem Artikel geschrieben, wie man den Notify My Android Dienst für Icinga 2 Notifications einbindet. Leider ist dieser hin und wieder für mehrere Tage offline. Deshalb bin ich zu einem größeren Anbieter gewechselt. Pushover.net bietet die selbe Funktionalität und war bei mir bis jetzt ohne Ausfall erreichbar.

Script anpassen

Pushover hat viele Integrationsbeispiele des API Aufrufes auf deren Homepage. Ich benutze das Perl Beispiel und habe es ein bisschen modifiziert. Das Script liegt auf meinem Monitoring Host unter /etc/icinga2/scripts/pushover.pl und hat diesen Inhalt:

#!/usr/bin/perl

use LWP::UserAgent;
use Mozilla::CA;

LWP::UserAgent->new()->post(
 "https://api.pushover.net/1/messages.json", [
 "token" => "meinapitoken",
 "user" => "meinusertoken",
 "message" => $ENV{'message'},
 "title" => $ENV{'title'},
]);

Read More „Icinga2 Notifications via Pushover.net“

pfSense: Ethernet Errors while running as KVM guest

Since pfSense version 2.3 I’ve experienced „Network In“ errors on three virtual NICs. The error counters went up fast when traffic greater than 600 MBit/s were flowing through it. This didn’t cause problems in the daily business but a known error isn’t nice.

Problem description

I extraced the error counters of each interface with the help of netstat:

[2.3.1-RELEASE][admin@firewall.veloc1ty.lan]/root: netstat -i
Name    Mtu Network       Address              Ipkts Ierrs Idrop    Opkts Oerrs  Coll
em0  1500 <Link#1>      52:54:00:22:c1:4e  6382653     0     0  3615536     0     0
em0     - fe80::5054:ff fe80::5054:ff:fe2        0     -     -        0     -     -
em0     - 192.168.0.0   192.168.0.2         130795     -     -   130793     -     -
em1  1500 <Link#2>      52:54:00:4b:db:65  3565098  1764     0  6262855     0     0
em1     - fe80::5054:ff fe80::5054:ff:fe4        0     -     -        0     -     -
em1     - 192.168.1.0   firewall             26136     -     -     5083     -     -
em2  1500 <Link#3>      52:54:00:0c:74:9a  1247489   866     0  1083952     0     0
em2     - fe80::5054:ff fe80::5054:ff:fe0        0     -     -        0     -     -
em2     - 192.168.2.4/3 gw-overwatch         32648     -     -    39455     -     -
em3  1500 <Link#4>      52:54:00:f3:52:7f        5     0     0       67     0     0
em3     - fe80::5054:ff fe80::5054:ff:fef        0     -     -        0     -     -
em3     - 192.168.2.0/3 gw-torrent               0     -     -        0     -     -
em4  1500 <Link#5>      52:54:00:3c:81:23   897703 14899     0  1025503     0     0
em4     - fe80::5054:ff fe80::5054:ff:fe3        0     -     -        0     -     -
em4     - 192.168.3.0/2 gw-servers            4408     -     -    14210     -     -

The „Ierrs“ value of em1, em2 and em4 are very hight. Read More „pfSense: Ethernet Errors while running as KVM guest“

pfSense: Ethernet Errors als KVM Guest

Ich hatte seit dem Update auf pfSense 2.3 „Network In“ Errors auf drei meiner virtuellen NICs. Vor allem, wenn Traffic größer als 600 MBit/s durch die Firewall geroutet werden, ging der Fehlerzähler stark nach oben. Im Alltag bemerkte man das nicht, jedoch mag ich es nicht, wenn man ein Problem verdrängt.

Diagnose

Mit Hilfe von netstat kann man sich den Fehlercounter pro Interface anzeigen lassen:

[2.3.1-RELEASE][admin@firewall.veloc1ty.lan]/root: netstat -i
Name    Mtu Network       Address              Ipkts Ierrs Idrop    Opkts Oerrs  Coll
em0  1500 <Link#1>      52:54:00:22:c1:4e  6382653     0     0  3615536     0     0
em0     - fe80::5054:ff fe80::5054:ff:fe2        0     -     -        0     -     -
em0     - 192.168.0.0   192.168.0.2         130795     -     -   130793     -     -
em1  1500 <Link#2>      52:54:00:4b:db:65  3565098  1764     0  6262855     0     0
em1     - fe80::5054:ff fe80::5054:ff:fe4        0     -     -        0     -     -
em1     - 192.168.1.0   firewall             26136     -     -     5083     -     -
em2  1500 <Link#3>      52:54:00:0c:74:9a  1247489   866     0  1083952     0     0
em2     - fe80::5054:ff fe80::5054:ff:fe0        0     -     -        0     -     -
em2     - 192.168.2.4/3 gw-overwatch         32648     -     -    39455     -     -
em3  1500 <Link#4>      52:54:00:f3:52:7f        5     0     0       67     0     0
em3     - fe80::5054:ff fe80::5054:ff:fef        0     -     -        0     -     -
em3     - 192.168.2.0/3 gw-torrent               0     -     -        0     -     -
em4  1500 <Link#5>      52:54:00:3c:81:23   897703 14899     0  1025503     0     0
em4     - fe80::5054:ff fe80::5054:ff:fe3        0     -     -        0     -     -
em4     - 192.168.3.0/2 gw-servers            4408     -     -    14210     -     -

Hier ist der Wert von „Ierrs“ bei den Schnittstellen em1, em2 und em4 sehr hoch. Read More „pfSense: Ethernet Errors als KVM Guest“