Surveillance du système avec notifications par e-mail

10

J'ai actuellement un Ubuntu Server 16.04 LTS et je veux pouvoir recevoir des notifications par e-mail avec des informations sur l'utilisation des ressources sur mon serveur. CPU, mémoire, swap, vous l'appelez.

Je comprends que je peux utiliser Glances pour la surveillance locale, mais je ne serai pas sur la console en regardant les informations tout le temps. J'ai juste besoin de notifications par e-mail qui m'informent des ressources qui dépassent les valeurs normales / critiques et sont notifiées.

Est-ce que quelqu'un connaît une méthode qui me permet de le faire?

SergeantSerk
la source
netdata est parfait pour vos besoins.
luv.preet

Réponses:

13

Je vais vous donner une petite liste d'outils - alors que je recommanderais personnellement Nagios simplement comme j'y suis habitué. Il est livré avec une grande base d'utilisateurs, une bonne collection de plug-ins, etc. - mais j'ai également entendu de bonnes choses sur Icinga .

Sachez que la configuration de Nagios ou Icinga prendra du temps jusqu'à ce que vous disposiez d' une configuration parfaitement opérationnelle qui couvre / surveille tous vos services existants. Le démarrage n'est probablement pas si facile, mais une fois que vous l'avez fait fonctionner, c'est une belle configuration qui avertira tous vos services définis si les états changent donc quelque chose qui est à signaler / défini comme critique

Noms et liens du projet

Tout d'abord - un bref aperçu:

Configurations client et serveur

Autres logiciels intéressants

Configurations d'hôte unique

Plus d'information

À propos de Nagios

Wikipédia écrit

Nagios / ˈnɑːɡiːoʊs /, maintenant connu sous le nom de Nagios Core, est une application logicielle informatique gratuite et open source qui surveille les systèmes, les réseaux et les infrastructures. Nagios propose des services de surveillance et d'alerte pour les serveurs, commutateurs, applications et services. Il alerte les utilisateurs lorsque les choses tournent mal et les alerte une deuxième fois lorsque le problème a été résolu.

Exemple d'image - montrant 1 de plusieurs vues que vous avez:

entrez la description de l'image ici

Voici un bon article AskUbuntu sur la façon d'installer Nagios . Nagios Exchange propose une vaste collection de plugins, d'extensions, de documentation, d'extensions, etc.

À propos de Munin

Wikipédia écrit

Munin est un logiciel gratuit et open-source de surveillance de systèmes informatiques, de surveillance de réseaux et de surveillance d'infrastructures. Il offre des services de surveillance et d'alerte pour les serveurs, commutateurs, applications, services, etc. Il alerte les utilisateurs lorsque les choses tournent mal et les alerte une deuxième fois lorsque le problème a été résolu

Exemple d'image

entrez la description de l'image ici

À propos d'Icinga

Wikipédia écrit

Icinga est un système informatique open source et une application de surveillance de réseau. Il a été initialement créé en tant que fork de l'application de surveillance du système Nagios en 2009.

Icinga tente de surmonter les lacunes perçues dans le processus de développement de Nagios, ainsi que d'ajouter 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 une API REST qui permet aux administrateurs d'intégrer de nombreuses extensions sans modification compliquée du noyau Icinga.

Exemple d'image montrant 1 de plusieurs vues:

entrez la description de l'image ici

À propos de Spiceworks

Wikipédia écrit:

Spiceworks est un réseau professionnel pour l'industrie des technologies de l'information (TI) dont le siège est à Austin, au Texas. L'entreprise 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 demander conseil les uns aux autres et également s'engager sur un 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

Wikipédia écrit

Monit est un outil de supervision de processus open source gratuit 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 on Rails et le serveur Web Mongrel, [citation nécessaire] car un outil était nécessaire pour gérer les nombreux processus Mongrel identiques qui devaient être exécutés pour prendre en charge un site Ruby on Rails évolutif, et Monit était assez unique adapté aux besoins de la communauté Ruby on Rails. De nombreux sites Rails populaires ont utilisé Monit, y compris Twitter et scribd.

À propos de Cacti

Wikipédia écrit:

