ติดตั้ง Zabbix Proxy
16 December 2020
หลังจากนำเอา Zabbix server มาทำการ monitor ได้ระยะนึงแล้ว ก็เจอปัญหาว่า zabbix เริ่มทำงานได้ช้าลง เนื่องจากมีการเพิ่มเครื่องมาให้ monitor เพิ่มมากขึ้น ทำให้ตัว zabbix server เองเริ่มทำงานไม่ไหวแล้ว
ไม่เป็นไรครับ zabbix ได้คิดเผื่อเรื่องนี้ไว้ให้เราแล้ว โดยให้ implement โดยใช้ zabbix proxy ซึ่งเครื่อง zabbix proxy นี้จะทำหน้าที่เป็นเครื่องที่ทำหน้าที่รวบรวมข้อมูลต่าง ๆ จากเครื่องที่ต้องการ monitor แทนเครื่อง zabbix server ทำให้เครื่อง zabbix server เองทำงานน้อยลง ในกรณีที่เรามีเครื่องจำนวนมาก ๆ เราก็สามารถเพิ่มจำนวน zabbix proxy ได้เรื่อย ๆ ด้วยเช่นกัน (ในบางกรณีเครื่องที่เราต้องการ monitor อยู่ใน zone ที่มีการรักษาความปลอดภัยสูง เราอาจจะไม่สามารถเปิด firewall ให้เครื่อง zabbix server เชื่อมต่อไปหาเครื่อง server เหล่านั้นทุกเครื่องได้ เราก็สร้าง zabbix proxy ไว้ใน zone นั้นแทน แล้วให้เครื่อง zabbix proxy เครื่องนั้นเป็นเชื่อมต่อหา zabbix server เพียงเครื่องเดียว)
การติดตั้งก็จะง่ายกว่าการติดตั้งเครื่อง zabbix server เพราะ zabbix proxy จะลงแค่ database server และ zabbix proxy เพียงสองตัวเท่านั้น
มาดูวิธีติดตั้งกัน
ขั้นตอนแรกก็ตรวจสอบ version ของ zabbix server ก่อน โดยใช้คำสั่ง
zabbix_server -V
ที่เครื่อง zabbix server (ในที่นี้ใช้ zabbix server เป็น version 5.0)
จากนั้นไปที่เครื่องที่จะติดตั้ง zabbix proxy แล้วให้ติดตั้งโดยใช้คำสั่งดังนี้
sudo 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-proxy-mysql
จากนั้นก็ติดตั้ง database server
sudo apt -y install mariadb-common mariadb-server mariadb-client
ในการติดตั้งครั้งนี้เราจะให้ password ของ mysql เป็น ‘rootDBpass’ และให้ password ของ zabbix proxy database เป็น ‘zabbixDBpass’
หลังติดตั้ง mariadb แล้วให้ทำการกำหนดสิทธิตามนี้
sudo mysql_secure_installationEnter current password for root (enter for none): Press the Enter
Set root password? [Y/n]: Y
New password: <Enter root DB password>
Re-enter new password: <Repeat root DB password>
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y
จากนั้นให้ทำการสร้าง database
sudo mysql -uroot -p'rootDBpass'
mysql> create database zabbix_proxy character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbixDBpass';
mysql> quit;
แล้วทำการ import ข้อมูลสำหรับ zabbix proxy เข้า database (ขั้นตอนนี้ใช้เวลาประมาณ 5 นาที)
zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uzabbix -p'zabbixDBpass' zabbix_proxy
คราวนี้ก็ถึงเวลามา config ในส่วนของ zabbix proxy โดยให้ทำการแก้ไข file “/etc/zabbix/zabbix_proxy.conf”
ค่าแรกคือ
DBPassword=zabbixDBpass
ConfigFrequency=100
DBPassword คือ password ที่ zabbix proxy ใช้ในการเชื่อมต่อหา database server ที่เราเพิ่งสร้างขึ้นในขั้นตอนก่อนหน้านี้
ConfigFrequency เป็นจำนวน วินาที ที่ zabbix proxy ดึงค่าจาก zabbix server (ค่า default คือ 3600)
ค่าต่อมาที่ต้องแก้คือ
Server=10.7.44.235
Hostname=Zabbix proxy 01
DBName=zabbix_proxy
DBUser=zabbix
Server คือ หมายเลข ip address ของเครื่อง “zabbix server” (ไม่ใช่เครื่อง zabbix proxy นะครับ)
Hostname คือ ชื่อของเครื่อง zabbix proxy ของเรา จะตั้งเป็นชื่ออะไรก็ได้
DBName คือ ชื่อของ database ที่เราสร้างขึ้นจากขั้นตอนก่อนหน้านี้
DBUser คือ user ที่ zabbix proxy ใช้สำหรับเชื่อมต่อกับตัว database
หลังจากเราแก้ไขเสร็จแล้วก็ทำการ save แล้ว restart zabbix proxy
sudo systemctl restart zabbix-proxy
ตอนนี้ zabbix proxy เราก็พร้อมใช้งานแล้ว 😄
แล้วจะเอาไปใช้ยังไง………
ก็ให้ทำการ add proxy ให้ตัว zabbix server รู้จักก่อน โดยไปหน้าจอของ zabbix server แล้วเลือก menu “Administration” -> “Proxies” แล้วกดปุ่ม “Create Proxy” ที่มุมขวาด้านบน เลือก proxy (4) ตั้งชื่อ proxy (5) แล้วใส่หมายเลข ip address ของเครื่อง zabbix proxy (6) แล้วกดปุ่ม Add (7)
หลังจาก Add แล้วเราจบเห็นหน้านี้
ตรง Last seen จะยังเป็น never อยู่ เนื่องจากยังไม่เคยคุยกับ zabbix proxy เราก็เพียงแค่รอประมาณ 100 วินาที (ตามค่าที่เราตั้งไว้ใน config file ที่เครื่อง zabbix proxy) หลังจาก zabbix server คุยกับ zabbix proxy ได้แล้วก็ได้หน้าจอตามนี้
จากนั้นเวลาเราต้องการเพิ่มเครื่องที่ต้องการจะ monitor ด้วย zabbix proxy ก็เพียงแค่เลือกว่าให้ host ถูก monitor ด้วย zabbix proxy แค่นั้นเอง
หรือหากว่าเรามีเครื่องที่เคยถูก monitor ด้วย zabbix server อยู่แล้ว แล้วอยากที่จะย้ายออกไปให้เครื่อง zabbix proxy monitor ให้แทน ก็ให้ทำอย่างนี้
ให้ไปที่ menu “Configuration” -> “Hosts” แล้วติ๊กที่หน้าเครื่องที่ต้องการ (5) แล้วกดปุ่ม “Mass update” (6)
หลังจากนั้นก็ให้เลือกเป็น Monitored by proxy แล้วกดปุ่ม “Update” แค่นี้ก็เครื่องที่เคยถูก monitor ด้วย zabbix server ก็จะย้ายไปถูก moitor ด้วย zabbix proxy แทนแล้ว ไชโย…….
หากต้องการอ่านเองฉบับเต็มสามารถตามไปอ่านได้ที่ link นี้นะครับ : https://bestmonitoringtools.com/install-zabbix-proxy-on-ubuntu/