Compare commits
17
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dd44d06bc4 | ||
|
|
225cff0d35 | ||
|
|
841007ef76 | ||
|
|
3698339c2f | ||
|
|
7a8ae99069 | ||
|
|
50da9de9db | ||
|
|
a071b05552 | ||
|
|
11f956b755 | ||
|
|
cd0b26a5b9 | ||
|
|
4037244be6 | ||
|
|
74da2c244d | ||
|
|
880ae493ad | ||
|
|
418120538f | ||
|
|
7e7ff0d27e | ||
|
|
f86adf8006 | ||
|
|
c3ca691c8f | ||
|
|
85d296f8da |
@@ -1,58 +1,108 @@
|
||||
# Monitoring
|
||||
|
||||
---
|
||||
|
||||
## Sujet : Moniteur système basique
|
||||
|
||||
### Objectif
|
||||
Écrire un script **bash** simple permettant d’afficher des informations essentielles sur l’état du système GNU/Linux.
|
||||
# ISEN - Cours Sysadmin - TP n°8
|
||||
|
||||
---
|
||||
# Prise en main de GIT
|
||||
|
||||
## Énoncé
|
||||
## Objectifs
|
||||
|
||||
Vous devez écrire un script shell nommé `monitor.sh` affichant les informations suivantes :
|
||||
Prise en main des commandes de base de git
|
||||
|
||||
- Utilisation du CPU (en %)C
|
||||
- Espace disque (partition home `/home`)
|
||||
- Nombre de processus actifs (pour tout le système)
|
||||
------------------------------------------------------------------------
|
||||
|
||||
L’affichage doit être clair et lisible, avec des unités adaptées.
|
||||
## git
|
||||
|
||||
---
|
||||
- A chaques étapes si vous avez un doute, tapez la commande :
|
||||
|
||||
### Commandes ou fichiers possibles
|
||||
|
||||
Vous pouvez utiliser soit les commandes système ou les fichiers /proc
|
||||
|
||||
- `top`, `free`, `df`, `ps`
|
||||
- `/proc/cpuinfo`, `/proc/meminfo`
|
||||
|
||||
---
|
||||
|
||||
## Bonus (facultatif)
|
||||
|
||||
### Mode surveillance
|
||||
|
||||
Ajouter un mode optionnel :
|
||||
|
||||
```bash
|
||||
./monitor.sh -w X
|
||||
```
|
||||
git --help
|
||||
```
|
||||
|
||||
Le script se rafraîchit toutes les `X` secondes.
|
||||
------------------------------------------------------------------------
|
||||
|
||||
*Indications :* `while`, `sleep`, `clear`
|
||||
## Configuration utilisateur
|
||||
|
||||
---
|
||||
- Afficher les variables git de votre utilisateur
|
||||
|
||||
## Évaluation
|
||||
- modifier la configuration mail et nom d'utilisateur avec :
|
||||
|
||||
| Critère | Points |
|
||||
|-------|--------|
|
||||
| Fonctionnalité correcte | 10 |
|
||||
| Lisibilité / commentaires | 10 |
|
||||
| Bonus surveillance | +4 |
|
||||
```
|
||||
git config --global ...
|
||||
```
|
||||
|
||||
---
|
||||
------------------------------------------------------------------------
|
||||
|
||||
# CLONE
|
||||
|
||||
## récupérer un dépôt
|
||||
|
||||
- récupérer localement sur votre instance clientXX le dépôt
|
||||
"https://git.gastier.net/guillaume/isen2024.git"
|
||||
|
||||
- Trouver la commande qui permet d'affichier l'URL d'origine du dépôt
|
||||
|
||||
## parser le dépôt
|
||||
|
||||
- lister les branches disponibles sur le serveur
|
||||
|
||||
- récupérer en local la branche liée a votre poste
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
## modifier le code
|
||||
|
||||
- ajouter une ligne a la fin du fichier README.md (nom de votre
|
||||
machine)
|
||||
|
||||
- creer le fichier file_post ou post est le nom de votre machine
|
||||
|
||||
- ajouter les modifications à votre index
|
||||
|
||||
- ajouter les modifications dans votre HEAD
|
||||
|
||||
## push du code
|
||||
|
||||
- envoyer les modifications au serveur centralisé
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
## Conf TP precedent
|
||||
|
||||
Le but ici est de récupérer les fichiers de configurations de monitoring
|
||||
et les placer dans un répertoire sur votre depôt dans votre branche :
|
||||
|
||||
isen12@client-isen12:~/isen2024$ git branch
|
||||
* isen12
|
||||
master
|
||||
isen12@client-isen12:~/isen2024$ tree
|
||||
.
|
||||
|-- README.md
|
||||
'-- isen12
|
||||
'-- monitoring_etc
|
||||
|
||||
2 directories, 1 file
|
||||
|
||||
------------------------------------------------------------------------
|
||||
|
||||
intégrer dans l'index et dans le HEAD puis pousser vos modifications sur
|
||||
le serveurs centralisé
|
||||
|
||||
## MERGE
|
||||
|
||||
Mergez vos données dans la branche MASTER
|
||||
|
||||
|
||||
Ma machine s'appelle SACHAAAAAAAAA
|
||||
MSTR7
|
||||
=======
|
||||
|
||||
Nom de la machine: chicote-v-client
|
||||
=======
|
||||
## MSTR 02
|
||||
|
||||
MSTR02
|
||||
|
||||
## MSTR 06
|
||||
|
||||
ma ligne
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
mstr7
|
||||
-59
@@ -1,59 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
#Script "monitor.sh", en 3 parties : affichage du CPU, espace disque, nombre de processus actif
|
||||
|
||||
#------------------FONCTION 1 : utilisation du CPU-----------------------------------------
|
||||
usage_cpu(){
|
||||
#Afficher l'utilisation du CPU (de manieÃre fgee : 1 seule iteÃration) : top -n1
|
||||
#On recupere uniquement la ligne nous interessant sur la CPU : | grep "Cpu"
|
||||
#On transforme la ligne en colonne : tr ',' '\n'
|
||||
#On peut maintenant recuperer la ligne correspondant a id (CPU inactive) : grep "id"
|
||||
#Et on ne garde que le chiffre avec : cut -d' ' -f2
|
||||
|
||||
id=$(top -n1 | grep "Cpu" | tr ',' '/n' | grep 'id' | cut -d' ' -f2)
|
||||
CPU=$( echo "100-${id}" | bc) #bc car on gere des decimaux
|
||||
echo "Utilisation du CPU : ${CPU}% "
|
||||
}
|
||||
|
||||
#---------------------------FONCTION 2 : espace libre de /home --------------------------------
|
||||
espace_disque(){
|
||||
#Afficher l'espace libre des disques des partitions (en taille lisible Go/Mo -h) : df -h
|
||||
#On recupere la partition liee a /home : grep "home"
|
||||
#On remplace les nombreux espaces par un seul : tr -s ' '
|
||||
|
||||
total=$( df -h | grep "home" | tr -s ' ' | cut -d' ' -f2 )
|
||||
utilise=$( df -h | grep "home" | tr -s ' ' | cut -d' ' -f3 )
|
||||
libre=$( df -h | grep "home" | tr -s ' ' | cut -d' ' -f4 )
|
||||
pourcent_libre=$( df -h | grep "home" | tr -s ' ' | cut -d' ' -f5 )
|
||||
|
||||
echo "Partition /home : espace total=${total} - utilise=${utilise} (${pourcent_libre}) - libre=${libre}"
|
||||
}
|
||||
|
||||
#---------------------------FONCTION 3 : nombre de processus en cours ---------------------------
|
||||
nombre_process(){
|
||||
#Afficher la liste des processus en cours (sans prendre en compte la premiere ligne pour ne pas la compter avec le wc -l : --no-header) : ps axf --no-headers
|
||||
nb=$(ps axf --no-header | wc -l)
|
||||
echo "Nombre de processus en cours : ${nb}"
|
||||
|
||||
}
|
||||
|
||||
#-----------------------SCRIPT : VERIFICATION DES ARGUMENTS - APPEL DES FONCTIONS-----------------
|
||||
|
||||
if [ $1 == '-w' ] ; then
|
||||
intervalle=${2}
|
||||
|
||||
while true ; do #boucle infinie tant que l'utilisateur ne la stoppe pas
|
||||
clear #permet d'effacer le terminal
|
||||
usage_cpu""
|
||||
espace_disque""
|
||||
nombre_process""
|
||||
sleep ${intervalle}
|
||||
done
|
||||
|
||||
else
|
||||
usage_cpu""
|
||||
espace_disque""
|
||||
nombre_process""
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user