La base de métrologie de Shinken peut être fortement sollicitée sur des architectures supervisant un grand nombre d'éléments. Sa disponibilité est également importante puisqu'elle peut être source de données pour des outils externes à Shinken (Grafana par exemple) pouvant être mis à disposition.
L'objectif de cette page de documentation est d'expliquer de manière détaillée la procédure nécessaire pour la mise en place d'un cluster Graphite. Cela permet d'augmenter la disponibilité des données et d'éviter la perte de données en cas d'incident sur la machine stockant les métriques.
Avant de commencer, voici un résumé des différentes étapes nécessaires pour la configuration du cluster Graphite:
La première étape dans la mise en place d'un cluster Graphite est bien entendu l'installation de Graphite. Comme les autres dépendances de Shinken, il faut que la version de Graphite installée soit celle fournie avec l'installeur Shinken. En effet, certaines modifications ont été faites sur Graphite pour l'intégration avec Shinken, ce qui rend incompatible les versions de Graphites qui auraient pu être installées auparavant via d'autres installeurs.
Sur chaque machine qui compose le cluster Graphite, il faudra alors procéder à une installation de Shinken.
La procédure d'installation de Shinken est décrite dans la page de documentation dédiée: Guide d'installation et de mise à jour
Installer Keepalived et ses dépendances sur tous les serveurs qui vont composer le cluster:
yum install keepalived |
Une fois l'installation terminé, il faut aller éditer le fichier de configuration de Keepalived
! Configuration File for keepalived
vrrp_instance NOM_DU_SERVEUR {
# Priorité utilisée lors de l'élection d'un nouveau maître. C'est la priorité la plus élevée qui gagne l'élection
priority 150
# ID du routeur virtuel. Doit être unique sur l'ensemble des noeuds
virtual_router_id 255
# Option qui a pour conséquence qu’un master qui renaît ne reprendra pas l’IP si son SLAVE l’a
nopreempt
# Interface d'écoute et d'échange des paquets multicast VRRP
interface enp0s3
# L'état de santé des cibles est vérifié toutes les 5 secondes
advert_int 5
# Interface réseau commune aux membres
virtual_ipaddress {
XXX.XXX.XXX.XXX/XX brd XXX.XXX.XXX.XXX dev enp0s3 scope global
}
} |
ATTENTION à modifier les informations suivantes :
Exemple d'un configuration avec 1 serveur maître et 1 serveur esclave
! Configuration File for keepalived
vrrp_instance SRV01 {
priority 150
virtual_router_id 255
nopreempt
interface enp0s3
advert_int 5
virtual_ipaddress {
192.168.1.100/24 brd 192.168.1.255 dev enp0s3 scope global
}
} |
! Configuration File for keepalived
vrrp_instance SRV02 {
priority 100
virtual_router_id 255
nopreempt
interface enp0s3
advert_int 5
virtual_ipaddress {
192.168.1.100/24 brd 192.168.1.255 dev enp0s3 scope global
}
} |