web-dev-qa-db-fra.com

Surveillance du système avec notifications par courrier électronique

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?

9
SergeantSerk

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

Noms de projets et liens

Tout d'abord, un bref aperçu:

Configurations client et serveur

Autre logiciel intéressant

  • Smokeping (limité en fonction de la fonction)

Configurations à hôte unique

Plus d'information

À propos de Nagios

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:

enter image description here

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.

A propos de Munin

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

enter image description here

À propos de Icinga

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:

enter image description here

À propos de Spiceworks

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.

À propos de monit

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.

À propos des cactus

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.

À propos de Zabbix

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

12
dufte

Vous pouvez utiliser plusieurs solutions. L'un d'eux est monitname__.

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 Monitpour la surveillance automatique du serveur, vous devez effectuer une configuration de base. Commencez par sauvegarder la configuration existante Monitpar défaut à l'aide de la commande suivante:

Sudo mv /etc/monit/monitrc /etc/monit/monitrc.bak

Ensuite, créez un nouveau fichier monitrcen 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 Monitpour 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 Monitname__, 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 Monitvous 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 Monitname__, 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 Monitname__:

Sudo monit -t

Vous devriez voir le message suivant: Control File Syntax OK.

Ensuite, vérifiez si Monitest déjà en cours d'exécution à l'aide de la commande suivante:

Sudo /etc/init.d/monit status

Si Monitest en cours d'exécution, rechargez Monitconfigurations à 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 Monitavec un fichier /etc/monit/monitrc approprié. MonitLes 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 aMonit` à 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 Monitse 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, Monitessaiera 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.

...

2
2707974

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 .

2
Araknid

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.

  1. PRTG vous pouvez configurer des filtres de messagerie pour rechercher des messages contenant certains mots. C'était un peu compliqué à faire.
  2. Un outil en ligne appelé wwww.smtpviewer.com effectue le travail. Il est également doté d'un paramètre de délai qui vous avertit lorsque le courrier électronique de vos appareils surveillés n'est pas arrivé pendant un certain temps.
1
John Grobbelaar

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.

0
Dirk Hemmingway

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/

0
rawmal

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).

0
Darren