MSSQL databases from Icinga Web 2

Disclaimer: This guide is only for RedHat and CentOS 7, using the PHP SCL packages with the official icingaweb2 package.
Often when we help customers implement Icinga 2, Icinga Web 2 and Director, they use custom imports to pull in data to their monitoring config. Whenever data is in need to be pulled from a MSSQL database, this can be challenging. Their are multiple guides around the Internet, even from Microsoft.
This post should clear things how to achieve this with the official Icinga packages and their requirements.

Requirements

Basic Installation Icinga Web 2

First of all icingaweb2 and PHP needs to be installed – usually you should have this already…

# on RedHat
subscription-manager repos --enable rhel-7-server-optional-rpms
subscription-manager repos --enable rhel-server-rhscl-7-rpms
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# on CentOS
yum install centos-release-scl epel-release
yum install httpd icingaweb2
systemctl start httpd.service
systemctl enable httpd.service
echo "date.timezone = Europe/Berlin" > /etc/opt/rh/rh-php71/php.d/timezone.ini
systemctl start rh-php71-php-fpm.service
systemctl enable rh-php71-php-fpm.service

Please also see the official documentation.

MSSQL PDO driver for PHP

Their are multiple ways to install a MSSQL compatible driver, but with icingaweb2 and the ZendFramework below in mind, we need to use pdo_dblib with FreeTDS as driver implementation. I prepared a RPM spec file for you to build and install, it is based on the php-extras packages shipped with Fedora’s EPEL, only updated for PHP 7.1 SCL.
You can setup a small RPM build environment on a RedHat or CentOS machine with the required repositories.

sudo yum install rpm-build rpmdevtools yum-utils gcc gcc-c++ scl-utils scl-utils-build
rpmdev-setuptree
cd ~/rpmbuild/SPEC
wget https://github.com/lazyfrosch/rpm-php-extras/raw/epel7/php-extras.spec
cd ../SOURCES
spectool -gf ../SPECS/php-extras.spec
cd ~/rpmbuild
rpmbuild -bs SPECS/php-extras.spec
sudo yum-builddep SRPMS/rh-php71-php-extras*.src.rpm
rpmbuild --rebuild SRPMS/rh-php71-php-extras*.src.rpm

With the built RPM files under RPMS/ you are good to go to your Icinga machine. Basically you only need to copy rh-php71-php-mssql*.rpm over and install it there.

yum install rh-php71-php-mssql*.rpm
scl enable rh-php71 -- php -m

After restarting php-fpm the driver has been loaded.

systemctl restart rh-php71-php-fpm.service

Patching Icinga Web 2

In Icinga Web 2.5.1 and before there is an error in detecting MSSQL correctly, detection only works in PHP 5.x. A fix has been suggested in PR#3400.
To manually patch this, you only need to fix a single line in /usr/share/php/Icinga/Application/Platform.php

