Visualiser une révision

Installation de Graylog2 sur Debian Wheezy

Benoît Sibaud : Liens sans protocole (14 avril 2015 22:33:19)

Suite à mon (削除) post (削除ここまで)(追記) [messag (追記ここまで)e sur le forum pour obtenir des conseils sur l'installation de graylog(削除) :
http: (削除ここまで)(追記) ]( (追記ここまで)//linuxfr.org/forums/linux-debian-ubuntu/posts/demande-de-conseils-procedures-recentes-pour-graylog2(追記) ) (追記ここまで)
Pré-requis
===========
Openjdk-7-jre
--------------------
Premièrement, il faut mettre à jour nos dépôts :
 _apt-get -y update_
Nous téléchargeons openjdk-7-jre :
 _apt-get install openjdk-7-jre_
Mongodb
----------
apt-get install mongodb mongodb-server
Mongodb utilise le ports 27017 pour l'écoute et le port 28017 pour l'administration. Nous allons dans un premier temps créer un utilisateur graylog avec comme mot de passe mystrongpassword :
_$ mongo 
MongoDB shell version: 1.4.4 
url: test
connecting to: test
type "help" for help 
> use graylog2 
switched to db graylog2 
> db.addUser('graylog', 'mystrongpassword') 
{ 
"user" : "graylog", 
"readOnly" : false, 
"pwd" : "3a645a39bef99c8bba9c805e06536240"
} 
> db.auth('graylog', 'mystrongpassword') 
1
> exit_
Il n’est pas nécessaire de créer de base de données (collection) ou de table, mongodb les créera à la demande. Cependant il faudra démarrer le service :
_/etc/init.d/mongodb_
Tant que nous y sommes autant automatiser le lancement au démarrage du serveur :
_update-rc.d mongodb defaults_
Elasticsearch
-----------
Pour des raisons de performance Graylog2 utilise un système d’indexation de données via elasticsearch. Nous téléchargerons le package debian depuis le site d'elasticsearch :
_wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.10.deb_
Une fois le téléchargement terminé, nous installons le paquet avec l’utilitaire dpkg :
_dpkg -i elasticsearch-0.90.10.deb_
Il faudra apporter une modification au fichier de configuration d’elasticsearch situé dans /etc/elasticsearch/elasticsearch.yml :
_echo 'cluster.name: graylog2' >> /etc/elasticsearch/elasticsearch.yml_
Nous démarrons elasticsearch :
_/etc/init.d/elasticsearch start_
Remarques : Puisque nous avons installer elasticsearch via un paquet debian, nous n’avons pas besoin de créer un script de démarrage dans /etc/init.d contraitement à une installation via les sources (tar.gz).
Nous automatisons elasticsearch au démarrage :
_update-rc.d elasticsearch defaults_
Installation de Graylog2
===========
Tous les paquets liés à Graylog2 seront installés dans le répertoire /opt du serveur.
Graylog2-server
-----------
Téléchargeons les sources de graylog2-server :
_wget https://github.com/Graylog2/graylog2-server/releases/download/0.20.0/graylog2-server-0.20.0.tgz_
_tar xvzf graylog2-server-0.20.0.tgz_
Renommons le répertoire graylog2-server-0.20.0 en graylog2-server :
_mv /opt/graylog2-server-0.20.0 /opt/graylog2-server_
Copier le fichier de configuration /opt/graylog2-server/graylog2.conf.example vers /etc/graylog2.conf
_cp /opt/graylog2-server/graylog2.conf.example /etc/graylog2.conf
Deux paramètres sont à modifier dans ce fichier /etc/graylog2.conf : **password_secret** et **root_password_sha2** :
**password_secret** : il s’agit d’une clé secrète qui sera utilisée pour le cryptage des mots de passe. Vous pouvez générer une clé facilement avec la commande : _pwgen -s 96 1_
**root_password_sha2** : il s’agit du hash SHA2 du mot de passe utilisé pour la première connexion. Vous pouvez le générer avec la commande : _echo -n <votreMotDePasse>| shasum -a 256_
Démarrer le serveur graylog2 pour vérifier qu'il n'y ait aucune erreur, le mode debug s'affichera dans la sortie standard. Il y a également un fichier de log dans /opt/graylog-server/ ! 
_cd /opt/graylog-server/bin/ && ./graylog2ctl start_
Copiez le contenu du script suivant dans /etc/init.d/graylog2 :
 
 #!/bin/bash
 ### BEGIN INIT INFO
 # Provides: graylog2
 # Required-Start: $all
 # Required-Stop: $all
 # Default-Start: 2 3 4 5
 # Default-Stop: 0 1 6
 # Short-Description: Starts graylog2
 # Description: Starts graylog2 using start-stop-daemon
 ### END INIT INFO
 
 NAME=graylog2
 GL_HOME=/opt/graylog2
 GL_PID=/tmp
 CMD=1ドル
 
 start() {
 echo "Starting $NAME ..."
 java -jar $GL_HOME/graylog2-server.jar &
 }
 
 stop() {
 PID=`cat $GL_PID/$NAME.pid`
 echo "Stopping $NAME ($PID) ..."
 kill $PID
 }
 
 restart() {
 echo "Restarting graylog2-server ..."
 stop
 start
 }
 
 case "$CMD" in
 start)
 start
 ;;
 stop)
 stop
 ;;
 restart)
 restart
 ;;
 *)
 echo "Usage 0ドル {start|stop|restart}"
 esac
 
