GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Graylog2 sur CentOS 7 / RHEL 7 - Utilisation de la source

Graylog (anciennement connu sous le nom de Graylog2) est une plate-forme de gestion de journaux open source, vous aide à collecter, indexer et analyser tous les journaux de machine sur un emplacement centralisé. Ce guide vous aide à installer Graylog2 sur CentOS 7 / RHEL 7 à l'aide de la source, et se concentre également sur l'installation de quatre autres composants qui font de Graylog2 un puissant outil de gestion des journaux.

Ce tutoriel concerne une version obsolète de Graylog2. Une nouvelle version est disponible ici :Comment installer Graylog sur CentOS 7 / RHEL 7.

Nous pouvons installer Graylog de deux manières,

1. En utilisant le package source.

2. En utilisant des packages binaires officiels (recommandé).

Dans ce didacticiel, je montrerai l'installation de graylog à l'aide de la source.

Composants :

1. MongoDB - Stocke les configurations et les méta-informations.

2. Elasticsearch - Stocke les messages du journal et offre une fonction de recherche, les nœuds doivent avoir une mémoire élevée car toutes les opérations d'E/S se produisent ici.

3. GrayLog - Analyseur de journaux, il collecte les journaux à partir de diverses entrées.

4. Interface Web GrayLog =vous fournit le portail Web pour la gestion des journaux.

Pré-requis :

1. Étant donné que Elasticsearch est basé sur Java, nous aurions besoin d'installer openJDK ou Oracle JDK. Il est recommandé d'installer Oracle JDK, vérifiez la version Java en utilisant la commande suivante.

# java -version

java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)

2. Configurez le référentiel EPEL sur CentOS 7 / RHEL 7.

Installez Elasticsearch :

Elasticsearch est un serveur de recherche open source, il offre une recherche et une analyse distribuées en temps réel avec une interface Web RESTful. Elasticsearch stocke tous les journaux envoyés par le serveur Graylog et affiche les messages lorsque l'interface Web graylog demande une demande complète de l'utilisateur via l'interface Web. Cette rubrique couvre les paramètres de configuration requis pour Graylog, vous pouvez également consulter Installer Elasticsearch sur CentOS 7 / Ubuntu 14.10 / Linux Mint 17.1 pour des instructions détaillées.

Installons Elasticsearch, il peut être téléchargé à partir du site officiel. Vous pouvez utiliser la commande suivante pour télécharger via le terminal et l'installer.

# wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.4.4.noarch.rpm

# rpm -Uvh elasticsearch-1.4.4.noarch.rpm

Configurez Elasticseach pour qu'il démarre au démarrage du système.

# systemctl daemon-reload
# systemctl enable elasticsearch.service

La seule chose importante est de définir un nom de cluster comme "graylog2 “, qui est utilisé par graylog. Modifiez maintenant le fichier de configuration d'Elasticsearch.

# vi /etc/elasticsearch/elasticsearch.yml

cluster.name: graylog2

Désactivez les scripts dynamiques pour éviter l'exécution à distance, ce qui peut être fait en ajoutant la ligne suivante à la fin du fichier ci-dessus.

script.disable_dynamic: true

Une fois que c'est fait, nous sommes prêts à partir. Avant cela, redémarrez les services Elasticsearch pour charger la configuration modifiée.

# systemctl restart elasticsearch.service

Attendez au moins une minute pour permettre à Elasticsearch de redémarrer complètement, sinon les tests échoueront. Elastisearch devrait maintenant écouter sur 9200 pour traiter la requête HTTP, nous pouvons utiliser CURL pour obtenir la réponse. Assurez-vous qu'il renvoie avec le nom de cluster "graylog2

# curl -X GET http://localhost:9200

