วิธีตรวจสอบประสิทธิภาพของเซิร์ฟเวอร์ CentOS 8/7 โดยใช้ Netdata
มีเครื่องมือตรวจสอบมากมายที่ใช้เพื่อติดตามประสิทธิภาพของระบบและส่งการแจ้งเตือนในกรณีที่มีสิ่งผิดปกติเกิดขึ้น อย่างไรก็ตาม ขั้นตอนการติดตั้งและการกำหนดค่าที่เกี่ยวข้องมักจะน่าเบื่อ
Netdata คือเครื่องมือตรวจสอบและแก้ไขปัญหาแบบเรียลไทม์แบบโอเพ่นซอร์สที่ต้องใช้เพียงไม่กี่ขั้นตอนในการติดตั้ง พื้นที่เก็บข้อมูล Git มาพร้อมกับสคริปต์อัตโนมัติที่จัดการกระบวนการติดตั้งและการกำหนดค่าจำนวนมาก และขจัดการกำหนดค่าที่ยุ่งยากที่เกี่ยวข้องกับเครื่องมือตรวจสอบอื่นๆ
Netdata ได้รับความนิยมอย่างมากนับตั้งแต่เปิดตัวครั้งแรกในเดือนตุลาคม 2013 โดยรวบรวมตัวชี้วัดแบบเรียลไทม์ เช่น การใช้งาน CPU และ RAM สถิติแบนด์วิดท์ และการใช้งานดิสก์ และแสดงบนแผนภูมิ/ กราฟ
มีการก้าวกระโดดครั้งใหญ่และทำให้ติดอันดับดาวรุ่งของ Forbes 2020 Cloud 100 รายชื่อนี้ประกอบด้วยบริษัทคลาวด์ส่วนตัว 100 อันดับแรก
ในบทความนี้ เราจะมาดูวิธีที่คุณสามารถติดตั้ง Netdata บน CentOS 8/7 เพื่อตรวจสอบแบบเรียลไทม์ ประสิทธิภาพ และความสมบูรณ์ของเซิร์ฟเวอร์และแอปพลิเคชัน
แพลตฟอร์มที่รองรับ
Netdata รองรับการแจกแจงต่อไปนี้:
- CentOS 8 และ CentOS 7
- RHEL 8 และ RHEL 7
- เฟโดรา ลินุกซ์
วิธีการติดตั้ง Netdata ใน CentOS Linux
1. ก่อนที่เราจะเจาะลึกการติดตั้ง Netdata จำเป็นต้องมีแพ็คเกจเบื้องต้นบางประการ แต่ก่อนอื่น ให้อัพเดตระบบและติดตั้งที่เก็บ EPEL ตามที่แสดง
sudo yum update
sudo yum install epel-release
2. จากนั้น ติดตั้งแพ็คเกจซอฟต์แวร์ที่จำเป็นตามที่แสดง
sudo yum install gcc make git curl zlib-devel git automake libuuid-devel libmnl autoconf pkgconfig findutils
3. เมื่อคุณติดตั้งแพ็คเกจที่จำเป็นต้องมีเสร็จแล้ว ให้โคลนพื้นที่เก็บข้อมูลคอมไพล์ Netdata ตามที่แสดง
git clone https://github.com/netdata/netdata.git --depth=100
4. จากนั้น นำทางไปยังไดเร็กทอรี Netdata และเรียกใช้สคริปต์ install-required-packages.sh สคริปต์ตรวจพบการกระจาย Linux ของคุณและติดตั้งแพ็คเกจเพิ่มเติมที่จำเป็นระหว่างการติดตั้ง Netdata
cd netdata/
./packaging/installer/install-required-packages.sh --dont-wait --non-interactive netdata
5. สุดท้าย หากต้องการติดตั้ง Netdata ให้เรียกใช้สคริปต์อัตโนมัติ Netdata ดังที่แสดงด้านล่าง
sudo ./netdata-installer.sh
เมื่อเรียกใช้สคริปต์ คุณจะได้รับฟังสรุปเกี่ยวกับตำแหน่งที่จะจัดเก็บไฟล์ Netdata ที่สำคัญ ซึ่งรวมถึงไฟล์การกำหนดค่า ไฟล์เว็บ ปลั๊กอิน ไฟล์ฐานข้อมูล และไฟล์บันทึก และอื่นๆ อีกมากมาย
6. กด 'ENTER' เพื่อดำเนินการตามขั้นตอนการติดตั้ง ในระหว่างขั้นตอนการติดตั้ง คุณจะได้รับคำแนะนำบางประการเกี่ยวกับวิธีเข้าถึง Netdata บนเบราว์เซอร์และจัดการ Netdata เช่น การเริ่มต้นและการหยุดการทำงาน
สคริปต์ทำงานมาระยะหนึ่งแล้วเพื่อกำหนดค่าและปรับแต่งที่จำเป็นทั้งหมดในระหว่างกระบวนการติดตั้ง สำหรับกรณีของฉัน ใช้เวลาประมาณ 3-5 นาที และเมื่อเสร็จแล้ว ผลลัพธ์ที่แสดงควรเป็นการยืนยันว่าการติดตั้งสำเร็จ
7. เมื่อติดตั้งแล้ว เราจำเป็นต้องมี Netdata daemon เริ่มทำงาน ในการเริ่มต้น ให้เปิดใช้งาน Netdata daemon เมื่อบูตเครื่อง และตรวจสอบสถานะโดยใช้คำสั่งต่อไปนี้:
sudo systemctl start netdata
sudo systemctl enable netdata
sudo systemctl status netdata
8. ตามค่าเริ่มต้น Netdata จะรับฟังพอร์ต 19999 และคุณสามารถยืนยันได้โดยใช้คำสั่ง netstat ดังที่แสดง:
sudo netstat -pnltu | grep netdata
9. เราจำเป็นต้องเปิดพอร์ตนี้บนไฟร์วอลล์เพื่อเข้าถึง Netdata ผ่านทางเบราว์เซอร์ ดังนั้นให้รันคำสั่งด้านล่าง:
sudo firewall-cmd --add-port=19999/tcp --permanent
sudo firewall-cmd --reload
10. ในการเข้าถึง Netdata ให้เปิดเบราว์เซอร์ของคุณ และเรียกดู URL ดังที่แสดง:
http://centos8-ip:19999/
คุณจะได้รับแดชบอร์ดที่แสดงประสิทธิภาพโดยรวมของระบบบนกราฟที่ใช้งานง่ายและยอดเยี่ยม
คุณสามารถดูกราฟต่างๆ ได้ตามใจชอบโดยคลิกที่เมตริกที่แสดงอยู่บนแถบด้านข้างขวา ตัวอย่างเช่น หากต้องการดูบริการ systemd ที่ทำงานอยู่ ให้คลิกที่ตัวเลือก "บริการ systemd" ตามที่แสดง
การรักษาความปลอดภัย Netdata ด้วยการตรวจสอบสิทธิ์ขั้นพื้นฐานบน CentOS
ดังที่คุณอาจสังเกตเห็นอย่างน่าตกใจ Netdata ไม่มีรูปแบบการตรวจสอบสิทธิ์ให้มา นี่หมายความว่าแทบทุกคนสามารถเข้าถึงแดชบอร์ดได้หากได้รับที่อยู่ IP ของ Netdata
โชคดีที่เราสามารถกำหนดค่าการตรวจสอบสิทธิ์ขั้นพื้นฐานได้โดยใช้โปรแกรม htpasswd และเว็บเซิร์ฟเวอร์ Nginx เป็นพร็อกซีย้อนกลับ ดังนั้นเราจะติดตั้งเว็บเซิร์ฟเวอร์ Nginx
sudo dnf install nginx
เมื่อติดตั้ง Nginx แล้ว เราจะสร้างไฟล์การกำหนดค่าภายในไดเร็กทอรี /etc/nginx/conf.d อย่างไรก็ตาม คุณสามารถใช้ไดเร็กทอรี sites-available ได้ หากคุณใช้ Nginx เพื่อวัตถุประสงค์อื่นนอกเหนือจาก Netdata
sudo vim /etc/nginx/conf.d/default.conf
เพิ่มการกำหนดค่าทั้งหมดต่อไปนี้ และตรวจสอบให้แน่ใจว่าได้เปลี่ยนคำสั่ง server_ip และ example.com ด้วยที่อยู่ IP ของเซิร์ฟเวอร์และชื่อเซิร์ฟเวอร์ของคุณเอง
upstream netdata-backend {
server 127.0.0.1:19999;
keepalive 64;
}
server {
listen server_ip:80;
server_name example.com;
auth_basic "Authentication Required";
auth_basic_user_file netdata-access;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://netdata-backend;
proxy_http_version 1.1;
proxy_pass_request_headers on;
proxy_set_header Connection "keep-alive";
proxy_store off;
}
}
สำหรับการตรวจสอบสิทธิ์ผู้ใช้ เราจะสร้างชื่อผู้ใช้และรหัสผ่านสำหรับผู้ใช้ชื่อ tecmint โดยใช้เครื่องมือ htpasswd และเก็บข้อมูลรับรองไว้ภายใต้ netdata-access ไฟล์.
sudo htpasswd -c /etc/nginx/netdata-access tecmint
ระบุรหัสผ่านและยืนยัน
จากนั้นรีสตาร์ทเว็บเซิร์ฟเวอร์ Nginx เพื่อให้การเปลี่ยนแปลงมีผล
sudo systemctl restart nginx
หากต้องการทดสอบว่าการกำหนดค่าถูกต้องหรือไม่ ให้ดำเนินการต่อและเรียกดูที่อยู่ IP ของเซิร์ฟเวอร์ของคุณ
http://server-ip
หลังจากนั้น คุณจะสามารถเข้าถึงแดชบอร์ด Netdata ได้
และนั่นก็คือเพื่อน ๆ เราได้แนะนำคุณตลอดขั้นตอนการติดตั้งเครื่องมือตรวจสอบ Netdata บน CentOS 8 และกำหนดค่าการตรวจสอบสิทธิ์พื้นฐานเพื่อรักษาความปลอดภัยให้กับเครื่องมือตรวจสอบ ส่งเสียงตะโกนถึงเราและแจ้งให้เราทราบว่ามันเป็นอย่างไร