Outils pour utilisateurs

Outils du site


monitoring

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
monitoring [2012/04/13 23:59]
gde [plugin nagios]
monitoring [2019/11/28 09:47] (Version actuelle)
gde update installation et conf postgresql
Ligne 1: Ligne 1:
 ====== Monitoring & Métrologie ====== ====== Monitoring & Métrologie ======
  
-[[http://www.shinken-monitoring.org/|Shinken]] a été choisi comme outils de monitoring. +===== Installation zabbix =====
-Pour la métrologie, nous avons décidé de reposer sur une interface à rrdtool. Nous nous baserons sur [[http://www.pnp4nagios.org/|pnp4nagios]]+
  
-===== plugin  =====+Nécessite pas grand chose pour l'instant. nombre de machine total a superviser < 100
  
-Nous utiliserons les plugins qui viennent par défaut avec shinken, ou les plugin nagios.+  * hostname : zabbix 
 +  * DNS : zabbix.faimaison.net  
 +  * CPU : 1vCPU 
 +  * RAM : 1G 
 +  * DD  : 30GB 
  
-==== nagios-plugin ==== +Nous partons d'une base debian buster (10) et nous utilisons les paquets officiel de zabbix en utilisant le repository de l'éditeur.
- +
-pour installer tous les plugins déjà créé par la communauté, il suffit de faire :+
  
 +==== installation du répository zabbix et des paquets ====
 <code> <code>
-/usr/local/shinken/install -p nagios-plugins+# wget https://repo.zabbix.com/zabbix/4.4/debian/pool/main/z/zabbix-release/zabbix-release_4.4-2+buster_all.deb 
 +# dpkg -i zabbix-release_4.4-2+buster_all.deb 
 +# apt update 
 +# apt install zabbix-server-pgsql zabbix-frontend-php php-pgsql zabbix-apache-conf
 </code> </code>
  
-===== PNP4nagios =====+postgresql est installé par dépendance, mais pas php-pgsql qui sera nécessaire pour le front.
  
-Pour faire nos graph, nous allons reposer sur pnp4nagios. Voici comment l'installer avec shinken+==== creation BDD et schema zabbix ====
  
 <code> <code>
-/usr/local/shinken/install -p pnp4nagios+# su - postgres 
 +$ pg_createcluster 11 zabbix 
 +$ createuser --pwprompt zabbix 
 +$ createdb -O zabbix zabbix 
 +$ exit 
 +# zcat /usr/share/doc/zabbix-server-pgsql/create.sql.gz | sudo -u postgres psql -U zabbix -h localhost
 </code> </code>
  
-la configuration est quasiment faites. Les hosts et les services seront automatiquement installé.+==== configuration postgresql ====
  
-==== Configuration ==== 
  
-La configuration consiste surtout à intégrer les graphs de pnp4nagios dans la webUI de shinken.+utilisation de pgtune pour fine tuné postgresql, à mettre à la fin de ///etc/postgresql/11/zabbix/postgresql.conf// :
  
-pour se faire il faut éditer le fichier ///usr/local/shinken/etc/shinken-specific.cfg// :+<code postgresql> 
 +# DB Version11 
 +# OS Type: linux 
 +# DB Type: oltp 
 +# Total Memory (RAM): 1 GB 
 +# CPUs num: 1 
 +# Data Storage: hdd
  
 +max_connections = 300
 +shared_buffers = 256MB
 +effective_cache_size = 768MB
 +maintenance_work_mem = 64MB
 +checkpoint_completion_target = 0.9
 +wal_buffers = 7864kB
 +default_statistics_target = 100
 +random_page_cost = 4
 +effective_io_concurrency = 2
 +work_mem = 436kB
 +min_wal_size = 2GB
 +max_wal_size = 4GB
 +</code>
 +
 +
 +S'assurer que les variable suivante ont les valeur dans ///etc/zabbix/zabbix_server.conf//.
 <code> <code>
-# Use PNP graphs in the WebUI +DBHost= 
-define module{ +DBName=zabbix 
-  module_name    PNP_UI +DBUser=zabbix 
-  module_type    pnp_webui +DBPassword=<password> 
-  uri            http://shinken.faimaison.net/pnp4nagios  +</code> 
 + 
 +DBHost est vide pour utiliser les socket UNIX. 
 + 
 +==== Conf frontweb et redémarrage ==== 
 + 
 + 
 +Dans ///etc/apache2/conf-enabled/zabbix.conf//, s'assurer que la timezone est positionné à Europe/Paris
  
-}+<code php> 
 +php_value max_execution_time 300 
 +php_value memory_limit 128M 
 +php_value post_max_size 16M 
 +php_value upload_max_filesize 2M 
 +php_value max_input_time 300 
 +php_value max_input_vars 10000 
 +php_value always_populate_raw_post_data -1 
 +php_value date.timezone Europe/Paris
 </code> </code>
  
 +certbot, paquets zabbix utilise apache2 donc : 
  
 +<code>
 +# apt install certbot
 +# apt install python-certbot-apache
 +# certbot --apache -d zabbix.faimaison.net
 +</code>
  
 +Redémarrer l'ensemble et activer le démarrage par défaut
  
 +<code>
 +# systemctl restart zabbix-server apache2 zabbix-agent
 +# systemctl enable zabbix-server apache2 zabbix-agent
 +</code>
  
-===== Configuration =====+==== Setup ====
  
-==== commun ====+Se connecter sur zabbix.faimaison.net/zabbix/setup.php 
 +compléter l'installation.
  
-Chaque serveur Faimaison est monitoré sur les points suivant : 
  
-  * **[[monitoring/load|load]]** : load average +===== Monitoring server  =====
-  * **[[monitoring/cpu|CPU]]** : récupération des différents état d'un cpu (idle, user, iowait, etc) +
-  * **[[monitoring/reseau|réseau]]** : débit des interfaces +
-  * **ram** & **swap** : utilisation de la ram et swap +
-  * **[[monitoring/disk|disk]]** : espace disque de chaque partition +
-  * **ntp** : vérifie décalage par rapport à un server ntp donné+
  
-==== services ====+FIXME
  
-Services à monitorer :+==== installation agent ==== 
 +Il n'y a pas de nécessité à garder une version identique des agents avec le serveur. Ainsi, nous pouvons utiliser le paquet par défaut sur debian. Toutefois, attention a ne pas avoir un écart trop grand car on perd des fonctionnalités
  
-  * **HTTP** : pour le site (test port 80 + parse page index) +<code> 
-  * **DNS** : résolution de nom de faimaison.net +# apt install zabbix-agent 
-  * **SSH** : test de connexion ssh (test port 22) +</code>
-  * **GIT+SSH** : accès aux dépôts git +
-  * **GIT** : accès aux dépôts git (read-only) +
-==== Active et Passive checks ====+
  
-Différent type de récupération des données peuvent être faites. nous pouvons sois demander au serveur monitoré d'envoyer de lui-même ces propre tests sur un intervalle défini (passive checks) ou alors shinken peut interroger le serveur à intervalle régulier (active checks).+==== Configuration agent ====
  
-Il existe plusieurs méthode pour réaliser des active checks.+=== Rendre agent actif === 
 +un agent actif, est un agent qui récupère tout seul sa configuration sur le serveur et pousse de lui-même les informations au serveur sans attendre d'instructions. 
 +Pour se faire, s'assurer que la valeur //ServerActif// comporte l'IP du serveur zabbix. Fichier de configuration est dans ///etc/zabbix/zabbix_agentd.conf// :
  
-^ type de check ^ description ^ +<code> 
-|check_by_ssh | execute une commande distante par ssh| +ServerActif=89.234.176.134 
-|nrpe | protocole particulier qui va interroger le serveur avec un agent| +</code>
-|check_mk| comme nrpe mais en plus efficace **FIXME**|+
  
-De manière générale, il faut éviter les connexion inutile. Le principe de check passif est interessant mais demande à mettre à jour chaque serveurs si une modification commune doit être faite. +=== chiffrement ===
-nrpe et check_mk centralise la chose sur le serveur shinken, et pourrait être plus simple à gérer dans le cadre de l'association.+
  
-===== Haute Disponibilité =====+<WRAP center round important 60%> 
 +Nécessite d'avoir un agent récent : v3.0 ou plus 
 +</WRAP>
  
-En cas d'indisponibilité du serveur principal, un spare peut prendre le relais. Mais ceci reste à définir.+2 méthodes sont possible : certificats ou PKSPour raison de simplicité nous utiliserons pks
  
-===== Backup =====+== génération PKS == 
 +nous utilisons içi gnuTLS 
 +<code> 
 + $ psktool -u psk_identity -p zabbix.psk -s 32 
 +  Generating a random key for user 'psk_identity' 
 +  Key stored to zabbix.psk 
 +   
 +  $ cat zabbix.psk  
 +  psk_identity:9b8eafedfaae00cece62e85d5f4792c7d9c9bcc851b23216a1d300311cc4f7cb 
 +</code>
  
-Shinken dispose de son propre système de backupCe qui est sauvegardé n'est que les fichiers plat de configuration. Pour cela faire la commande suivante :+retirer la partie "psk_identity:" qui ne peut pas être lu par zabbixPuis copier ce fichier sur les serveurs monitoré
  
 +== paramètre agent zabbix ==
 +
 +s'assurer que le fichier ///etc/zabbix/zabbix.psk// appartient à l'utilisateur zabbix
 <code> <code>
-/usr/local/shinken/install -b+$ chown zabbix: /etc/zabbix/zabbix.psk
 </code> </code>
  
 +ajouter les paramètre suivant dans le fichier zabbix_agentd.conf
  
-Par défaut, les sauvegardes sont faites dans le répertoire ///opt/backup//Pour l'isoler d'autre backup nous préciserons le le mettre dans ///home/backup/shinken//+<code> 
 +TLSConnect=psk 
 +TLSAccept=psk 
 +TLSPSKFile=/etc/zabbix/zabbix_agentd.psk 
 +TLSPSKIdentity=PSK 001 
 +</code>
  
 +== configuration serveur ==
  
-==== lister le backup ====+au niveau de la configuration de l'hote, il faut allez dans la section encryption et préciser l'identité PSK et la PSK elle-même
  
-pour voir toutes les backup faites :+{{::zabbix_encryption_setting.png?400|}}
  
 +=== Découverte automatique ===
 +
 +ajouter une entrée dans ///etc/zabbix/zabbix_agentd.conf//
 <code> <code>
-/usr/local/shinken/install -l+HostMetadata=Linux 
 +HostMetadataItem=system.uname
 </code> </code>
  
-===== logs =====+nécessite d'ajouten une action sur le serveur, s'assurer de matcher sur hostmetadata linux, 
 +créer action pour créer host et ajouter le template 
 + 
 +===== Droits d'accès ===== 
 + 
 +L'accès au machines se controle par les groupes d'utilisateurs 
 + 
 +Afin de trouver un équilibre entre ce qui est disponible à certaine population ou non, nous allons avoir besoin d'utiliser les tag 
 + 
 +==== Type de groupe d'utilisateurs ==== 
 + 
 +=== administrateurs zabbix === 
 + 
 +Cette population a le droit de tous sur l'infra de monitoring. C'est également ce group qui s'occupe de l'évolution du service. 
 + 
 +=== Les administrateurs === 
 + 
 +Cette popuplation a le droit de voir toutes les machines, intervenir pour réaliser un acknowledge sur les problèmes. Elle s'occupe de maintenir opérationnel l'infra de Faimaison 
 + 
 +=== gérant de réseau de quartiers === 
 + 
 +Cette population ne doit voir que les machines accessibles sur le quartier où celle-ci se situe
  
-shinken s'occupe lui-même de la rotation de ses logs. Celle-ci sont programmé pour se faire tous les jours par défaut.+==== Tags ====
  
 +Pour réussir à segmenter les accès aux différentes machines nous devons recourir aux tags. nous pouvons mettre les clés que nous voulons avec les valeurs que nous souhaitons. Par la suite, il suffit de dire qu'un groupe d'utilisateurs a le droit de voir uniquement les machines et services qui ont le tag à une certaine valeur.
  
 +Tags suggéré :
  
 +^ tags      ^ type de valeur     | exemple   |
 +| quartier  | nom d'un quartier  | bottière  |
  
  
monitoring.1334354351.txt.gz · Dernière modification: 2013/01/01 23:59 (modification externe)