Installer OpenSearch et OpenSearch Dashboards 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
IP192.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
- Connexion sur le serveur Rocky Linux :
- 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
- Désactiver le swap (recommandé pour Elastic‑forks) :
sudo sed -i '/ swap / s/^(.*)$/#\1/g' /etc/fstab
sudo swapoff -a
free -m
- 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
- 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
- Vérifier l information du paquet :
sudo dnf info opensearch
- Installer OpenSearch :
sudo dnf install -y opensearch
- 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
.
- É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
- Ajuster le heap JVM selon la RAM du serveur. Éditer
/etc/opensearch/jvm.options
et définir par exemple :
-Xms2g
-Xmx2g
- 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 viasecurityadmin.sh
.
Redémarrez OpenSearch après modification :
sudo systemctl restart opensearch
Création des utilisateurs internes et hachage des mots de passe
- 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.
- É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.
- 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
- 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
- Adapter la politique crypto si nécessaire (dépôt utilise un hachage legacy) :
sudo update-crypto-policies --set LEGACY
- 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 dansopensearch.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
- Préparer une CA interne ou obtenir une CA publique.
- Générer certificats pour chaque nœud et services (dashboards, clients externes).
- Mettre en place un cluster multi‑nœuds (minimum 3 pour haute dispo) avec discovery adapté.
- Activer TLS et vérifier la réplication et les snapshots.
- Mettre en place la supervision et les sauvegardes.
- 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
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.
Matériaux similaires

Choisir le meilleur mini PC : guide pratique

Voir et gérer les publications aimées sur Instagram
Remplacer un disque RAID1 défaillant
Erreur Code 43 GPU NVIDIA/Intel — Guide dépannage

Désactiver tactile iPhone et iPad en quelques étapes
