Nginx Amplify – Công cụ giám sát Nginx miễn phí tuyệt vời - 21102019

Breaking

Post Top Ad

Responsive Ads Here

Post Top Ad

Responsive Ads Here

Sunday, July 15, 2018

Nginx Amplify – Công cụ giám sát Nginx miễn phí tuyệt vời

Nginx Amplify là công cụ tuyệt vời giúp giám sát tình trạng NGINX và Server theo thời gian thực, qua đó giúp phân tích và tối ưu các ứng dụng hoạt động dựa trên NGINX.
Đặc biệt, với bản cập nhật mới nhất, Nginx Amplify theo dõi toàn bộ hệ thống cài đặt LEMP Stack – Linux, Nginx, PHP-FPM và cả MySQL.
Công cụ hoạt động trên nền tảng điện toán đám mây, được cài đặt thông qua một module của Nginx kết nối với API cung cấp miễn phí bởi Nginx.com, giúp bạn dễ dàng theo dõi hoạt động của hệ thống cũng như chủ động xác định các vấn đề:
  • Hiển thị trực quan, chính xác dễ hiểu thông qua số liệu, biểu đồ tình trạng server: hoạt động CPU, RAM, bộ nhớ ổ đĩa, băng thông…
  • Cung cấp các lời khuyên và gợi ý thông minh nhằm cải thiện và tối ưu hóa hiệu suất Nginx.
  • Nhận thông báo qua mail khi có lỗi xảy ra trong quá trình vận hành của các ứng dụng cũng như hỗ trợ xác định vấn đề phát sinh ở đâu…
  • Dự đoán về khả năng và hiệu suất hoạt động của các ứng dụng.
  • Tích hợp và theo dõi nhiều hệ thống chạy Nginx chỉ trong 1 tài khoản.
Toàn bộ thông tin được hiển thị trên website https://amplify.nginx.com, theo dõi rất thuận tiện. Nếu bạn đang sử dụng webserver Nginx, nên cài đặt thêm công cụ này nha.

1. Cài đặt Nginx Amplify

Yêu cầu hệ thống cho Nginx Amplify:
  • Chỉ hoạt động trên hệ điều hành Linux, cụ thể:
    • RHEL/CentOS/OEL 6 và RHEL/CentOS/OEL 7
    • Ubuntu 12.04, 14.04, 16.04, 17.04, 17.10
    • Debian 7, 8, 9
    • Amazon Linux 2017.09, Gentoo Linux (phiên bản Experimental Ebuild)
  • Chỉ hoạt động với Python 2.6, 2.7 và chưa hỗ trợ Python 3.0.

1.1. Đăng kí tài khoản Nginx Amplify

Làm theo các bước sau để đăng kí tài khoản.
  • Truy cập trang đăng kí Amplify Sign Up
  • Điền đầy đủ thông tin và chấp nhận Terms of Service rồi click Sign Up
  • Tại cửa sổ tiếp theo, bạn cung cấp thêm một số thông tin về bản thân để Nginx support được tốt hơn.
Như vậy, bạn đã hoàn tất đăng kí. Lưu ý, Nginx Amplify sẽ bắt đầu giám sát hệ thống của bạn khi và chỉ khi bạn cài đặt thành công Amplify Agent trên mỗi server và kết nối thông qua API.

1.2. Cài đặt NGINX Amplify Agent trên hệ thống

Công cụ thu thập dữ liệu về hoạt động hệ thống thông qua việc cài đặt Nginx Amplify Agent.
Click vào biểu tượng +New System góc trên bên trái sau khi login bạn sẽ thấy hướng dẫn cài đặt Agent lên hệ thống của mình. Ví dụ như trong hình:
  1. Kết nối SSH đến server
  2. Sử dụng curl hoặc wget để download script install (trước đó nên chuyển về thư mục gốc cd /root)
  3. Chạy lệnh cài đặt Amplify Agent
Nếu không có vấn đề gì xảy ra, bạn sẽ nhận được thông báo cài đặt thành công như bên dưới:

Bạn chờ 1 vài phút sẽ thấy hệ thống hiển thị trên khu vực Systems và các đồ thị ở mục Graphs. Giao diện Nginx Amplify sẽ trông giống như ảnh ở phần 2.
Để hiển đầy đủ các thông số nâng cao, bạn cần cấu hình thêm Stub Status, Log Format và MySQL metrics. Để thay đổi Hostname thủ công, bạn hãy edit file /etc/amplify-agent/agent.conf rồi restart lại agent:
# service amplify-agent restart

2. Cài đặt nâng cao

2.1. Thông số Stub Status

