0
0
Lập trình
Admin Team
Admin Teamtechmely

Hướng Dẫn Triển Khai Hệ Thống Giám Sát và Sao Lưu MongoDB Trên AWS

Đăng vào 3 ngày trước

• 4 phút đọc

*Việc duy trì và quản lý cơ sở dữ liệu là một phần quan trọng để đảm bảo sự ổn định và an toàn cho hạ tầng công nghệ của một tổ chức. Trong bối cảnh hiện nay, MongoDB đã trở thành một trong những hệ thống quản lý cơ sở dữ liệu phổ biến, cung cấp khả năng linh hoạt và mở rộng cho các ứng dụng và dịch vụ trực tuyến. Tuy nhiên, việc triển khai và duy trì MongoDB đòi hỏi sự chú ý đặc biệt đối với các yếu tố như giám sát và sao lưu. Điều này không chỉ giúp đảm bảo hiệu suất của cơ sở dữ liệu mà còn cung cấp khả năng phục hồi dữ liệu trong trường hợp có sự cố xảy ra. Trong hướng dẫn này, tôi sẽ tập trung vào việc cài đặt hệ thống giám sát và sao lưu cho MongoDB trên nền tảng AWS (Amazon Web Services). AWS không chỉ cung cấp một môi trường đám mây linh hoạt mà còn cung cấp các dịch vụ tiện ích để triển khai và quản lý các ứng dụng cơ sở dữ liệu.


1. Tạo và Cài Đặt MongoDB Trên AWS EC2 Instance

1.1 Các Bước Thiết Lập MongoDB Cơ Bản

  • Khởi Tạo EC2 Instance: Đăng nhập vào AWS Management Console, chọn EC2 và tạo một instance mới. Chọn AMI phù hợp (ví dụ: Amazon Linux 2023) và kích thước instance thích hợp cho nhu cầu của bạn.

  • Cấu Hình Security Group: Tạo hoặc sửa đổi Security Group để cho phép truy cập vào cổng MongoDB (mặc định là 27017) từ địa chỉ IP cần thiết.

  • Cài Đặt MongoDB: Sử dụng terminal hoặc SSH để kết nối vào instance EC2. Tiến hành cài đặt MongoDB theo như hướng dẫn trên trang chủ của MongoDB.

  • Tạo User Cho Quá Trình Giám Sát: Kết nối với phiên bản MongoDB của bạn bằng mongosh và tạo một tài khoản quản trị cho việc giám sát bằng lệnh:

    Copy
    use admin
    db.createUser({user: "monitor", pwd: "monitoring", roles: [{ role: "clusterMonitor", db: "admin" },{ role: "read", db: "local" }]})
    exit()

1.2 Mở Đường Ra Internet

Để thuận tiện cho việc thí nghiệm, cần mở đường truy cập vào DB thông qua Internet, thực hiện các bước sau:

  • Cập nhật cấu hình MongoDB: Sửa bindIp trong /etc/mongod.conf thành 0.0.0.0 và thay đổi port thành 27024. Khởi động lại MongoDB với lệnh sudo systemctl restart mongod.

  • Thêm Rule Inbound: Điều chỉnh Security Groups để mở kết nối ra Internet bằng cách thêm quy tắc cho phép truy cập.

1.3 Cài Đặt MongoDB Exporter

  • Tải MongoDB Exporter: Tải phiên bản mới nhất của MongoDB Exporter về EC2 với lệnh:

    Copy
    wget https://github.com/percona/mongodb_exporter/releases/download/v0.40.0/mongodb_exporter-0.40.0.linux-amd64.tar.gz
  • Giải Nén và Di Chuyển: Giải nén và di chuyển file thực thi MongoDB Exporter vào thư mục /usr/local/bin/.

  • Tạo File Service: Tạo tệp service cho MongoDB Exporter trong thư mục /lib/systemd/system/, sau đó điền cấu hình để dịch vụ có thể khởi động cùng hệ thống.

  • Khởi Động Service: Sử dụng lệnh sudo systemctl start mongodb_exporter.service để khởi động dịch vụ.


2. Cài Đặt Grafana và Prometheus Để Giám Sát MongoDB

2.1 Bước Chuẩn Bị

  • Tạo Thêm Một EC2: Thiết lập một EC2 mới cho mục đích giám sát.

  • Cài Đặt Docker và Docker Compose: Kết nối vào EC2 và cài đặt Docker, sau đó cài đặt Docker Compose để dễ dàng quản lý các container.

2.2 Sử Dụng Docker Cài Đặt Hệ Thống Giám Sát MongoDB

  • Clone Repository: Sử dụng Git để lấy file cấu hình từ repository đã chuẩn bị.

  • Cấu Hình Docker Compose: Cập nhật file docker-compose.yml để chỉ định địa chỉ IP của MongoDB Exporter.

  • Chạy Docker Compose: Sử dụng lệnh docker-compose up -d để chạy các container của Prometheus và Grafana.

  • Mở Kết Nối Ra Internet: Đảm bảo thêm quy tắc kết nối cho Security Groups để cho phép truy cập từ bên ngoài.

2.3 Kết Quả Giám Sát MongoDB

Giám sát sẽ hiển thị thông tin và dữ liệu thu thập từ MongoDB như hiệu suất, trạng thái hoạt động và số lượng truy vấn, giúp người quản lý nắm bắt tình hình cơ sở dữ liệu dễ dàng hơn.


3. Sử Dụng AWS Lambda để Sao Lưu MongoDB

3.1 Bước Chuẩn Bị

  • Tạo S3 Bucket: Tạo một bucket trên S3 để lưu trữ các phiên bản sao lưu.

  • Tạo IAM Role: Tạo một IAM role cho AWS Lambda để cấp quyền ghi dữ liệu vào S3.

3.2 Tạo AWS Lambda Để Sao Lưu Dữ Liệu

  • Tạo Lambda Function: Mở AWS Lambda Console và tạo một function mới với runtime là Python 3.10.

  • Gán Role Cho Lambda Function: Gán role đã tạo cho Lambda function và dán mã nguồn cần thiết vào trình soạn thảo của AWS.

3.3 Kết Quả Sao Lưu Dữ Liệu

Sau khi triển khai Lambda function, dữ liệu sẽ được sao lưu định kỳ và tự động vào S3, đảm bảo an toàn cho dữ liệu của bạn.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào