Cách giám sát Nginx bằng Netdata trên CentOS 7

theanh

Administrator
Nhân viên
Netdata là một hệ thống giám sát nguồn mở dành cho máy chủ Linux. Nó cung cấp hiệu suất và giám sát tình trạng theo thời gian thực với bảng điều khiển và phân tích đẹp mắt. Netdata có thể chạy trên bất kỳ bản phân phối Linux nào - đã được thử nghiệm trên Alpine Linux, Arch Linux, CentOS, Ubuntu, v.v. Nó cung cấp các công cụ giám sát tình trạng theo thời gian thực cho máy chủ, CPU, mức sử dụng bộ nhớ, mạng IPv4 và IPv6 và các ứng dụng người dùng như Nginx, fail2ban, MySQL, MongoDB, v.v.

Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách giám sát Nginx bằng Netdata. Hướng dẫn này sẽ trình bày về cài đặt máy chủ web Nginx, kích hoạt mô-đun 'stub_status' và cài đặt Netdata trên CentOS 7.

Những việc chúng ta sẽ làm​

  1. Cài đặt máy chủ web Nginx.
  2. Kích hoạt mô-đun 'stub_status' của Nginx.
  3. Cài đặt Netdata trên CentOS 7.
  4. Giám sát Nginx bằng Netdata.
  5. Kiểm tra.

Điều kiện tiên quyết​

  • CentOS 7 Máy chủ
  • Quyền root

Bước 1 - Cài đặt máy chủ web Nginx​

Trong bước này, chúng ta sẽ cài đặt máy chủ web Nginx từ kho lưu trữ EPEL (Gói bổ sung cho Enterprise Linux). Trước khi cài đặt Nginx, hãy đảm bảo kho lưu trữ EPEL đã được cài đặt trên máy chủ của bạn.

Nếu bạn không có, bạn có thể cài đặt bằng lệnh bên dưới.
Mã:
yum -y install epel-release


Tiếp theo, cài đặt Nginx bằng lệnh yum bên dưới.
Mã:
yum -y install nginx
Và nếu quá trình cài đặt đã hoàn tất, hãy khởi động dịch vụ và cho phép nó tự động khởi chạy khi khởi động hệ thống bằng lệnh systemctl bên dưới.
Mã:
systemctl start nginx
systemctl enable nginx
Sau khi cài đặt, hãy mở các cổng HTTP và HTTPS bằng lệnh firewall-cmd bên dưới.
Mã:
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload



Lưu ý: Nếu bạn không có lệnh firewall-cmd, bạn có thể cài đặt các gói firewalld từ kho lưu trữ.
Mã:
yum -y install firewalld
Máy chủ web Nginx đã được cài đặt.

Bước 2 - Kích hoạt mô-đun stub_status của Nginx​

Để theo dõi Nginx bằng Netdata, chúng ta phải kích hoạt mô-đun 'stub_status' bằng cách chỉnh sửa cấu hình. Đảm bảo phiên bản Nginx của bạn có một mô-đun có tên là 'stub_status', hãy kiểm tra mô-đun bằng lệnh bên dưới.
Mã:
nginx -V
Bạn sẽ nhận được kết quả tương tự như sau.



Đảm bảo bạn có mô-đun 'stub_status' trong danh sách.

Tiếp theo, hãy chỉnh sửa tệp cấu hình nginx 'nginx.conf' để bật mô-đun 'stub_status'. Vào thư mục '/etc/nginx/' và chỉnh sửa cấu hình bằng vim.
Mã:
cd /etc/nginx/
vim nginx.conf
Dán cấu hình sau vào khối 'server {}'.
Mã:
location /stub_status {
 stub_status;
 # Bảo mật: Chỉ cho phép truy cập từ IP bên dưới.
 allow 127.0.0.1;
 # Từ chối bất kỳ ai khác
 deny all;
 }


Lưu và thoát.

