วิธีตรวจสอบประสิทธิภาพ Nginx โดยใช้ Netdata บน CentOS 7
Netdata เป็นโอเพ่นซอร์สฟรี ปรับขนาดได้ ปรับเปลี่ยนได้ ปรับแต่งได้ ขยายได้ และทรงพลังแบบเรียลไทม์และเครื่องมือตรวจสอบประสิทธิภาพและสถานภาพสำหรับระบบ Linux ซึ่งรวบรวมและแสดงภาพเมตริก ทำงานบนเดสก์ท็อป คอมพิวเตอร์ส่วนบุคคล เซิร์ฟเวอร์ อุปกรณ์ฝังตัว IoT และอื่นๆ
อ่านเพิ่มเติม: วิธีตรวจสอบประสิทธิภาพของ Apache โดยใช้ Netdata บน CentOS 7
เป็นเครื่องมือตรวจสอบสภาพของระบบที่ช่วยให้คุณจับตาดูว่าระบบและแอปพลิเคชันหรือบริการของคุณเช่นเว็บเซิร์ฟเวอร์ทำงานอย่างไร หรือเหตุใดจึงช้าหรือทำงานผิดปกติ มันมีประสิทธิภาพและประสิทธิผลอย่างมากทั้งในแง่ของการใช้งาน CPU รวมถึงทรัพยากรระบบอื่น ๆ
ในบทความนี้ เราจะอธิบายวิธีการตรวจสอบประสิทธิภาพเว็บเซิร์ฟเวอร์ Nginx HTTP โดยใช้ Netdata บน CentOS 7 หรือ RHEL 7 การกระจายสินค้า
ในตอนท้ายของคู่มือนี้ คุณจะสามารถชมการแสดงภาพการเชื่อมต่อ คำขอ สถานะ และอัตราการเชื่อมต่อที่ใช้งานอยู่ของเว็บเซิร์ฟเวอร์ Nginx ของคุณได้
ความต้องการ:
- เซิร์ฟเวอร์ CentOS 7 หรือเซิร์ฟเวอร์ RHEL 7 ที่มีการติดตั้งน้อยที่สุด
- การติดตั้งเซิร์ฟเวอร์ Nginx HTTP โดยเปิดใช้งาน ngx_http_stub_status_module
ขั้นตอนที่ 1: ติดตั้ง Nginx บน CentOS 7
1. เริ่มต้นด้วยการเปิดใช้งาน EPEL Repository จากนั้นติดตั้งเซิร์ฟเวอร์ Nginx HTTP จากที่เก็บซอฟต์แวร์ EPEL โดยใช้ตัวจัดการแพ็คเกจ YUM
yum install epel-release
yum install nginx
2. จากนั้น ตรวจสอบเวอร์ชันของ Nginx ที่ติดตั้งบนระบบของคุณ โดยควรคอมไพล์ด้วยโมดูล stub_status ที่ระบุโดย - -with-http_stub_status_module
อาร์กิวเมนต์การกำหนดค่า ดังที่แสดงในภาพหน้าจอต่อไปนี้
nginx -V
3. หลังจากติดตั้ง Nginx สำเร็จ ให้เริ่มต้นและเปิดใช้งานเพื่อเริ่มต้นอัตโนมัติเมื่อบูตระบบ และตรวจสอบให้แน่ใจว่า Nginx พร้อมใช้งาน
systemctl status nginx
systemctl enable nginx
systemctl status nginx
4. หากคุณใช้ไฟร์วอลล์ไดนามิกไฟร์วอลล์ คุณต้องเปิดพอร์ต 80 (HTTP) และ 443 ( HTTPS) ซึ่งเว็บเซิร์ฟเวอร์รับฟัง สำหรับคำขอเชื่อมต่อกับไคลเอ็นต์
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd --reload
ขั้นตอนที่ 2: ขั้นตอนที่ 2: เปิดใช้งานโมดูล Nginx Stub_Status
5. ตอนนี้เปิดใช้งานโมดูล stub_status ซึ่ง netdata ใช้เพื่อรวบรวมเมตริกจากเว็บเซิร์ฟเวอร์ Nginx ของคุณ
vim /etc/nginx/nginx.conf
คัดลอกและวางการกำหนดค่า ตำแหน่ง ด้านล่างลงในบล็อกเซิร์ฟเวอร์ ดังที่แสดงในภาพหน้าจอ
location /stub_status {
stub_status;
allow 127.0.0.1; #only allow requests from localhost
deny all; #deny all other hosts
}
6. จากนั้น ทดสอบการกำหนดค่า nginx ใหม่เพื่อหาข้อผิดพลาด และเริ่มบริการ nginx ใหม่เพื่อให้มีผลกับการเปลี่ยนแปลงล่าสุด
nginx -t
systemctl restart nginx
7. จากนั้น ทดสอบหน้าสถานะ nginx โดยใช้เครื่องมือบรรทัดคำสั่ง curl
curl http://127.0.0.1/stub_status
ขั้นตอนที่ 3: ติดตั้ง Netdata บน CentOS 7
8. มีเชลล์สคริปต์บรรทัดเดียวที่คุณสามารถใช้เพื่อเริ่มการติดตั้ง netdata รุ่นล่าสุดจากที่เก็บ GitHub สคริปต์นี้จะดาวน์โหลดสคริปต์อื่นเพื่อตรวจจับดิสโตร Linux ของคุณและติดตั้งแพ็คเกจระบบที่จำเป็นสำหรับการสร้าง netdata หลังจากนั้นจะคว้าไฟล์ต้นฉบับ netdata ล่าสุด สร้างและติดตั้งมัน
ใช้คำสั่งด้านล่างเพื่อเปิดใช้สคริปต์ Kickstarter ตัวเลือก all
อนุญาตให้ติดตั้งแพ็คเกจที่จำเป็นสำหรับปลั๊กอิน netdata ทั้งหมด รวมถึงแพ็คเกจสำหรับ Nginx
bash <(curl -Ss https://my-netdata.io/kickstart.sh) all
หากคุณไม่ได้เข้าถึงระบบในฐานะ root คุณจะได้รับแจ้งให้ป้อนรหัสผ่านผู้ใช้ของคุณสำหรับคำสั่ง sudo และคุณจะถูกขอให้ยืนยันการดำเนินการบางอย่างด้วยการกด [ป้อน].
8. หลังจากสร้างและติดตั้ง netdata สคริปต์จะเริ่มบริการ netdata โดยอัตโนมัติผ่านตัวจัดการบริการ systemd และเปิดใช้งานให้เริ่มต้นเมื่อบูตระบบ Netdata จะรับฟังพอร์ต 19999 ตามค่าเริ่มต้น
9. จากนั้น เปิดพอร์ต 19999 ในไฟร์วอลล์เพื่อเข้าถึง netdata web UI
firewall-cmd --permanent --add-port=19999/tcp
firewall-cmd --reload
ขั้นตอนที่ 4: กำหนดค่า Netdata เพื่อตรวจสอบประสิทธิภาพ Nginx
9. การกำหนดค่า netdata สำหรับปลั๊กอิน Nginx ถูกจัดเก็บไว้ในไฟล์การกำหนดค่า /etc/netdata/python.d/nginx.conf ซึ่งเขียนใน YaML รูปแบบ
vim /etc/netdata/python.d/nginx.conf
การกำหนดค่าเริ่มต้นนั้นเพียงพอที่จะให้คุณเริ่มต้นตรวจสอบเว็บเซิร์ฟเวอร์ Nginx ของคุณ
ในกรณีที่คุณได้ทำการเปลี่ยนแปลงไฟล์การกำหนดค่า หลังจากอ่านเอกสารแล้ว ให้เริ่มบริการ netdata ใหม่เพื่อให้การเปลี่ยนแปลงมีผล
systemctl restart netdata
ขั้นตอนที่ 5: ตรวจสอบประสิทธิภาพ Nginx โดยใช้ Netdata
10. ตอนนี้เปิดเว็บเบราว์เซอร์และใช้ URL ต่อไปนี้เพื่อเข้าถึง netdata web UI
http://domain_name:19999
OR
http://SERVER_IP:19999
จากรายการปลั๊กอินทางด้านขวามือ ให้คลิกที่ “nginx local ” เพื่อเริ่มตรวจสอบเว็บเซิร์ฟเวอร์ Nginx ของคุณ คุณจะสามารถชมการแสดงภาพการเชื่อมต่อ คำขอ สถานะ และอัตราการเชื่อมต่อที่ใช้งานอยู่ได้ดังที่แสดงในภาพหน้าจอต่อไปนี้
พื้นที่เก็บข้อมูล Netdata Github: https://github.com/firehol/netdata
นั่นคือทั้งหมด! Netdata เป็นเครื่องมือตรวจสอบประสิทธิภาพและสุขภาพแบบกระจายแบบเรียลไทม์สำหรับระบบ Linux ในบทความนี้ เราได้แสดงวิธีตรวจสอบประสิทธิภาพเว็บเซิร์ฟเวอร์ Nginx โดยใช้ netdata บน CentOS 7 ใช้แบบฟอร์มความคิดเห็นด้านล่างเพื่อแบ่งปันคำถามหรือความคิดเห็นเกี่ยวกับคู่มือนี้