แซ๊บบิกซ์ เป็นระบบตรวจสอบโอเพ่นซอร์สระดับองค์กร ปัจจุบัน Zabbix เป็นหนึ่งในระบบตรวจสอบฟรีที่ได้รับความนิยมและมีประสิทธิภาพมากที่สุด เนื่องจากการติดตั้งและการกำหนดค่าที่ง่าย อาจใช้ Zabbix เพื่อตรวจสอบโครงสร้างพื้นฐานขนาดใหญ่ที่มีโฮสต์หลายร้อยโฮสต์ รวมถึงการกำหนดค่าขนาดเล็ก ในบทความนี้ เราจะแสดงวิธีติดตั้งและกำหนดค่าคุณสมบัติพื้นฐานของเซิร์ฟเวอร์ Zabbix 5.0 ด้วยเว็บอินเทอร์เฟซบน Linux Ubuntu และ CentOS และวิธีติดตั้ง Zabbix Agent บนเซิร์ฟเวอร์ที่ใช้ 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 Server บน Linux (Ubuntu, CentOS) ได้อย่างไร
ในบทช่วยสอนนี้ เราจะแสดงวิธีการติดตั้ง Zabbix Server บน Linux (Ubuntu Server 18.4 และ CentOS 8) โดยใช้ตัวจัดการแพ็คเกจ
ไปที่หน้าดาวน์โหลด https://www.zabbix.com/download และเลือกที่เก็บที่ตรงกับการแจกจ่าย Linux ของคุณ มีแพ็คเกจพร้อมสำหรับ distros Linux ยอดนิยมทั้งหมด
ตัวอย่างเช่น ในการติดตั้ง 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
จากนั้นคุณสามารถติดตั้งแพ็คเกจที่จำเป็น:
# apt ติดตั้ง 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 ติดตั้ง zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf zabbix-agent
จากนั้นสร้างฐานข้อมูลสำหรับ Zabbix ใน MySQL (คุณสามารถใช้ PostgreSQL แทน MySQL เพียงแทนที่ 'mysql' ด้วย 'pgsql' ในคำสั่งก่อนหน้า)
สร้างฐานข้อมูลและให้สิทธิ์กับบัญชีผู้ใช้ ซึ่ง Zabbix จะเข้าถึงฐานข้อมูล:
mysql -uroot
mysql> สร้างฐานข้อมูล zabbix ชุดอักขระ utf8 collate utf8_bin;
mysql> ให้สิทธิ์ทั้งหมดบน zabbix* กับ zabbix@localhost ที่ระบุโดย 'ZabbixP@$$w0rd';
mysql> ออก;
นำเข้าฐานข้อมูล 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
/etc/httpd/conf.d/zabbix.conf
.
ตั้งค่าเขตเวลาใน PHP ยกเลิกหมายเหตุบรรทัดต่อไปนี้ใน /etc/zabbix/php-fpm.conf
:
php_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-server เพื่อเริ่มต้นและเรียกใช้:
# systemctl เปิดใช้งาน zabbix-server zabbix-agent nginx php7.2-fpm
# systemctl รีสตาร์ท zabbix-server zabbix-agent nginx php7.2-fpm
การกำหนดค่าอินเทอร์เฟซเว็บ Zabbix
ตอนนี้คุณต้องกำหนดค่าส่วนหน้าของ Zabbix (เว็บอินเตอร์เฟส) เปิด 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 Server บนระบบปฏิบัติการอื่น และคำแนะนำเกี่ยวกับวิธีสร้างเซิร์ฟเวอร์ zabbix จากซอร์สโค้ดหรือเรียกใช้ในคอนเทนเนอร์เทียบท่าบน https://www.zabbix.com/download
คุณสามารถกำหนดค่า Zabbix เพื่อตรวจสอบสิทธิ์ผู้ใช้โดยใช้ Active Directory LDAPจะติดตั้ง Zabbix Agent บน Windows ได้อย่างไร
มาลองติดตั้งตัวแทน Zabbix บนเซิร์ฟเวอร์ที่ใช้ Windows และเพิ่มไปยังเซิร์ฟเวอร์ตรวจสอบ Zabbix ของเรา คุณสามารถดาวน์โหลด Zabbix agent สำหรับ 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 Agent จะต้องปรากฏในรายการบริการ
อนุญาตการเชื่อมต่อขาเข้าจากที่อยู่ IP ของเซิร์ฟเวอร์ Zabbix ใน Windows Firewall บนโฮสต์ Windows ของคุณ:
ใหม่-NetFirewallRule -ชื่อที่แสดง "ZabbixMonitoring" –RemoteAddress 192.168.20.30 -Direction Inbound -Protocol TCP –LocalPort 10050 -Action Allow
จะเพิ่มโฮสต์ใหม่บนเซิร์ฟเวอร์ Zabbix ได้อย่างไร
เพื่อให้แน่ใจว่าเอเจนต์สามารถทำงานได้ ให้เพิ่มโฮสต์ testnode2 ให้กับเซิร์ฟเวอร์ Zabbix ของคุณและกำหนดการตรวจสอบ (เทมเพลต) ให้กับมัน
หมายเหตุ . เช็คมี 2 ประเภท:- Passive — เซิร์ฟเวอร์ Zabbix ขอข้อมูลบางส่วนจากตัวแทน
- ใช้งานอยู่ — เอเจนต์กำลังส่งข้อมูลไปยังเซิร์ฟเวอร์
ระหว่างการติดตั้งเอเจนต์ เราระบุเซิร์ฟเวอร์เป็น IP:PORT สำหรับการตรวจสอบที่ใช้งานอยู่
คุณสามารถเพิ่มโฮสต์การตรวจสอบใหม่ผ่านเว็บอินเตอร์เฟส Zabbix ไปที่ การกำหนดค่า -> เจ้าภาพ .
คลิก สร้างโฮสต์ และกรอกรายละเอียด โปรดทราบว่า ชื่อโฮสต์ ต้องตรงกับชื่อโฮสต์ของอุปกรณ์หรือค่าของพารามิเตอร์ชื่อโฮสต์ในไฟล์คอนฟิกูเรชันของเอเจนต์ทุกประการ
เพิ่มเทมเพลต Windows ในตัวใน เทมเพลต แท็บ เทมเพลตใน Zabbix คือชุดของค่า ทริกเกอร์ กราฟ และกฎการค้นพบที่อาจกำหนดให้กับโฮสต์ตั้งแต่หนึ่งเครื่องขึ้นไป
เทมเพลตในตัวมีป้ายกำกับ "ใช้งานอยู่" และหมายความว่าจะใช้การตรวจสอบที่ใช้งานอยู่
คลิก เพิ่ม . เพื่อไม่ให้รอจนกว่าเซิร์ฟเวอร์และเอเจนต์จะพบกัน (โดยปกติจะใช้เวลาสองสามนาที) ให้เริ่มบริการ Zabbix Agent ใหม่บน testnode2 และดูบันทึกของเอเจนต์ (C:\Program Files\Zabbix Agent\zabbix_agentd. txt
)
“เริ่มแล้ว [การตรวจสอบที่ใช้งาน #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 ติดตั้ง zabbix-agent
# rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/8/x86_64/zabbix-release- 5.0-1.el8.noarch.rpm
# dnf ล้างทั้งหมด
# dnf ติดตั้ง zabbix-agent
ก่อนเริ่ม Zabbix agent ให้แก้ไขไฟล์คอนฟิกูเรชัน /etc/zabbix/zabbix_agentd.conf ระบุที่อยู่ IP ของเซิร์ฟเวอร์ Zabbix ของคุณสำหรับการตรวจสอบที่ใช้งานอยู่
Server=IP ServerActive=192.168.20.30:10051 Hostname=testagent
จากนั้นเริ่มบริการตัวแทน:
# บริการ zabbix-agent start
ตรวจสอบให้แน่ใจว่าตัวแทนได้เริ่มต้นสำเร็จแล้ว
# cat /var/log/zabbix/zabbix_agentd.log
บรรทัด “ไม่สามารถแยกวิเคราะห์รายการตรวจสอบที่ใช้งานอยู่ ” หมายความว่าไม่มีการตรวจสอบโฮสต์บนเซิร์ฟเวอร์ที่ใช้งานอยู่
เช่นเดียวกับตัวแทน Windows คุณต้องเพิ่มโฮสต์ Linux ของคุณไปที่ Zabbix สังเกตพารามิเตอร์ชื่อโฮสต์ในการตั้งค่าโฮสต์ของเซิร์ฟเวอร์ Zabbix ของคุณ:ต้องตรงกับพารามิเตอร์ชื่อโฮสต์ที่เราระบุไว้ในไฟล์การกำหนดค่า Zabbix Agent ในไฟล์ปรับแต่งด้านบน ฉันระบุชื่อโฮสต์เป็น testagent .
รีสตาร์ทตัวแทน Zabbix ของคุณและตรวจสอบบันทึก ตรวจสอบให้แน่ใจว่าข้อมูลจากตัวแทนปรากฏบนเซิร์ฟเวอร์ Zabbix ของคุณ Zabbix agent บน Linux ได้รับการกำหนดค่าแล้ว
ในบทความถัดไป เราจะดูการตรวจสอบความพร้อมใช้งานของโฮสต์ใน Zabbix แบบไม่ใช้เอเจนต์ผ่าน ICMP Ping