Quay trở lại website, nhấn nút Continue để đến bước 2, cấu hình stub_status
Nếu bạn dùng HocVPS Script, hệ thống đã tự động tối ưu tương thích với Amplify Agent nên không cần thao tác gì thêm, nhấn Continue. Ngược lại, bạn cần chỉnh sửa cấu hình Nginx domain .confthủ công theo như hướng dẫn rồi reload Nginx để áp dụng:
# nginx -s reload
Bước này có thể phát sinh lỗi và tốn thời gian nhất, để kiểm tra cấu hình stub_status chuẩn, bạn có thể chạy curl đến localhost như sau là được:
$ curl http://localhost/nginx_status
Active connections: 2
server accepts handled requests
344014 344014 661581
Reading: 0 Writing: 1 Waiting: 1

2.2. Thông số Log

Bạn cần cấu hình nâng cao Log Format để hiển thị đầy đủ các thống số Nginx

Cụ thể, cấu hình log_format main_ext trong Nginx. Đối với HocVPS là file /etc/nginx/nginx.conf. Thêm vào như bôi đỏ

– Chỉnh sửa log cho từng domain lưu trong/etc/nginx/conf.d, ví dụ:
access_log /home/kazeuraki.net/logs/access.log main_ext;
error_log /home/kazeuraki.net/logs/error.log warn;
error_log /home/kazeuraki.net/logs/nginx_error.log warn;
Xong bạn khởi động lại Nginx service nginx restart

2.3. Thông số MySQL

Để thống kê số liệu MySQL, Nginx Amplify cần được kết nối vào hệ thống cơ sở dữ liệu.
– Tạo user MySQL: bạn có thể sử dụng user cũ(root/admin…) hoặc tạo user mới bằng câu lệnh trên MySQL
# mysql -u root -p
CREATE USER 'amplify-agent'@'localhost' IDENTIFIED BY 'xxxxxx';
– Kiểm tra user có thể truy cập thông số MySQL
# mysql -u amplify-agent -p
show global status;
Một loạt thông số hiện ra là OK
Variable_nameValue
Aborted_clients0
452 rows in set (0.00sec)
– Cập nhật Amplify Agent lên phiên bản mới nhất.
## Đối với CentOS/Red Hat
yum update nginx-amplify-agent -y
## Đối với Ubuntu/Debian
apt-get update
apt-get install nginx-amplify-agent
– Chỉnh sửa cấu hình Amplify Agent giống như dưới:
# nano /etc/amplify-agent/agent.conf
[extensions]
phpfpm = True
mysql = True

[mysql]
#host =
#port =
unix_socket = /var/lib/mysql/mysql.sock
user = amplify-agent
password = amplify-agent
Trong đó,
  • user và password: sử dụng user đã kiểm tra bước trên
  • unix_socket: Socket của MySQL, tùy hệ thống bạn quy định. HocVPS lưu tại /var/lib/mysql/mysql.sock
– Khởi động lại Amplify Agent
# service amplify-agent restart
# service nginx restart

3. Sử dụng Nginx Amplify

Với cấu hình nâng cao Amplify, bạn sẽ theo dõi được toàn bộ các thông số về hệ thống LEMP của mình

Ví dụ như hình, bao gồm Nginx 1.12.2, PHP-FPM 7.1.15, MySQL 10.0.34 và Linux

3.1. Graphs – Đồ thị giám sát

Tại trang Graphs, các bạn sẽ thấy các đồ thị về hệ thống và Nginx server, bao gồm:
  • System: CPU Usage %, Load Average, Memory, Network Traffic, Disk Usage, Disk I/O, Disk Latency, CPU Usage I/O, Disk IOPS, Swap.
  • Nginx: Connections/s, Requests/s, Current Connections, Current Requests, HTTP Errors, HTTP Version, Workers, File Descriptors, CPU Usage %, Memory Usage, Traffic, Disk I/O, Request Time, Upstream Response Time, Disk Buffered, Upstream Errors

3.2. Dashboard – Bảng giám sát, điều khiển

