Déployer un serveur Graylog
Pour les déploiements à grande échelle, BriefCam recommande d’utiliser la plateforme de gestion des journaux Graylog pour rassembler les différents journaux en un seul endroit afin de faciliter le débogage du système.
Pour déployer un serveur Graylog, vous avez besoin d’un serveur Linux dédié.
Lorsque vous effectuez toutes les étapes ci-dessous, les composants internes suivants, nécessaires au fonctionnement de Graylog, seront installés :
MongoDB - Une instance de base de données distincte à cette fin.
ElasticSearch - Il s’agit d’une couche intermédiaire par laquelle la base de données et Graylog communiquent.
Graylog
En outre, dans le cadre de l’installation, un agent est déployé sur chacun des BriefCamserveurs . L’agent sera responsable de l’envoi des journaux au serveur Graylog.

Prérequis
BriefCam est déjà déployé sur votre site.
Le serveur Linux doit être accessible depuis toutes les machines BriefCam via HTTP/TCP.
Exigences de la plateforme
Le serveur Linux doit être ubuntu 18.04.* LTS avec les spécifications suivantes :
1 x i7-10700K CPU
64 Go de RAM
256GB SSD
Autres critères
Toutes les opérations doivent être effectuées par un utilisateur disposant d’autorisations sudo.
Installer Graylog sur le serveur Linux
L’installation de Graylog sur le serveur Linux consiste en les étapes suivantes :
Étape 1 : Vérifiez que SSH est installé et activé
Connectez-vous au serveur Linux.
Ouvrez une fenêtre de terminal.
Exécutez les commandes suivantes :
sudo apt update sudo apt install openssh-serverVérifiez que le démon ssh (service) est opérationnel :
sudo systemctl status sshVous devriez voir un texte similaire à celui-ci :
Active: active (running) :Tapez
qpour revenir à la console.Autorisez ssh dans le pare-feu :
sudo ufw allow sshMettez fin à la session shell :
sudo ufw allow ssh
Étape 2 : Installez le Runtime de Docker
Pour installer Docker Runtime :
Ouvrez la session SSH sur la machine du serveur :
ssh jjcale@tulsa-sound or jjcale@{Server IP address}Saisissez votre mot de passe pour vous connecter à la session SSH.
Mettez à jour le gestionnaire de paquets apt :
sudo apt-get updateInstallez les dépendances générales de docker :
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-commonInstallez une clé PGP d’exécution de docker :
curl -fsSLhttps://download.docker.com/linux/ubuntu/gpg | sudo apt-key add –Ajoutez un référentiel d’exécution docker :
sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"Installez le runtime docker lui-même et les dépendances directes :
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.ioTestez l’installation de docker. Cela devrait produire un court message d’accueil à la console sans erreurs :
sudo docker run hello-world
La sortie ressemblera à ce qui suit :
Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 0e03bdcc26d7: Pull complete Digest: sha256:e7c70bb24b462baa86c102610182e3efcb12a04854e8c582838d92970a09f323 Status: Downloaded newer image for hello-world:latestHello from Docker! This message shows that your installation appears to be working correctly.
Ajoutez l’utilisateur 'docker' au groupe de l’utilisateur avec lequel vous êtes connecté :
sudo usermod -aG docker jjcaleVeillez à vous déconnecter ou à quitter la session en cours pour que la commande
usermodprenne effet.Installez le runtime docker-compose :
sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname-m)" -o /usr/local/bin/docker-composeDonnez des autorisations d’exécution à docker-compose :
sudo chmod +x /usr/local/bin/docker-compose
Étape 3 : Copiez et extrayez les fichiers d’installation
Copiez les fichiers de la machine qui héberge le fichier d’installation (généralement une machine Windows) vers le serveur Linux.
Utilisez
opensshpour Windows ouwinscp: https://winscp.net/download/WinSCP-5.17.9-Setup.exe:Exécutez :
scp path\to\package\server.zip jjcale@192.168.0.3:/home/jjcale/ssh sur la machine du serveur et extrayez les fichiers du paquet :
cd ~unzip server.zipcd server
Étape 4 : Configurez et activez le moteur du serveur Graylog
Ouvrez le fichier
docker-compose-graylog.ymlavec un éditeur de texte et définissez ce qui suit :GRAYLOG_HTTP_EXTERNAL_URI=server_ipLaissez le port tel quel. Par exemple :
GRAYLOG_HTTP_EXTERNAL_URI=http ://{Server IP address}:9000/Créez un répertoire pour les fichiers Graylog :
sudo mkdir-p /opt/briefcam/graylogCopiez le fichier de composition Graylog dans le répertoire nouvellement créé :
sudo cp docker-compose-graylog.yml /opt/briefcam/graylog/Créez un service Graylog en copiant
graylog-docker.servicevers/etc/systemd/system:sudo cp graylog-docker.service /etc/systemd/system/Activez le nouveau service pour le redémarrage de la machine :
sudo systemctl daemon-reload sudo systemctl enable graylog-dockerDémarrez le service Graylog :
sudo systemctl start graylog-docker
Note
Le premier démarrage peut prendre quelques minutes, car le tirage et le démarrage de nouveaux conteneurs Docker prennent un certain temps.
Étape 5 : Configurez les collecteurs Graylog
Connectez-vous à l’interface Web de Graylog.
Ouvrez un navigateur et allez à l'adresse suivante :
http://{Server IP address}:9000.Les informations d’identification sont les suivantes :
utilisateur :
adminmot de passe :
adminAllez dans system/inputs.
Créez l’entrée GELF TCP :
Cochez la case Global.
Ajoutez un titre, tel que : « Win TCP ».
Définissez le port sur
12201(par défaut).
Créez l’entrée UDP GELF :
Cochez la case Global.
Ajoutez un titre, tel que : « Win UDP ».
Définissez le port sur
12201(par défaut).
Allez dans system/sidecars.
Créez un jeton API.
Cliquez sur Create ou réutiliser un jeton pour l’utilisateur graylog-sidecar.
Ajoutez un nom de jeton, tel que : « Jeton Win ».
Cliquez sur Create Token (Créer un jeton).
Enregistrez le jeton ou copiez-le dans le presse-papiers.
Étape 6 : Configurez les serveurs BriefCam pour envoyer les journaux au serveur Graylog
Les étapes suivantes doivent être effectuées sur chaque serveur BriefCam.
Étape a : Copier les fichiers du paquet d’installation
Connectez-vous à la machine à distance (RDP) et copiez les fichiers suivants depuis les liens d’installation vers chacun des serveurs BriefCam :
graylog_sidecar_installer_1.0.2-1.exenxlog-ce-2.10.2150.msiwindows_exporter-0.14.0-amd64.msi
Étape b : Installer le collecteur de journaux
Installez le collecteur nxlog en exécutant ce qui suit dans PowerShell avec des autorisations administratives élevées :
..\nxlog-ce-2.10.2150.msi/qnLa première étape consiste à créer des services sur votre machine. Dans cette étape, vous devez désactiver les services du système (Graylog n’a besoin que des binaires) en exécutant ce qui suit dans PowerShell :
cd 'C:\Program Files (x86)\nxlog\'.\nxlog.exe-uInstallez le sidecar Graylog en tant que service avec l’IP du serveur Graylog et le jeton API enregistré en exécutant la commande suivante dans PowerShell :
.\graylog_sidecar_installer_1.0.0-1.exe/S-SERVERURL="http://{Server IP address }:9000/api"-APITOKEN="<api-token>"
Étape c : Configurer le Sidecar
Modifiez le fichier
C:\Program Files\Graylog\sidecar\sidecar.ymlet supprimez le commentaire des entrées suivantes :cache_pathlog_pathcollector_configuration_directorycollector_binaries_whitelistet l’entrée"C:\\Program Files (x86)\\nxlog\\nxlog.exe"qui l’accompagne
Enregistrez le fichier.
Enregistrez le sidecar en tant que service et démarrez-le en exécutant les commandes suivantes à partir du répertoire
C:\Program Files\Graylog\sidecar:C:\Program Files\Graylog\sidecar> .\graylog-sidecar.exe -service installC:\Program Files\Graylog\sidecar> .\graylog-sidecar.exe -service start
Étape d : Créez la configuration Graylog
Ouvrez l’interface utilisateur de Graylog et naviguez jusqu’à system/sidecars.
Trouvez votre machine connectée et cliquez sur manage sidecar (gérer le sidecar).
Cochez la case nxlog.
Cliquez sur Configuration.
Sous collecteurs de journaux, cliquez sur edit (modifier) dans la version Windows de nxlog.
Donnez un nom, tel que « win-nxlog ».
Dans la section
default template(modèle par défaut), mettez à jourFile entrydans la section<Input file>vers le répertoire de journal souhaité.Dans la section
<Output gelf>, mettez l’Host IPà l’adresse correcte de la machine connectée (adresse IP du serveur).Cliquez sur Update.