Maison développement back-end Tutoriel Python Explication détaillée de la façon dont Zabbix3.0.2 utilise des scripts Python externes pour implémenter des alarmes par courrier électronique

Explication détaillée de la façon dont Zabbix3.0.2 utilise des scripts Python externes pour implémenter des alarmes par courrier électronique

Mar 23, 2017 pm 03:40 PM
script python

1. Recherchez le chemin par défaut où le script est stocké (je l'ai mis sous le chemin par défaut. Si vous souhaitez passer à un autre chemin, modifiez le fichier de configuration zabbix_server.conf)

/usr/local /zabbix-server/ share/zabbix/alertscripts chemin de stockage du script

2, créez un fichier mail.py dans le répertoire, référence du script :

cd /usr/local/zabbix-server/ share/zabbix/alertscripts

vim mail.py

#!/usr/bin/python

#coding:utf-8

#author : itnihao

#mail : itnihao@qq.com

#url : https://github.com/itnihao/zabbix-book/edit/master/06-chapter/zabbix_sendmail_v2.py Script peut être directement modifié et copié. Des problèmes de format se produiront ~

import smtplib

from email.mime.text import MIMEText

import os

import argparse

journalisation des importations

importation dateheure

#QQ entreprise

#smtp_server = 'smtp.exmail.qq.com'

# smtp_port = 25

#smtp_user = 'itnihao_zabbix@itnihao.com'

#smtp_pass = '1234567890'

#163 Mail

#smtp_server = ' smtp.163.com'

#smtp_port = 25

#smtp_user = 'itnihao_zabbix@163.com'

#smtp_pass = '1234567890'

#QQ Mail

SMTP_SERVER = 'SMTP.QQ.com'

SMTP_PORT = 25

SMTP_USER ='ITNIHAO_ZABBIX@qq.com '

SMTP_PASS = ' 1234567890 ' > def send_mail(mail_to,subject,content):

msg = MIMEText(content,_subtype='plain', _charset='utf-8')

msg['Sujet'] = unicode(sujet,'UTF-8')

msg['De'] = smtp_user

msg['à'] = mail_to

global sendstatus

global senderr

essayez :

si smtp_port == 465 :

smtp = smtplib.SMTP_SSL()

else :

smtp = smtplib.SMTP()

smtp.connect(smtp_server,smtp_port)

smtp.login(smtp_user,smtp_pass)

smtp .sendmail(smtp_user,mail_to ,msg.as_string())

smtp.close()

imprimer 'envoyer ok'

sendstatus = True

sauf exception, e :

senderr=str(e)

print senderr

sendstatus = False

def logwrite(sendstatus,mail_to,content) :

logpath='/var/log/zabbix/alert'

sinon sendstatus:

content = senderr

sinon os.path.isdir (logpath):

os.makedirs(logpath)

t=datetime.datetime.now()

daytime=t.strftime('%Y-%m- %d')

daylogfile=logpath+'/'+str(daytime)+'.log'

logging.basicConfig(filename=daylogfile,level=logging.DEBUG)

os.system( 'chown zabbix.zabbix {0}'.format(daylogfile))

logging.info('*'*130)

logging.debug(str(t )+' mail envoyé à {0}, le contenu est :n {1}'.format(mail_to,content))

if __name__ == "__main__":

parser = argparse. ArgumentParser(description='Envoyer un e-mail à l'utilisateur pour l'alerte Zabbix')

parser.add_argument('mail_to',action="store", help='L'adresse e-mail envoyée à l'utilisateur ')

parser.add_argument('subject',action="store", help='Le sujet de l'e-mail')

Parser.add_argument('content',action="store ", help='Le contenu de l'e-mail')

args = parser.parse_args()

mail_to=args.mail_to

subject=args.subject

content =args.content

send_mail(mail_to,subject,content)

logwrite(sendstatus,mail_to,content)

3, modifiez les autorisations de le script

# chown zabbix.zabbix mail.py

# chmod 775 mail.py

4, configuration web zabbix

sélectionnez le type de média dans la configuration et créer un type de média

Explication détaillée de la façon dont Zabbix3.0.2 utilise des scripts Python externes pour implémenter des alarmes par courrier électronique

Remplissez les informations suivantes, tapez le script de sélection et zabbix3.0 nécessite les 3 paramètres suivants.

Explication détaillée de la façon dont Zabbix3.0.2 utilise des scripts Python externes pour implémenter des alarmes par courrier électronique

Créer un utilisateur ou définir une alarme dans l'utilisateur administrateur

Explication détaillée de la façon dont Zabbix3.0.2 utilise des scripts Python externes pour implémenter des alarmes par courrier électronique

Ce qui est ajouté ici est après un échec L'email auquel l'email est notifié est le destinataire.

Explication détaillée de la façon dont Zabbix3.0.2 utilise des scripts Python externes pour implémenter des alarmes par courrier électronique

Créer une action pour mettre en œuvre une alarme email, dans la configuration-Action-créer une action

(Ma photo est différente du modèle donné ci-dessous, elle est recommandé Utilisez un modèle, car le serveur que j'utilise n'est pas en Chine, tous les titres des e-mails seront tronqués. J'ai donc raccourci le titre sur cette image)

Explication détaillée de la façon dont Zabbix3.0.2 utilise des scripts Python externes pour implémenter des alarmes par courrier électronique

Nom : .

Action-Email

Sujet par défaut :

Défaut {TRIGGER.STATUS}, serveur : {HOSTNAME1} s'est produit : défaut {TRIGGER.NAME} !

Message par défaut :

Hôte de l'alarme : {HOSTNAME1}

Heure de l'alarme : {EVENT.DATE} {EVENT.TIME}

Niveau d'alarme : {TRIGGER.SEVERITY}

Informations sur l'alarme : {TRIGGER.NAME}

Élément d'alarme : {TRIGGER.KEY1}

Détails du problème : {ITEM.NAME} :{ITEM.VALUE}

Statut actuel : {TRIGGER.STATUS} :{ITEM.VALUE1}

ID d'événement : {EVENT.ID}

Veuillez vous rendre sur Montoring-Events pour vérifier les détails.

Sujet de récupération :

Récupérer {TRIGGER.STATUS}, serveur : {HOSTNAME1} : {TRIGGER.NAME} a été récupéré !

Message de récupération :

Hôte de l'alarme : {HOSTNAME1>

Heure de l'alarme : {EVENT.DATE} {EVENT.TIME}

Niveau d'alarme : {TRIGGER.SEVERITY}

Informations sur l'alarme : { TRIGGER.NAME}

Élément d'alarme :{TRIGGER.KEY1}

Détails du problème :{ITEM.NAME} :{ITEM.VALUE}

État actuel : {TRIGGER .STATUS} : {ITEM.VALUE1}

ID d'événement : {EVENT.ID}

L'alarme a été restaurée, veuillez vous détendre.

Explication détaillée de la façon dont Zabbix3.0.2 utilise des scripts Python externes pour implémenter des alarmes par courrier électronique

Ici, vous devez faire attention au type d'opération, à l'envoi du message et au script du message. Sélectionnez le bon.

Explication détaillée de la façon dont Zabbix3.0.2 utilise des scripts Python externes pour implémenter des alarmes par courrier électronique

5. Testez Zabbix pour envoyer des e-mails

Trouvez un client agent et arrêtez-le. Ensuite, regardez l'e-mail d'alarme~

Après Kill, vous pouvez voir que cela s'est produit avec succès~

Remarque : l'alarme de Zabbix est généralement envoyée une fois toutes les 5 minutes. Par exemple : s'il s'arrête à 16h20, vous recevrez l'email de panne à 16h25 et il sera traité à 16h30. Les informations de récupération peuvent être reçues à 16h35~ …

Explication détaillée de la façon dont Zabbix3.0.2 utilise des scripts Python externes pour implémenter des alarmes par courrier électronique

Explication détaillée de la façon dont Zabbix3.0.2 utilise des scripts Python externes pour implémenter des alarmes par courrier électronique

6. Résumé

J'utilise Ubuntu 16.4 ici, j'ai d'abord essayé d'utiliser mailx pour envoyer, mais plus tard, certains fichiers de bibliothèque n'ont pas pu être installés, puis je suis passé à d'autres méthodes et je n'ai pas pu recevoir d'e-mails. Enfin, j'ai décidé d'utiliser un script python externe pour réaliser~· Le. Le système Ubuntu possède de nombreuses dépendances logicielles qui ne sont pas fournies avec son propre environnement. .apt-get n'est vraiment pas facile à utiliser lors de l'utilisation de la boîte aux lettres 126, le code d'autorisation du client ne peut pas être connecté dans le script python. être utilisé par vous-même. Le dernier choix est la boîte aux lettres d'entreprise de l'entreprise. Mais comme zabbix envoie fréquemment des emails, beaucoup d'entre eux sont jetés à la poubelle... Finalement, je les ai transférés vers la boîte aux lettres QQ dans la boîte aux lettres de l'entreprise.

Ubuntu convient parfaitement au développement et à l'apprentissage, mais de nombreux problèmes subsistent lorsqu'il est utilisé comme serveur.

Posture correcte : centos+zabbix+boîte mail d'entreprise Si vous avez la possibilité d'écrire un article de suivi, alarme wechat dans zabbix.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Connaissez-vous quelques raisons pour lesquelles les tâches planifiées de crontab ne sont pas exécutées ? Connaissez-vous quelques raisons pour lesquelles les tâches planifiées de crontab ne sont pas exécutées ? Mar 09, 2024 am 09:49 AM

Résumé de quelques raisons pour lesquelles les tâches planifiées crontab ne sont pas exécutées. Heure de mise à jour : 9 janvier 2019 09:34:57 Auteur : Hope on the field Cet article résume et vous présente principalement quelques raisons pour lesquelles les tâches planifiées crontab ne sont pas exécutées. tout le monde Des solutions sont données pour chacun des déclencheurs possibles, qui ont une certaine valeur de référence et d'apprentissage pour les collègues qui rencontrent ce problème. Les étudiants dans le besoin peuvent suivre l'éditeur pour apprendre ensemble. Préface : J'ai récemment rencontré des problèmes au travail. La tâche n'a pas été exécutée. Plus tard, lors d'une recherche sur Internet, j'ai découvert qu'Internet mentionnait principalement ces cinq incitations : 1. Le service crond n'est pas démarré n'est pas une fonction du noyau Linux, mais repose sur un cron.

Script Python pour créer des blagues aléatoires à l'aide de pyjokes Script Python pour créer des blagues aléatoires à l'aide de pyjokes Sep 13, 2023 pm 08:25 PM

Voulez-vous ajouter un peu d'humour à votre script ou application Python ? Que vous construisiez un chatbot, développiez un outil de ligne de commande ou souhaitiez simplement vous divertir avec des blagues aléatoires, la bibliothèque pyjokes peut vous aider. Avec pyjokes, vous pouvez facilement générer des blagues dans différentes catégories et les personnaliser à votre guise. Dans cet article de blog, nous explorerons comment créer des blagues aléatoires en Python à l'aide de la bibliothèque pyjokes. Nous couvrirons le processus d'installation, la génération de différentes catégories de blagues, la personnalisation des blagues, leur affichage dans une application console ou une page Web et la gestion des erreurs potentielles qui peuvent survenir. Installer des pyjokes Avant de commencer à utiliser des pyjokes pour créer des blagues aléatoires, nous avons besoin

Tutoriel avancé PyCharm : utilisez PyInstaller pour empaqueter le code au format EXE Tutoriel avancé PyCharm : utilisez PyInstaller pour empaqueter le code au format EXE Feb 20, 2024 am 09:34 AM

PyCharm est un puissant environnement de développement intégré Python qui fournit une multitude de fonctions et d'outils pour aider les développeurs à améliorer leur efficacité. Parmi eux, PyInstaller est un outil couramment utilisé qui permet de regrouper le code Python dans un fichier exécutable (format EXE) pour faciliter l'exécution sur des machines sans environnement Python. Dans cet article, nous présenterons comment utiliser PyInstaller dans PyCharm pour empaqueter le code Python au format EXE et fournirons des informations spécifiques.

Explorer Orange3 : ouvrir un nouveau monde de data mining et d'apprentissage automatique ! Explorer Orange3 : ouvrir un nouveau monde de data mining et d'apprentissage automatique ! Mar 04, 2024 pm 08:16 PM

Orange3 est un puissant outil open source de visualisation de données et d'apprentissage automatique. Il dispose de riches fonctions de traitement, d'analyse et de modélisation des données, offrant aux utilisateurs des solutions simples et rapides d'exploration de données et d'apprentissage automatique. Cet article présentera brièvement les fonctions de base et l'utilisation d'Orange3, et le combinera avec des scénarios d'application réels et des cas de code Python pour aider les lecteurs à mieux maîtriser les compétences d'utilisation d'Orange3. Les fonctions de base d'Orange3 incluent le chargement des données, le prétraitement des données, la sélection des fonctionnalités, l'établissement et l'évaluation du modèle, etc. Les utilisateurs peuvent utiliser l'interface intuitive pour glisser-déposer des composants afin de créer facilement des processus de données. Dans le même temps, des tâches plus complexes de traitement de données et de modélisation peuvent également être réalisées via des scripts Python. Ci-dessous, nous passerons par un exercice pratique

Comment lire des données Excel dans Pycharm Comment lire des données Excel dans Pycharm Apr 03, 2024 pm 08:42 PM

Comment lire des données Excel avec PyCharm ? Les étapes sont les suivantes : installer la bibliothèque openpyxl ; importer la bibliothèque openpyxl ; charger le classeur Excel ; accéder aux cellules de la feuille de calcul ;

Comment répéter une chaîne dans le didacticiel de chaîne répétitive python_python Comment répéter une chaîne dans le didacticiel de chaîne répétitive python_python Apr 02, 2024 pm 03:58 PM

1. Ouvrez d’abord pycharm et accédez à la page d’accueil de pycharm. 2. Créez ensuite un nouveau script python, cliquez avec le bouton droit sur nouveau - cliquez sur fichier python. 3. Entrez une chaîne, code : s="-". 4. Ensuite, vous devez répéter les symboles de la chaîne 20 fois, code : s1=s*20 5. Entrez le code de sortie d'impression, code : print(s1). 6. Enfin, exécutez le script et vous verrez notre valeur de retour en bas : - répété 20 fois.

Quels sont les outils de requête de sous-domaines de sites Web ? Quels sont les outils de requête de sous-domaines de sites Web ? Mar 07, 2024 am 09:49 AM

Les outils de requête de sous-domaine de site Web comprennent : 1. Whois Lookup : peut interroger les informations d'enregistrement d'un nom de domaine, y compris les noms de sous-domaines ; 2. Sublist3r : peut analyser automatiquement le nom de sous-domaine d'un nom de domaine à l'aide de moteurs de recherche et d'autres outils ; . DNSdumpster : peut interroger des informations telles que le nom de sous-domaine, l'adresse IP et l'enregistrement DNS du nom de domaine ; 4. Fierce : vous pouvez interroger les informations de nom de sous-domaine du nom de domaine via le serveur DNS : 5. Nmap ; 7. Google Piratage.

Tutoriel d'installation et de configuration de Flask : un outil pour créer facilement des applications Web Python Tutoriel d'installation et de configuration de Flask : un outil pour créer facilement des applications Web Python Feb 20, 2024 pm 11:12 PM

Tutoriel d'installation et de configuration de Flask : Un outil pour créer facilement des applications Web Python, des exemples de code spécifiques sont nécessaires Introduction : Avec la popularité croissante de Python, le développement Web est devenu l'une des compétences nécessaires pour les programmeurs Python. Pour réaliser du développement web en Python, nous devons choisir un framework web adapté. Parmi les nombreux frameworks Web Python, Flask est un framework simple, facile à utiliser et flexible qui est privilégié par les développeurs. Cet article présentera l'installation du framework Flask,

See all articles