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.
yum -y install httpd
chkconfig --level 2345 httpd on
Java
yum -y install java-1.8.0-openjdk
Elasticsearch
Import de la clés GPG du repo :
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
Ajout du fichier repo /etc/yum.repos.d/elasticsearch.repo :
[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1
Installation
yum -y install elasticsearch
chkconfig --add elasticsearch
Modifier la ligne suivante dans /etc/elasticsearch/elasticsearch.yml pour limiter l’accès local :
network.host: localhost
Démarrage du service
service elasticsearch start
Test :
curl http://127.0.0.1:9200
{
"name" : "Scott Washington",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "2.0.0",
"build_hash" : "de54438d6af8f9340d50c5c786151783ce7d6be5",
"build_timestamp" : "2015-10-22T08:09:48Z",
"build_snapshot" : false,
"lucene_version" : "5.2.1"
},
"tagline" : "You Know, for Search"
}
Logstash :
Ajout du repo /etc/yum.repos.d/logstash.repo
[logstash-2.0]
name=Logstash repository for 2.0.x packages
baseurl=http://packages.elasticsearch.org/logstash/2.0/centos
gpgcheck=1
gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
enabled=1
Installation du service
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 :
wget https://download.elastic.co/kibana/kibana/kibana-4.2.0-linux-x64.tar.gz
Création de l’utilisateur/groupe :
groupadd kibana
useradd kibana -g kibana
Configuration de Kibana :
mkdir -p /opt/kibana
tar xzvf kibana-4*.tar.gz
Editer kibana-4*/config/kibana.yml et modifier la ligne suivante :
server.host: "localhost"
cp -R kibana-4*/* /opt/kibana/
chown -R kibana:kibana /opt/kibana/
Scripts de démarrage du service kiabana :
cd /etc/init.d && curl -o kibana https://gist.githubusercontent.com/thisismitch/8b15ac909aed214ad04a/raw/fc5025c3fc499ad8262aff34ba7fde8c87ead7c0/kibana-4.x-init
cd /etc/default && curl -o kibana https://gist.githubusercontent.com/thisismitch/8b15ac909aed214ad04a/raw/fc5025c3fc499ad8262aff34ba7fde8c87ead7c0/kibana-4.x-default
chmod +x /etc/init.d/kibana
chkconfig --add kibana
service kibana start
Apache
Edition de /etc/httpd/conf.d/kibana.conf (supprimer le welcome.conf qui est présent par défaut):
<LocationMatch "^/+$">
Options -Indexes
ErrorDocument 403 /error/noindex.html
</LocationMatch>
ProxyPass / http://127.0.0.1:5601/
ProxyPassReverse / http://127.0.0.1:5601/
Démarrage d’Apache
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
yum -y install policycoreutils-python
semanage port -a -t http_port_t -p tcp 5601
iptables
Penser à ajouter une régle en fonction de votre configuration iptables.