Cacti est un outil de surveillance et de représentation graphique de réseau open source basé sur le Web conçu comme une application frontale pour l'outil de journalisation de données open-source standard RRDtool. Cacti permet à un utilisateur d'interroger des services à des intervalles prédéterminés et de représenter graphiquement les données résultantes. Il est généralement utilisé pour représenter graphiquement les données de séries chronologiques de mesures 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 frontal peut gérer plusieurs utilisateurs, chacun avec ses propres ensembles de graphiques, il est donc parfois utilisé par les fournisseurs d'hébergement Web (en particulier le serveur dédié, le serveur privé virtuel et les fournisseurs de colocalisation) pour afficher les statistiques de bande passante pour leurs clients. Il peut être utilisé pour configurer la collecte de données elle-même, permettant de surveiller certaines configurations sans aucune 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 open source d'entreprise pour les réseaux et les 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 les données. Son backend est écrit en C et le web frontend est écrit en PHP. Zabbix offre plusieurs options de surveillance

dufte
la source
3

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

À partir de la ligne de commande, exécutez simplement la commande suivante:

sudo apt-get install monit

Monit doit 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 de Monit

Avant de pouvoir commencer à utiliser Monitpour la surveillance automatique du serveur, vous devez effectuer une configuration de base. Sauvegardez d'abord la Monitconfiguration par défaut existante à l'aide de la commande suivante:

sudo mv /etc/monit/monitrc /etc/monit/monitrc.bak

Ensuite, créez un nouveau monitrcfichier 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 qui commencent par un # sont des commentaires pour vous aider à personnaliser la configuration. Assurez-vous que vous avez correctement configuré au moins l'e-mail d'administrateur, le serveur SMTP et le port SMTP. Vous devriez également envisager de changer le nom d'utilisateur et le mot de passe 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 Monitconfiguration des erreurs de syntaxe:

sudo monit -t

Pour démarrer Monit:

sudo monit

Pour vérifier le statut Monit:

sudo monit status

Surveillance de la charge du système avec Monit

Vous devez disposer d'une instance Monit fonctionnelle avec un /etc/monit/monitrcfichier approprié . Les configurations Monit pour divers services sont chargées à partir du /etc/monit/conf.ddossier. Pour surveiller la charge du serveur avec Monit, créez un Monitfichier de configuration à l'aide de la commande suivante:

sudo /etc/monit/conf.d/systemload

Copiez-y le contenu suivant, enregistrez-le 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 Monitvous enverra une alerte par e-mail lorsque l'une des conditions ci-dessus (par exemple, la charge moyenne est >4d'au moins 1 min ou lorsqu'elle est plus 75% RAMpleine) est remplie. Vous pouvez personnaliser les règles ci-dessus à votre guise. Vous trouverez ci-dessous un exemple d'alerte par e-mail envoyée par, Monitainsi qu'une description de la condition à l'origine de l'alerte.

Test et rechargement Monit

Une fois que vous avez apporté des modifications, vous devez tester la Monitconfiguration:

sudo monit -t

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

