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

วิธีตรวจสอบประสิทธิภาพของเซิร์ฟเวอร์ 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 และกำหนดค่าการตรวจสอบสิทธิ์พื้นฐานเพื่อรักษาความปลอดภัยให้กับเครื่องมือตรวจสอบ ส่งเสียงตะโกนถึงเราและแจ้งให้เราทราบว่ามันเป็นอย่างไร