ホームページ バックエンド開発 Python チュートリアル Zabbix3.0.2が外部Pythonスクリプトを使用して電子メールアラームを実装する方法の詳細な説明

Zabbix3.0.2が外部Pythonスクリプトを使用して電子メールアラームを実装する方法の詳細な説明

Mar 23, 2017 pm 03:40 PM
python脚本

1. スクリプトが保存されているデフォルトのパスを見つけます (デフォルトのパスの下に置きました。別のパスに変更したい場合は、zabbix_server.conf 設定ファイルを変更します)

/usr/local/zabbix-server/share /zabbix/alertscripts script ストレージ パス

2. ディレクトリに新しい mail.py ファイルを作成します: スクリプト リファレンス:

cd /usr/local/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 スクリプトを直接変更してコピーすると、形式の問題が発生します~

import smtplib

from email.mime.text import MIMEText

import os

import argparse

インポートログ

インポート日時

# QQ enterprise

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

#smtp_port = 25

#smtp_user = 'itnihao_zabbix@itnihao.com'

#smtp_pass = '1234567890'

# 163 メール

# smtp_server = 'smtp.163.com'

#smtp_port = 25

#smtp_user = 'itnihao_zabbix@163.com'

#smtp_pass = '1234567890'

#QQ Mail

smt p_server ='smtp.qq.com '

smtp_port = 25

smtp_user ='itnihao_zabbix@qq.com'

smtp_pass ='1234567890'

def send_mail(mail_to,subject,内容):

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

msg['Subject'] = unicode(subject,'UTF-8')

msg['From'] = smtp_user

msg['to'] = mail_to

グローバル sendstatus

グローバル送信者

try:

if smtp_port == 465:

smtp = smtplib.SMTP_SSL()

else:

= 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()

sendstatus = True

例外、e を除く; sendstatus でない場合:

content = senderr

os.path.isdir(logpath):

os.makedirs(logpath)

t=datetime.datetime.now()

昼間=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)+' メール送信先: {0 },content は :n {1}' .format(mail_to,content))

if __name__ == "__main__":

parser = argparse.ArgumentParser(description='zabbix アラートのためにユーザーにメールを送信')

parser.add_argument('mail_to',action= "store", help='ユーザーに送信するメールのアドレス ')

parser.add_argument('subject',action="store", help='メールの件名')

parser.add_argument('content',action="store", help='メールの内容')

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、スクリプトの権限を変更します

# chown zabbix.zabbix mail.py

# chmod 775 mail .py

4、zabbix Web設定

設定でメディアタイプを選択し、メディアタイプを作成します

Zabbix3.0.2が外部Pythonスクリプトを使用して電子メールアラームを実装する方法の詳細な説明

次の情報を入力し、選択スクリプトを入力します。zabbix3.0 の場合は、次の 3 つのパラメータを入力する必要があります。

Zabbix3.0.2が外部Pythonスクリプトを使用して電子メールアラームを実装する方法の詳細な説明

管理者ユーザーでユーザーを作成するかアラームを設定します

Zabbix3.0.2が外部Pythonスクリプトを使用して電子メールアラームを実装する方法の詳細な説明

ここで追加されるのは、失敗後に通知されるメール、つまり受信者です。

Zabbix3.0.2が外部Pythonスクリプトを使用して電子メールアラームを実装する方法の詳細な説明

configuration-Action-createアクションで、電子メールアラームを実装するアクションを作成します

(私の写真は以下のテンプレートとは異なります。私が使用しているサーバーは中国エリアのすべてのメール タイトルが文字化けするため、この画像のタイトルを短くしました)

Action-EmailZabbix3.0.2が外部Pythonスクリプトを使用して電子メールアラームを実装する方法の詳細な説明

デフォルトの件名:

Fault {TRIGGER.STATUS}、サーバー: {HOSTNAME1 } 発生: { TRIGGER.NAME} 障害!

デフォルト メッセージ:

アラーム ホスト: {HOSTNAME1}

アラーム時刻: {EVENT.DATE} {EVENT.TIME}

アラーム レベル: {TRIGGER.SEVERITY}

アラームメッセージ: { TRIGGER.NAME}

アラーム項目:{TRIGGER.KEY1}

問題の詳細:{ITEM.NAME}:{ITEM.VALUE}

現在のステータス:{TRIGGER.STATUS}:{ITEM.VALUE1}

イベントID :{EVENT.ID}

詳細については、Montoring-Eventsをご覧ください。

回復の件名:

{TRIGGER.STATUS} の復元、サーバー: {HOSTNAME1}: {TRIGGER.NAME} が回復しました。

