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.
Thật may mắn, MongoDB cung cấp các phương pháp khác nhau để lấy 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 số liệu 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 để có cái nhìn 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 về mongod đang chạy hoặc mongo ví dụ. Nó truy xuất số lượng 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ư được hiển thị. 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 đơn để 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 '=@!#@%$admin1' --authenticationDatabase "admin"
Theo dõi hiệu suất MongoDB Để biết thêm mongostat tùy chọn sử dụng, gõ lệnh sau.
$ mongostat --help
2. Mongotop
Mongotop cũng cung cấp chế độ xem thời gian thực động của phiên bản MongoDB đang chạy. Nó theo dõi lượng thời gian một phiên bản MongoDB dành để đọc và ghi dữ liệu. Theo mặc định, nó trả về giá trị mỗi giây.
$ mongotop -u "root" -p '=@!#@%$admin1' --authenticationDatabase "admin"
Giám sát hoạt động MongoDB Để biết thêm mongotop tùy chọn sử dụng, gõ lệnh sau.
$ mongotop --help
3. Lệnh trạng thái máy chủ
Trước tiên, bạn cần chạy lệnh sau để đăng nhập vào mongo vỏ.
$ mongo -u "root" -p '=@!#@%$admin1' --authenticationDatabase "admin"
Sau đó chạy serverStatus lệnh cung cấp cái nhìn 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ề số liệu 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, lượng dữ liệu chứa trong cơ sở dữ liệu cũng như các bộ đếm đối tượng, bộ sưu tập và chỉ mục.
>db.runCommand({ dbStats: 1 } )
OR
>db.stats()
5. colStats
collStats lệnh được sử dụng để thu thập số liệu thống kê tương tự như số liệu đượ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 đố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 thay thếSetGetStatus
replSetGetStatus lệnh xuất ra trạng thái của bộ bản sao từ góc nhìn của máy chủ đã xử lý lệnh. Lệnh này phải được chạy với quản trị viên cơ sở dữ liệu ở dạng sau.
>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 trực tiếp các công cụ giám sát được bên thứ ba hỗ trợ 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 tài liệu MongoDB.
Bây giờ là vậy đó! Trong bài viết này, chúng tôi đã đề cập đến một số tiện ích giám sát và lệnh cơ sở dữ liệu hữu ích để báo cáo số liệu thống kê về trạng thái của phiên bản MongoDB đang chạy. Hã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.