Je dispose actuellement d’un serveur Ubuntu 16.04 LTS et je souhaite recevoir des notifications par courrier électronique contenant des informations sur l’utilisation des ressources sur mon serveur. CPU, mémoire, échange, vous l'appelez.
Je comprends que je peux utiliser Glances pour la surveillance locale, mais je ne serai pas constamment sur la console pour consulter les informations. J'ai juste besoin de notifications par e-mail qui m'informent des ressources dépassant les valeurs normales/critiques et recevant une notification.
Est-ce que quelqu'un connaît une méthode qui me permet de le faire?
Je vais vous donner une petite liste d'outils - alors que je recommanderais personnellement Nagios simplement comme je suis habitué à cela. Il vient avec une grande base d'utilisateurs, une bonne collection de plug-ins, etc. - mais j'ai aussi entendu de bonnes choses sur Icinga .
Sachez que la configuration de Nagios ou Icinga prendra un certain temps avant de avoir une configuration parfaitement opérationnelle qui couvre/surveille tous vos services existants. Le début n’est probablement pas si facile, mais une fois que vous l’avez fait fonctionner, c’est une belle configuration qui vous avertira pour tous vos services définis si les états changent, de sorte que ce qui est à signaler/défini comme critique
Tout d'abord, un bref aperçu:
Autre logiciel intéressant
Wikipedia écrit
Nagios/ˈnɑːɡiːoʊs /, maintenant connu sous le nom de Nagios Core, est une application logicielle informatique libre et à source ouverte qui surveille les systèmes, les réseaux et l’infrastructure. Nagios offre des services de surveillance et d’alerte pour les serveurs, les commutateurs, les applications et les services. Il alerte les utilisateurs en cas de problème et une seconde fois lorsque le problème est résolu.
Exemple d'image - montrant l'une des vues que vous avez:
Voici un bon article sur AskUbuntu à propos de Comment installer Nagios . Nagios Exchange propose une vaste collection de plug-ins, d’addons, de documentation, d’extensions, etc.
Wikipedia écrit
Munin est un logiciel gratuit et open-source de surveillance de système informatique, de surveillance de réseau et de surveillance d'infrastructure. Il offre des services de surveillance et d'alerte pour les serveurs, les commutateurs, les applications, les services, etc. Il alerte les utilisateurs en cas de problème et les alerte une seconde fois lorsque le problème est résolu.
Exemple d'image
Wikipedia écrit
Icinga est un système open source et une application de surveillance de réseau. Il a été créé à l'origine comme une branche de l'application de surveillance du système Nagios en 2009.
Icinga tente de surmonter les faiblesses perçues dans le processus de développement de Nagios et ajoute de nouvelles fonctionnalités telles qu'une interface utilisateur de style Web 2.0 moderne, des connecteurs de base de données supplémentaires (pour MySQL, Oracle et PostgreSQL) et un REST API qui permet aux administrateurs d’intégrer de nombreuses extensions sans modification compliquée du noyau de Icinga.
Exemple d'image montrant 1 de plusieurs vues:
Wikipedia écrit:
Spiceworks est un réseau professionnel du secteur des technologies de l'information (TI) basé à Austin, au Texas. La société a été fondée en janvier 2006 par Scott Abel, Jay Hallberg, Greg Kattawar et Francis Sullivan pour créer un logiciel de gestion informatique.
Spiceworks est une communauté en ligne où les utilisateurs peuvent collaborer et se demander conseil, mais aussi s’engager sur le marché pour acheter des services et des produits informatiques. On estime que le réseau est utilisé par plus de six millions de professionnels de l'informatique et 3 000 fournisseurs de technologies.
Wikipedia écrit
Monit est un outil de supervision de processus gratuit et open source pour Unix et Linux. Avec Monit, l’état du système peut être visualisé directement à partir de la ligne de commande ou via le serveur Web HTTP (S) natif. Monit a gagné en popularité avec Ruby sur Rails et le serveur Web Mongrel, [citation requise], car il fallait un outil capable de gérer les nombreux processus Mongrel identiques devant être exécutés pour la prise en charge. un Ruby sur Rails évolutif, et Monit était particulièrement bien adapté aux besoins de la communauté Ruby sur Rails. De nombreux sites Rails populaires ont utilisé Monit, notamment Twitter et scribd.
Wikipedia écrit:
Cacti est un outil Web de suivi du réseau et de création de graphiques open source basé sur le Web, conçu comme une application frontale pour RRDtool, un outil d’enregistrement de données à source ouverte et conforme aux normes de l’industrie. Cacti permet à un utilisateur d'interroger des services à des intervalles prédéterminés et de représenter graphiquement les données obtenues. Il est généralement utilisé pour représenter graphiquement des données chronologiques de métriques, telles que la charge du processeur et l'utilisation de la bande passante du réseau. Une utilisation courante consiste à surveiller le trafic réseau en interrogeant un commutateur réseau ou une interface de routeur via le protocole SNMP (Simple Network Management Protocol).
Le serveur frontal peut gérer plusieurs utilisateurs, chacun avec leurs propres ensembles de graphiques. Il est donc parfois utilisé par les fournisseurs d'hébergement Web (notamment les serveurs dédiés, les serveurs privés virtuels et les fournisseurs de colocalisation) pour afficher des statistiques de bande passante pour leurs clients. Il peut être utilisé pour configurer la collecte de données elle-même, ce qui permet de surveiller certaines configurations sans configuration manuelle de RRDtool. Cacti peut être étendu pour surveiller n’importe quelle source via des scripts Shell et des exécutables.
Wikpedia écrit:
Zabbix est un logiciel de surveillance d'entreprise open source pour réseaux et applications, créé par Alexei Vladishev. Il est conçu pour surveiller et suivre l'état de divers services réseau, serveurs et autres matériels réseau.
Zabbix utilise MySQL, PostgreSQL, SQLite, Oracle ou IBM DB2 pour stocker des données. Son backend est écrit en C et son interface web en PHP. Zabbix offre plusieurs options de surveillance
Vous pouvez utiliser plusieurs solutions. L'un d'eux est monit
name__.
En ligne de commande, exécutez simplement la commande suivante:
Sudo apt-get install monit
Monit devrait maintenant être installé et accessible via l'une des URL suivantes:
http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)
Configuration Monit
Avant de pouvoir utiliser Monit
pour la surveillance automatique du serveur, vous devez effectuer une configuration de base. Commencez par sauvegarder la configuration existante Monit
par défaut à l'aide de la commande suivante:
Sudo mv /etc/monit/monitrc /etc/monit/monitrc.bak
Ensuite, créez un nouveau fichier monitrc
en utilisant la commande
Sudo /etc/monit/monitrc
et copiez-y le contenu suivant.
# How often in seconds should monit check your services.
set daemon 120
set logfile /var/log/monit.log
set idfile /var/lib/monit/id
set statefile /var/lib/monit/state
# Configure your SMTP out server.
set mailserver smtp-server.columbus.rr.com port 25,localhost
set eventqueue
basedir /var/lib/monit/events # set the base directory where events will be stored
# optionally limit the queue size
slots 100
# Use one of the following 2 lines. The second line alerts on every little change and can be annoying.
set alert [email protected] but not on { instance, pid, ppid } #does not send alert on pid changes
#set alert [email protected]
set httpd port 2812 and
#Change username and password
allow Username:Password
# To enable SSL for WebUI uncomment the next 2 lines
#ssl enable
#pemfile /path/to/unified/certificate.pem
# To restrict access to localhost only uncomment the following line
#allow localhost
include /etc/monit/conf.d/*
Les lignes commençant par # sont des commentaires destinés à vous aider à personnaliser la configuration. Assurez-vous que l'adresse électronique de l'administrateur, le serveur SMTP et le port SMTP sont configurés correctement. Vous devez également envisager de modifier le nom d'utilisateur et le mot de passe de Monit WebUI. Si vous avez un certificat SSL, vous pouvez également l'activer pour l'accès HTTPS.
Pour l'instant, utilisez les commandes suivantes pour vous assurer que Monit fonctionne bien.
Pour tester la configuration Monit
pour les erreurs de syntaxe:
Sudo monit -t
Pour démarrer Monit:
Sudo monit
Pour vérifier le statut des monit:
Sudo monit status
Surveillance de la charge système avec Monit
Vous devez disposer d'une instance Monit en bon état de marche avec un fichier /etc/monit/monitrc
correct. Les configurations Monit pour divers services sont chargées à partir du dossier /etc/monit/conf.d
. Pour surveiller la charge du serveur avec Monit
name__, créez un fichier de configuration Monit
à l'aide de la commande suivante:
Sudo /etc/monit/conf.d/systemload
Copiez-y le contenu suivant, sauvegardez et quittez
# domain.com could be IP, hostname, or localhost
check System domain.com
if loadavg (1min) > 4 then alert
if loadavg (5min) > 2 then alert
if memory usage > 75% then alert
if swap usage > 25% then alert
if cpu usage (user) > 80% then alert
if cpu usage (system) > 30% then alert
if cpu usage (wait) > 20% then alert
Ce code fera en sorte que Monit
vous envoie une alerte par e-mail lorsque l'une des conditions ci-dessus (par exemple, le chargement moyen est >4
pendant au moins 1 min ou lorsque plus de 75% RAM
est plein). Vous pouvez personnaliser les règles ci-dessus à votre guise. Vous trouverez ci-dessous un exemple d'alerte par e-mail envoyée par Monit
name__, ainsi qu'une description de la condition qui a provoqué l'alerte.
Test et rechargement
Une fois que vous avez apporté des modifications, vous devez tester la configuration de Monit
name__:
Sudo monit -t
Vous devriez voir le message suivant: Control File Syntax OK.
Ensuite, vérifiez si Monit
est déjà en cours d'exécution à l'aide de la commande suivante:
Sudo /etc/init.d/monit status
Si Monit
est en cours d'exécution, rechargez Monit
configurations à l'aide de la commande suivante:
Sudo /etc/init.d/monit reload
Maintenant, lancez votre navigateur Web et visitez l’une des URL suivantes en fonction de la configuration de votre Monit (veillez à utiliser le numéro de port correct):
http://localhost:2812
http://IPADDRESS:2812 (local network IP)
http://domain.com:2812 (if you have domain name pointing to your server)
Vous devriez voir l'état du système, la charge, la charge du processeur, la charge de la mémoire et la charge d'échange.
Surveillance du stockage avec Monit
Ensuite, vous devez disposer d'une instance Monit
avec un fichier /etc/monit/monitrc
approprié. Monit
Les configurations de divers services sont chargées à partir du dossier /etc/monit/conf.d
. Pour la surveillance de l'espace disque avec le fichier de configuration Monit, create a
Monit` à l'aide de la commande suivante:
Sudo /etc/monit/conf.d/storagespace
Copiez-y le contenu suivant, sauvegardez et quittez
# add each drive you want to monitor below
check filesystem Ubuntu with path /dev/sda1
if space usage > 90% then alert
check filesystem Home with path /dev/sda3
if space usage > 90% then alert
check filesystem Media with path /dev/sdb1
if space usage > 90% then alert
Le code ci-dessus surveillera l'espace disque dans 3 partitions sur 2 lecteurs. Si l'un d'entre eux est rempli à plus de 90%, vous serez alerté.
Aussi, vous pouvez surveiller un service spécifique.
Monitor Apache Server with Monit
La configuration de la surveillance du serveur Apache avec Monit
se fait avec Monit’s
modèles de configuration prédéfinis. Tout ce que vous avez à faire est de copier le modèle existant de /etc/monit/monitrc.d
dans le dossier /etc/monit/conf.d
.
Sudo cp /etc/monit/monitrc.d/Apache2 /etc/monit/conf.d/
Au lieu de copier, vous pouvez également créer un lien symbolique. Le processus du serveur Web Apache crée Apache2.pid
. Le fichier de moniteur de code Apache2.pid
ci-dessus et s'il n'existe pas, Monit
essaiera de redémarrer Apache. Un redémarrage déclenchera une alerte par courrier électronique. Si le redémarrage échoue plusieurs fois, Monit arrête de surveiller le serveur Apache.
...
Vous pouvez également consulter SeaLion . Vous pouvez définir des alertes personnalisées pour l'utilisation du processeur, la mémoire, etc. Vous pouvez également ajouter vos propres métriques et les configurer. notifications pour eux aussi. En outre, vous pouvez planifier l'exécution des commandes à des intervalles spécifiques et voir leurs résultats dans un affichage chronologique. Vous pouvez trouver plus à ce sujet ici .
Les outils ci-dessus sont tous très utiles pour générer des courriels. Je préfère recevoir des courriels pour mon suivi quotidien, car je ne veux pas rester assis à regarder un tableau de bord toute la journée. Le problème est que vous êtes submergé par les courriels et que vous ne vous intéressez que lorsque quelque chose ne va pas. Aussi, comment savoir si un courrier électronique n'a jamais été envoyé pour une raison quelconque et que vous pensez que tout fonctionne correctement.
J'ai cherché longtemps et suis tombé sur 2 produits capables de lire vos e-mails de rapport et de vous avertir lorsque vous devez agir.
De ce que je comprends, votre besoin est très basique. Vous souhaitez rechercher des mots-clés spécifiques dans le contenu du courrier électronique dans le courrier électronique, puis être averti lorsque cela se produit. Vous ne souhaitez donc être averti que lorsque, par exemple, le courrier électronique contient le mot Word, vous ne voulez pas en être averti. J'utilise aussi www.smtpviewer.com comme mentionné par John Grobbelaar pour être averti. L'avantage d'utiliser un outil en ligne est que vous pouvez toujours être averti lorsque le courrier électronique attendu n'arrive pas. De tous les outils de surveillance du courrier auxquels j'ai joué, celui-ci est le plus simple et ne le fait que.
Dans mon école, notre professeur nous a donné une formation sur Pandora FMS, une solution de surveillance qui couvre la surveillance de serveurs, les applications et même les réseaux!
Je ne connaissais que Zabbix et Nagios à l'époque, je n'avais jamais entendu parler de cette solution auparavant, mais maintenant, je base mon projet dessus à cause des fonctionnalités supplémentaires qu'elle fournit. La partie surveillance du serveur est vraiment mature et à mon avis, elle est la plus simple à configurer et à obtenir des statistiques de performance dès que possible: http://pandorafms.com/monitoring-solutions/server-monitoring/
Bien que le logiciel ne fasse pas exactement ce que vous voulez au départ, je trouve que logwatch
est un outil extrêmement utile, mais simple.
Il vous fournit un résumé quotidien de tous les événements survenus dans votre répertoire /var/log
ainsi que d'autres informations système importantes, telles que l'espace disque actuel. Tout ce qui manque peut être ajouté très simplement (par exemple, j'ai ajouté un script qui vérifie que certains démons sont toujours en cours d'exécution).