Donnez les droits d’execution au script /etc/init.d/graylog2 :
_chmod +x /etc/init.d/graylog2_
Pour automatiser le démarrage du serveur graylog2 :
_update-rc.d graylog2 defaults_
Graylog-web-interface
-----------
Téléchargeons les sources de graylog-web-interface 
wget https://github.com/Graylog2/graylog2-web-interface/releases/download/0.20.0/graylog2-web-interface-0.20.0.tgz
Nous décompressons l’archive :
tar xvfz graylog2-web-interface-0.20.0.tgz 
Nous nous déplaçons dans graylog2-web-interface-0.20.0 :
cd graylog2-web-interface-0.20.0/
Nous allons ensuite éditer le fichier de configuration conf/graylog2-web-interface.conf pour modifier 2 variables 
_graylog2-server.uris= »http://127.0.0.1:12900/_ : il s’agit de la liste des serveurs graylog2 sur lesquels va se connecter l’interface. Dans notre cas, il suffit de mettre l’uri du serveur local application.secret : il s’agit d’une clé secrète. Comme plus haut, vous pouvez la générer avec la commande : pwgen -s 96 1
L’interface se démarre ensuite simplement en lançant le script bin/graylog2-web-interface ou comme ci-dessous pour lancer le script en arrière plan :
_nohup bin/graylog2-web-interface &_
Copiez le script suivant dans /etc/init.d/graylog2-web :
 #!/bin/bash
 ### BEGIN INIT INFO
 # Provides: graylog2-web-interface
 # Required-Start: $all
 # Required-Stop: $all
 # Default-Start: 2 3 4 5
 # Default-Stop: 0 1 6
 # Short-Description: Starts graylog2-web-interface
 # Description: Starts graylog2-web-interface using start-stop-daemon
 ### END INIT INFO
 
 NAME=graylog2-web-interface
 GL_HOME=/opt/graylog2-web-interface
 GL_PID=/tmp
 CMD=1ドル
 
 start() {
 echo "Starting $NAME ..."
 cd $GL_HOME/bin/ && ./graylog2-web-interface &
 }
 
 stop() {
 echo "Stopping $NAME ..."
 cd $GL_HOME/bin && pkill graylog2-web-interface
 #PID=`cat $GL_PID/$NAME.pid`
 #echo "Stopping $NAME ($PID) ..."
 #kill $PID
 }
 
 restart() {
 echo "Restarting graylog2-web-interface ..."
 stop
 start
 }
 
 case "$CMD" in
 start)
 start
 ;;
 stop)
 stop
 ;;
 restart)
 restart
 ;;
 *)
 echo "Usage 0ドル {start|stop|restart}"
 esac
 
Rendez-executable de script :
_Chmod +x /etc/init.d/graylog-web-interface_
Automatisation du script au démarrage :
_Update-rc.d graylog-web-interface defaults_
Une fois démarré, le serveur est accessible via le port 9000 :
http://@IP:9000/