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

การตั้งค่าการตรวจสอบแบบเรียลไทม์ด้วย 'Ganglia' สำหรับกริดและคลัสเตอร์ของเซิร์ฟเวอร์ Linux


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

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

Ganglia ช่วยให้คุณสามารถตั้งค่า กริด (สถานที่) และ คลัสเตอร์ (กลุ่มของเซิร์ฟเวอร์) เพื่อองค์กรที่ดีขึ้น

ดังนั้น คุณสามารถสร้างตารางที่ประกอบด้วยเครื่องจักรทั้งหมดในสภาพแวดล้อมระยะไกล จากนั้นจัดกลุ่มเครื่องจักรเหล่านั้นเป็นชุดเล็กๆ ตามเกณฑ์อื่นๆ

นอกจากนี้ เว็บอินเทอร์เฟซของ Ganglia ยังได้รับการปรับให้เหมาะกับอุปกรณ์เคลื่อนที่ และยังช่วยให้คุณสามารถส่งออกข้อมูลในรูปแบบ .csv และ .json ได้

สภาพแวดล้อมการทดสอบของเราจะประกอบด้วยเซิร์ฟเวอร์กลาง CentOS 7 (ที่อยู่ IP 192.168.0.29) ที่เราจะติดตั้ง Ganglia และ เครื่อง Ubuntu 14.04 (192.168.0.32) ซึ่งเป็นกล่องที่เราต้องการตรวจสอบผ่านเว็บอินเทอร์เฟซของ Ganglia

ตลอดทั้งคู่มือนี้ เราจะอ้างถึงระบบ CentOS 7 ว่าเป็นโหนดหลัก และอ้างถึงกล่อง Ubuntu ว่าเป็นเครื่องที่ได้รับการตรวจสอบ

การติดตั้งและการกำหนดค่า Ganglia

หากต้องการติดตั้งยูทิลิตี้การตรวจสอบใน โหนดหลัก ให้ทำตามขั้นตอนเหล่านี้:

1. เปิดใช้งานพื้นที่เก็บข้อมูล EPEL แล้วติดตั้ง Ganglia และยูทิลิตี้ที่เกี่ยวข้องจากที่นั่น:

yum update && yum install epel-release
yum install ganglia rrdtool ganglia-gmetad ganglia-gmond ganglia-web 

แพ็คเกจที่ติดตั้งในขั้นตอนข้างต้นพร้อมกับปมประสาทซึ่งเป็นตัวแอปพลิเคชันเองนั้นทำหน้าที่ดังต่อไปนี้:

  1. rrdtool ซึ่งเป็นฐานข้อมูลแบบ Round-Robin เป็นเครื่องมือที่ใช้ในการจัดเก็บและแสดงการเปลี่ยนแปลงของข้อมูลในช่วงเวลาหนึ่งโดยใช้กราฟ
  2. ganglia-gmetad คือ daemon ที่รวบรวมข้อมูลการตรวจสอบจาก โฮสต์ ที่คุณต้องการตรวจสอบ ในโฮสต์เหล่านั้นและใน โหนดหลัก จำเป็นต้องติดตั้ง ganglia-gmond ด้วย (ตัวมอนิเตอร์ daemon เอง):
  3. ganglia-web ให้ส่วนหน้าของเว็บที่เราจะดูกราฟประวัติและข้อมูลเกี่ยวกับระบบที่ถูกตรวจสอบ

2. ตั้งค่าการตรวจสอบสิทธิ์สำหรับเว็บอินเตอร์เฟส Ganglia (/usr/share/ganglia) เราจะใช้การรับรองความถูกต้องพื้นฐานตามที่ Apache ให้ไว้

หากคุณต้องการสำรวจกลไกการรักษาความปลอดภัยขั้นสูง โปรดดูส่วนการอนุญาตและการรับรองความถูกต้องของเอกสาร Apache

เพื่อให้บรรลุเป้าหมายนี้ ให้สร้างชื่อผู้ใช้และกำหนดรหัสผ่านเพื่อเข้าถึงทรัพยากรที่ป้องกันโดย Apache ในตัวอย่างนี้ เราจะสร้างชื่อผู้ใช้ชื่อ adminganglia และกำหนดรหัสผ่านที่เราเลือก ซึ่งจะถูกเก็บไว้ใน /etc/httpd/auth.basic (อย่าลังเลที่จะ เลือกไดเร็กทอรีและ/หรือชื่อไฟล์อื่น - ตราบใดที่ Apache มีสิทธิ์ในการอ่านทรัพยากรเหล่านั้น คุณจะไม่เป็นไร):

htpasswd -c /etc/httpd/auth.basic adminganglia

ป้อนรหัสผ่านสำหรับ adminganglia สองครั้งก่อนดำเนินการต่อ

3. แก้ไข /etc/httpd/conf.d/ganglia.conf ดังต่อไปนี้:

