Installer Graylog sur Debian 12

Dans ce tutoriel, nous allons voir comment installer la version gratuite de Graylog sur un système Debian.

Prérequis

  • MongoDB 6, version actuellement recommandée (prise en charge à partir de la version 5.0.7 jusqu’à la 7.x).

  • OpenSearch, versions prises en charge 1.1.x à 2.15.x).

  • OpenJDK 17.

Installation de Java et de Curl

Installation curl et java qui sont nécessaire pour le début d’installation de graylog.

				
					sudo apt install curl -y
sudo apt install openjdk-17-jdk -y
				
			

Installer et configurer MongoDB

Ajouter le dépôt officiel de MongoDB afin d’installer la version 6.0.

				
					echo "deb http://deb.debian.org/debian bullseye main" | sudo tee /etc/apt/sources.list.d/debian-bullseye.list
sudo apt-get update
sudo apt-get install libssl1.1 -y
sudo apt-get install -y gnupg
sudo apt-get update
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | gpg --dearmor -o /usr/share/keyrings/mongodb-archive-keyring.gpg
echo "deb [arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-archive-keyring.gpg] http://repo.mongodb.org/apt/debian buster/mongodb-org/6.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
sudo apt-get update
				
			

Installer MongoDB, puis lancez le service.

				
					sudo apt install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod
				
			

Installer et configurer OpenSearch

Ajouter le dépôt officiel d’OpenSearch, puis installez la version 2.15.0.

				
					curl -o- https://artifacts.opensearch.org/publickeys/opensearch.pgp | sudo gpg --dearmor --batch --yes -o /usr/share/keyrings/opensearch-keyring
echo "deb [signed-by=/usr/share/keyrings/opensearch-keyring] https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable main" | sudo tee /etc/apt/sources.list.d/opensearch-2.x.list
sudo apt-get update
sudo apt-get -y install opensearch=2.15.0
				
			

Créer un dossier pour les données d’OpenSearch :

				
					sudo mkdir -p /mnt/disk/opensearch_data
sudo chown -R opensearch:opensearch /mnt/disk/opensearch_data
sudo mkdir -p /var/log/opensearch
sudo chown -R opensearch:opensearch /var/log/opensearch
sudo chown -R opensearch:opensearch /etc/opensearch
sudo chmod -R 750 /etc/opensearch
				
			

Modifier le fichier de configuration d’OpenSearch :

				
					sudo nano /etc/opensearch/opensearch.yml
				
			

Changer les informations selon votre configuration réseau dans mon cas l’IP est « 172.16.0.23 » 

				
					cluster.name: Opensearch-cluster
node.name: "node-1"
path.data: /mnt/disk/opensearch_data
path.logs: /var/log/opensearch
network.host: 127.0.0.1
http.port: 9200
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]
action.destructive_requires_name: true
plugins.security.disabled: true
				
			

Ensuite modifier le fichier de configuration JVM d’OpenSearch

				
					sudo nano /etc/opensearch/jvm.options
				
			

Vous allez augmenter les valeurs « Xms1g » et « Xmx1g »  comme suite :

				
					-Xms4g
-Xmx4g
				
			

Démarrer et activez OpenSearch 

				
					sudo systemctl enable opensearch
sudo systemctl start opensearch
				
			

Installer et configurer Graylog

Ajouter les paquets nécessaires à l’installation de Graylog

				
					wget https://packages.graylog2.org/repo/packages/graylog-6.0-repository_latest.deb
sudo dpkg -i graylog-6.0-repository_latest.deb
sudo apt-get update
				
			

installer Graylog

				
					sudo apt-get install -y graylog-server
				
			

Maintenant faut créer un dossier dédié pour les journaux de Graylog 

				
					sudo mkdir -p /mnt/disk/graylog-journal
sudo chown -R graylog:graylog /mnt/disk/graylog-journal
				
			

Commencer par générer un mot de passe pour le champ « password_secret » et le copier dans un fichier txt.

				
					openssl rand -base64 32
				
			

Ensuite générer un mot de passe pour « root_password_sha2 » et hachez-le, change « motdepasse123 »

				
					openssl rand -base64 32
echo -n "motdepasse123" | sha256sum
				
			

Modifier le fichier de configuration de Graylog

				
					sudo nano /etc/graylog/server/server.conf
				
			

Faire la même configuration comme ci-dessous

				
					password_secret = votre_password_secret
root_username = admin
root_password_sha2 = votre_password_secret_sha2
root_timezone = Europe/Paris
http_bind_address = 0.0.0.0:9000
elasticsearch_hosts = http://127.0.0.1:9200
message_journal_dir = /mnt/disk/graylog-journal

				
			

Maintenant faut activer graylog

				
					sudo systemctl enable --now graylog-server
				
			

Exécutez cette commande pour obtenir les identifiants nécessaires à la première connexion à Graylog

				
					tail -f /var/log/graylog-server/server.log
				
			

En sortie, vous obtiendrez un nom d’utilisateur admin et un mot de passe aléatoire de type « f1ek2rj5eqz ». Patientez environ 5 minutes le temps que les services se lancent, puis accédez à l’interface Web, comme par exemple http://192.168.32.12