Maintenant que je dispose de plusieurs RaspBerry Pi sur lesquels j’ai installé diverses applications, je souhaite pouvoir les surveiller et cela de manière centralisée. J’ai donc décidé de mettre en place la pile ELK d’ElasticSearch,. Mais voila pour le moment je n’ai pas trouvé le moyen de faire tourner LogStach alors j’ai décidé de prendre fluentd en lieu et place.
Notre pile se compose donc de :
- Fuentd : Pour la réception et le transport des logs.
- Elasticsearch : Pour le stockage et le requêtage des infos;
- Kibana : L’Interface web qui permet de lancer des requêtes d’Elasticsearch via les webservices (cf image ci-dessus);
Installation d’ElasticSearch et Kibana sur Ubuntu
J’ai choisi d’installer Elasticsearch et Kibana sur mon poste Ubuntu, alors commençons par installer ces deux produits :
Installation des prérequis
Dans un premier temps il faut installer le JDK Oracle 7, pour cela on va utiliser le dépôt PPA de WebUpd8 :
sudo add-apt-repository -y ppa:webupd8team/java sudo apt-get update sudo apt-get -y install oracle-java7-installer |
Ensuite il nous faut un serveur web :
sudo apt-get install nginx |
Récupérons la conf mise au point par digitalOceans et copions la comme conf par défaut de nginx:
cd /tmp; wget https://gist.githubusercontent.com/thisismitch/2205786838a6a5d61f55/raw/f91e06198a7c455925f6e3099e3ea7c186d0b263/nginx.conf sudo cp nginx.conf /etc/nginx/sites-available/default sudo service nginx restart |
Installation d’Elasticsearch
Ajoutons le dépôt d’ElasticSearch :
wget -O - http://packages.elasticsearch.org/GPG-KEY-elasticsearch | sudo apt-key add - echo 'deb http://packages.elasticsearch.org/elasticsearch/1.1/debian stable main' | sudo tee /etc/apt/sources.list.d/elasticsearch.list |
Maintenant on peut lancer l’installation d’ElasticSearch :
sudo apt-get update sudo apt-get -y install elasticsearch |
Adaptons la config à notre installation :
sudo vi /etc/elasticsearch/elasticsearch.yml |
Ajouter la ligne suivante à la fin :
script.disable_dynamic: true
On peut relancer ElasticSearch :
sudo service elasticsearch restart |
Installation de Kibana
Il suffit de récupérer le tar depuis le site, de le décompresser et de le déplacer dans le répertoire /var/www :
cd /tmp; wget https://download.elasticsearch.org/kibana/kibana/kibana-3.0.1.tar.gz tar xvf kibana-3.0.1.tar.gz sudo mkdir -p /var/www/kibana3 sudo cp -R /tmp/kibana-3.0.1/* /var/www/kibana3/ |
Installation de fluentd sur les Raspberry Pi
Maintenant passons à l’installation de notre collecteur de log fluentd auquel nous ajouterons le plugin elasticsearch :
sudo apt-get install ruby-dev gem -y sudo gem install fluentd sudo gem install fluent-plugin-elasticsearch |
Passons à la configuration :
sudo vi fluentd.conf |
Ajoutez-y ceci :
type tail path /var/log/apache2/access.log pos_file /var/log/apache2/httpd-access.log.pos tag apache.access format apache2 type elasticsearch logstash_format true host bob-fixe #(optional; default="localhost")
Dans cette conf je ne récupère que les logs d’Apache, mais il est possible de traiter toutes les logs importantes de votre système comme auth.log, messages.log, et autres logs applicatives.
Maintenant on peut lancer nos collecteurs :
fluentd -c fluentd.conf |
Dans votre navigateur WEB connectez-vous à l’adresse https://www.le-libriste.fr et tada 🙂