| Scroll Ignore | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||
|
L'importance d'avoir des serveurs de supervision
qui sont synchronisés en tempsdont 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 | ||
|---|---|---|
| ||
Il est important de noter que la présence de timezones localesl'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 prendsprend donc ce timestamp unix et lui applique la timzone localedes calculs liés au fuseau horaire local pour l'affichage ). |
Comment vérifier que
sesles 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
- Centos/Redhat 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 | ||||
|---|---|---|---|---|
| ||||
| Code Block | ||||
| ||||
$ 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 serveursle 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 | ||||
|---|---|---|---|---|
| ||||
systemctl stop ntpd
systemctl start ntpdate
systemctl start ntpd
| ||||
| Code Block | ||||
service ntpd stop
service ntpdate start
service ntpd start
date '+%s' |
chrony (
RedHat 8RHEL / 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 | ||||
|---|---|---|---|---|
| ||||
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 | ||||||
|---|---|---|---|---|---|---|
| ||||||
# /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 | ||||
|---|---|---|---|---|
| ||||
systemctl restart openntpd
date '+%s' |