ELK - Installation ELK avec Kibana 4
Alasta 16 Novembre 2015 bigdata shell cli BigData kibana
Description : Nous allons voir l'installation complète de la suite ELK en mode rapide.
Pré-requis :
Nous partirons sur une machine CentOS 6 de base.
Nous ne verrons pas la configuration de logstash, voir d'autres billets ELK sur ce site.
Web Server
Nous allons installer Apache avec une configuration basique.
1 yum -y install httpd
2
3 chkconfig --level 2345 httpd on
Java
1 yum -y install java-1.8.0-openjdk
Elasticsearch
Import de la clés GPG du repo :
1 rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
Ajout du fichier repo /etc/yum.repos.d/elasticsearch.repo :
1 [elasticsearch-2.x]
2 name=Elasticsearch repository for 2.x packages
3 baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
4 gpgcheck=1
5 gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
6 enabled=1
Installation
1 yum -y install elasticsearch
2
3 chkconfig --add elasticsearch
Modifier la ligne suivante dans /etc/elasticsearch/elasticsearch.yml pour limiter l'accès local :
1 network.host: localhost
Démarrage du service
1 service elasticsearch start
Test :
1 curl http://127.0.0.1:9200
2 {
3 "name" : "Scott Washington",
4 "cluster_name" : "elasticsearch",
5 "version" : {
6 "number" : "2.0.0",
7 "build_hash" : "de54438d6af8f9340d50c5c786151783ce7d6be5",
8 "build_timestamp" : "2015-10-22T08:09:48Z",
9 "build_snapshot" : false,
10 "lucene_version" : "5.2.1"
11 },
12 "tagline" : "You Know, for Search"
13 }
Logstash :
Ajout du repo /etc/yum.repos.d/logstash.repo
1 [logstash-2.0]
2 name=Logstash repository for 2.0.x packages
3 baseurl=http://packages.elasticsearch.org/logstash/2.0/centos
4 gpgcheck=1
5 gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
6 enabled=1
Installation du service
1 yum -y install logstash
Kibana 4 :
Attention à l'architecture du RPM car apparement il n'y a pas de repo pour kibana.
Récupération de l'archive :
1 wget https://download.elastic.co/kibana/kibana/kibana-4.2.0-linux-x64.tar.gz
Création de l'utilisateur/groupe :
1 groupadd kibana
2
3 useradd kibana -g kibana
Configuration de Kibana :
1 mkdir -p /opt/kibana
2 tar xzvf kibana-4*.tar.gz
Editer kibana-4*/config/kibana.yml et modifier la ligne suivante :
1 server.host: "localhost"
1 cp -R kibana-4/ /opt/kibana/
2
3 chown -R kibana:kibana /opt/kibana/
Scripts de démarrage du service kiabana :
1 cd /etc/init.d && curl -o kibana https://gist.githubusercontent.com/thisismitch/8b15ac909aed214ad04a/raw/fc5025c3fc499ad8262aff34ba7fde8c87ead7c0/kibana-4.x-init
2
3 cd /etc/default && curl -o kibana https://gist.githubusercontent.com/thisismitch/8b15ac909aed214ad04a/raw/fc5025c3fc499ad8262aff34ba7fde8c87ead7c0/kibana-4.x-default
4
5 chmod +x /etc/init.d/kibana
6
7 chkconfig --add kibana
8
9 service kibana start
Apache
Edition de /etc/httpd/conf.d/kibana.conf (supprimer le welcome.conf qui est présent par défaut):
1 <LocationMatch "^/+$">
2 Options -Indexes
3 ErrorDocument 403 /error/noindex.html
4 </LocationMatch>
5
6 ProxyPass / http://127.0.0.1:5601/
7 ProxyPassReverse / http://127.0.0.1:5601/
Démarrage d'Apache
1 service httpd start
Test :
On peux maintenant tester avec son navigater (http://@IP_DU_SERVEUR_KIBANA)
Bonus
SELinux
Si SELinux est en mode enforcing, il faut permettre à Apache d'accéder au port 5601
1 yum -y install policycoreutils-python
2
3 semanage port -a -t http_port_t -p tcp 5601
iptables
Penser à ajouter une régle en fonction de votre configuration iptables.