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

วิธีตรวจสอบประสิทธิภาพ Nginx โดยใช้ Netdata บน CentOS 7


Netdata เป็นโอเพ่นซอร์สฟรี ปรับขนาดได้ ปรับเปลี่ยนได้ ปรับแต่งได้ ขยายได้ และทรงพลังแบบเรียลไทม์และเครื่องมือตรวจสอบประสิทธิภาพและสถานภาพสำหรับระบบ Linux ซึ่งรวบรวมและแสดงภาพเมตริก ทำงานบนเดสก์ท็อป คอมพิวเตอร์ส่วนบุคคล เซิร์ฟเวอร์ อุปกรณ์ฝังตัว IoT และอื่นๆ

อ่านเพิ่มเติม: วิธีตรวจสอบประสิทธิภาพของ Apache โดยใช้ Netdata บน CentOS 7

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

ในบทความนี้ เราจะอธิบายวิธีการตรวจสอบประสิทธิภาพเว็บเซิร์ฟเวอร์ Nginx HTTP โดยใช้ Netdata บน CentOS 7 หรือ RHEL 7 การกระจายสินค้า

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

ความต้องการ:

  1. เซิร์ฟเวอร์ CentOS 7 หรือเซิร์ฟเวอร์ RHEL 7 ที่มีการติดตั้งน้อยที่สุด
  2. การติดตั้งเซิร์ฟเวอร์ 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 ใช้แบบฟอร์มความคิดเห็นด้านล่างเพื่อแบ่งปันคำถามหรือความคิดเห็นเกี่ยวกับคู่มือนี้