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édentesRévision précédente
Prochaine révision
Révision précédente
elearning:workbooks:centos:8:avance:l101 [2021/08/24 08:30] adminelearning:workbooks:centos:8:avance:l101 [2022/05/02 08:14] (Version actuelle) admin
Ligne 1: Ligne 1:
 ~~PDF:LANDSCAPE~~ ~~PDF:LANDSCAPE~~
  
-Version : **2021.01**+Version : **2022.01**
  
 Dernière mise-à-jour : ~~LASTMOD~~ Dernière mise-à-jour : ~~LASTMOD~~
Ligne 46: Ligne 46:
       * 3.6 - mpstat       * 3.6 - mpstat
       * 3.7 - sar       * 3.7 - sar
-      * 3.8 - collectd 
     * Modules usb     * Modules usb
     * udev     * udev
Ligne 64: Ligne 63:
 Dans l'ordinateur les périphériques sont reliés à un **contrôleur** qui communique avec le processeur à l'aide d'un **bus**. Le contrôleur ainsi que les périphériques nécessitent des pilotes. Sous Linux, les pilotes sont généralement fournis sous la forme d'un **module**. Chaque périphérique est représenté par un **fichier spécial** dans le répertoire **/dev** et c'est dans ce fichier que le système trouve les informations nécessaires pour s'adresser au pilote. Dans l'ordinateur les périphériques sont reliés à un **contrôleur** qui communique avec le processeur à l'aide d'un **bus**. Le contrôleur ainsi que les périphériques nécessitent des pilotes. Sous Linux, les pilotes sont généralement fournis sous la forme d'un **module**. Chaque périphérique est représenté par un **fichier spécial** dans le répertoire **/dev** et c'est dans ce fichier que le système trouve les informations nécessaires pour s'adresser au pilote.
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Les périphériques qui nécessitent à ce que l'ordinateur soit éteint afin des les brancher/débrancher sont appelés communément **Cold Plug Devices**. Les périphériques qui peuvent être brancher/débrancher à chaud sont appelés des **Hot Plug Devices**. **Important** : Les périphériques qui nécessitent à ce que l'ordinateur soit éteint afin des les brancher/débrancher sont appelés communément **Cold Plug Devices**. Les périphériques qui peuvent être brancher/débrancher à chaud sont appelés des **Hot Plug Devices**.
 </WRAP> </WRAP>
Ligne 767: Ligne 766:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Un pilote de périphérique demande au processeur de fournir un service en utilisant un IRQ. Quand la demande est faite, le processeur interrompe ses activités et passe le contrôle au pilote identifié par l'IRQ. Techniquement l'attribution d'un IRQ à un périphérique doit être exclusive. Dans le cas où deux périphériques demandent un service en même temps, c'est le périphérique ayant l'IRQ le plus bas qui est prioritaire. **Important** : Un pilote de périphérique demande au processeur de fournir un service en utilisant un IRQ. Quand la demande est faite, le processeur interrompe ses activités et passe le contrôle au pilote identifié par l'IRQ. Techniquement l'attribution d'un IRQ à un périphérique doit être exclusive. Dans le cas où deux périphériques demandent un service en même temps, c'est le périphérique ayant l'IRQ le plus bas qui est prioritaire.
 </WRAP>  </WRAP> 
