Guide des technologies

Installer OpenSearch et OpenSearch Dashboards sur Rocky Linux 9

8 min read DevOps Mis à jour 30 Sep 2025
Installer OpenSearch sur Rocky Linux 9
Installer OpenSearch sur Rocky Linux 9

  • Ce guide pas à pas montre comment installer OpenSearch et OpenSearch Dashboards sur Rocky Linux 9 en mode mono‑nœud. Il couvre la préparation du système, l installation via le dépôt officiel, la sécurisation par TLS, la création d utilisateurs et la connexion des Dashboards.
  • Résultat attendu : un serveur OpenSearch accessible en HTTPS sur le port 9200 et OpenSearch Dashboards sur le port 5601, avec authentification et certificats auto‑signés gérés localement.

Important

Ce guide utilise des certificats auto‑signés pour la démonstration. En production, remplacez la CA et les certificats par des certificats émis par une autorité de confiance.

Sommaire

  • Prérequis
  • Préparation du système
  • Installation d OpenSearch
  • Configuration initiale
  • Génération et installation de certificats TLS
  • Ajout des certificats à la configuration d OpenSearch
  • Création et application d utilisateurs administrateurs
  • Installation d OpenSearch Dashboards
  • Configuration d OpenSearch Dashboards
  • Accès et vérifications
  • Dépannage courant
  • Checklist par rôle
  • Mini méthodologie de mise en production
  • Glossaire
  • Conclusion

Intentions principales

  • Installer et sécuriser OpenSearch et OpenSearch Dashboards sur Rocky Linux 9
  • Fournir des étapes reproductibles pour un déploiement mono‑nœud
  • Expliquer les concepts clés : CA, certificats nœud, utilisateur administrateur, sécurité REST

Prérequis

Avant de commencer, vérifiez les éléments suivants :

  • Un serveur Rocky Linux 9 avec au moins 4 Gio de RAM (8 Gio recommandé pour production mono‑nœud). Exemple utilisé : hôte node-rock1 IP 192.168.5.25, 8 Gio de RAM.
  • Un utilisateur non root disposant des privilèges sudo.
  • SELinux en mode permissif pour les étapes de configuration (ou adaptez les règles SELinux en production).
  • Accès à Internet pour récupérer les dépôts OpenSearch.

Notes

  • Si vous prévoyez un cluster multi‑nœuds, adaptez discovery.type et la configuration réseau. Ce guide montre un mode single‑node pour simplifier la mise en route.

Préparation du système

  1. Connexion sur le serveur Rocky Linux :
  1. Définir le nom d hôte et la ligne hosts (adaptez l IP si besoin) :
sudo hostnamectl set-hostname node-rock1
echo '192.168.5.25 node-rock1.hwdomain.lan node-rock1' | sudo tee -a /etc/hosts

Reconnectez‑vous et vérifiez le FQDN :

sudo hostname -f
  1. Désactiver le swap (recommandé pour Elastic‑forks) :
sudo sed -i '/ swap / s/^(.*)$/#\1/g' /etc/fstab
sudo swapoff -a
free -m
  1. Ajuster vm.max_map_count pour OpenSearch :
echo 'vm.max_map_count=262144' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
cat /proc/sys/vm/max_map_count

Explication rapide

  • vm.max_map_count : requis pour la gestion de mappages mémoire par Lucene/Java. Valeur recommandée 262144.
  • Swap désactivé : évite que la JVM soit paginée et limite les problèmes de performance.

Installation d OpenSearch

  1. Ajouter le dépôt officiel OpenSearch pour la série 2.x :
sudo curl -SL https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/opensearch-2.x.repo -o /etc/yum.repos.d/opensearch-2.x.repo
sudo dnf repolist
  1. Vérifier l information du paquet :
sudo dnf info opensearch
  1. Installer OpenSearch :
sudo dnf install -y opensearch
  1. Recharger systemd, démarrer et activer le service :
sudo systemctl daemon-reload
sudo systemctl start opensearch
sudo systemctl enable opensearch
sudo systemctl status opensearch

Conseil

  • Si l installation demande la clé GPG, acceptez l import car c est la clé du dépôt OpenSearch.

Configuration initiale d OpenSearch

Les fichiers principaux sont dans /etc/opensearch.

  1. Éditer /etc/opensearch/opensearch.yml pour un mono‑nœud :
sudo nano /etc/opensearch/opensearch.yml

Ajouter ou modifier :

network.host: 192.168.5.25
discovery.type: single-node
plugins.security.disabled: false
  1. Ajuster le heap JVM selon la RAM du serveur. Éditer /etc/opensearch/jvm.options et définir par exemple :
-Xms2g
-Xmx2g
  1. Redémarrer OpenSearch :
sudo systemctl restart opensearch
ss -tulpn | grep 9200 || true

