Laboratorio di Amministrazione di Sistemi L-A

Prova pratica del 28 marzo 2007

Descrizione generale del problema

Un sistema è composto da una stazione di monitoraggio (Virtual1), un server LDAP (Virtual2) ed un server generico (Virtual3). Per ogni utente titolare di un account su Virtual3 esiste una corrispondente entry nella directory LDAP, contenente le informazioni che permettano all'occorrenza di contattarlo, quali l'indirizzo di posta elettronica ed il numero di telefono.
La stazione di monitoraggio deve, periodicamente, verificare via SNMP se il carico del server Virtual3 supera una certa soglia, e, nel caso, avvertire tutti gli utenti che hanno processi in esecuzione su tale server.  In  particolare, dopo aver inviato automaticamente un messaggio di posta elettronica ad ognuno, deve mostrare all'operatore il nome, il cognome ed il numero di telefono dell'utente che tramite i suoi processi ha il maggior numero di file aperti.

Componenti da progettare

1.    File da consegnare: utente.schema - Schema che definisce la classe utente utilizzando come base la classe predefinita person e l'attributo predefinito email, da inserire tra gli schemi riconosciuti dal server LDAP su Virtual2. Le entry dovranno essere formate da oggetti formati in accordo alla classe strutturale utente integrata dalla classe ausiliaria predefinita posixAccount.

2.   File da consegnare: ldap.sh - Questo script, girando sulla stazione di monitoraggio, esegue le seguenti operazioni: 3.    File da consegnare: snmpd.conf - File di configurazione che permetta di osservare se il carico di Virtual3 supera la soglia di 0.5 (riferita al valore mediato sugli ultimi 5 minuti).

4.     File da consegnare: files.sh - Questo script, lanciato su Virtual3, accetta come parametro uno username e riporta il numero di file che tale utente sta utilizzando attraverso tutti i propri processi.

5.    File da consegnare: users.sh - Questo script, lanciato su Virtual3, elenca tutti gli utenti che hanno processi attivi sul sistema, ordinati in modo decrescente sulla base del numero di file utilizzati (quindi per primo deve comparire l'utente che sta utilizzando il maggior numero di file).

6.    File da consegnare: monitor.sh - Questo script, lanciato su Virtual1, esegue le seguenti operazioni:
7.     File da consegnare: periodico.txt - Descrizione libera di come si implementerebbe l'invocazione periodica di monitor.sh ogni 3 minuti. Inserire nel testo anche le modifiche che si intenderebbe apportare ad eventuali file di configurazione di sistema.