Zabbix3.0.2가 외부 Python 스크립트를 사용하여 이메일 경보를 구현하는 방법에 대한 자세한 설명
1. 스크립트가 저장된 기본 경로를 찾습니다. (저는 기본 경로 아래에 넣었습니다. 다른 경로로 변경하고 싶다면 zabbix_server.conf 구성 파일을 수정하세요.)
/usr/local /zabbix-server/ share/zabbix/alertscripts 스크립트 저장 경로
2. 디렉터리에 새 mail.py 파일을 만듭니다. 스크립트 참조:
cd /usr/local/zabbix-server /share/zabbix/alertscripts
vim mail.py
#!/usr/bin/python
#coding:utf-8
#author : itnihao
#메일: 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 메일
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['제목'] = unicode(제목,'UTF-8')
msg['From'] = smtp_user
msg['to'] = mail_to
전역 sendstatus
전역 senderr
시도:
if 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()
print 'send ok'
sendstatus = True
제외 예외,e:
senderr=str(e)
senderr 인쇄
sendstatus = False
def logwrite(sendstatus,mail_to,content) :
logpath='/var/log/zabbix/alert'
sendstatus가 아닌 경우:
content = senderr
os.path가 아닌 경우. isdir(logpath):
os.makedirs(logpath)
t=datetime.datetime.now()
daytime=t.strftime('%Y-%m -%d')
daylogfile=logpath+'/'+str(daytime)+'.log'
login.basicConfig(filename=daylogfile,level=logging.DEBUG)
os.system( 'chown zabbix.zabbix {0}'.format(daylogfile))
logging.info('*'*130)
logging.debug(str( t)+' 메일을 {0}(으)로 보냅니다. 내용은 :n {1}'.format(mail_to,content))
if __name__ == "__main__":
파서 = 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 웹 구성
미디어 유형 선택 구성에서 미디어 유형을 생성합니다
다음 정보를 입력하고 선택 스크립트를 입력하고 zabbix3.0에 대해 다음 3가지 매개변수를 입력해야 합니다.
관리자에서 사용자 생성 또는 알람 설정
여기에 추가되는 내용은 이후입니다. a실패 이메일을 통보받은 이메일이 수신자입니다.
configuration-Action-create 액션에서 이메일 알람을 구현하는 액션을 생성하세요
(내 사진은 아래 템플릿과 다릅니다. 추천 템플릿을 사용하세요. 제가 사용하는 서버가 중국이 아니기 때문에 이메일 제목이 모두 깨져서 이 사진에서는 제목을 줄였습니다.)
이름:
.작업-이메일
기본 제목:
오류 {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}
알람이 복원되었습니다. 안심하세요.
여기서 작업 유형, 메시지 보내기 및 메시지 스크립트에 주의해야 합니다. 올바른 것을 선택하세요.
5. zabbix를 테스트하여 이메일을 보냅니다.
에이전트 클라이언트를 찾아 중지하세요. 그럼 알람 메일을 보세요~
Kill이 성공적으로 발생한 것을 알 수 있습니다~
참고: Zabbix의 알람은 보통 5분에 한 번씩 전송됩니다. 예를 들어, 16시 20분에 중지되면 16시 25분에 오류 이메일을 받게 되고 16시 30분에 처리됩니다. 복구정보는 16시 35분부터 받아보실 수 있습니다~… 여기 시스템에서는 처음에는 mailx를 사용하여 보내려고 했지만 나중에 일부 라이브러리 파일을 설치할 수 없었고 다른 방법으로 전환하여 이메일을 받을 수 없었습니다. 결국 외부 Python 스크립트를 사용하기로 결정했습니다~· Ubuntu 시스템에는 자체 환경과 함께 제공되지 않는 많은 소프트웨어 종속성이 있습니다. .apt-get은 실제로 사용하기 쉽지 않습니다. 126 사서함을 사용할 때 클라이언트 인증 코드는 Python 스크립트에만 로그인할 수 있습니다. 마지막 선택은 회사의 회사 사서함입니다. 그런데 zabbix에서 이메일을 자주 보내다보니 상당수가 휴지통에 버려지네요... 결국 회사 메일함의 QQ 메일함으로 전달했습니다.
우분투는 개발이나 학습에는 괜찮지만, 서버로 사용하면 여전히 문제점이 많습니다.
올바른 자세: centos+zabbix+회사 이메일 후속 기사를 작성할 기회가 있으면 zabbix의 WeChat에서 경찰에 신고하겠습니다.
위 내용은 Zabbix3.0.2가 외부 Python 스크립트를 사용하여 이메일 경보를 구현하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











