ค้นหาเว็บไซต์

วิธีตั้งค่า Zabbix ให้ส่งการแจ้งเตือนทางอีเมลไปยังบัญชี Gmail


หากคุณใช้ Zabbix เพื่อตรวจสอบโครงสร้างพื้นฐานของคุณ คุณอาจต้องการรับการแจ้งเตือนทางอีเมลจากโดเมนท้องถิ่นของคุณที่ใดที่หนึ่งบนโดเมนอินเทอร์เน็ตสาธารณะ แม้ว่าคุณจะไม่ได้เป็นเจ้าของชื่อโดเมนอินเทอร์เน็ตที่จดทะเบียนที่ถูกต้องพร้อมอีเมล เซิร์ฟเวอร์ที่คุณสามารถกำหนดค่าได้ด้วยตัวเอง

บทช่วยสอนนี้จะอภิปรายสั้นๆ ถึงวิธีตั้งค่าเซิร์ฟเวอร์ Zabbix เพื่อส่งรายงานอีเมลไปยังที่อยู่ Gmail โดยใช้โปรแกรม SSMTP โดยไม่จำเป็นต้องใช้ เพื่อติดตั้งและกำหนดค่า MTA daemon ภายในเครื่อง เช่น Postfix, Exim เป็นต้น

ความต้องการ

  • วิธีการติดตั้ง Zabbix บน RHEL/CentOS และ Debian/Ubuntu – ตอนที่ 1

ขั้นตอนที่ 1: ติดตั้งและกำหนดค่า SSMTP

1. SSMTP เป็นซอฟต์แวร์ขนาดเล็ก ซึ่งไม่ตอบสนองการทำงานใดๆ ของเมลเซิร์ฟเวอร์ แต่เพียงส่งอีเมลจากเครื่องท้องถิ่นไปยังที่อยู่อีเมลภายนอกใน เมลฮับ

หากต้องการติดตั้งโปรแกรม SSMTP ควบคู่ไปกับแพ็คเกจ mailutils ที่คุณจะใช้ในการส่งอีเมล ให้ออกคำสั่งต่อไปนี้บนเซิร์ฟเวอร์ที่ใช้ RedHat และเซิร์ฟเวอร์ Debian ที่คล้ายกัน:

yum install msmtp mailx               [On RHEL/CentOS] 
sudo apt-get install ssmtp mailutils       [On Debian/Ubuntu]

2. หลังจากติดตั้งแพ็คเกจบนระบบแล้ว ให้กำหนดค่าโปรแกรม SSMTP เพื่อส่งอีเมลในเครื่องไปยังบัญชี Gmail ของคุณโดยเปิดไฟล์การกำหนดค่าหลัก สำหรับการแก้ไขด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบและสิทธิ์การใช้งานรูท และใช้การตั้งค่าพารามิเตอร์ต่อไปนี้:

vi /etc/msmtprc                       [On RHEL/CentOS]
sudo nano /etc/ssmtp/ssmtp.conf            [On Debian/Ubuntu]

การตั้งค่า MSTP สำหรับบัญชี GMAIL