Important

Ne mettez pas -Xms et -Xmx à plus de 50 % de la RAM totale sur une machine partageant d autres processus.

Sécurisation par TLS/SSL — concepts rapides

  • Root CA : autorité qui signe les certificats nœud et admin
  • Certificat admin : utilisé par securityadmin.sh pour appliquer la configuration sécurité
  • Certificats nœud : utilisés pour chiffrer les communications nœud→nœud et client→nœud

Ce guide génère une CA et signe des certificats pour node-rock1.hwdomain.lan.

Préparer l espace des certificats

sudo rm -f /opt/opensearch/{esnode-key.pem,esnode.pem,kirk-key.pem,kirk.pem,root-ca.pem}
sudo mkdir -p /etc/opensearch/certs
cd /etc/opensearch/certs

Générer la clé privée et la CA

openssl genrsa -out root-ca-key.pem 2048
openssl req -new -x509 -sha256 -key root-ca-key.pem -subj '/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=ROOT' -out root-ca.pem -days 730

Générer le certificat admin

openssl genrsa -out admin-key-temp.pem 2048
openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pem
openssl req -new -key admin-key.pem -subj '/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=A' -out admin.csr
openssl x509 -req -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem -days 730

Générer le certificat nœud

openssl genrsa -out node-rock1-key-temp.pem 2048
openssl pkcs8 -inform PEM -outform PEM -in node-rock1-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out node-rock1-key.pem
openssl req -new -key node-rock1-key.pem -subj '/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=node-rock1.hwdomain.lan' -out node-rock1.csr
echo 'subjectAltName=DNS:node-rock1.hwdomain.lan' > node-rock1.ext
openssl x509 -req -in node-rock1.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out node-rock1.pem -days 730 -extfile node-rock1.ext

Nettoyage, conversion et installation de la CA système

rm *temp.pem *csr *ext || true
openssl x509 -outform der -in root-ca.pem -out root-ca.crt
sudo cp root-ca.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust

Permissions