--- /usr/share/php/Icinga/Application/Platform.php.orig 2018-03-27 06:02:59.454240788 -0400
+++ /usr/share/php/Icinga/Application/Platform.php 2018-03-27 00:38:15.967639651 -0400
@@ -351,7 +351,7 @@
 */
 public static function hasMssqlSupport()
 {
- return static::extensionLoaded('mssql') && static::classExists('Zend_Db_Adapter_Pdo_Mssql');
+ return static::extensionLoaded('pdo_dblib') && static::classExists('Zend_Db_Adapter_Pdo_Mssql');
 }
 /**

I hope this helps you getting started, feel free to ask questions in the comments.

NETWAYS offers professional support for Icinga and other Open Source tools, check our Website about Support.
The image used in this article is from johnmartel.blogspot.de, we assume fair use by mentioning the author.

Markus Frosch
Markus Frosch
Principal Consultant

Markus arbeitet bei NETWAYS als Principal Consultant und unterstützt Kunden bei der Implementierung von Nagios, Icinga und anderen Open Source Systems Management Tools. Neben seiner beruflichen Tätigkeit ist Markus aktiver Mitarbeiter im Debian Projekt.

Jetzt aber schnell!!!!

Letzte Chance den Early Bird zu nutzen: Nur noch bis heute Nacht, 24:00 Uhr, gelten die vergünstigten Frühbucherpreise für die OSDC 2012. Deshalb jetzt ganz flux zum Online-Anmeldeformular und sich die Teilnahme sichern!
Das Vortragsprogramm ist mittlerweile fast vollständig und wir dürfen uns auf eine ganze Reihe ausgewiesener internationaler Open Source Spezialisten freuen, die mit Ihren Beiträgen den diesjährigen Themenschwerpunkt “Agile Infrastructures” von allen Seiten beleuchten werden.
Noch einmal ganz deutlich vertiefen kann man seine Kenntnisse mit der Teilnahme an einem der drei Workshops am Vortag der Konferenz (24. April 2012). Hier stehen die aktuellen Themen OpenNebula, IPv6  und Puppet Configuration Management für einen ganzen Tag im Mittelpunkt der Aufmerksamkeit. Weitere Infos zu den Intensiv-Workshops und was die Zusatzpakete konkret beinhaltet finden Sie hier.
So, nun aber auf zum Endspurt und noch schnell einen frühen Vogel schnappen!!!

Pamela Drescher
Pamela Drescher
Head of Marketing

Pamela hat im Dezember 2015 das Marketing bei NETWAYS übernommen. Sie ist für die Corporate Identity unserer Veranstaltungen sowie von NETWAYS insgesamt verantwortlich. Die enge Zusammenarbeit mit Events ergibt sich aus dem Umstand heraus, dass sie vor ein paar Jahren mit Markus zusammen die Eventsabteilung geleitet hat und diese äußerst vorzügliche Zusammenarbeit nun auch die Bereiche Events und Marketing noch enger verknüpft. Privat ist sie Anführerin einer vier Mitglieder starken Katzenhorde, was ihr den absolut...

OSDC 2012: CfP erfolgreich beendet – erste Programminhalte online

Mit dem Abschluß des Call for Papers beginnt nun für uns die Detailarbeit am Vortragsprogramm. Wobei wir uns sehr freuen, bereits jetzt die ersten, hochkarätigen Referenten bekannt geben zu können. Mit dabei sein werden unter anderem die Open Source Spezialisten

  • Mark Burgess (CFEngine)
  • Kris Buytaert (inuits)
  • Kristian Köhntopp (booking.com)
  • Benedikt Stockebrand (IPv6)
  • Constantino Vázquez Blanco (OpenNebula)

Alle Informationen zum Konferenzprogramm mit dem Schwerpunktthema “Agile Infrastructures” werden auf www.netways.de/osdc ständig aktualisiert und sukzessive erweitert.
Ansonsten heißt es für alle Teilnahmewilligen schnell sein, denn die vergünstigten Frühbucherpreise sind nur noch bis 15. Februar zu haben. Also am besten gleich online anmelden!
Sinnvoll erweitern läßt sich der Konferenzbesuch übrigens mit den am Vortag der Konferenz (24. April) stattfindenden 1-Tages-Intensiv-Workshops zu den Themen Puppet Configuration Management, IPv6 und OpenNebula.
Im Zentrum der OSDC wird auch in diesem Jahr wieder das Zusammentreffen von und mit der Open Source Community, der Erfahrungsaustausch der Teilnehmer untereinander sowie die vielen spannenden Diskussionen rund um Open Source Data Center Solutions mit den OS-Experten stehen. Wir freuen uns schon sehr und sind gespannt, wen wir am 25. & 26. April bei uns in Nürnberg persönlich begrüßen dürfen!

Pamela Drescher
Pamela Drescher
Head of Marketing

Pamela hat im Dezember 2015 das Marketing bei NETWAYS übernommen. Sie ist für die Corporate Identity unserer Veranstaltungen sowie von NETWAYS insgesamt verantwortlich. Die enge Zusammenarbeit mit Events ergibt sich aus dem Umstand heraus, dass sie vor ein paar Jahren mit Markus zusammen die Eventsabteilung geleitet hat und diese äußerst vorzügliche Zusammenarbeit nun auch die Bereiche Events und Marketing noch enger verknüpft. Privat ist sie Anführerin einer vier Mitglieder starken Katzenhorde, was ihr den absolut...