#set default values for all following accounts.
defaults
auth           on
tls            on
tls_trust_file    /etc/pki/tls/certs/ca-bundle.crt
logfile        ~/.msmtp.log
Gmail
account        gmail
host           smtp.gmail.com
port           587
from           [email 
user           [email 
password       gmailpassword

Set a default account
account default : gmail

การตั้งค่า SSMTP สำหรับบัญชี GMAIL

[email 
mailhub=smtp.gmail.com:587
rewriteDomain=your_local_domain
hostname=your_local_FQDN
UseTLS=Yes
UseSTARTTLS=Yes
AuthUser=Gmail_username
AuthPass=Gmail_password
FromLineOverride=YES

ขั้นตอนที่ 2: การทดสอบ Gmail สำหรับการแจ้งเตือนทางอีเมลของ Zabbix

3. ในขั้นตอนถัดไป ถึงเวลาส่งอีเมลที่สร้างขึ้นในเครื่องไปยังบัญชี Gmail โดยใช้คำสั่งด้านล่าง

echo "Body test email from 'hostname -f' "| mail -s "subject here" [email 

4. โดยปกติ Gmail จะป้องกันการรับรองความถูกต้องประเภทต่างๆ จากบัญชีของคุณไปยังเซิร์ฟเวอร์ของพวกเขา ดังนั้น ในกรณีที่คุณได้รับข้อผิดพลาด “อีเมล: ไม่สามารถส่งข้อความ: กระบวนการออกจากสถานะที่ไม่ใช่ศูนย์ ” จากนั้นลงชื่อเข้าใช้บัญชี Gmail ของคุณจากเบราว์เซอร์และไปที่ลิงก์ต่อไปนี้ https://www.google.com/settings/security/ แอปที่มีความปลอดภัยน้อยกว่าเพื่อให้สามารถเข้าถึงแอปที่มีความปลอดภัยน้อยกว่าดังที่แสดงในหน้าจอต่อไปนี้

5. หลังจากที่คุณเปิดคุณลักษณะ แอปที่มีความปลอดภัยน้อย ในบัญชี Gmail ของคุณแล้ว ให้เรียกใช้คำสั่งอีเมลด้านบนอีกครั้ง และยืนยันกล่องจดหมายของคุณหลังจาก ไม่กี่วินาทีเพื่อตรวจสอบว่าอีเมลที่สร้างขึ้นในเครื่องได้รับการจัดส่งเรียบร้อยแล้วหรือไม่ โดยปกติคุณควรจะเห็นว่าอีเมลดังกล่าวเข้ามาจาก Gmail

ขั้นตอนที่ 3: กำหนดค่าสคริปต์ Zabbix Sendmail

6. นอกจากนี้ ตามคำสั่ง $ (เมลใด) จะสร้างสคริปต์ Bash ต่อไปนี้ไปยังไดเร็กทอรี Zabbix alertscripts พร้อมด้วยเนื้อหาต่อไปนี้และ ให้สิทธิ์ดำเนินการ:

vi /usr/local/share/zabbix/alertscripts/zabbix-sendmail            [On RHEL/CentOS]
sudo nano /usr/local/share/zabbix/alertscripts/zabbix-sendmail     [On Debian/Ubuntu]

เนื้อหาสคริปต์:

#!/bin/bash
echo "$3" | /usr/bin/mail -s "$2" $1

จากนั้น ตั้งค่าสิทธิ์ดำเนินการในไฟล์สคริปต์

chmod +x /usr/local/share/zabbix/alertscripts/zabbix-sendmail

7. ต่อไป เช่นเดิม ให้ทดสอบฟังก์ชันการทำงานของสคริปต์โดยการส่งอีเมลในเครื่องไปยังบัญชี Gmail วิธีการรันสคริปต์ด้วยพารามิเตอร์ตำแหน่งอธิบายไว้ข้างต้น:

/usr/local/share/zabbix/alertscripts/zabbix-sendmail [email  "Subject here" "Body of the message here"

หลังจากนั้น ให้ยืนยันกล่องจดหมายของ Gmail และตรวจสอบว่าได้รับข้อความในเครื่องใหม่หรือไม่

ขั้นตอนที่ 4: กำหนดค่า Zabbix เพื่อส่งการแจ้งเตือนไปยัง Gmail

8. หากการทดสอบจนถึงตอนนี้เราประสบความสำเร็จ คุณสามารถไปยังขั้นตอนถัดไปและตั้งค่า Zabbix ให้ส่งการแจ้งเตือนทางอีเมลที่สร้างขึ้นไปยัง Gmail ขั้นแรก เข้าสู่ระบบเว็บอินเทอร์เฟซของ Zabbix และไปที่เมนูต่อไปนี้: การดูแลระบบ -> ประเภทสื่อ -> สร้าง ประเภทสื่อ

9. ในหน้าจอถัดไป ให้ป้อน ชื่อ ที่กำหนดเองเพื่อระบุสคริปต์โดยไม่ซ้ำกันในการกำหนดค่า Zabbix (ในตัวอย่างนี้ ส่งอีเมล -Script ถูกใช้) เลือก Script เป็น Type จากรายการและป้อนชื่อของสคริปต์ Bash ที่สร้างไว้ก่อนหน้านี้ (zabbix-sendmail ใช้ในบทช่วยสอนนี้) เพื่อส่งอีเมลจากบรรทัดคำสั่ง (อย่าใช้เส้นทางสำหรับสคริปต์ ใช้เฉพาะชื่อสคริปต์เท่านั้น) เมื่อเสร็จแล้ว ให้กดปุ่ม เพิ่ม ด้านล่างเพื่อแสดงการเปลี่ยนแปลง

10. นอกจากนี้ เรามากำหนดค่าที่อยู่อีเมลที่คุณจะส่งการแจ้งเตือน Zabbix ไปให้ ไปที่ โปรไฟล์ -> สื่อ -> เพิ่ม และหน้าต่างป๊อปอัปใหม่ควรปรากฏขึ้น

ที่นี่ เลือกชื่อของสคริปต์ที่คุณตั้งชื่อไว้ก่อนหน้านี้ (ในตัวอย่างนี้ Send-Email-Script ถูกใช้) สำหรับ ประเภท ป้อน Gmail ที่อยู่ที่คุณจะส่งอีเมล เลือกช่วงเวลา (สัปดาห์ ชั่วโมง) ที่ควรเปิดใช้งานรายงานอีเมล เลือกระดับความรุนแรงของข้อความที่คุณต้องการรับในที่อยู่ Gmail ของคุณ เลือก เปิดใช้งาน< เป็น สถานะ และกดปุ่ม เพิ่ม เพื่อเพิ่มสื่อ ในที่สุดก็กดปุ่ม อัปเดต เพื่อใช้การกำหนดค่า

11. ในขั้นตอนถัดไป เปิดใช้งานการแจ้งเตือน Zabbix เริ่มต้นโดยไปที่ การกำหนดค่า -> การดำเนินการ เลือกเป็น แหล่งที่มาของเหตุการณ์< – > ทริกเกอร์ จากเมนูด้านขวา และกดที่ สถานะปิดการใช้งาน เพื่อเปิดใช้งาน ทำซ้ำขั้นตอนสำหรับ แหล่งที่มาของเหตุการณ์ – > ภายใน หรือการดำเนินการที่สร้างขึ้นเองอื่นๆ เท่านี้ก็เสร็จเรียบร้อย

รอสักครู่เพื่อให้ Zabbix เริ่มรวบรวมข้อมูลและสร้างรายงาน จากนั้นยืนยัน กล่องจดหมาย Gmail ของคุณ และคุณควรเห็น การแจ้งเตือน Zabbix ที่ส่งมา จนถึงตอนนี้

นั่นคือทั้งหมด! แม้ว่าคู่มือนี้จะเน้นที่การส่งการแจ้งเตือน Zabbix ไปยังบัญชี Gmail เป็นหลักโดยใช้เซิร์ฟเวอร์ Gmail SMTP เป็นศูนย์รับเมล โดยใช้การกำหนดค่าเดียวกับที่คุณสามารถทำได้ โดยพุชการแจ้งเตือนทางอีเมลของ Zabbix ไปยังบัญชีอีเมลอินเทอร์เน็ตอื่นๆ ที่ถูกต้องด้วย อาศัย Gmail เพื่อกำหนดเส้นทางอีเมลของคุณผ่านเซิร์ฟเวอร์ SMTP