Alias /ganglia /usr/share/ganglia
<Location /ganglia>
    AuthType basic
    AuthName "Ganglia web UI"
    AuthBasicProvider file
    AuthUserFile "/etc/httpd/auth.basic"
    Require user adminganglia
</Location>

4. แก้ไข /etc/ganglia/gmetad.conf:

ขั้นแรก ให้ใช้คำสั่ง gridname ตามด้วยชื่อที่สื่อความหมายสำหรับกริดที่คุณกำลังตั้งค่า:

gridname "Home office"

จากนั้น ใช้ data_source ตามด้วยชื่อที่สื่อความหมายสำหรับคลัสเตอร์ (กลุ่มของเซิร์ฟเวอร์) ช่วงเวลาการโพลในหน่วยวินาที และที่อยู่ IP ของโหนดหลักและโหนดที่ได้รับการตรวจสอบ:

data_source "Labs" 60 192.168.0.29:8649 # Master node
data_source "Labs" 60 192.168.0.32 # Monitored node

5. แก้ไข /etc/ganglia/gmond.conf

ก) ตรวจสอบให้แน่ใจว่าบล็อกคลัสเตอร์มีลักษณะดังนี้:

cluster {
name = "Labs" # The name in the data_source directive in gmetad.conf
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

b) ในบล็อก udp_send_chanel แสดงความคิดเห็นในคำสั่ง mcast_join:

udp_send_channel   {
  #mcast_join = 239.2.11.71
  host = localhost
  port = 8649
  ttl = 1
}

c) สุดท้าย แสดงความคิดเห็น mcast_join และผูกคำสั่งในบล็อก udp_recv_channel:

udp_recv_channel {
  #mcast_join = 239.2.11.71 ## comment out
  port = 8649
  #bind = 239.2.11.71 ## comment out
}

บันทึกการเปลี่ยนแปลงและออก

6. เปิดพอร์ต 8649/udp และอนุญาตให้สคริปต์ PHP (ทำงานผ่าน Apache) เชื่อมต่อกับเครือข่ายโดยใช้บูลีน SELinux ที่จำเป็น:

firewall-cmd --add-port=8649/udp
firewall-cmd --add-port=8649/udp --permanent
setsebool -P httpd_can_network_connect 1

7. รีสตาร์ท Apache, gmetad และ gmond ตรวจสอบให้แน่ใจว่าเปิดใช้งานแล้วเพื่อเริ่มการบู๊ต:

systemctl restart httpd gmetad gmond
systemctl enable httpd gmetad httpd

ณ จุดนี้ คุณควรจะสามารถเปิดเว็บอินเทอร์เฟซของ Ganglia ได้ที่ http://192.168.0.29/ganglia และเข้าสู่ระบบด้วยข้อมูลประจำตัวจาก #ขั้นตอนที่ 2

8. ในโฮสต์ Ubuntu เราจะติดตั้งเฉพาะ ganglia-monitor ซึ่งเทียบเท่ากับ ปมประสาท-gmond ใน CentOS:

sudo aptitude update && aptitude install ganglia-monitor

9. แก้ไขไฟล์ /etc/ganglia/gmond.conf ในกล่องที่ได้รับการตรวจสอบ สิ่งนี้ควรจะเหมือนกันกับไฟล์เดียวกันใน โหนดหลัก ยกเว้นบรรทัดที่ใส่เครื่องหมายความคิดเห็นใน คลัสเตอร์, udp_send_channel และ udp_recv_channel ควรเปิดใช้งาน:

cluster {
name = "Labs" # The name in the data_source directive in gmetad.conf
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

udp_send_channel   {
  mcast_join = 239.2.11.71
  host = localhost
  port = 8649
  ttl = 1
}

udp_recv_channel {
  mcast_join = 239.2.11.71 ## comment out
  port = 8649
  bind = 239.2.11.71 ## comment out
}

จากนั้นรีสตาร์ทบริการ:

sudo service ganglia-monitor restart

10. รีเฟรชเว็บอินเทอร์เฟซ และคุณควรจะสามารถดูสถิติและกราฟของโฮสต์ทั้งสองภายใน ตารางโฮมออฟฟิศ/คลัสเตอร์ Labs ( ใช้เมนูแบบเลื่อนลงถัดจาก ตารางโฮมออฟฟิศ เพื่อเลือกคลัสเตอร์ Labs ในกรณีของเรา):

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

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

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

สรุป

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

ในขณะที่คุณอยู่ที่นี่ คุณจะค้นพบว่ามีบริษัทที่มีชื่อเสียงหลายแห่งในโลกไอทีหรือไม่ใช้ Ganglia มีเหตุผลดีๆ มากมายนอกเหนือจากที่เราได้แบ่งปันในบทความนี้ พร้อมด้วยความง่ายในการใช้งานและกราฟพร้อมกับสถิติ (เป็นเรื่องดีที่ได้ใส่หน้าชื่อใช่ไหม) อาจจะอยู่ที่ด้านบนสุด

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