Trong môi trường đám mây AWS, quản lý, theo dõi log là yêu cầu quan trọng giúp người dùng giám sát các hoạt động của hệ thống nhằm phát hiện và xử lý kịp thời các vấn đề phát sinh. Chuyên gia CMC giới thiệu về cách ứng dụng Grafana vào giám sát log trong 2 dịch vụ Amazon RDS và Amazon Aurora nhằm giảm thiểu các rủi ro về mất an toàn dữ liệu trên AWS Cloud.
Dịch vụ Amazon RDS và Amazon Aurora là gì?
Amazon RDS (Amazon Relational Database Service) và Amazon Aurora là hai dịch vụ cơ sở dữ liệu được quản lý bởi AWS. Hai dịch vụ này đều cho phép người dùng xây dựng, quản lý và mở rộng cơ sở dữ liệu một cách dễ dàng, hiệu quả trên AWS Cloud.
Với Amazon RDS, đây là dịch vụ tương thích với nhiều hệ quản trị cơ sở dữ liệu phổ biến như MySQL, PostgreSQL, Oracle, SQL Server và MariaDB. Điều này cho phép người dùng chọn hệ quản trị phù hợp với nhu cầu ứng dụng của mình. Với Amazon Aurora, dịch vụ này hỗ trợ đặc biệt với MySQL và PostgreSQL. Với những ưu điểm vượt trội trong việc giúp doanh nghiệp dễ dàng triển khai, vận hành và quản lý hệ thống cơ sở dữ liệu, hai dịch vụ trên trở thành hai dịch vụ quan trọng trong vận hành hệ thống dữ liệu trên AWS Cloud hiện nay.
Trong Amazon RDS và Amazon Aurora, doanh nghiệp có thể lựa chọn nhiều loại log để ghi lại các hoạt động trong cơ sở dữ liệu của mình. Cụ thể như các log xác thực, log lỗi, log yêu cầu, log giao dịch và log tiến trình sao lưu. Các log này có thể được lưu trữ trên Amazon S3 hoặc Amazon Cloud Watch Logs. Bằng cách sử dụng Amazon Cloud Watch Logs, người dùng có thể tạo các bộ lọc tìm kiếm thông tin để tìm ra các sự cố trong cơ sở dữ liệu của mình một cách nhanh chóng. Đồng thời, Amazon Aurora cũng có cấu trúc vận hành tương tự như vậy. Tuy nhiên, không chỉ dừng lại ở việc lưu trữ, giám sát log hệ thống thông qua các tệp tin và dòng lệnh, thực tế còn cần được trực quan hóa sang các dạng biểu đồ, hình ảnh. Điều này giúp đội ngũ kỹ sư vận hành báo cáo số số liệu một cách đơn giản và tối ưu.
Một số loại log quan trọng trong Amazon RDS và Amazon Aurora
Trước tiên là log của cơ sở dữ liệu có tác dụng ghi lại các hoạt động trong cơ sở dữ liệu, bao gồm cả các truy vấn và thao tác. Thứ hai là log lỗi để ghi lại các lỗi phát sinh trong cơ sở dữ liệu, bao gồm cả các lỗi hệ thống và lỗi ứng dụng. Và cuối cùng là log cảnh báo nhằm ghi lại các cảnh báo về hiệu suất hoặc các vấn đề khác trong cơ sở dữ liệu.
Amazon Managed Grafana - Dịch vụ trực quan hóa dữ liệu
Để đáp ứng những nhu cầu, AWS đã cung cấp Amazon Managed Grafana vào bộ sản phẩm của mình. Amazon Managed Grafana là dịch vụ trực quan hóa dữ liệu. Dịch vụ này được quản lý và bảo mật cao. Ngoài ra, dịch vụ này còn giúp người dùng truy vấn, tương quan các số liệu hoạt động một cách nhanh chóng và được tích hợp hoàn hảo từ nhiều nguồn dữ liệu AWS khác nhau, như Amazon Cloud Watch, Amazon OpenSearch Service, Amazon Athena và Amazon Managed Service for Prometheus (AMP)...
Chuyên gia MultiCloud chia sẻ: “Amazon Managed Grafana còn cung cấp plug-in cho các cơ sở dữ liệu mã nguồn mở phổ biến, các công cụ giám sát bên thứ ba và các dịch vụ đám mây khác. Bằng cách sử dụng Amazon Managed Grafana, người dùng có thể dễ dàng tạo bảng điều khiển thông tin một cách sáng tạo được tổng hợp thông tin từ nhiều dịch vụ AWS, tài khoản và nguồn on-premises. Không chỉ cho phép tùy chỉnh truy cập người dùng thông qua trung tâm danh tính AWS IAM Identity Center hoặc các nhà cung cấp Danh tính (IdP) khác dựa trên SAML, dịch vụ này còn hỗ trợ kiểm soát các đối tượng cụ thể được truy cập vào dịch vụ này”.
Hiện nay, có nhiều cách để ứng dụng Amazon Managed Grafana vào việc giám sát hệ thống. Để giúp người đọc dễ hình dung, các chuyên gia từ CMC Telecom trực quan hóa dịch vụ qua sơ đồ cơ chế đơn giản thu thập các chỉ số quan trọng. Cụ thể bao gồm sử dụng CPU, sử dụng bộ nhớ và kết nối cơ sở dữ liệu từ Amazon RDS và Amazon Aurora, và lưu trữ chúng trong Amazon Cloud Watch.
Người dùng cũng có thể tự triển khai một hàm Lambda tùy chỉnh để thu thập các chỉ số RDS Performance Insight và gửi chúng đến Amazon Cloud Watch nếu cần thiết. Sau đó người dùng có thể khởi tạo Amazon Managed Grafana và kết nối để lấy dữ liệu từ Amazon Cloud Watch.
Các bước thực hiện:
Bước 1: Chuẩn bị tài nguyên Amazon RDS hoặc Amazon Aurora.
Bước 2: Khởi tạo Amazon Cloud Watch và bật phần xem Amazon RDS hoặc Amazon Aurora Metrics trong Amazon Cloud Watch. Ví dụ: Bật metric cho DBClusterIdentifier.
Bước 3: Truy cập vào Grafana Console và khởi tạo một môi trường làm việc mới, chọn Amazon Cloud Watch là nguồn dữ liệu.
Bước 4: Truy cập vào giao diện Grafana, cấu hình thông tin về Amazon Cloud Watch đã khởi tạo từ các bước trên.
Tại giao diện Dashboard, có thể thêm các biểu đồ giám sát từng thông tin của hệ thống như CPU, RAM,..
Người dùng cũng có thể sử dụng Performance Insight (PI) để mở rộng các tính năng giám sát Amazon RDS hoặc Amazon Aurora. Nhu giám sát tải về dữ liệu trên các cụm RDS, lọc tải theo thời gian thực… Ngoài ra, Grafana có thể hỗ trợ người dùng sơ đồ hóa các thông số đó.
Bước 1: Sử dụng AWS CloudFormation để triển khai hàm Lamda để khởi tạo môi trường. Hàm Lamda sẽ tự động gọi API RDS Performance mỗi 10 phút một lần.
$ git clone https://github.com/aws-observability/observability-best-practices.git $ cd sandbox/monitor-aurora-with-grafana $ chmod +x install.sh $ ./install.sh |
Bước 2: Cấu hình phần dữ liệu nguồn trên giao diện Grafana
Sử dụng Database Load (DbLoad) kết hợp cùng nguồn dữ liệu từ RDS Perfomance Insight hỗ trợ người dùng trong việc sơ đồ hóa thông tin tải của hệ thống.
Sử dụng Top Load Events sẽ hiển thị các thành phần đang chạy tiêu hao tài nguyên của Database
Chuyên gia CMC Telecom đánh giá rằng việc giám sát log Amazon RDS và Aurora bằng Amazon Managed Grafana đòi hỏi doanh nghiệp phải có kiến thức về cách truy vấn dữ liệu từ cơ sở dữ liệu và tạo biểu đồ. Hiện ở Việt Nam, CMC Telecom là Đối tác Dịch vụ Cấp cao của AWS tại Việt Nam. Đồng thời, doanh nghiệp này cũng vừa trở thành đối tác Migration Competency của AWS trong tháng 8 vừa qua.
Thúy Ngà