Bonjour,
j'ai en idee de projet de creer un site de supervision de plusieurs serveurs linux - par exemple la charge systeme, etat des services, etat des FS, etat des JVMs, Apache etc .. et en cas de "check" KO, une possibilite pour lancer les correctifs a distance (relance service/purge de logs etc ..).
Mon idee est de faire un site en PHP sur lequel il y aura des visuels de l'etat des serveurs en question.
Le serveur sur lequel est le site se connectera via cle SSH aux serveurs pour recuperer les infos et les inserer dans un fichier que le site exploitera pour afficher les donnees.

Mais je me demande si c'est vraiment realisable ? La charge ne sera pas trop grande ?
Il y'a t-il des solutions plus simples ?

Cordialement,

3 réponses


C'est facilement réalisable, il faut savoir naviguer sur les serveurs à distances via ssh, après il te faudra adapter pour les divers distributions linux par exemple (les gestionnaires de packages en autre)...

Il dois exister ce genre d'interface codé en php, mais plus orienté pro donc payant je pense et rarement open source.
J'ai déjà vu par moi-même la gestion de container docker et de certains services via ssh avec php, mais je ne suis pas encore partie sur une application complete pour le moment, ton projet m'interresse mais j'ai le miens à réalisé avant, qui lui est plus orienté serveurs de jeu (steamcmd) ^^

En tout cas, lance toi, et fait en sorte que ton code soit bien organisé et propre, car c'est beaucoup de boulot et il te sera difficile d'y retourner plus tard si ton code est mal organisé ou mal écrit.

Lardio
Auteur

Salut,
merci pour ton retour, c'est rassurant de voir que c'est faisable (je debut dans la programmation - et j'ai des connaissances limitees en systeme).
Mais .. je commence deja a buter ..
Je tente de faire quelque chose qui va tester l'acces a des sites en fonction du proxy utilise via curl.
Le code :

$proxy_host = '<adresse_du_proxy>:80'; // 
$url = 'http://google.com'; //url a tester

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, true); 

// adresse du proxy 
curl_setopt($ch, CURLOPT_PROXY, $proxy_host); 

$data = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
echo $httpCode;

curl_close($ch);

Mais, peut importe l'URL teste, cela me retourne le code "0".
Si j'enleve l'utilisation du proxy, c'est OK.

Ou est l'erreur ? Je dois autoriser quelque chose cote proxy ?

Cordialement :)

Je crois que tu fais fausse route en interrogeant les différents serveurs à monitorer.
Toutes les infos système que tu souhaires récupérer nécessitent des droits élevés (root)
il vaut mieux planifier une tache pour l'exécuter toutes les x minutes avec les droits root
il suffit à la tache de pousser le résultat sur le serveur maitre qui les stockera dans une bd.