Bây giờ, hãy kiểm tra cấu hình nginx và đảm bảo không có lỗi. Sau đó khởi động lại nginx.
Mã:
nginx -t
systemctl restart nginx


Mô-đun 'stub_status' của Nginx đã được bật - chúng ta có thể kiểm tra bằng lệnh curl như hiển thị bên dưới.
Mã:
curl http://127.0.0.1/stub_status
Khi đã bật, bạn có thể thấy kết quả như bên dưới.


Bước 3 - Cài đặt Netdata trên CentOS 7​

Trong bước này, chúng ta sẽ cài đặt Netdata trên máy chủ CentOS 7. Trước khi cài đặt Netdata, chúng ta cần cài đặt một số gói để cài đặt Netdata.

Cài đặt các gói cần thiết để cài đặt Netdata bằng lệnh yum sau.
Mã:
y install zlib-devel libuuid-devel libmnl-devel gcc make git autoconf autogen automake pkgconfig curl jq nodejs
Tiếp theo, tải xuống mã nguồn Netdata bằng lệnh git sau.
Mã:
cd ~
git clone https://github.com/firehol/netdata.git --depth=1


Đi đến thư mục netdata và chạy tập lệnh cài đặt Netdata với quyền sudo.
Mã:
cd netdata/
sudo ./netdata-installer.sh
Nhấn 'Enter' để tiếp tục cài đặt Nedata.



Và khi cài đặt xong hoàn tất, bạn sẽ thấy kết quả như bên dưới.



Netdata đã được cài đặt trên CentOS 7 và đang chạy trên cổng '19999'.

Mở cổng bằng lệnh firewall-cmd bên dưới.
Mã:
sudo firewall-cmd --permanent --add-port=19999/tcp
sudo firewall-cmd --reload
Netdata cung cấp một tập lệnh dịch vụ systemd, do đó bạn có thể quản lý Netdata bằng lệnh systemctl. Khởi động lại netdata và cho phép nó tự động khởi chạy mỗi lần khởi động hệ thống.
Mã:
systemctl restart netdata
systemctl enable netdata
Kiểm tra cổng đã mở của máy chủ - đảm bảo bạn nhận được cổng 19999 ở trạng thái 'LISTEN'.
Mã:
netstat -plntu


Công cụ giám sát Netdata đã được cài đặt trên CentOS 7.

Bước 4 - Giám sát Nginx bằng Netdata​

Ở giai đoạn này, Nginx đã được cài đặt, mô-đun stub_status đã được bật và quá trình cài đặt Netdata đã hoàn tất. Trong bước này, chúng tôi muốn giám sát máy chủ web nginx bằng Netdata. Giám sát các yêu cầu, kết nối đang hoạt động và trạng thái.

Netdata cung cấp các mô-đun để giám sát các ứng dụng hệ thống. Có một số ứng dụng như Apache, Nginx, MongoDB, v.v. sử dụng các mô-đun python để giám sát bằng Netdata.

Đi đến thư mục 'python.d' của netdata và chỉnh sửa tệp cấu hình nginx.conf bằng vim.
Mã:
cd /etc/netdata/python.d/
vim nginx.conf
Đi đến dòng cuối cùng và đảm bảo bạn có cấu hình như hiển thị bên dưới.
Mã:
localhost:
 name : 'local'
 url : 'http://localhost/stub_status'


Lưu và thoát.

Bây giờ hãy khởi động lại dịch vụ netdata bằng lệnh systemctl.
Mã:
systemctl restart netdata

Bước 5 - Kiểm tra​

Mở trình duyệt web của bạn và truy cập địa chỉ IP của máy chủ có cổng 19999.


Và bạn sẽ nhận được Netdata Dashboard.



Nhấp vào 'nginx local' ở bên phải và xem các kết nối đang hoạt động, yêu cầu, trạng thái và tốc độ kết nối của Nginx.



Netdata đã được cài đặt trên máy chủ CentOS 7 và máy chủ web Nginx đang được giám sát bằng Netdata.

Preference​

 
Back
Bên trên