{"id":1464,"date":"2014-03-17T20:00:36","date_gmt":"2014-03-17T19:00:36","guid":{"rendered":"http:\/\/www.unicoda.com\/?p=1464"},"modified":"2014-02-28T15:05:11","modified_gmt":"2014-02-28T14:05:11","slug":"decouverte-de-la-gestion-de-log-avec-elk","status":"publish","type":"post","link":"https:\/\/www.unicoda.com\/?p=1464","title":{"rendered":"D\u00e9couverte de la gestion de log avec ELK"},"content":{"rendered":"<p>Dans le cadre de mon stage, je m&rsquo;int\u00e9resse actuellement au solution de monitoring et j&rsquo;ai donc eu l&rsquo;occasion de tester le triplet Elasticsearch Logstash Kibana connu sous l&rsquo;abr\u00e9viation ELK. Logstash permet d\u2019agr\u00e9ger simplement des logs provenant de diff\u00e9rentes sources, Elasticsearch s&rsquo;occupe de les stocker et de les rendre disponibles et enfin Kibana les affiche sur un dashboard hautement personnalisable. Les instructions qui suivent m&rsquo;ont donc permis d&rsquo;avoir un rapide aper\u00e7u du fonctionnement de la solution ELK en local et dans un cas tr\u00e8s simple de gestion de logs syst\u00e8me.<\/p>\n<h2>R\u00e9cup\u00e9ration des logiciels<\/h2>\n<pre>wget https:\/\/download.elasticsearch.org\/elasticsearch\/elasticsearch\/elasticsearch-1.0.1.tar.gz\r\nwget https:\/\/download.elasticsearch.org\/logstash\/logstash\/logstash-1.3.3-flatjar.jar\r\nwget https:\/\/download.elasticsearch.org\/kibana\/kibana\/kibana-3.0.0milestone5.tar.gz<\/pre>\n<h2>Extraction<\/h2>\n<pre>tar xvf elasticsearch-1.0.1.tar.gz\r\ntar xvf kibana-3.0.0milestone5.tar.gz<\/pre>\n<h2>Elasticsearch<\/h2>\n<pre>cd elasticsearch-1.0.1\/<\/pre>\n<p>La configuration <em>elasticsearch.yml<\/em> se situe dans <em>config\/<\/em>. Il n&rsquo;est pas n\u00e9cessaire d&rsquo;y toucher pour un test en local, on pourrait toutefois modifier les param\u00e8tres cluster.name et node.name pour personnaliser l&rsquo;installation.<\/p>\n<p>D\u00e9marrer Elasticsearch:<\/p>\n<pre>.\/bin\/elasticsearch<\/pre>\n<h2>Logstash<\/h2>\n<p>Cr\u00e9ation d&rsquo;un fichier de configuration logstash.conf:<\/p>\n<pre>touch logstash.conf<\/pre>\n<p>Nous allons lire les fichiers de log du syst\u00e8me, de ce fait, il pourrait \u00eatre n\u00e9cessaire de lancer Logstash en root pour que celui-ci puisse lire les fichiers de logs. Cette solution n&rsquo;est \u00e0 utiliser que pendant la phase de test.<\/p>\n<p>Contenu du fichier:<\/p>\n<pre>input {\r\n\u00a0\u00a0 \u00a0file {\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0type =&gt; \"linux-syslog\"\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0path =&gt; [ \"\/var\/log\/*.log\", \"\/var\/log\/messages\", \"\/var\/log\/syslog\" ]\r\n\u00a0\u00a0 \u00a0}\r\n}\r\noutput {\r\n\u00a0\u00a0 \u00a0stdout { }\r\n\u00a0\u00a0 \u00a0elasticsearch_http {\r\n\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0host =&gt; \"127.0.0.1\"\r\n\u00a0\u00a0 \u00a0}\r\n}<\/pre>\n<p>Documentation pour le param\u00e8tre <a href=\"http:\/\/logstash.net\/docs\/1.3.3\/outputs\/elasticsearch_http\" target=\"_blank\">elasticsearch_http<\/a>.<\/p>\n<p>D\u00e9marrer Logstash:<\/p>\n<pre>sudo java -jar logstash-1.3.3-flatjar.jar agent -f logstash.conf<\/pre>\n<p>Les nouveaux logs devraient donc maintenant \u00eatre r\u00e9cup\u00e9r\u00e9s par Logstash et stock\u00e9s par Elasticsearch. Nous donc pouvoir les visualiser avec Kibana.<\/p>\n<h2>Kibana<\/h2>\n<pre>cd kibana-3.0.0milestone5\/<\/pre>\n<p>\u00c9diter le fichier <em>config.js<\/em> et changer la ligne:<\/p>\n<pre>elasticsearch: \"http:\/\/\"+window.location.hostname+\":9200\",<\/pre>\n<p>en<\/p>\n<pre>elasticsearch: \"http:\/\/127.0.0.1:9200\",<\/pre>\n<p>Cette modification nous permet d&rsquo;ouvrir le fichier <em>index.html<\/em> directement dans notre navigateur pour acc\u00e9der \u00e0 Kibana sans avoir besoin de mettre en place un serveur comme Apache pour servir les fichiers.<\/p>\n<h2>R\u00e9sultat<\/h2>\n<p><a href=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2014\/02\/Kibana.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-1465\" alt=\"Kibana\" src=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2014\/02\/Kibana-1024x509.jpg\" width=\"584\" height=\"290\" srcset=\"https:\/\/www.unicoda.com\/wp-content\/uploads\/2014\/02\/Kibana-1024x509.jpg 1024w, https:\/\/www.unicoda.com\/wp-content\/uploads\/2014\/02\/Kibana-300x149.jpg 300w, https:\/\/www.unicoda.com\/wp-content\/uploads\/2014\/02\/Kibana-500x248.jpg 500w, https:\/\/www.unicoda.com\/wp-content\/uploads\/2014\/02\/Kibana.jpg 1906w\" sizes=\"auto, (max-width: 584px) 85vw, 584px\" \/><\/a>L&rsquo;ajout d&rsquo;un m\u00e9canisme d&rsquo;authentification pour l&rsquo;acc\u00e8s \u00e0 Kibana peut \u00eatre r\u00e9alis\u00e9 simplement en utilisant le projet <a href=\"https:\/\/github.com\/fangli\/kibana-authentication-proxy\" target=\"_blank\">fangli\/kibana-authentication-proxy<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dans le cadre de mon stage, je m&rsquo;int\u00e9resse actuellement au solution de monitoring et j&rsquo;ai donc eu l&rsquo;occasion de tester le triplet Elasticsearch Logstash Kibana connu sous l&rsquo;abr\u00e9viation ELK. Logstash permet d\u2019agr\u00e9ger simplement des logs provenant de diff\u00e9rentes sources, Elasticsearch s&rsquo;occupe de les stocker et de les rendre disponibles et enfin Kibana les affiche sur &hellip; <a href=\"https:\/\/www.unicoda.com\/?p=1464\" class=\"more-link\">Continuer la lecture<span class=\"screen-reader-text\"> de &laquo;&nbsp;D\u00e9couverte de la gestion de log avec ELK&nbsp;&raquo;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[31,126],"tags":[37,165,161,163,162,164],"class_list":["post-1464","post","type-post","status-publish","format-standard","hentry","category-installation","category-logiciellibre","tag-elasticsearch","tag-elk","tag-kibana","tag-logs","tag-logstash","tag-monitoring"],"_links":{"self":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/1464","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1464"}],"version-history":[{"count":4,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/1464\/revisions"}],"predecessor-version":[{"id":1470,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=\/wp\/v2\/posts\/1464\/revisions\/1470"}],"wp:attachment":[{"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.unicoda.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}