回復メッセージ:

アラーム ホスト: {HOSTNAME1}

アラーム時刻: {EVENT. DATE } {EVENT.TIME}

アラームレベル: {TRIGGER.SEVERITY}

アラーム情報: {TRIGGER.NAME}

アラーム項目: {TRIGGER.KEY1}

問題の詳細: {ITEM.NAME}: {ITEM . VALUE}

現在のステータス: {TRIGGER.STATUS}:{ITEM.VALUE1}

イベントID: {EVENT.ID}

アラームが復旧しました。ご安心ください。

ここでは、操作のタイプ、送信されるメッセージ、およびメッセージのスクリプトに注意する必要があります。正しいものを選択する必要があります。

Zabbix3.0.2が外部Pythonスクリプトを使用して電子メールアラームを実装する方法の詳細な説明

5. 電子メールを送信するために zabbix をテストします

エージェント クライアントを見つけて停止します。次に、アラームメールを見てください~Zabbix3.0.2が外部Pythonスクリプトを使用して電子メールアラームを実装する方法の詳細な説明

Kill 後、ここで正常に送信されたことがわかります~

注: Zabbix のアラームは通常 5 分に 1 回送信されます。たとえば、16:20 に停止した場合、障害メールは 16:25 に受信され、16:30 に処理されます。 16:35〜に復旧情報を受け取ることができます…

Zabbix3.0.2が外部Pythonスクリプトを使用して電子メールアラームを実装する方法の詳細な説明 6. まとめ

ここではubuntu 16.4システムを使用しています。後で、いくつかのライブラリファイルを送信するためにmailxを使用してみました。が見つからずインストールできませんでした。その後、電子メールの受信に失敗した後、別のシステムに切り替えました。最終的に、外部の Python スクリプトを使用してそれを実現することにしました~ · Ubuntu システムには、それに付属していないソフトウェアの依存関係が多数あります。独自の環境では、apt-get は使いにくく、126 メールボックスを使用する場合、クライアント認証コードは使用できません。Python スクリプトで QQ メールボックスにログインするのは、会社の企業だけです。メールボックス。しかし、zabbixは頻繁にメールを送信するので、多くのメールはゴミ箱に捨てられてしまいます…最終的には社内メールボックスのQQメールボックスに転送しました。 Zabbix3.0.2が外部Pythonスクリプトを使用して電子メールアラームを実装する方法の詳細な説明

Ubuntuは開発や学習には適していますが、サーバーとして使用するとまだ多くの問題があります。

正しい姿勢: centos+zabbix+企業メール フォローアップ記事を書く機会があれば、zabbix の WeChat で警察に電話してください。

以上がZabbix3.0.2が外部Pythonスクリプトを使用して電子メールアラームを実装する方法の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

crontab のスケジュールされたタスクが実行されない理由をご存知ですか? crontab のスケジュールされたタスクが実行されない理由をご存知ですか? Mar 09, 2024 am 09:49 AM

crontab のスケジュールされたタスクが実行されない原因まとめ 更新日時: 2019年1月9日 09:34:57 作成者: Hope on the field. この記事では主に、crontab のスケジュールされたタスクが実行されない原因をいくつかまとめて紹介します。考えられるトリガーごとに解決策が示されており、この問題に遭遇した同僚にとって一定の参照と学習価値があります。必要な学生はエディターに従って一緒に学習できます。序文: 最近仕事でいくつかの問題に遭遇しました。crontab のスケジュール設定タスクが実行されませんでした後、インターネットで検索したところ、インターネットでは主に次の 5 つのインセンティブについて言及されていることがわかりました: 1. crond サービスが開始されていない Crontab は Linux カーネルの機能ではなく、cron に依存しています。

pyjokes を使用してランダムなジョークを作成する Python スクリプト pyjokes を使用してランダムなジョークを作成する Python スクリプト Sep 13, 2023 pm 08:25 PM

Python スクリプトやアプリケーションにユーモアを加えてみませんか?チャットボットを構築している場合でも、コマンド ライン ツールを開発している場合でも、あるいは単にランダムなジョークで楽しませたい場合でも、pyjokes ライブラリが役に立ちます。 pyjoke を使用すると、さまざまなカテゴリのジョークを簡単に生成し、好みに合わせてカスタマイズできます。このブログ投稿では、pyjokes ライブラリを使用して Python でランダムなジョークを作成する方法を検討します。インストール プロセス、さまざまなカテゴリのジョークの生成、ジョークのカスタマイズ、コンソール アプリケーションまたは Web ページでのジョークの表示、および発生する可能性のある潜在的なエラーの処理について説明します。 pyjoke をインストールする pyjoke を使用してランダムなジョークを作成する前に、次のことが必要です。