sudo chown -R opensearch:opensearch /etc/opensearch/certs
sudo chmod 0700 /etc/opensearch/certs
sudo chmod 0600 /etc/opensearch/certs/*.pem
sudo chmod 0600 /etc/opensearch/certs/*.crt

Vérifiez que l utilisateur opensearch peut lire les certificats ; sinon le plugin sécurité échouera au démarrage.

Ajouter les certificats dans la configuration d OpenSearch

Pour éviter les erreurs manuelles, ce guide propose un petit script d ajout qui écrit les paramètres TLS dans opensearch.yml.

Créer add.sh puis rendre exécutable :

cat > add.sh <<'EOF'
#!/bin/bash

echo "plugins.security.ssl.transport.pemcert_filepath: /etc/opensearch/certs/node-rock1.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.transport.pemkey_filepath: /etc/opensearch/certs/node-rock1-key.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.transport.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.enabled: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.pemcert_filepath: /etc/opensearch/certs/node-rock1.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.pemkey_filepath: /etc/opensearch/certs/node-rock1-key.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.ssl.http.pemtrustedcas_filepath: /etc/opensearch/certs/root-ca.pem" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.allow_default_init_securityindex: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.authcz.admin_dn:" | sudo tee -a /etc/opensearch/opensearch.yml
echo "  - 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.nodes_dn:" | sudo tee -a /etc/opensearch/opensearch.yml
echo "  - 'CN=node-rock1.hwdomain.lan,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.audit.type: internal_opensearch" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.enable_snapshot_restore_privilege: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.check_snapshot_restore_write_privileges: true" | sudo tee -a /etc/opensearch/opensearch.yml
echo "plugins.security.restapi.roles_enabled: ['all_access', 'security_rest_api_access']" | sudo tee -a /etc/opensearch/opensearch.yml
EOF

chmod +x add.sh
./add.sh

Explication

  • plugins.security.authcz.admin_dn doit contenir le DN du certificat admin que nous avons signé précédemment. C est ce certificat qui pourra appliquer les modifications via securityadmin.sh.

Redémarrez OpenSearch après modification :

sudo systemctl restart opensearch

Création des utilisateurs internes et hachage des mots de passe

  1. Générer des mots de passe hachés avec l outil fourni :
cd /usr/share/opensearch/plugins/opensearch-security/tools
OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./hash.sh
# Saisissez le mot de passe et conservez le hash généré

Répétez pour le compte kibanaserver.

  1. Éditer /etc/opensearch/opensearch-security/internal_users.yml et remplacer les comptes par défaut par :
admin:
  hash: '$2y$...'
  reserved: true
  backend_roles:
  - 'admin'
  description: 'Admin user'

kibanaserver:
  hash: '$2y$...'
  reserved: true
  description: 'User for OpenSearch Dashboards'

Remplacez les valeurs hash par celles générées précédemment.

  1. Appliquer la configuration de sécurité :
sudo systemctl restart opensearch
cd /usr/share/opensearch/plugins/opensearch-security/tools
OPENSEARCH_JAVA_HOME=/usr/share/opensearch/jdk ./securityadmin.sh -h 192.168.5.25 -p 9200 -cd /etc/opensearch/opensearch-security/ -cacert /etc/opensearch/certs/root-ca.pem -cert /etc/opensearch/certs/admin.pem -key /etc/opensearch/certs/admin-key.pem -icl -nhnv
  1. Vérifier via curl (exemple) :
curl https://node-rock1:9200 -u admin:VOTRE_MOT_DE_PASSE -k

Remarque

  • L option -k force curl à ignorer le contrôle du certificat. En production, évitez -k en utilisant une CA de confiance.

Installer OpenSearch Dashboards

  1. Adapter la politique crypto si nécessaire (dépôt utilise un hachage legacy) :
sudo update-crypto-policies --set LEGACY
  1. Ajouter le dépôt Dashboards et installer :
sudo curl -SL https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.x/opensearch-dashboards-2.x.repo -o /etc/yum.repos.d/opensearch-dashboards-2.x.repo
sudo dnf install -y opensearch-dashboards
sudo systemctl start opensearch-dashboards
sudo systemctl enable opensearch-dashboards
sudo systemctl status opensearch-dashboards

Configurer OpenSearch Dashboards

Éditer /etc/opensearch-dashboards/opensearch-dashboard.yml et modifier :

server.port: 5601
server.host: '192.168.5.25'

opensearch.hosts: ['https://192.168.5.25:9200']
opensearch.ssl.verificationMode: none
opensearch.username: kibanaserver
opensearch.password: VOTRE_MOT_DE_PASSE_KIBANASERVER

Redémarrer le service :

sudo systemctl restart opensearch-dashboards

Sécurité

  • opensearch.ssl.verificationMode: none désactive la vérification TLS côté Dashboards. En production, fournissez le certificat CA pour éviter cela.

Ouvrir le port du pare‑feu et accéder

sudo firewall-cmd --add-port=5601/tcp --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

Puis naviguez vers http://192.168.5.25:5601 et identifiez‑vous avec kibanaserver et son mot de passe.

Vérifications utiles

  • Depuis Dashboards, ouvrez Dev Tools et lancez GET / pour vérifier la connexion à OpenSearch.
  • Vérifiez les logs système et application :
sudo journalctl -u opensearch -f
sudo journalctl -u opensearch-dashboards -f

Dépannage courant

  • Erreur de démarrage OpenSearch après activation du plugin sécurité : vérifiez les permissions sur /etc/opensearch/certs et que les chemins dans opensearch.yml sont corrects.
  • securityadmin.sh échoue : assurez‑vous que l option -cacert pointe vers la CA signante et que -cert/-key sont le certificat admin signé et sa clé.
  • OpenSearch Dashboards affiche une erreur de certificat : utilisez opensearch.ssl.verificationMode: full en production avec la bonne CA ajoutée au magasin système.

Checklist rapide avant mise en production

  • Remplacer la CA auto‑signée par une CA interne ou publique
  • Configurer SELinux correctement et écrire des règles si besoin
  • Surveiller l utilisation du heap et définir des SLI/SLO pour mémoire et latence
  • Activer la rotation des logs et la supervision (metricbeat, opensearch‑dashboards monitoring)
  • Sauvegarde régulière des snapshots (vérifier privilèges snapshot)

Checklist par rôle

Administrateur système

  • Valider les ressources CPU/RAM/disk
  • Configurer sauvegardes snapshots
  • Gérer la CA et la rotation des certificats

Administrateur OpenSearch

  • Vérifier index templates et mappings
  • Configurer utilisateurs, rôles et audits
  • Surveiller les clusters et les performances

Développeur / Observabilité

  • Tester ingestion (logstash/filebeat/beat)
  • Créer dashboards partagés
  • Automatiser les tests d ingestion

Mini méthodologie pour basculer en production

  1. Préparer une CA interne ou obtenir une CA publique.
  2. Générer certificats pour chaque nœud et services (dashboards, clients externes).
  3. Mettre en place un cluster multi‑nœuds (minimum 3 pour haute dispo) avec discovery adapté.
  4. Activer TLS et vérifier la réplication et les snapshots.
  5. Mettre en place la supervision et les sauvegardes.
  6. Effectuer un test de montée en charge et ajuster heap / threads.

Fact box — chiffres clés (orientatifs)

  • vm.max_map_count recommandé : 262144
  • Heap JVM recommandé : 50 % de la RAM, max 30‑32 Go pour éviter le Compressed OOPs loss
  • Ports utilisés : 9200 (HTTPs OpenSearch), 9300 (transport nœud→nœud), 5601 (Dashboards)

Merkmale décisionnel (diagramme simplifié)

flowchart TD
  A[Déploiement] --> B{Mono‑nœud ou Multi‑nœuds}
  B -->|Mono‑nœud| C[Installer via RPM]
  B -->|Multi‑nœuds| D[Planifier discovery et réseau]
  C --> E[Sécuriser TLS]
  D --> E
  E --> F[Créer utilisateurs]
  F --> G[Installer Dashboards]
  G --> H[Passer en production]

Critères d acceptation

  • OpenSearch répond à https://192.168.5.25:9200 avec code HTTP 200 pour l utilisateur admin
  • OpenSearch Dashboards accessible sur http://192.168.5.25:5601 et se connecte au cluster
  • Les certificats sont lisibles par l utilisateur opensearch et expirent à une date vérifiable

Glossaire (1‑ligne)

  • CA : Autorité de certification qui signe des certificats TLS
  • CSR : Certificate Signing Request, requête de signature d un certificat
  • PKCS#8 : Format de clé privée compatible Java
  • securityadmin.sh : Outil pour appliquer la configuration du plugin sécurité OpenSearch

Sécurité et confidentialité

  • N envoyez jamais les clés privées sur un canal non sécurisé.
  • Remplacez les certificats auto‑signés en production.
  • Pour la conformité GDPR, limitez l accès aux données et activez l audit interne.

Modèles alternatifs

  • Conteneuriser OpenSearch et Dashboards avec Docker/Podman pour faciliter la portabilité
  • Déployer via Kubernetes et l opérateur OpenSearch pour automatiser le scaling et la gestion des certificats
  • Utiliser une solution managée si vous ne souhaitez pas gérer la couche infra

Exemples de cas où cette méthode échoue

  • En cluster multi‑nœuds, l option discovery.type: single-node provoquera l échec de formation du cluster.
  • Si SELinux est en enforcing sans règles adaptées, OpenSearch peut être restreint pour lire les certificats.

Templates utiles

  • Exemple minimal de opensearch.yml pour ce guide :
cluster.name: 'opensearch-cluster'
network.host: 192.168.5.25
discovery.type: single-node
plugins.security.disabled: false
# TLS settings ajoutés via add.sh

Résumé

  • Vous avez préparé Rocky Linux 9, installé OpenSearch via RPM, généré une CA et des certificats, ajouté la configuration TLS et créé des utilisateurs internes. Vous avez installé OpenSearch Dashboards, configuré la connexion et vérifié l accès via Dev Tools.
  • Pour la production, remplacez la CA auto‑signée, surveillez les ressources JVM et planifiez un cluster multi‑nœuds.

Images

Logo OpenSearch

Vérifier le FQDN de la machine

Vérifier que swap est désactivé

Vérifier vm.max_map_count

Vérifier les dépôts OpenSearch

Versions OpenSearch disponibles

Installation d OpenSearch

Accepter clé GPG du dépôt

Démarrer et activer OpenSearch

Statut du service OpenSearch

Édition opensearch.yml

Ajuster la mémoire JVM

Suppression des certificats de démo

Liste des certificats générés

Ajout de la configuration TLS au fichier opensearch.yml

Génération de hash de mot de passe

Configuration des utilisateurs internes

Application des paramètres de sécurité

Vérification utilisateur admin

Vérification utilisateur kibanaserver

Ajout dépôt Dashboards

Installation OpenSearch Dashboards

Accepter clé GPG Dashboards

Configurer le pare-feu pour 5601

Page de connexion OpenSearch Dashboards

Bienvenue sur OpenSearch Dashboards

Tester via Dev Tools

Conclusion

Vous disposez maintenant d une instance OpenSearch sécurisée par TLS et d OpenSearch Dashboards connectés, prêts pour des tests d ingestion de logs et la création de tableaux de bord. Pour la production, suivez la checklist et remplacez les composants auto‑signés par des certificats gérés.

Auteur
Édition

Matériaux similaires

Choisir le meilleur mini PC : guide pratique
Informatique

Choisir le meilleur mini PC : guide pratique

Voir et gérer les publications aimées sur Instagram
Réseaux sociaux

Voir et gérer les publications aimées sur Instagram

Remplacer un disque RAID1 défaillant
Stockage

Remplacer un disque RAID1 défaillant

Erreur Code 43 GPU NVIDIA/Intel — Guide dépannage
Dépannage

Erreur Code 43 GPU NVIDIA/Intel — Guide dépannage

Désactiver tactile iPhone et iPad en quelques étapes
iOS

Désactiver tactile iPhone et iPad en quelques étapes

Installer OpenSearch sur Rocky Linux 9
DevOps

Installer OpenSearch sur Rocky Linux 9