Ensuite, vérifiez si elle 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 les 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 (assurez-vous d'utiliser le bon numéro de port):

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 de swap

Surveillance du stockage avec Monit

Ensuite, vous devez disposer d'une Monitinstance de travail avec un /etc/monit/monitrcfichier approprié . Monitles configurations pour divers services sont chargées à partir du /etc/monit/conf.ddossier. Pour la surveillance de l'espace disque avec le Monit, create afichier de configuration Monit, utilisez la commande suivante:

sudo /etc/monit/conf.d/storagespace

Copiez-y le contenu suivant, enregistrez-le 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 du disque dur dans 3 partitions sur 2 disques. Si l'un d'entre eux est rempli à plus de 90%, vous serez alerté.

Vous pouvez également surveiller un service spécifique.

Surveiller le serveur Apache avec Monit

La configuration de la surveillance du serveur Apache Monits'effectue avec Monit’sdes modèles de configuration prédéfinis. Tout ce que vous avez à faire est de copier le modèle existant /etc/monit/monitrc.ddans un /etc/monit/conf.ddossier.

sudo cp /etc/monit/monitrc.d/apache2 /etc/monit/conf.d/

Au lieu de copier, vous pouvez également créer un lien symbolique. Création du processus de serveur Web Apache apache2.pid. Le apache2.pidfichier de contrôle de code ci-dessus et s'il n'existe pas, Monitessaiera de redémarrer Apache. Un redémarrage déclenchera une alerte par e-mail. Si le redémarrage échoue plusieurs fois, Monit arrête de surveiller le serveur Apache.

...

2707974
la source
2

Vous pouvez également consulter SeaLion. Vous pouvez définir des alertes personnalisées pour l'utilisation du processeur, la mémoire, etc. De plus, vous pouvez également ajouter vos propres mesures et configurer également des notifications pour elles. En outre, vous pouvez planifier l'exécution des commandes à des intervalles spécifiques et voir leurs sorties dans un affichage de la chronologie. Vous pouvez en savoir plus ici .

Araknid
la source
1

Les outils ci-dessus sont tous excellents pour générer des e-mails. Je préfère recevoir des e-mails pour mon suivi quotidien car je ne veux pas m'asseoir et regarder un tableau de bord toute la journée. Le problème est que vous êtes submergé par des e-mails et que vous n'êtes intéressé que lorsque quelque chose ne va pas. De plus, comment savoir si un e-mail n'a pas été envoyé pour une raison quelconque et que vous pensez que tout fonctionne bien.

J'ai cherché longtemps et suis tombé sur 2 produits qui peuvent lire vos e-mails de rapport et vous avertir lorsque vous devez prendre des mesures.

  1. PRTG, vous pouvez configurer des filtres de messagerie pour rechercher des e-mails contenant certains mots. C'était un peu compliqué à faire.
  2. Un outil en ligne appelé wwww.smtpviewer.com fait le travail et dispose d'un paramètre de délai d'attente qui vous avertit lorsque le courrier électronique de vos appareils surveillés n'est pas arrivé pendant une durée définie.
John Grobbelaar
la source
De nombreux clients de messagerie ont déjà la possibilité de filtrer, trier, étiqueter, ... les courriers. Je ne vois donc pas vraiment la nécessité d'une solution externe pour cela. J'utilise le filtre de Thunderbird pour cela depuis des années, par exemple. Si le serveur de messagerie le supporte, vous pouvez également utiliser des scripts Sieve pour filtrer, trier, baliser, ... les mails directement sur le serveur.
Henning Kockerbeck
0

Dans mon école, notre professeur nous a donné une formation sur Pandora FMS, une solution de surveillance qui couvre la surveillance des serveurs, les applications et même les réseaux!

Je ne connaissais que Zabbix et Nagios à ce moment-là, je n'avais jamais entendu parler de cette solution auparavant, mais maintenant j'y fonde mon projet en raison des fonctionnalités supplémentaires qu'elle offre. La partie de surveillance du serveur est vraiment mature et à mon avis, c'est la plus simple à configurer et à obtenir des statistiques de performances dès que possible: http://pandorafms.com/monitoring-solutions/server-monitoring/

rawmal
la source
-1 package commercial ...
Fabby
0

Bien qu'il ne fasse pas exactement ce que vous voulez sortir de la boîte, je trouve que logwatchc'est un outil extrêmement utile, mais simple.

Il vous donne un résumé quotidien de tous les événements qui se sont produits dans votre /var/logrépertoire ainsi que d'autres informations système importantes telles que l'espace disque actuel. Tout ce qui manque peut être ajouté tout simplement (par exemple, j'ai ajouté un script qui vérifie que certains démons sont toujours en cours d'exécution).

Darren
la source
0

D'après ce que je comprends, votre besoin est très basique. Vous souhaitez rechercher par texte le contenu de l'e-mail pour des mots clés spécifiques, puis être informé lorsque cela se produit. Donc, c'est seulement lorsque, par exemple, l'e-mail contient le mot échec que vous souhaitez être averti et non lorsqu'il contient du succès. J'utilise également 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 l'e-mail attendu n'arrive pas. De tous les outils de surveillance de courrier électronique avec lesquels j'ai joué, celui-ci est le plus simple et ne fait qu'une chose.

Dirk Hemmingway
la source
Cela ne semble pas répondre à la question. Veuillez reformuler ceci pour répondre à la question, ou supprimez cette réponse / déplacez-la dans un commentaire. Merci et bienvenue à Ask Ubuntu!
zwork