Ligne 1143: Ligne 1142:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Consultez la page de la traduction du manuel de **sysctl** **[[http://www.delafond.org/traducmanfr/man/man8/sysctl.8.html|ici]]** pour comprendre la commande. **Important** : Consultez la page de la traduction du manuel de **sysctl** **[[http://www.delafond.org/traducmanfr/man/man8/sysctl.8.html|ici]]** pour comprendre la commande.
 </WRAP> </WRAP>
Ligne 1157: Ligne 1156:
   * vmstat,   * vmstat,
   * mpstat,   * mpstat,
-  * sar+  * sar.
-  * collectd.+
  
 ====3.1 - La Commande free==== ====3.1 - La Commande free====
Ligne 1307: Ligne 1305:
 Au-dessous de la première ligne indiquant la version du noyau du système et son nom d'hôte ainsi que la date actuelle, iostat affiche une vue d'ensemble de l'utilisation CPU moyenne du système depuis le dernier démarrage. Le rapport d'utilisation du CPU inclut les pourcentages suivants : Au-dessous de la première ligne indiquant la version du noyau du système et son nom d'hôte ainsi que la date actuelle, iostat affiche une vue d'ensemble de l'utilisation CPU moyenne du système depuis le dernier démarrage. Le rapport d'utilisation du CPU inclut les pourcentages suivants :
  
-  * Pourcentage de temps passé en mode utilisateur (exécutant des applications, etc.) +  * **%user** - Pourcentage de temps passé en mode utilisateur (exécutant des applications, etc.) 
-  * Pourcentage de temps passé en mode utilisateur (pour les processus qui ont modifié leur priorité de programmation à l'aide de la commande nice) +  * **%nice** - Pourcentage de temps passé en mode utilisateur (pour les processus qui ont modifié leur priorité de programmation à l'aide de la commande nice) 
-  * Pourcentage de temps passé en mode noyau +  * **%system** - Pourcentage de temps passé en mode noyau 
-  * Pourcentage de temps passé en inactivité+  * **%steal** - Pourcentage du temps passé par des CPU virtuels en attendant que l'hyperviseur s'occupe d'un autre CPU virtuel. 
 +  * **%iowait** - Pourcentage du temps passé à attendre les entrées et les sorties des disques. 
 +  * **%idle** - Pourcentage de temps passé en inactivité
  
 Notez la valeur de **%iowait**. Dans le cas où ce pourcentage est trop élévé, ceci indique que le processeur passe son temps à attendre les entrées et les sorties de disque. Notez la valeur de **%iowait**. Dans le cas où ce pourcentage est trop élévé, ceci indique que le processeur passe son temps à attendre les entrées et les sorties de disque.
Ligne 1316: Ligne 1316:
 Au-dessous du rapport d'utilisation du CPU de la sortie de la commande **iostat** figure le rapport d'utilisation des périphériques. Ce dernier contient une ligne pour chaque périphérique disque du système et inclut les informations suivantes : Au-dessous du rapport d'utilisation du CPU de la sortie de la commande **iostat** figure le rapport d'utilisation des périphériques. Ce dernier contient une ligne pour chaque périphérique disque du système et inclut les informations suivantes :
  
-  * La spécification du périphérique, apparaissant sous la forme dev<major-number>-sequence-number où <major-number> correspond au nombre majeur du périphérique et <sequence-number> correspond à un numéro de séquence commençant par zéro.+  * La spécification du périphérique.
   * Le nombre de transferts (ou opérations d'E/S) par seconde.   * Le nombre de transferts (ou opérations d'E/S) par seconde.
-  * Le nombre de blocs de 512 octets lus par seconde. +  * Le nombre de blocs de KB lus par seconde. 
-  * Le nombre de blocs de 512 octets écrits par seconde. +  * Le nombre de blocs de KB écrits par seconde. 
-  * Le nombre total de blocs de 512 octets lus par seconde+  * Le nombre total de KB lus. 
-  * Le nombre total de blocs de 512 octets écrits par seconde.+  * Le nombre total de KB écrits.
      
-Dernèrement, pour voir les statistiques étendues des disques, utilisez la commande suivante :+Dernièrement, pour voir les statistiques étendues des disques, utilisez la commande suivante :
  
 <code> <code>
Ligne 1443: Ligne 1443:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Par défaut la commande vmstat affiche des informations depuis le démarrage du système. **Important** : Par défaut la commande vmstat affiche des informations depuis le démarrage du système.
 </WRAP> </WRAP>
Ligne 1623: Ligne 1623:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Notez la ligne **OnCalendar=** qui est necessaire afin de surcharger la valeur par défaut. **Important** : Notez la ligne **OnCalendar=** qui est necessaire afin de surcharger la valeur par défaut.
 </WRAP> </WRAP>
Ligne 1957: Ligne 1957:
         -y      TTY devices statistics [A_SERIAL]         -y      TTY devices statistics [A_SERIAL]
 </code> </code>
- 
-====3.8 - La Commande collectd==== 
- 
-Installez collectd à partir du dépôt EPEL : 
- 
-<code> 
-[root@centos8 ~]# dnf install epel-release -y 
-... 
-[root@centos8 ~]# dnf install collectd -y 
-</code> 
- 
-Installez ensuite les dépendances : 
- 
-<code> 
-[root@centos8 ~]# dnf install rrdtool rrdtool-perl perl-HTML-Parser perl-JSON 
-... 
-</code> 
- 
-<code> 
-[root@centos8 ~]# systemctl start collectd 
- 
-[root@centos8 ~]# systemctl status collectd 
-● collectd.service - Collectd statistics daemon 
-   Loaded: loaded (/usr/lib/systemd/system/collectd.service; disabled; vendor preset: disabled) 
-   Active: active (running) since Thu 2021-07-22 01:42:11 EDT; 9s ago 
-     Docs: man:collectd(1) 
-           man:collectd.conf(5) 
- Main PID: 17698 (collectd) 
-    Tasks: 11 (limit: 23535) 
-   Memory: 1.2M 
-   CGroup: /system.slice/collectd.service 
-           └─17698 /usr/sbin/collectd 
- 
-Jul 22 01:42:11 centos8.ittraining.loc collectd[17698]: Available write targets:: [none] 
-Jul 22 01:42:11 centos8.ittraining.loc collectd[17698]: Available write targets:: [none] 
-Jul 22 01:42:11 centos8.ittraining.loc collectd[17698]: Available write targets:: [none] 
-Jul 22 01:42:11 centos8.ittraining.loc collectd[17698]: Available write targets:: [none] 
-Jul 22 01:42:11 centos8.ittraining.loc collectd[17698]: Available write targets:: [none] 
-Jul 22 01:42:11 centos8.ittraining.loc collectd[17698]: Available write targets:: [none] 
-Jul 22 01:42:11 centos8.ittraining.loc collectd[17698]: Available write targets:: [none] 
-Jul 22 01:42:11 centos8.ittraining.loc collectd[17698]: Available write targets:: [none] 
-Jul 22 01:42:11 centos8.ittraining.loc collectd[17698]: Available write targets:: [none] 
-Jul 22 01:42:11 centos8.ittraining.loc systemd[1]: Started Collectd statistics daemon. 
- 
-[root@centos8 ~]# systemctl enable collectd 
-Created symlink /etc/systemd/system/multi-user.target.wants/collectd.service → /usr/lib/systemd/system/collectd.service. 
-</code> 
- 
-<code> 
-[root@centos8 ~]# cd /usr/local/ 
-[root@centos8 local]# git clone https://github.com/httpdss/collectd-web.git 
-Cloning into 'collectd-web'... 
-remote: Enumerating objects: 1430, done. 
-remote: Total 1430 (delta 0), reused 0 (delta 0), pack-reused 1430 
-Receiving objects: 100% (1430/1430), 1.19 MiB | 9.41 MiB/s, done. 
-Resolving deltas: 100% (664/664), done. 
-</code> 
- 
-<code> 
-[root@centos8 local]# cd collectd-web/ 
-[root@centos8 collectd-web]# ls 
-AUTHORS  cgi-bin  CHANGELOG  check_deps.sh  COPYING  docs  index.html  iphone  media  README.rst  runserver.py 
-</code> 
- 
-<code> 
-[root@centos8 collectd-web]# chmod +x cgi-bin/graphdefs.cgi 
-</code> 
- 
-Exécutez la commande VI suivante : <nowiki>:g/127.0.0.1/s//0.0.0.0/g</nowiki> sur le fichier **/usr/local/collectd-web/runserver.py** : 
- 
-<code> 
-[root@centos8 collectd-web]# vi /usr/local/collectd-web/runserver.py 
-[root@centos8 collectd-web]# cat /usr/local/collectd-web/runserver.py 
-#!/usr/bin/env python 
- 
-import CGIHTTPServer 
-import BaseHTTPServer 
-from optparse import OptionParser 
- 
-class Handler(CGIHTTPServer.CGIHTTPRequestHandler): 
-    cgi_directories = ["/cgi-bin"] 
- 
-PORT = 8888 
- 
-def main(): 
-    parser = OptionParser() 
-    opts, args = parser.parse_args() 
-    if args: 
-        httpd = BaseHTTPServer.HTTPServer((args[0], int(args[1])), Handler) 
-        print "Collectd-web server running at http://%s:%s/" % (args[0], args[1]) 
-    else: 
-        httpd = BaseHTTPServer.HTTPServer(("0.0.0.0", PORT), Handler) 
-        print "Collectd-web server running at http://%s:%s/" % ("0.0.0.0", PORT) 
-    httpd.serve_forever() 
- 
-if __name__ == "__main__": 
-    main() 
-</code> 
- 
-<code> 
-[root@centos8 collectd-web]# dnf install python2 
-</code> 
- 
-<code> 
-[root@centos8 collectd-web]# python2 runserver.py & 
-[1] 34080 
-[root@centos8 collectd-web]# Collectd-web server running at http://0.0.0.0:8888/ 
- 
-[root@centos8 collectd-web]#  
-</code> 
- 
- 
-<Plugin network> 
-#       # client setup: 
-#       Server "ff18::efc0:4a42" "25826" 
-#       <Server "239.192.74.66" "25826"> 
-#               SecurityLevel Encrypt 
-#               Username "user" 
-#               Password "secret" 
-#               Interface "eth0" 
-#               ResolveInterval 14400 
-#       </Server> 
-#       TimeToLive 128 
-# 
-#       # server setup: 
-#       Listen "ff18::efc0:4a42" "25826" 
-       <Listen "0.0.0.0" "25826"> 
-#               SecurityLevel Sign 
-#               AuthFile "/etc/collectd/passwd" 
-#               Interface "eth0" 
-       </Listen> 
-#       MaxPacketSize 1452 
-# 
-#       # proxy setup (client and server as above): 
-#       Forward true 
-# 
-#       # statistics about the network plugin itself 
-#       ReportStats false 
-# 
-#       # "garbage collection" 
-#       CacheFlush 1800 
-</Plugin> 
  
 =====Modules usb===== =====Modules usb=====
Ligne 2234: Ligne 2092:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Il vous est possible d'ajouter des règles si besoin est. Dans ce cas, créez un fichier **99-local.rules** est éditez-le au lieu d'éditer les fichiers existants. **Important** : Il vous est possible d'ajouter des règles si besoin est. Dans ce cas, créez un fichier **99-local.rules** est éditez-le au lieu d'éditer les fichiers existants.
 </WRAP> </WRAP>
Ligne 2538: Ligne 2396:
 </code>  </code> 
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : La valeur de la limite peut être un **nombre** ou le mot **unlimited**. **Important** : La valeur de la limite peut être un **nombre** ou le mot **unlimited**.
 </WRAP> </WRAP>
Ligne 2638: Ligne 2496:
 Les groupes de contrôle sont organisés de manière hiérarchique, comme des processus. Par contre, la comparaison entre les deux démontre que tandis que les processus se trouvent dans une arborescence unique descandant tous du processus init et héritant de l'environnement de leurs parents, les contrôles groupes peuvent être multiples donnant lieu à des arborescences ou **hiérarchies** multiples qui héritent de certains attributs de leurs groupes de contrôle parents. Les groupes de contrôle sont organisés de manière hiérarchique, comme des processus. Par contre, la comparaison entre les deux démontre que tandis que les processus se trouvent dans une arborescence unique descandant tous du processus init et héritant de l'environnement de leurs parents, les contrôles groupes peuvent être multiples donnant lieu à des arborescences ou **hiérarchies** multiples qui héritent de certains attributs de leurs groupes de contrôle parents.
  
-Ces hiérarchies multiples et séparés sont necéssaires parce que chaque hiérarchie est attaché à un ou plusieurs **sous-système(s)** aussi appelés des **Contrôleurs de Ressources** ou simplement des **Contrôleurs**. Les contrôleurs disponibles sous RHEl/CentOS 7 sont :+Ces hiérarchies multiples et séparés sont necéssaires parce que chaque hiérarchie est attaché à un ou plusieurs **sous-système(s)** aussi appelés des **Contrôleurs de Ressources** ou simplement des **Contrôleurs**. Les contrôleurs disponibles sous RHEl/CentOS 7 sont :
  
   * **blkio** - utilisé pour établir des limites sur l'accès des entrées/sorties à partir et depuis des périphériques blocs,   * **blkio** - utilisé pour établir des limites sur l'accès des entrées/sorties à partir et depuis des périphériques blocs,
Ligne 2843: Ligne 2701:
   * **CPUQuota** - utilisé pour limiter le temps CPU, même quand le système ne fait rien.   * **CPUQuota** - utilisé pour limiter le temps CPU, même quand le système ne fait rien.
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** : Consultez le manuel systemd.resource-control(5) pour voir les paramètres CGroup qui peuvent être passés à systemctl. **Important** : Consultez le manuel systemd.resource-control(5) pour voir les paramètres CGroup qui peuvent être passés à systemctl.
 </WRAP> </WRAP>
Ligne 2884: Ligne 2742:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** - Notez que les 40 000 000 demandés sont devenus 39 997 440 ce qui correspond à un nombre entier de pages mémoire du noyau de 4Ko. ( 39 997 440 / 4096 = 9 765 ). **Important** - Notez que les 40 000 000 demandés sont devenus 39 997 440 ce qui correspond à un nombre entier de pages mémoire du noyau de 4Ko. ( 39 997 440 / 4096 = 9 765 ).
 </WRAP> </WRAP>
Ligne 3085: Ligne 2943:
 </code> </code>
  
-<WRAP center round important>+<WRAP center round important 60%>
 **Important** - Notez la création de **deux** limitations, une de 40 000 octets de mémoire et l'autre de **100** **cpu.shares**. Cette dernière est une valeur exprimée sur 1 024, où 1 024 représente 100% du temps CPU. La limite fixée est donc equivalente à 9,77% du temps CPU. **Important** - Notez la création de **deux** limitations, une de 40 000 octets de mémoire et l'autre de **100** **cpu.shares**. Cette dernière est une valeur exprimée sur 1 024, où 1 024 représente 100% du temps CPU. La limite fixée est donc equivalente à 9,77% du temps CPU.
 </WRAP> </WRAP>
Ligne 3165: Ligne 3023:
  
 ----- -----
-<html> +Copyright © 2022 Hugh Norris.
-<div align="center"> +
-Copyright © 2021 Hugh Norris. +
-</html>+
Menu