Ich habe es geschafft ein neues kleines HowTo zu schreiben. Hier geht es um die Installation von Kibana mit allen drum und dran, auch genannt ELK Stack. Vorweg, Logstash ist ab 2016 wohl depricated allerdings hat Packetbeat noch ein paar kleine Bugs und daher würde ich erst einmal weiterhin Logstash nutzen. Aber nun lange genug gewartet – Wir installieren nun das ELK Stack!
Nachdem wir nun erfolgreich ein Ubuntu 14.04 LTS installiert haben können wir los legen.
Java 8 installieren
sudo add-apt-repository -y ppa:webupd8team/java && sudo apt-get update
Nun haben wir bereits alle vorbereitet. Also Installieren wir nun Java 8
sudo apt-get -y install oracle-java8-installer
Nach der Installation von Java geht es auch direkt weiter:
Elasticsearch installieren
Zu erst müssen die den Public Key von Elastisearch importieren
wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
Nicht vergessen, wir brauchen natürlich auch das Elastic Repo:
echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list
Nun können wir los legen:
sudo apt-get update && sudo apt-get install elasticsearch
Nach der Installation müssen wir dringend ein paar Parameter an der Config anpassen. Vor allem wegen der Sicherheit da Elasticsearch in der Regel kein Passwort hat und auch keines kennt. Dazu gibt es allerdings Plugins die man nutzen kann. Dazu aber später mehr.
sudo nano /etc/elasticsearch/elasticsearch.yml
Im ersten Schritt werden wir allerdings nur deine Datenbank auf localhost binden. Somit ist von aussen kein ran kommen mehr.
Suche in deiner Config nach network.host und ersetze dieses durch:
network.host: localhost
Nach dem Speicher, ja man kann noch mehr ändern, können wir schon unsere Datenbank starten:
sudo service elasticsearch restart
Jetzt müssen wir prüfen ob deine Datenbank auch wirklich läuft:
curl 'http://localhost:9200/?pretty'
Du solltest nun eine Reposnse sehen die in etwa so aussieht:
{ "status": 200, "name": "Shrunken Bones", "version": { "number": "1.4.0", "lucene_version": "4.10" }, "tagline": "You Know, for Search" }
Damit Sie auch nach einem reboot automatisch wieder gestartet wird muss Elasticsearch noch im Autostart angelegt werden:
sudo update-rc.d elasticsearch defaults 95 10
Happy Searching 😉
Kibana Installation
Legen wir nun zuerst ein User für Kibana an.
sudo groupadd -g 999 kibana sudo useradd -u 999 -g 999 kibana
Jetzt ganz schnell Kibana Downloaden und entpacken. Wir werden ja schon nervös 😉
cd ~; wget https://download.elastic.co/kibana/kibana/kibana-4.3.0-linux-x64.tar.gz && tar xvf kibana-*.tar.gz
Jetzt schnell die Konfigurationsdatei öffnen und das Kibana ebenfalls auf “localhost“ binden
nano ~/kibana-4*/config/kibana.yml
Sucht bitte hier ebenfalls nach server.host und ersetzte es durch:
server.host: "localhost"
Jetzt kopieren wir Kibana an die richtige Stelle auf dem Server und setzen direkt die richtigen Berechtigungen:
sudo mkdir -p /opt/kibana sudo cp -R ~/kibana-4*/* /opt/kibana/ sudo chown -R kibana: /opt/kibana
Nun brauchen wir noch die Start-Scripts um Kibana ganz einfach starten zu können:
cd /etc/init.d && sudo curl -o kibana https://gist.githubusercontent.com/thisismitch/8b15ac909aed214ad04a/raw/fc5025c3fc499ad8262aff34ba7fde8c87ead7c0/kibana-4.x-init cd /etc/default && sudo curl -o kibana https://gist.githubusercontent.com/thisismitch/8b15ac909aed214ad04a/raw/fc5025c3fc499ad8262aff34ba7fde8c87ead7c0/kibana-4.x-default sudo chmod +x /etc/init.d/kibana sudo update-rc.d kibana defaults 96 9 sudo service kibana start
Nginx als Reverse-Proxy für Kibana
Ich werde hier zu den Schritten nicht sehr viel sagen da Sie eigentlich absolut selbst erklärend sind.
sudo apt-get install nginx apache2-utils sudo htpasswd -c /etc/nginx/htpasswd.users kibanaadmin
Es kann schon fast los gehen. Nun müssen wir uns noch einen vHost anlegen damit wir auch Kibana im browser aufrufen können:
sudo nano /etc/nginx/sites-available/default mit folgendem Inhalt ersetzen: server { listen 80; server_name example.com; auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/htpasswd.users; location / { proxy_pass http://localhost:5601; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } sudo service nginx restart