


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
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
Remplissez les informations suivantes, tapez le script de sélection et zabbix3.0 nécessite les 3 paramètres suivants.
Créer un utilisateur ou définir une alarme dans l'utilisateur administrateur
Ce qui est ajouté ici est après un échec L'email auquel l'email est notifié est le destinataire.
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)
Nom : .
Action-EmailSujet 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.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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

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 !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds





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.

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

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.

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 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 ;

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.

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, 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,
