Gần đây chúng tôi đã hướng dẫn cách cài đặt MongoDB trong Ubuntu 18.04. Khi bạn đã triển khai thành công cơ sở dữ liệu của mình, bạn cần theo dõi hiệu suất của nó trong khi nó đang chạy. Đây là một trong những nhiệm vụ quan trọng nhất trong quản trị cơ sở dữ liệu.
May mắn thay, MongoDB cung cấp các phương pháp khác nhau để truy xuất hiệu suất và hoạt động của nó. Trong bài viết này, chúng ta sẽ xem xét các tiện ích giám sát và lệnh cơ sở dữ liệu để báo cáo thống kê về trạng thái của phiên bản MongoDB đang chạy.
1. Mongostat
Mongostat có chức năng tương tự như công cụ giám sát vmstat, có sẵn trên tất cả các hệ điều hành giống Unix chính như Linux, FreeBSD, Solaris cũng như MacOS. Mongostat được sử dụng để xem tổng quan nhanh về trạng thái cơ sở dữ liệu của bạn; nó cung cấp chế độ xem thời gian thực động của mongod đang chạy hoặc mongos ví dụ. Nó truy xuất số lượng các hoạt động cơ sở dữ liệu theo loại, chẳng hạn như chèn, truy vấn, cập nhật, xóa và hơn thế nữa.
Bạn có thể chạy mongostat như hình. Lưu ý rằng nếu bạn đã bật xác thực, hãy đặt mật khẩu người dùng trong dấu ngoặc kép để tránh gặp lỗi, đặc biệt nếu bạn có các ký tự đặc biệt trong đó.
$ mongostat -u "root" -p '[email protected]!#@%$admin1' --authenticationDatabase "admin"
Để biết thêm mongostat tùy chọn sử dụng, hãy nhập lệnh sau.
$ mongostat --help
2. Mongotop
Mongotop cũng cung cấp chế độ xem thời gian thực động của một phiên bản MongoDB đang chạy. Nó theo dõi lượng thời gian mà một cá thể MongoDB dành để đọc và ghi dữ liệu. Theo mặc định, nó trả về các giá trị mỗi giây.
$ mongotop -u "root" -p '[email protected]!#@%$admin1' --authenticationDatabase "admin"
Để biết thêm mongotop tùy chọn sử dụng, hãy nhập lệnh sau.
$ mongotop --help
3. Lệnh serverStatus
Trước tiên, bạn cần chạy lệnh sau để đăng nhập vào mongo vỏ.
$ mongo -u "root" -p '[email protected]!#@%$admin1' --authenticationDatabase "admin"
Sau đó chạy serverStatus , cung cấp tổng quan về trạng thái của cơ sở dữ liệu, bằng cách thu thập số liệu thống kê về phiên bản.
>db.runCommand( { serverStatus: 1 } ) OR >db.serverStatus()
4. Lệnh dbStats
dbStats lệnh trả về thống kê lưu trữ cho một cơ sở dữ liệu cụ thể, chẳng hạn như dung lượng lưu trữ được sử dụng, số lượng dữ liệu có trong cơ sở dữ liệu và bộ đếm đối tượng, bộ sưu tập và chỉ mục.
>db.runCommand({ dbStats: 1 } ) OR >db.stats()
5. collStats
collStats lệnh được sử dụng để thu thập số liệu thống kê tương tự như lệnh được cung cấp bởi dbStats ở cấp độ bộ sưu tập, nhưng đầu ra của nó bao gồm số lượng các đối tượng trong bộ sưu tập, kích thước của bộ sưu tập, dung lượng đĩa mà bộ sưu tập sử dụng và thông tin liên quan đến các chỉ mục của nó.
>db.runCommand( { collStats : "aurthors", scale: 1024 } )
6. Lệnh replSetGetStatus
replSetGetStatus lệnh xuất ra trạng thái của tập hợp bản sao từ quan điểm của máy chủ đã xử lý lệnh. Lệnh này phải được chạy đối với quản trị viên cơ sở dữ liệu trong biểu mẫu tiếp theo.
>db.adminCommand( { replSetGetStatus : 1 } )
Ngoài các tiện ích và lệnh cơ sở dữ liệu ở trên, bạn cũng có thể sử dụng các công cụ giám sát của bên thứ ba được hỗ trợ trực tiếp hoặc thông qua các plugin của riêng họ. Chúng bao gồm mtop, munin và nagios.
Để biết thêm thông tin, hãy tham khảo:Giám sát cho Tài liệu MongoDB.
Đó là nó cho bây giờ! Trong bài viết này, chúng tôi đã giới thiệu cho các bạn một số tiện ích giám sát hữu ích và các lệnh cơ sở dữ liệu để báo cáo thống kê về trạng thái của phiên bản MongoDB đang chạy. Sử dụng biểu mẫu phản hồi bên dưới để đặt bất kỳ câu hỏi nào hoặc chia sẻ suy nghĩ của bạn với chúng tôi.