PyCharm 高度なチュートリアル: PyInstaller を使用してコードを EXE 形式にパッケージ化する PyCharm 高度なチュートリアル: PyInstaller を使用してコードを EXE 形式にパッケージ化する Feb 20, 2024 am 09:34 AM

PyCharm は、開発者の効率向上に役立つ豊富な機能とツールを提供する強力な Python 統合開発環境です。その中でも、PyInstaller は、Python コードを実行可能ファイル (EXE 形式) にパッケージ化して、Python 環境のないマシンでの実行を容易にする、一般的に使用されるツールです。この記事では、PyCharm で PyInstaller を使用して Python コードを EXE 形式にパッケージ化し、特定の

Orange3 の探索: データ マイニングと機械学習の新しい世界を切り開きます! Orange3 の探索: データ マイニングと機械学習の新しい世界を切り開きます! Mar 04, 2024 pm 08:16 PM

Orange3 は、強力なオープンソース データ視覚化および機械学習ツールであり、豊富なデータ処理、分析、モデリング機能を備えており、ユーザーにシンプルかつ高速なデータ マイニングおよび機械学習ソリューションを提供します。この記事では、Orange3 の基本的な機能と使用法を簡単に紹介し、実際のアプリケーション シナリオや Python コードのケースと組み合わせて、読者が Orange3 の使用スキルをよりよく習得できるようにします。 Orange3 の基本機能には、データのロード、データの前処理、特徴の選択、モデルの確立と評価などが含まれます。ユーザーは直感的なインターフェイスを使用してコンポーネントをドラッグ アンド ドロップし、データ プロセスを簡単に構築できます。同時に、より複雑なデータ処理やモデリングのタスクも Python スクリプトを通じて実行できます。以下、実践的な内容を見ていきます

pycharmでExcelデータを読み取る方法 pycharmでExcelデータを読み取る方法 Apr 03, 2024 pm 08:42 PM

PyCharmを使用してExcelデータを読み取るにはどうすればよいですか?手順は次のとおりです: openpyxl ライブラリのインストール、openpyxl ライブラリのインポート、Excel ワークブックのロード、特定のワークシートへのアクセス、ワークシート内のセルへのアクセス、行と列の走査。

python_python の繰り返し文字列チュートリアルで文字列を繰り返す方法 python_python の繰り返し文字列チュートリアルで文字列を繰り返す方法 Apr 02, 2024 pm 03:58 PM

1. まず pycharm を開いて、pycharm ホームページに入ります。 2. 次に、新しい Python スクリプトを作成し、右クリックして [新規] をクリックし、[Pythonfile] をクリックします。 3. 文字列、コード: s="-" を入力します。 4. 次に、文字列内のシンボルを 20 回繰り返す必要があります (コード: s1=s*20)。 5. 印刷出力コード、コード: print(s1) を入力します。 6. 最後にスクリプトを実行すると、下部に戻り値が表示されます。 - 20 回繰り返しました。

Web サイトのサブドメイン クエリ ツールとは何ですか? Web サイトのサブドメイン クエリ ツールとは何ですか? Mar 07, 2024 am 09:49 AM

Web サイトのサブドメイン クエリ ツールには次のものが含まれます: 1. Whois Lookup: サブドメイン名を含むドメイン名の登録情報をクエリできます; 2. Sublist3r: 検索エンジンやその他のツールを利用してドメイン名のサブドメイン名を自動的にスキャンできます; 3 . DNSdumpster: ドメイン名のサブドメイン名、IP アドレス、DNS レコードなどの情報を照会できます; 4. Fierce: DNS サーバーを通じてドメイン名のサブドメイン名情報を照会できます: 5. Nmap; 6. Recon- NG; 7. Google ハッキング。

Flask のインストールと構成のチュートリアル: Python Web アプリケーションを簡単に構築するツール Flask のインストールと構成のチュートリアル: Python Web アプリケーションを簡単に構築するツール Feb 20, 2024 pm 11:12 PM

Flask のインストールと構成チュートリアル: Python Web アプリケーションを簡単に構築するためのツール、特定のコード サンプルが必要です はじめに: Python の人気が高まるにつれ、Web 開発は Python プログラマーにとって必要なスキルの 1 つになりました。 Python で Web 開発を実行するには、適切な Web フレームワークを選択する必要があります。数ある Python Web フレームワークの中でも、Flask はシンプルで使いやすく柔軟なフレームワークとして開発者に好まれています。この記事ではFlaskフレームワークのインストールについて紹介します。

See all articles