{
"status" : 200,
"name" : "Sinister",
"cluster_name" : "graylog2",
"version" : {
"number" : "1.4.4",
"build_hash" : "c88f77ffc81301dfa9dfd81ca2232f09588bd512",
"build_timestamp" : "2015-02-19T13:05:36Z",
"build_snapshot" : false,
"lucene_version" : "4.10.3"
},
"tagline" : "You Know, for Search"

Facultatif : Utilisez la commande suivante pour vérifier la santé du cluster Elasticsearch, vous devez obtenir un statut de cluster comme "vert" pour que graylog fonctionne.

# curl -XGET 'http://localhost:9200/_cluster/health?pretty=true'

{
"cluster_name" : "graylog2",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 1,
"number_of_data_nodes" : 1,
"active_primary_shards" : 0,
"active_shards" : 0,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0
}

Installez MongoDB :

MongoDB est disponible au format RPM et peut être téléchargé à partir du site officiel. Ajoutez les informations de référentiel suivantes sur le système pour installer MongoDB à l'aide de yum.

# vi /etc/yum.repos.d/mongodb-org-3.0.repo

[mongodb-org-3.0]
name=MongoDB Repository
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1

Installez MongoDB à l'aide de la commande suivante.

# yum install -y mongodb-org

Exécutez la commande suivante pour configurer SELinux afin d'autoriser le démarrage de MongoDB.

# semanage port -a -t mongod_port_t -p tcp 27017

Ou, si vous n'utilisez pas SELinux sur le système, envisagez de désactiver SELinux.

Démarrez le service MongoDB et activez-le pour qu'il démarre automatiquement lors du démarrage du système.

# service mongod start

# chkconfig mongod on

Les étapes ci-dessus suffisent pour configurer graylog2, vous pouvez trouver la configuration détaillée ici.

Installez Graylog2 :

Graylog-server accepte et traite les messages du journal, génère également la RESTAPI pour les requêtes provenant de graylog-web-interface. Téléchargez la dernière version de graylog depuis graylog.org, utilisez la commande suivante pour télécharger à l'aide du terminal.

# wget https://packages.graylog2.org/releases/graylog2-server/graylog-1.0.1.tgz

Extrayez-le et déplacez-le vers /opt.

# tar -zxvf graylog-1.0.1.tgz

# mv graylog-1.0.1 /opt/graylog

Copiez l'exemple de fichier de configuration dans /etc/graylog/server, créez le répertoire s'il n'existe pas.

# mkdir -p /etc/graylog/server

# cp /opt/graylog/graylog.conf.example /etc/graylog/server/server.conf

Modifiez le fichier server.conf.

# vi /etc/graylog/server/server.conf

Configurez les variables suivantes dans le fichier ci-dessus.

Définissez un secret pour sécuriser les mots de passe des utilisateurs, utilisez la commande suivante pour générer un secret, utilisez au moins 64 caractères.

# pwgen -N 1 -s 96

5uxJaeL4vgP9uKQ1VFdbS5hpAXMXLq0KDvRgARmlI7oxKWQbH9tElSSKTzxmj4PUGlHIpOkoMMwjICYZubUGc9we5tY1FjLB

Si vous obtenez un "pwgen :commande introuvable ", utilisez la commande suivante pour installer pwgen.

# yum -y install pwgen

Placez le secret.

password_secret = 5uxJaeL4vgP9uKQ1VFdbS5hpAXMXLq0KDvRgARmlI7oxKWQbH9tElSSKTzxmj4PUGlHIpOkoMMwjICYZubUGc9we5tY1FjLB

Ensuite, définissez un mot de passe de hachage pour l'utilisateur root (à ne pas confondre avec l'utilisateur système, l'utilisateur root de graylog est admin). Vous utiliserez ce mot de passe pour vous connecter à l'interface Web, le mot de passe de l'administrateur ne peut pas être modifié à l'aide de l'interface Web, vous devez modifier cette variable pour la définir.

Remplacez "votre mot de passe ” avec votre choix.

# echo -n yourpassword | sha256sum

e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Placez le mot de passe de hachage.

root_password_sha2 = e3c652f0ba0b4801205814f8b6bc49672c4c74e25b497770bb89b22cdeb4e951

Graylog essaiera de trouver automatiquement les nœuds Elasticsearch, il utilise le mode multidiffusion pour la même chose. Mais lorsqu'il s'agit d'un réseau plus vaste, il est recommandé d'utiliser le mode monodiffusion qui convient le mieux aux configurations de production. Ajoutez donc les deux entrées suivantes au fichier graylog server.conf, remplacez l'adresse IP avec le nom d'hôte ou l'adresse IP en direct, plusieurs hôtes peuvent être ajoutés en les séparant par des virgules.

elasticsearch_http_enabled = false
elasticsearch_discovery_zen_ping_unicast_hosts = ipaddress:9300

Définissez un seul nœud maître en définissant la variable ci-dessous, le paramètre par défaut est vrai, vous devez le définir comme faux pour faire du nœud particulier un esclave. Le nœud maître effectue certaines tâches périodiques que l'esclave n'effectuera pas.

is_master = true

La variable suivante définit le nombre de messages de journal à conserver par index, il est recommandé d'avoir plusieurs index plus petits au lieu de plus grands.

elasticsearch_max_docs_per_index = 20000000

Le paramètre suivant définit le nombre total d'index, si ce nombre est atteint, l'ancien index sera supprimé.

elasticsearch_max_number_of_indices = 20

Le paramètre des fragments dépend vraiment du nombre de nœuds dans le cluster Elasticsearch, si vous n'avez qu'un seul nœud, définissez-le sur 1.

elasticsearch_shards = 1

Le nombre de réplicas pour vos index, si vous n'avez qu'un seul nœud dans le cluster Elasticsearch ; définissez-le sur 0.

elasticsearch_replicas = 0

Entrez vos informations d'authentification MongoDB.

# MongoDB Configuration
mongodb_useauth = false  #If this is set to false, you do not need to enter the authentication information
#mongodb_user = grayloguser
#mongodb_password = 123
mongodb_host = 127.0.0.1
#mongodb_replica_set = localhost:27017,localhost:27018,localhost:27019
mongodb_database = graylog2
mongodb_port = 27017

Démarrez le serveur graylog à l'aide de la commande suivante.

# /opt/graylog/bin/graylogctl start

Vous pouvez consulter les journaux de démarrage du serveur, cela vous sera utile pour dépanner le graylog en cas de problème.

# tailf /opt/graylog/log/graylog-server.log

Au démarrage réussi de graylog-server, vous devriez obtenir le message suivant dans le fichier journal.

2015-03-23 16:28:15,825 INFO : org.graylog2.shared.initializers.RestApiService - Started REST API at <http://127.0.0.1:12900/>

Vous pouvez également configurer le script d'initialisation pour Graylog-server.

Installer l'interface Web Graylog :

Pour configurer graylog-web-interface, vous devez avoir au moins un nœud graylog-server ; téléchargez le même numéro de version pour vous assurer qu'il est compatible

# wget https://packages.graylog2.org/releases/graylog2-web-interface/graylog-web-interface-1.0.1.tgz

Extrayez l'archive et déplacez-la vers /opt.

# tar -zxvf graylog-web-interface-1.0.1.tgz
# mv graylog-web-interface-1.0.1 /opt/graylog-web-interface

Modifiez le fichier de configuration et définissez les paramètres suivants.

# vi /opt/graylog-web-interface/conf/graylog-web-interface.conf

Ceci est la liste des nœuds graylog-server, vous pouvez ajouter plusieurs nœuds, séparés par des virgules.

graylog2-server.uris="http://127.0.0.1:12900/"

Définit le secret d'application et peut être généré à l'aide de pwgen -N 1 -s 96.

application.secret="sNXyFf6B4Au3GqSlZwq7En86xp10JimdxxYiLtpptOejX6tIUpUE4DGRJOrcMj07wcK0wugPaapvzEzCYinEWj7BOtHXVl5Z"

Démarrez l'interface gralog-web en arrière-plan à l'aide de la commande suivante,

# nohup /opt/graylog-web-interface/bin/graylog-web-interface &

Vous pouvez également configurer le script Init pour Graylog-Web-Interface.

L'interface Web écoutera sur le port 9000. Pointez votre navigateur dessus. Connectez-vous avec le nom d'utilisateur admin et le mot de passe que vous avez configuré sur root_password_sha2 surserveur.conf .

Configurez le pare-feu pour autoriser le trafic sur le port 9000.

firewall-cmd --permanent --zone=public --add-port=9000/tcp
firewall-cmd --reload

Une fois connecté, vous obtiendrez la page de recherche suivante.

C'est tout !, vous avez installé avec succès Graylog2 sur CentOS 7 / RHEL 7.

Ce tutoriel concerne une version obsolète de Graylog2. Une nouvelle version est disponible ici :Comment installer Graylog sur CentOS 7 / RHEL 7.
Cent OS
  1. Comment installer Graylog2 sur CentOS 7 / RHEL 7 - Utilisation de la source

  2. Comment installer Elasticsearch, Logstash et Kibana 4 sur CentOS 7 / RHEL 7

  3. Comment installer Graylog2 sur CentOS 7 / RHEL 7

  4. Comment installer Elasticsearch sur CentOS 8 / RHEL 8

  5. Comment installer Ruby 2.0.0 sur CentOS et RHEL 6 à l'aide de RVM

Comment installer Elasticsearch sur CentOS 8

Comment installer Graylog avec Elasticsearch sur CentOS 8

Comment installer Graylog sur CentOS 8 / RHEL 8

Comment installer Graylog 3.0 sur CentOS 7 / RHEL 7

Comment installer Flameshot sur RHEL/CentOS à l'aide de Snapcraft

Comment installer Graylog sur CentOS 7