คู่มือการติดตั้ง Zabbix และการกำหนดค่าพื้นฐาน
Zabbix เป็นระบบตรวจสอบโอเพนซอร์สระดับองค์กร ปัจจุบัน Zabbix เป็นหนึ่งในระบบตรวจสอบฟรีที่ได้รับความนิยมและทรงพลังที่สุด เนื่องจากการติดตั้งและการกำหนดค่าที่เรียบง่าย Zabbix อาจใช้เพื่อตรวจสอบโครงสร้างพื้นฐานขนาดใหญ่ที่มีโฮสต์หลายร้อยแห่ง ตลอดจนการกำหนดค่าขนาดเล็ก ในบทความนี้ เราจะแสดงวิธีติดตั้งและกำหนดค่าคุณลักษณะพื้นฐานของเซิร์ฟเวอร์ Zabbix 5.0 ด้วยเว็บอินเทอร์เฟซบน Linux Ubuntu และ CentOS และวิธีติดตั้งตัวแทน Zabbix บนเซิร์ฟเวอร์ที่ใช้ Windows หรือ Linux และเพิ่มโฮสต์ใหม่สำหรับการตรวจสอบ
คุณสามารถดูอินเทอร์เฟซแดชบอร์ดของเซิร์ฟเวอร์ Zabbix ได้จากภาพหน้าจอด้านล่าง
Zabbix ที่เรียบง่ายและกำหนดค่าได้ง่ายเขียนบน C (เซิร์ฟเวอร์ พร็อกซี และเอเจนต์) และ PHP (ส่วนหน้า) เซิร์ฟเวอร์ Zabbix และ พร็อกซี Zabbix ทำงานในระบบ Linux เท่านั้น สามารถติดตั้งตัวแทน Zabbix บนระบบปฏิบัติการและแพลตฟอร์มที่รองรับได้หลากหลาย
การติดตั้งเซิร์ฟเวอร์ Zabbix ประกอบด้วย:
-
ไบนารี zabbix_server (โดยปกติจะทำงานเป็นบริการ);
ฐานข้อมูล MySQL/MariaDB/PostgreSQL;
เว็บเซิร์ฟเวอร์ Apache2/Nginx พร้อมตัวจัดการ PHP;
ไฟล์ของไซต์ส่วนหน้า (.php, .js, .css เป็นต้น)
โดยปกติรูปแบบการทำงานจะมีลักษณะดังนี้:
ตัวแทน Zabbix ส่งข้อมูลไปยังเซิร์ฟเวอร์
เซิร์ฟเวอร์ Zabbix รับและประมวลผลข้อมูล
หากข้อมูลที่ได้รับตรงตามเงื่อนไขที่กำหนด ทริกเกอร์จะทำงาน
ทริกเกอร์ที่เปิดใช้งานแสดงว่ามีปัญหา การแจ้งเตือนปรากฏในส่วนหน้า (บนไซต์) และขึ้นอยู่กับการกำหนดค่า การแจ้งเตือนทางอีเมลจะถูกส่งหรือดำเนินการบางอย่าง (เช่น บริการที่ได้รับการตรวจสอบจะเริ่มต้นใหม่)
Zabbix สามารถทำงานร่วมกับโปรโตคอลที่รู้จักทั้งหมด ด้วยความสามารถในการใช้สคริปต์ภายนอก Zabbix จึงสามารถเรียกใช้และรับข้อมูลจากสคริปต์/ไบนารีที่เรียกใช้งานได้ใดๆ
จะติดตั้งเซิร์ฟเวอร์ Zabbix บน Linux (Ubuntu, CentOS) ได้อย่างไร
ในบทช่วยสอนนี้ เราจะแสดงวิธีการติดตั้ง Zabbix Server บน Linux (Ubuntu Server 18.4 และ CentOS 8) โดยใช้ตัวจัดการแพ็คเกจ
ไปที่หน้าดาวน์โหลด https://www.zabbix.com/download และเลือกที่เก็บที่ตรงกับการกระจาย Linux ของคุณ มีแพ็คเกจพร้อมสำหรับ Linux distros ยอดนิยมทั้งหมด
ตัวอย่างเช่น หากต้องการติดตั้ง Zabbix บน Ubuntu 18.04 ให้เลือกตัวเลือกต่อไปนี้:
เวอร์ชัน Zabbix (5.0 LTS) -> การกระจายระบบปฏิบัติการ (Ubuntu) -> เวอร์ชันระบบปฏิบัติการ (18.04 Bionic) -> ฐานข้อมูล (MySQL) -> เว็บเซิร์ฟเวอร์ (Nginx หรือ Apache)
ดาวน์โหลดและเพิ่มที่เก็บ:
# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+bionic_all.deb
# dpkg -i zabbix-release_5.0-1+bionic_all.deb
# apt updateจากนั้นคุณสามารถติดตั้งแพ็คเกจที่จำเป็น:
# apt install zabbix-server-mysql zabbix-frontend-php zabbix-nginx-conf zabbix-agentหากต้องการติดตั้ง Zabbix บน CentOS 8/RHEL 8 ให้เชื่อมต่อที่เก็บข้อมูลกับ Zabbix เวอร์ชันล่าสุด (คุณสามารถติดตั้ง Zabbix จากสาขา 4.0/5.0 LTS หรือ Zabbix 5.2 ล่าสุดได้):
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf clean allสมมติว่ามีการติดตั้ง nginx, MySQL/MariaDB, php และ php-fpm บนเซิร์ฟเวอร์แล้ว ใช้ตัวจัดการแพ็คเกจ dnf (yum) เพื่อติดตั้ง Zabbix Server และเอเจนต์:
# dnf install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agentจากนั้นสร้างฐานข้อมูลสำหรับ Zabbix ใน MySQL (คุณสามารถใช้ PostgreSQL แทน MySQL ได้ เพียงแทนที่ 'mysql' ด้วย 'pgsql' ในคำสั่งก่อนหน้า)
สร้างฐานข้อมูลและให้สิทธิ์แก่บัญชีผู้ใช้ ซึ่ง Zabbix จะเข้าถึงฐานข้อมูล:
mysql -uroot
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'ZabbixP@$$w0rd';
mysql> quit;นำเข้าฐานข้อมูล Zabbix ป้อนรหัสผ่านที่คุณระบุเมื่อสร้างผู้ใช้
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p Zabbixแก้ไข
/etc/zabbix/zabbix_server.confระบุรหัสผ่านของผู้ใช้ที่คุณสร้างขึ้น
DBPassword=Zabbix_User_Passwordเนื่องจากในกรณีของฉัน nginx ใช้เป็นเว็บเซิร์ฟเวอร์ ให้แก้ไข nginx.conf โดยไม่แสดงความคิดเห็นในบรรทัดต่อไปนี้:
# listen 80;
# server_name example.com;ลบ
#และแทนที่ example.com ด้วยชื่อโฮสต์เซิร์ฟเวอร์ Zabbix ในกรณีของฉันคือ test.zabbix.local
สำหรับ Apache ให้แก้ไข
/etc/httpd/conf.d/zabbix.confกำหนดเขตเวลาใน PHP ยกเลิกการแสดงความคิดเห็นในบรรทัดต่อไปนี้
/etc/zabbix/php-fpm.confphp_value[date.timezone] = Canada/Pacificตรวจสอบให้แน่ใจว่าเวลาบนเซิร์ฟเวอร์ Zabbix ของคุณซิงโครไนซ์กับแหล่ง NTP ที่เชื่อถือได้
คุณยังสามารถตั้งค่าพารามิเตอร์ PHP เหล่านี้ใน /etc/php.ini:
memory_limit 128M
upload_max_filesize 8M
post_max_size 16M
max_execution_time 300
max_input_time 300
max_input_vars 10000เพิ่มบริการเซิร์ฟเวอร์ zabbix เพื่อเริ่มต้นและเรียกใช้:
# systemctl enable zabbix-server zabbix-agent nginx php7.2-fpm
# systemctl restart zabbix-server zabbix-agent nginx php7.2-fpmการกำหนดค่าอินเทอร์เฟซเว็บ Zabbix
ตอนนี้คุณต้องกำหนดค่า Zabbix frontent (เว็บอินเตอร์เฟส) เปิด URL เซิร์ฟเวอร์ Zabbix ที่ระบุก่อนหน้านี้ในเบราว์เซอร์ ในกรณีของฉัน มันคือ test.zabbix.local (หรือโดเมนที่คุณระบุ อย่าลืมลงทะเบียนในไฟล์โฮสต์ของคุณหรือบนเซิร์ฟเวอร์ DNS) ตรวจสอบให้แน่ใจว่าตกลงแสดงถัดจากข้อกำหนดของโปรแกรมติดตั้งทั้งหมด
ระบุพารามิเตอร์การเชื่อมต่อฐานข้อมูลและข้อมูลรับรองผู้ใช้เพื่อเชื่อมต่อกับฐานข้อมูล ใช้ชื่อผู้ใช้และรหัสผ่านที่สร้างไว้ก่อนหน้านี้
ระบุชื่อเซิร์ฟเวอร์ Zabbix ของคุณ ฉันแนะนำให้ออกจากพอร์ตเริ่มต้น - TCP 10051
ตามค่าเริ่มต้น Zabbix จะใช้พอร์ตเครือข่ายสองพอร์ต:
TCP 10050 — พอร์ตตัวแทนแบบพาสซีฟ ซึ่งเซิร์ฟเวอร์ Zabbix ใช้เพื่อสำรวจลูกค้า
TCP 10051 — พอร์ตที่เซิร์ฟเวอร์ Zabbix รับข้อมูลจากไคลเอนต์ (ตัวแทนที่ใช้งานอยู่)
อย่าลืมเปิดพอร์ตเหล่านี้บนไฟร์วอลล์ ตัวอย่างเช่น บนเซิร์ฟเวอร์ Zabbix ที่ใช้ CentOS คุณสามารถเปิดพอร์ตใน firewalld โดยใช้ firewall-cmd:
# firewall-cmd --add-service={http,https} --permanentfirewall-cmd --add-port={10051/tcp,10050/tcp} -permanentก็เพียงพอแล้วที่จะเปิดพอร์ต 10050 บนเอเจนต์:
# firewall-cmd --permanent --add-port=10050/tcpรีสตาร์ทไฟร์วอลล์:
# firewall-cmd -reloadจากนั้นคลิก ขั้นตอนถัดไป และ เสร็จสิ้น หลังจากการติดตั้ง คุณจะได้รับแจ้งให้เข้าสู่ระบบ การเข้าสู่ระบบเริ่มต้นคือ ผู้ดูแลระบบ รหัสผ่านเริ่มต้นคือ zabbix (เปลี่ยนรหัสผ่าน)
การติดตั้ง Zabbix Server สิ้นสุดลงแล้ว
คุณสามารถดูคำแนะนำทีละขั้นตอนเกี่ยวกับการติดตั้งเซิร์ฟเวอร์ Zabbix บนระบบปฏิบัติการอื่น และคำแนะนำเกี่ยวกับวิธีการสร้างเซิร์ฟเวอร์ zabbix จากซอร์สโค้ดหรือเรียกใช้ในคอนเทนเนอร์นักเทียบท่าบน https://www.zabbix.com/download
คุณสามารถกำหนดค่า Zabbix ให้ตรวจสอบผู้ใช้โดยใช้ Active Directory LDAP
จะติดตั้ง Zabbix Agent บน Windows ได้อย่างไร
ลองติดตั้งตัวแทน Zabbix บนเซิร์ฟเวอร์ที่ใช้ Windows และเพิ่มไปยังเซิร์ฟเวอร์ตรวจสอบ Zabbix ของเรา คุณสามารถดาวน์โหลดเวอร์ชันตัวแทน Zabbix สำหรับ Windows ได้ที่นี่: https://www.zabbix.com/download_agents
เลือกเวอร์ชันตัวแทนที่คุณต้องการ ฉันจะเลือก msi (amd64) (ไม่มี OpenSSL) หากคุณกำลังจะติดตั้ง Zabbix Agent บนเซิร์ฟเวอร์/คอมพิวเตอร์ของโดเมนโดยใช้ GPO หรือ SCCM คุณสามารถดาวน์โหลดไฟล์ ZIP ที่มีไฟล์ไบนารีและการกำหนดค่า
เรียกใช้โปรแกรมติดตั้ง ยอมรับข้อตกลงใบอนุญาต และระบุการตั้งค่าสำหรับการเชื่อมต่อกับเซิร์ฟเวอร์ Zabbix โปรดทราบว่าในช่อง "เซิร์ฟเวอร์หรือพร็อกซีสำหรับการตรวจสอบที่ใช้งานอยู่" ฉันได้ป้อนที่อยู่ IP ใน
IP:PORTรูปแบบ. เนื่องจากฉันออกจากพอร์ตเริ่มต้น ฉันจึงได้เข้ามา
192.168.20.30:10051คลิก ถัดไป สองสามครั้ง จากนั้นคลิก ติดตั้ง
ตรวจสอบให้แน่ใจว่าได้ติดตั้งเอเจนต์แล้ว ตัวแทน Zabbix จะต้องปรากฏในรายการบริการ
อนุญาตการเชื่อมต่อขาเข้าจากที่อยู่ IP ของเซิร์ฟเวอร์ Zabbix ใน Windows Firewall บนโฮสต์ Windows ของคุณ:
New-NetFirewallRule -DisplayName "ZabbixMonitoring" -RemoteAddress 192.168.20.30 -Direction Inbound -Protocol TCP -LocalPort 10050 -Action Allowจะเพิ่มโฮสต์ใหม่บนเซิร์ฟเวอร์ Zabbix ได้อย่างไร
เพื่อให้แน่ใจว่าเอเจนต์ใช้งานได้ ให้เพิ่มโฮสต์ testnode2 ให้กับเซิร์ฟเวอร์ Zabbix ของคุณและกำหนดการตรวจสอบ (เทมเพลต) ให้กับเอเจนต์
หมายเหตุ เช็คมี 2 ประเภทใน Zabbix:
Passive — เซิร์ฟเวอร์ Zabbix ขอข้อมูลบางอย่างจากเอเจนต์
ใช้งาน — เอเจนต์กำลังส่งข้อมูลไปยังเซิร์ฟเวอร์
ระหว่างการติดตั้งเอเจนต์ เราระบุเซิร์ฟเวอร์เป็น IP:PORT สำหรับการตรวจสอบที่ใช้งานอยู่
คุณสามารถเพิ่มโฮสต์การตรวจสอบใหม่ผ่านทางเว็บอินเตอร์เฟส Zabbix ไปที่ การกำหนดค่า -> โฮสต์
คลิก สร้างโฮสต์ และกรอกรายละเอียด โปรดทราบว่า ชื่อโฮสต์ จะต้องตรงกับชื่อโฮสต์ของอุปกรณ์หรือค่าของพารามิเตอร์ชื่อโฮสต์ในไฟล์การกำหนดค่าเอเจนต์ทุกประการ
เพิ่มเทมเพลตในตัวของ Windows ในแท็บ เทมเพลต เทมเพลตใน Zabbix คือชุดของค่า ทริกเกอร์ กราฟ และกฎการค้นหาที่อาจกำหนดให้กับโฮสต์ตั้งแต่หนึ่งโฮสต์ขึ้นไป
เทมเพลตในตัวมีป้ายกำกับ "ใช้งานอยู่" และหมายความว่าจะใช้การตรวจสอบที่ใช้งานอยู่
คลิกเพิ่ม เพื่อไม่ให้รอจนกว่าเซิร์ฟเวอร์และตัวแทนจะเห็นกัน (โดยปกติจะใช้เวลาสองสามนาที) ให้รีสตาร์ทบริการ Zabbix Agent บน testnode2 และดูบันทึกของตัวแทน (
C:\Program Files\Zabbix Agent\zabbix_agentd.txt).
“
started [active checks #1]” ข้อความ หมายความว่าพบการตรวจสอบโฮสต์ที่ใช้งานอยู่บนเซิร์ฟเวอร์ จากนั้นดูข้อมูลที่เซิร์ฟเวอร์ Zabbix ของคุณได้รับจากตัวแทน ในการดำเนินการ ให้ไปที่ การตรวจสอบ -> ข้อมูลล่าสุด และเลือกโฮสต์ในฟิลด์ โฮสต์
ส่วนนี้แสดงข้อมูลล่าสุดเกี่ยวกับโฮสต์ที่เลือกหรือกลุ่มโฮสต์ที่มาถึงเซิร์ฟเวอร์ Zabbix
โปรดทราบว่าในกรณีของฉัน แดชบอร์ด Zabbix มีการแจ้งเตือนว่าบริการ BITS ไม่ได้ทำงานอยู่ การแจ้งเตือนปรากฏขึ้นเนื่องจากเรากำหนดเทมเพลตในตัวให้กับโฮสต์ของเรา หนึ่งในเทมเพลตมีการตรวจสอบ BITS และเปิดใช้งานทริกเกอร์ที่เกี่ยวข้องหากบริการ BITS ไม่อยู่ในสถานะกำลังทำงาน
มีการกำหนดค่า Agent สำหรับ Windows
การติดตั้ง Zabbix Agent บน Linux
มาติดตั้ง Zabbix Agent บน Linux กันเถอะ หากต้องการติดตั้ง Zabbix Agent บน Ubuntu Server 18.04 โดยใช้ตัวจัดการแพ็คเกจ ให้ดาวน์โหลดและติดตั้ง Zabbix repo จากนั้นติดตั้ง Zabbix Agent จากที่เก็บ:
# wget https://repo.zabbix.com/zabbix/5.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_5.0-1+$(lsb_release -sc)_all.deb
# sudo dpkg -i zabbix-release_5.0-1+$(lsb_release -sc)_all.deb
# sudo apt update
# sudo apt -y install zabbix-agentหากต้องการเพิ่มพื้นที่เก็บข้อมูลและติดตั้ง Zabbix Agent บน CentOS ให้ใช้คำสั่งเหล่านี้:
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
# dnf clean all
# dnf install zabbix-agentก่อนที่จะเริ่มต้นตัวแทน Zabbix ให้แก้ไขไฟล์การกำหนดค่า /etc/zabbix/zabbix_agentd.conf ระบุที่อยู่ IP ของเซิร์ฟเวอร์ Zabbix ของคุณสำหรับการตรวจสอบที่ใช้งานอยู่
Server=IP
ServerActive=192.168.20.30:10051
Hostname=testagentจากนั้นเริ่มบริการตัวแทน:
# service zabbix-agent startตรวจสอบให้แน่ใจว่าเอเจนต์เริ่มต้นสำเร็จแล้ว
# cat /var/log/zabbix/zabbix_agentd.logบรรทัด “ไม่สามารถแยกรายการการตรวจสอบที่ใช้งานอยู่” หมายความว่าไม่มีการตรวจสอบที่ใช้งานอยู่สำหรับโฮสต์บนเซิร์ฟเวอร์
เช่นเดียวกับตัวแทน Windows คุณต้องเพิ่มโฮสต์ Linux ของคุณใน Zabbix สังเกตพารามิเตอร์ชื่อโฮสต์ในการตั้งค่าโฮสต์ของเซิร์ฟเวอร์ Zabbix ของคุณ: ต้องตรงกับพารามิเตอร์ชื่อโฮสต์ที่เราระบุไว้ในไฟล์การกำหนดค่าตัวแทน Zabbix ในไฟล์ปรับแต่งด้านบน ฉันระบุชื่อโฮสต์เป็น testagent
รีสตาร์ทตัวแทน Zabbix ของคุณและตรวจสอบบันทึก ตรวจสอบให้แน่ใจว่าข้อมูลจากตัวแทนปรากฏบนเซิร์ฟเวอร์ Zabbix ของคุณ มีการกำหนดค่าตัวแทน Zabbix บน Linux
ในบทความถัดไป เราจะดูการตรวจสอบความพร้อมใช้งานของโฮสต์โดยไม่ต้องใช้ตัวแทนใน Zabbix ผ่าน ICMP Ping

