crontab 예약 작업이 실행되지 않는 몇 가지 이유 요약 업데이트 시간: 2019년 1월 9일 09:34:57 작성자: 현장에서 crontab 예약 작업이 실행되지 않는 몇 가지 이유를 주로 요약하고 소개합니다. 모두 이 문제에 직면한 동료를 위한 특정 참조 및 학습 가치가 있는 각 가능한 트리거에 대한 솔루션이 제공됩니다. 도움이 필요한 학생들은 편집자를 따라 함께 학습할 수 있습니다. 최근 직장에서 몇 가지 문제가 발생했습니다. 나중에 인터넷을 검색해 보니 인터넷에서 주로 다음과 같은 5가지 인센티브를 언급하고 있었습니다. 1. 크론드 서비스가 시작되지 않았습니다. 크론탭은 리눅스 커널의 기능이 아니고 크론에 의존합니다.

PyCharm은 개발자의 효율성 향상에 도움이 되는 풍부한 기능과 도구를 제공하는 강력한 Python 통합 개발 환경입니다. 그중 PyInstaller는 Python 환경이 없는 컴퓨터에서 쉽게 실행할 수 있도록 Python 코드를 실행 파일(EXE 형식)로 패키징할 수 있는 일반적으로 사용되는 도구입니다. 이 기사에서는 PyCharm에서 PyInstaller를 사용하여 Python 코드를 EXE 형식으로 패키징하는 방법을 소개하고 특정 기능을 제공합니다.

Orange3은 강력한 오픈 소스 데이터 시각화 및 기계 학습 도구로, 풍부한 데이터 처리, 분석 및 모델링 기능을 갖추고 있어 사용자에게 간단하고 빠른 데이터 마이닝 및 기계 학습 솔루션을 제공합니다. 이 기사에서는 Orange3의 기본 기능과 사용법을 간략하게 소개하고 이를 실제 응용 프로그램 시나리오 및 Python 코드 사례와 결합하여 독자가 Orange3의 사용 기술을 더 잘 익힐 수 있도록 돕습니다. Orange3의 기본 기능에는 데이터 로딩, 데이터 전처리, 특징 선택, 모델 구축 및 평가 등이 포함됩니다. 사용자는 직관적인 인터페이스를 사용하여 구성 요소를 끌어서 놓아 데이터 프로세스를 쉽게 구축할 수 있습니다. 동시에 더 복잡한 데이터 처리 및 모델링 작업도 Python 스크립트를 통해 완료할 수 있습니다. 아래에서는 실습을 진행하겠습니다.

PyCharm을 사용하여 Excel 데이터를 읽는 방법은 무엇입니까? 단계는 다음과 같습니다. openpyxl 라이브러리를 가져오고, Excel 통합 문서를 로드하고, 워크시트의 셀에 액세스합니다.

1. 먼저 pycharm을 열고 pycharm 홈페이지로 들어갑니다. 2. 그런 다음 새 Python 스크립트를 생성하고 마우스 오른쪽 버튼을 클릭하고 새로 만들기를 클릭한 후 Pythonfile을 클릭합니다. 3. 문자열(코드: s="-")을 입력합니다. 4. 그런 다음 문자열의 기호를 20번 반복해야 합니다(코드: s1=s*20). 5. 인쇄 출력 코드(코드: print(s1))를 입력합니다. 6. 마지막으로 스크립트를 실행하면 하단에 반환 값이 표시됩니다. - 20번 반복됩니다.

웹사이트 하위 도메인 쿼리 도구는 다음과 같습니다. 1. Whois 조회: 하위 도메인 이름을 포함한 도메인 이름의 등록 정보를 쿼리할 수 있습니다. 2. Sublist3r: 검색 엔진 및 기타 도구를 사용하여 도메인 이름의 하위 도메인 이름을 자동으로 검색할 수 있습니다. . DNSdumpster: 도메인 이름의 하위 도메인 이름, IP 주소 및 DNS 레코드와 같은 정보를 쿼리할 수 있습니다. 4. Fierce: DNS 서버를 통해 도메인 이름의 하위 도메인 이름 정보를 쿼리할 수 있습니다. 7. 구글 해킹.

Flask 설치 및 구성 튜토리얼: Python 웹 애플리케이션을 쉽게 구축하기 위한 도구로, 특정 코드 예제가 필요합니다. 소개: Python의 인기가 높아짐에 따라 웹 개발은 Python 프로그래머에게 필요한 기술 중 하나가 되었습니다. Python으로 웹 개발을 수행하려면 적합한 웹 프레임워크를 선택해야 합니다. 많은 Python 웹 프레임워크 중에서 Flask는 개발자가 선호하는 간단하고 사용하기 쉽고 유연한 프레임워크입니다. 이번 글에서는 Flask 프레임워크 설치에 대해 소개하겠습니다.

Linux 시스템에서 Python 스크립트를 실행하는 방법 Python은 강력한 스크립트 언어로서 Linux 시스템에서 널리 사용됩니다. 이 기사에서는 Linux 시스템에서 Python 스크립트를 실행하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. Python 설치 먼저 Linux 시스템에 Python이 설치되어 있는지 확인하십시오. Python이 시스템에 설치되어 있는지 확인하려면 터미널에 다음 명령을 입력하십시오. python --version 표시되는 경우
