Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Scroll Ignore
scroll-pdftrue
scroll-officetrue
scroll-chmtrue
scroll-docbooktrue
scroll-eclipsehelptrue
scroll-epubtrue
scroll-htmlfalse
Panel
titleSommaire

Table of Contents
stylenone

L'importance d'avoir des serveurs de supervision

qui sont synchronisés en temps

dont les horloges sont synchronisées ( NTP

ou

, Chrony, ... )

Shinken Enterprise est un système distribué entre ses . Ses démons , qui vont se retrouver sur différents serveurs virtuels ou physiques quand . Quand l'infrastructure à superviser va grossir ou être géographiquement distance. Il vaste, il est impératif que TOUS les serveurs de supervisions soient synchronisés en terme de temps.

En effet, si une vérification est faite sur un serveur distant avec une mauvaise datedont l'horloge dérive, puis consommée utilisée par un autre démon qui a une autre datesur un autre serveur qui lui est bien à l'heure, l'analyse va être totalement faussée. En effet, le résultat sera présenté soit trop dans le passé, soit trop dans le futur, mais dans tous les cas les données seront totalement inexacte inexactes. Ceci va causer de grave problèmes de cohérences cohérence de données, qui ne seront pas récupérables.

Info
titleLes timezones différences de fuseaux horaires ( time zone ) sont normales et acceptables

Il est important de noter que la présence de timezones locales l'utilisation d'un fuseau horaire local par serveur est totalement acceptable et normale.

C'est bien le temps système ( unix ( timestamp ) qui est important, pas sa représentation locale pour les humains ( qui prends prend donc ce timestamp unix et lui applique la timzone locale des calculs liés au fuseau horaire local pour l'affichage ).

Comment vérifier que

ses

les serveurs sont à l'heure

Le plus simple pour vérifier que ses les serveurs sont à l'heure est d'utiliser les checks NTP des packs linux et chrony livrés avec Shinken Enterprise, qui vous avertirons en cas de . Ces checks remonteront tout problème de synchronisation, ou si vos les démons ntp ou chrony sont arrêtés.

Sachant que suivant votre OS c'est le démon ntp ou chrony que vous avez:

  • Centos/Redhat 6: ntp
  • Centos/Redhat 7: ntp
  • Redhat/AlmaLinux 8: chrony

Pour faire une vérification manuelle du temps effectivement en cours sur vos serveurs, vous pouvez lancer:

Suivant le système d'exploitation, les démons de synchronisation de temps usuels sont :

  • RHEL / Alma / Rocky 8 : chrony, systemd-timesyncd ;
  • RHEL / RHEL 7 : ntp, chrony ;
  • Debian 13 : openntpd, systemd-timesyncd, chrony, ntpsec ;

Shinken recommande l'utilisation de chrony.


Pour faire une vérification manuelle, la commande suivante permet de récupérer le timestamp unix actuel du système  :

Code Block
languagetext
themeEmacs
Code Block
themeEclipse
$ date '+%s'
1667379864

Vous devez avoir le même résultat sur l'ensemble de vos serveurs, peu importe leur timezone (ces dernières n'influent pas sur le temps unix, c'est son principal intérêtCette commande doit retourner la même valeur sur tous les serveurs où elle est exécutée en simultané, indépendamment du fuseau horaire ( en effet, le timestamp unix est indépendant du fuseau horaire ).


Comment forcer la synchronisation

de vos serveurs

le l'horloge d'un serveur

Il est important de noter que dans tous les cas, vous aller forcer une synchronisation avec les la synchronisation se fait via des serveurs de temps auxquels vous avez accès de référence ( soit des serveurs disponibles publiquement sur internet, soit des serveurs disponibles sur votre dans l'infrastructure interne ). Dans ce dernier cas, si ces derniers ne sont pas à l'heure, vous n'aurez pas une date valide, et c'est donc un problème à régler de toute urgence avec les administrateurs de ces services.

Si vous avez ntp ( Centos/RedHat 6 ou 7 )

Il est vivement conseillé d'utiliser plusieurs serveurs de référence, pour éviter que la dérive d'un seul référant ne dérègle tous les serveurs.

ntp ( RHEL / CentOS ) ou ntpsec ( Debian 13 )

Dans le cas du démon ntpd, il faut utiliser la commande Dans le cas d'un serveur ntp, il faut passer par "ntpdate" pour forcer une synchronisation . Il est à noter que pour pouvoir faire une synchronisation, il faut que le service ntpd soit arrêté avant car ntpdate va demander les mêmes ports que le démon ntpd."brutale" de l'horloge du système.

L'utilisation de cette commande requiert l'arrêt du service ntpd au préalable.

Code Block
languagetext
themeEmacs
systemctl stop ntpd 
systemctl start ntpdate
systemctl start ntpd
Code Block
service ntpd stop
service ntpdate start
service ntpd start
date '+%s'
Si vous avez

chrony (

RedHat/AlmaLinux 8

RHEL / Alma / Rocky ou Debian 13 )

Dans le cas d'un serveur chrony, du démon chronyd, il faut utiliser la commande est "makestep" de l'utilitaire chronyc pour forcer une synchronisation de l'horloge du système.

Code Block
languagetext
themeEmacs
systemctl start chronyd
chronyc makestep

date '+%s'

openntpd ( Debian 13 )

Pour forcer une synchronisation de l'horloge du système au démarrage du démon openntpd, ajouter -s dans les options de démarrage du démon dans le fichier de configuration /etc/default/openntpd

Code Block
languagejs
themeConfluence
title/etc/default/openntpd
# /etc/default/openntpd

# Append '-s' to set the system time when starting in case the offset
# between the local clock and the servers is more than 180 seconds.
# For other options, see man ntpd(8).
DAEMON_OPTS="-f /etc/openntpd/ntpd.conf -s"

Puis redémarrer le démon

Code Block
languagetext
themeEmacs
systemctl restart openntpd

date '+%s'