Ficture IT is druk in de weer met allerlei Opensource software. In sommige gevallen was het nodig om e.a. aan te passen of uit te breiden.

Op deze pagina zijn deze bijdragen te vinden en te downloaden.


Opsview scripts

Omschrijving Script
Check Nortel/Avaya stack unit status   check_snmp_nortel_stacksize
Check Cisco stack unit status (StackWise MIB)   check_snmp_cisco_stacksize
Check_snmp_interfaces patched for Thomson/Speedtouch   check_snmp_interfaces
veo-stream.cgi to allow MJPEG streaming from a Veo Observer webcam   veo-stream.cgi

 Kibana/Logstash/Elasticsearch

Edit 26-11: In Kibana 4 zijn deze zaken opgelost. Deze versie kan zelfs in de eigen configuratie op https draaien. Ook zijn de maps nu op https en worden er geen security meldingen meer gegenereerd. Advies is dan ook om over te stappen op Kibana 4.

Om Kibana 3 met Logstash en Elasticsearch op een https server te kunnen draaien (met authenticatie) de hier beschreven stappen noodzakelijk.

Elasticsearch

Als eerste dient Elasticsearch op dezelfde host te draaien als Kibana en dient deze alleen op de localhost gebind te zijn.

Open /etc/elasticsearch/elasticsearch.yml

Zorg dat de volgende statements actief zijn (commentaar teken verwijderd en aangepast naar 127.0.0.1):

network.bind_host: 127.0.0.1
network.publish_host: 127.0.0.1
network.host: 127.0.0.1

Kibana/Apache

Om Kibana met authenticatie te laten werken op https is het het mooiste om in de /etc/httpd/conf.d/ssl.conf een aparte Virtual Host te maken.

Voor authenticatie zijn de volgende statements nodig:

<Location />
AuthType Digest
AuthName "Kibana"
AuthDigestProvider file
AuthUserFile /etc/httpd/kibana.digest
Require valid-user
</Location>

Gebruikers kunnen worden toegevoegd met : htdigest [-c] /etc/httpd/kibana.digest Kibana <userid>

De -c is alleen de eerste keer nodig als het bestand nog niet bestaat.

Om nu het verkeer richting Elasticsearch via Kibana te laten lopen moeten er 2 zaken gebeuren.

Als eerste moet in de Kibana het verkeer voor Elasticsearch via de Kibana server geleid worden. Dit kan door in de config.js de volgende parameter aan te passen:

elasticsearch: "https://<ip adres of FQDN van de Kibana virtual host>"

Om nu te zorgen dat de Elasticsearch statements via de Kibana Virtual Host richting de locale Elasticsearch gaat moeten er een aantal proxy statements aangemaakt worden. Dit zijn de volgende :

ProxyPassMatch ^/(_aliases)$ http://127.0.0.1:9200/$1
ProxyPassMatch ^/(.*/_aliases)$ http://127.0.0.1:9200/$1
ProxyPassMatch ^/(_nodes)$ http://127.0.0.1:9200/$1
ProxyPassMatch ^/(.*/_search)$ http://127.0.0.1:9200/$1
ProxyPassMatch ^/(.*/_mapping)$ http://127.0.0.1:9200/$1
ProxyPassMatch ^/(kibana-int/dashboard/.*)$ http://127.0.0.1:9200/$1
ProxyPassMatch ^/(kibana-int/temp.*)$ http://127.0.0.1:9200/$1

Bettermap in Kibana

Nu blijft er 1 probleem over en dat is dat de bettermap plugin http requests doet onder de https Kibana site. Dit geeft beveiligings problemen in de browser. Om dit op te lossen kan dit verkeer ook via de Kibana Virtual Host geleid worden. Dit moet in 2 stappen:

UPDATE: De vorige oplossing gaf ook Authorization headers en Cookies door aan de externe site! Volg deze nieuwe oplossing ASAP!

Stap 1: Voeg de volgende regel toe in de Virtual Host definitie voor Kibana

<Location /bettermap/>
        RequestHeader unset Authorization
        RequestHeader unset Cookie
        RewriteEngine   on
        RewriteRule     ^/.*/bettermap/(.*)$ http://otile1.mqcdn.com/$1 [P]
</Location>

Stap 2: Pas de bettermap module aan zodat het verkeer op de Kibana URL blijft op het in stap 1 gemaakte pad. Open hievoor de module.js in de bettermap directory onder app/panels/bettermap en verander het begin van de URL dat start met 'http://otile1.mqcdn.com' in '/bettermap' en laat de rest van de URL in tact.