Tại trang NGINX Amplify Dashboards, bạn có thể tùy biến cấu hình biểu đồ để thiết lập báo cáo theo các số liệu tùy chọn từ các số liệu đã thu thập. Bên cạnh đó, bạn có thể thiết lập báo cáo và giám sát Nginx trên 1 server cụ thể hoặc một nhóm các server, cũng như có thể theo dõi 1 service nhỏ hoặc toàn bộ ứng dụng đã cài đặt.
Dưới đây, mình sẽ ví dụ thiết lập 1 biểu đồ cơ bản báo cáo về tình trạng của HTTP 401 Unauthorized
Tại menu thả xuống của Dashboards, chọn Create Dashboard. Chọn Add Graph (góc trên bên phải) tại vùng làm việc mới hiện ra. Tại bảng Add graph to dashboard: 
  • Title: Điền tên cho biểu đồ, ví dụ 401 Errors
  • Chose metric to display: Chọn các số liệu liên quan từ menu thả xuống, trong trường hợp này là nginx.http.status.4xx. Trong các số liệu của Nginx Amplify, bạn có thể chọn system cho các số liệu về hệ thống và nginx cho số liệu về NGINX server
  • Chọn hệ thống Nginx muốn giám sát từ danh sách thả xuống của Click to select NGINX (có thể chọn nhiều hệ thống)
  • Để lọc số liệu chọn Apply Filter. Menu Click to select filter key xuất hiện chọn giá trị lọc $status cho HTTP status code. Menu bên cạnh Type or select filter value hiện ra gõ 401 và chọn Use 401 as value. Kết quả cuối cùng thành $status ~ 401.

3.3. Analyzer – Báo cáo về thiết lập hệ thống

Khi bạn cài đặt phần mềm lên hệ thống, Nginx Amplify sẽ phân tích cấu hình cài đặt và thiết lập báo cáo chi tiết về thông tin trạng thái và các lời khuyên về cấu hình, trong đó:
  • Status information: Tình trạng hiện tại về NGINX của bạn, bao gồm phiên bản, tổng quan về cấu hình (bao gồm cả các modules), các khuyến cáo bảo mật, máy chủ ảo và thông tin SSL/TLS.
  • Static analysis: một phân tích về cấu hình của bạn mà cung cấp các khuyến nghị để cải thiện hiệu suất, bảo mật và độ tin cậy của các ứng dụng Nginx
Khi bạn cài đặt Nginx Amplify Agent lên hệ thống, bạn nên xem xét tất cả các phần của báo cáo, bao gồm:
  • Version và Overview: tìm kiếm và chỉ ra tất cả các hiểm họa nghi ngờ.
  • Security: đánh giá và chỉ ra các khuyến cáo về bảo mật có thể áp dụng
  • Virtual servers: Xem xét lại các máy chủ ảo để xem chi tiết cấu hình cũng như thông tin SSL/TLS.
  • SSL: kiểm tra tình trạng chứng chỉ SSL, đảm bảo vẫn trong thời hạn.
  • Static analysis: Kiểm tra và cảnh báo bất kì mối nguy hiểm nào.

3.4. Alerts – Cảnh báo hệ thống

Để thực sự giám sát Nginx theo thời gian thực, Nginx Amplify cung cấp bạn công cụ Alerts để cảnh báo bạn khi giá trị của 1 số liệu cụ thể vượt quá mức bạn đề ra. Trong một số trường hợp, Alerts giúp cảnh báo trước khi vấn đề xảy ra thực tế đối với người dùng, đảm bảo rằng bạn không phải là người cuối cùng được biết khi có vấn đề.
Chú ý:
  • Bạn không thể tạo Alerts dựa trên số liệu tổng hoặc số liệu trung bình, chỉ có thể dựa trên số liệu chính xác.
  • Mặc định, Alerts không lọc theo hostname nên thông thường Alerts cảnh báo bạn khi số liệu của cả hệ thống vượt quá mức đề ra. Để cảnh báo cụ thể, bạn cần chỉ định hostname khi cấu hình Alerts.
  • Mỗi tài khoản có 1 Alerts mặc định là cảnh báo khi Nginx Amplify service ngừng hơn 2 phút.
Để tạo 1 cảnh báo mới, chọn thanh Add new alert ở cuối trang Alerts. Giao diện Create New Alertshiện ra:
  • Chose metric to alert: Chọn số liệu cần được cảnh báo
  • Over period of: cảnh báo nếu số liệu vượt quá trong ngưỡng thời gian
  • Threshold: Ngưỡng số liệu cần cảnh báo, có các giá trị  < = >
  • Systems: Cảnh báo áp dụng cho toàn hệ thống hay 1 server cụ thể
  • Email: Điền email nhận thông báo khi Alerts bị kích hoạt. Nếu email này chưa từng được sử dụng với Nginx Amplify thì hệ thống sẽ gửi 1 mail xác nhận
Ví dụ về thiết lập cảnh báo khi Inbound Traffic vượt quá 1 Mbps trong khoảng thời gian trên 2 phút.
Như vậy, qua bài viết, mình đã cung cấp các bạn tổng quan về Nginx Amplify cũng như hướng dẫn cài đặt, sử dụng. Mong rằng qua đó các bạn có thể sử dụng Nginx Amplify một cách tốt nhất.
Tham khảo thêm hướng dẫn sử dụng Amplify tại đây.

No comments:

Post a Comment

Post Top Ad

Responsive Ads Here