Tài liệu về nhà → Hướng dẫn sử dụng MongoDB → MongoDB Manual
Mới trong phiên bản 4.0.
Bắt đầu từ Phiên bản 4.0, MongoDB [Phiên bản cộng đồng] cung cấp giám sát đám mây miễn phí cho các bộ độc lập và bản sao.
Giám sát miễn phí cung cấp thông tin về việc triển khai của bạn, bao gồm:
Thời gian thực hiện hoạt động
Sử dụng bộ nhớ
Sử dụng CPU
Số lượng hoạt động
Dữ liệu hết hạn 24 giờ sau khi được tải lên. Để biết thêm thông tin về tải lên và hết hạn dữ liệu, hãy xem dữ liệu được theo dõi và hết hạn.Monitored Data and Expiration.
Theo mặc định, bạn có thể bật/tắt giám sát miễn phí trong thời gian chạy bằng cách sử dụng db.enableFreeMonitoring[]
và db.disableFreeMonitoring[]
Bạn cũng có thể bật hoặc vô hiệu hóa giám sát miễn phí trong quá trình khởi động mongod
bằng cách sử dụng:
Cài đặt tệp cấu hình ____10 hoặc
Tùy chọn dòng lệnh
1mongod -v --logpath /var/log/mongodb/server1.log --logappend
Khi bạn bật giám sát miễn phí, nó vẫn được bật cho đến khi bạn tắt nó.
Để xem trạng thái giám sát miễn phí của bạn,
Sử dụng phương pháp
2.mongod -v --logpath /var/log/mongodb/server1.log --logappend
3 và người trợ giúpmongod -v --logpath /var/log/mongodb/server1.log --logappend
4 cũng bao gồm số liệu thống kê giám sát miễn phí trong lĩnh vựcmongod -v --logpath /var/log/mongodb/server1.log --logappend
5.mongod -v --logpath /var/log/mongodb/server1.log --logappend
Khi chạy với Điều khiển truy cập, người dùng phải có các đặc quyền sau để kích hoạt giám sát và nhận trạng thái miễn phí:
{ resource: { cluster : true }, actions: [ "setFreeMonitoring", "checkFreeMonitoringStatus" ] }
Vai trò tích hợp
mongod -v --logpath /var/log/mongodb/server1.log --logappend
6 Vai trò cung cấp đặc quyền này.Khi được bật, dữ liệu được giám sát được tải lên định kỳ. Dữ liệu được giám sát hết hạn sau 24 giờ. Đó là, bạn chỉ có thể truy cập dữ liệu được giám sát đã được tải lên trong vòng 24 giờ qua.
Nếu bạn vô hiệu hóa giám sát miễn phí và sau đó có thể kích hoạt theo dõi miễn phí, bạn có thể truy cập các số liệu trước đó chưa hết hạn trong vòng 24 giờ qua.
Khi bạn bật giám sát miễn phí, bạn được cung cấp một URL duy nhất nơi bạn có thể truy cập dữ liệu được giám sát của mình.
Quan trọng
Bất cứ ai mà bạn chia sẻ URL độc đáo này đều có thể truy cập dữ liệu được giám sát của bạn.
Trên trang này
- Chiến lược giám sát
- Công cụ báo cáo MongoDB
- Ghi nhật ký
- Chẩn đoán các vấn đề hiệu suất
- Sao chép và giám sát
- Sharding và giám sát
- Watchdog nút lưu trữ
Giám sát là một thành phần quan trọng của tất cả các quản trị cơ sở dữ liệu. Một sự nắm bắt chắc chắn về báo cáo của MongoDB sẽ cho phép bạn đánh giá trạng thái cơ sở dữ liệu của bạn và duy trì việc triển khai mà không cần khủng hoảng. Ngoài ra, cảm giác về các thông số hoạt động bình thường của MongoDB sẽ cho phép bạn chẩn đoán các vấn đề trước khi chúng leo thang bị lỗi.
Tài liệu này trình bày tổng quan về các tiện ích giám sát có sẵn và số liệu thống kê báo cáo có sẵn trong MongoDB. Nó cũng giới thiệu các chiến lược chẩn đoán và đề xuất để theo dõi các bộ bản sao và các cụm mảnh vỡ.
MongoDB cung cấp các phương pháp khác nhau để thu thập dữ liệu về trạng thái của một phiên bản MongoDB đang chạy:
Bắt đầu từ phiên bản 4.0, MongoDB cung cấp giám sát đám mây miễn phí cho các bộ độc lập và bản sao.
MongoDB phân phối một bộ tiện ích cung cấp báo cáo thời gian thực về các hoạt động cơ sở dữ liệu.
MongoDB cung cấp các lệnh cơ sở dữ liệu khác nhau, trả về số liệu thống kê liên quan đến trạng thái cơ sở dữ liệu hiện tại có độ trung thực cao hơn.
MongoDB Atlas là một dịch vụ cơ sở dữ liệu được lưu trữ trên đám mây để chạy, giám sát và duy trì triển khai MongoDB. is a cloud-hosted database-as-a-service for running, monitoring, and maintaining MongoDB deployments.
MongoDB Cloud Manager là một dịch vụ được lưu trữ, giám sát các triển khai MongoDB để thu thập dữ liệu và cung cấp trực quan hóa và cảnh báo dựa trên dữ liệu đó. is a hosted service that monitors running MongoDB deployments to collect data and provide visualization and alerts based on that data.
MongoDB OPS Trình quản lý là một giải pháp tại chỗ có sẵn trong MongoDB Enterprise Advanced, theo dõi việc chạy triển khai MongoDB để thu thập dữ liệu và cung cấp trực quan hóa và cảnh báo dựa trên dữ liệu đó.an on-premise solution available in MongoDB Enterprise Advanced that monitors running MongoDB deployments to collect data and provide visualization and alerts based on that data.
Mỗi chiến lược có thể giúp trả lời các câu hỏi khác nhau và hữu ích trong các bối cảnh khác nhau. Những phương pháp này là bổ sung.
Phần này cung cấp một cái nhìn tổng quan về các phương pháp báo cáo được phân phối với MongoDB. Nó cũng cung cấp các ví dụ về các loại câu hỏi mà mỗi phương pháp phù hợp nhất để giúp bạn giải quyết.
Mới trong phiên bản 4.0.
MongoDB cung cấp giám sát đám mây miễn phí cho các bộ độc lập hoặc bản sao.
Theo mặc định, bạn có thể bật/tắt giám sát miễn phí trong thời gian chạy bằng cách sử dụng db.enableFreeMonitoring[]
và db.disableFreeMonitoring[]
Giám sát miễn phí cung cấp tới 24 giờ dữ liệu. Để biết thêm chi tiết, xem giám sát miễn phí.
Phân phối MongoDB bao gồm một số tiện ích nhanh chóng trả lại số liệu thống kê về hiệu suất và hoạt động của các trường hợp. Thông thường, những điều này là hữu ích nhất để chẩn đoán các vấn đề và đánh giá hoạt động bình thường.
mongod -v --logpath /var/log/mongodb/server1.log --logappend
9 nắm bắt và trả về số lượng hoạt động cơ sở dữ liệu theo loại [ví dụ: chèn, truy vấn, cập nhật, xóa, v.v.]. Các báo cáo số lượng này về phân phối tải trên máy chủ. captures and returns the counts of database operations by type [e.g. insert, query, update, delete, etc.]. These counts report on the load distribution on the server.
Sử dụng
mongod -v --logpath /var/log/mongodb/server1.log --logappend
9 để hiểu phân phối các loại hoạt động và để thông báo kế hoạch năng lực. Xem trang tham chiếu mongod -v --logpath /var/log/mongodb/server1.log --logappend
9 để biết chi tiết.mongod -v --logpath /var/log/mongodb/server1.log --logappend
9 to understand the distribution of operation types and to inform capacity planning. See the mongod -v --logpath /var/log/mongodb/server1.log --logappend
9 reference page for details.db.clients.insertOne[ { "name" : "Joe", "PII" : "Sensitive Information" } ]
2 Theo dõi và báo cáo hoạt động đọc và ghi hiện tại của một ví dụ MongoDB và báo cáo các số liệu thống kê này trên cơ sở cho mỗi bộ sưu tập. tracks and reports the current read and write activity of a MongoDB instance, and reports these statistics on a per collection basis.
Sử dụng
db.clients.insertOne[ { "name" : "Joe", "PII" : "Sensitive Information" } ]
2 để kiểm tra xem hoạt động cơ sở dữ liệu của bạn và sử dụng phù hợp với mong đợi của bạn. Xem trang tham chiếu db.clients.insertOne[ { "name" : "Joe", "PII" : "Sensitive Information" } ]
2 để biết chi tiết.db.clients.insertOne[ { "name" : "Joe", "PII" : "Sensitive Information" } ]
2 to check if your database activity and
use match your expectations. See the db.clients.insertOne[ { "name" : "Joe", "PII" : "Sensitive Information" } ]
2 reference page for details.Đã thay đổi trong phiên bản 3.6: MongoDB 3.6 loại bỏ giao diện HTTP không dùng nữa và API REST thành MongoDB.
MongoDB bao gồm một số lệnh báo cáo về trạng thái của cơ sở dữ liệu.
Những dữ liệu này có thể cung cấp mức độ chi tiết tốt hơn so với các tiện ích được thảo luận ở trên. Cân nhắc sử dụng đầu ra của chúng trong các tập lệnh và chương trình để phát triển các cảnh báo tùy chỉnh hoặc để sửa đổi hành vi của ứng dụng của bạn để đáp ứng với hoạt động của trường hợp của bạn. Phương pháp
db.clients.insertOne[ { "name" : "Joe", "PII" : "Sensitive Information" } ]
5 là một công cụ hữu ích khác để xác định các hoạt động đang tiến hành của trường hợp cơ sở dữ liệu.Lệnh
mongod -v --logpath /var/log/mongodb/server1.log --logappend
3 hoặc mongod -v --logpath /var/log/mongodb/server1.log --logappend
4 từ shell, trả về tổng quan chung về trạng thái của cơ sở dữ liệu, chi tiết sử dụng đĩa, sử dụng bộ nhớ, kết nối, viết nhật ký và truy cập chỉ mục. Lệnh trở lại nhanh chóng và không ảnh hưởng đến hiệu suất MongoDB.mongod -v --logpath /var/log/mongodb/server1.log --logappend
3 đầu ra một tài khoản về trạng thái của một thể hiện MongoDB. Lệnh này hiếm khi chạy trực tiếp. Trong hầu hết các trường hợp, dữ liệu có ý nghĩa hơn khi được tổng hợp, như người ta sẽ thấy với các công cụ giám sát bao gồm Trình quản lý đám mây MongoDB và Trình quản lý OPS. Tuy nhiên, tất cả các quản trị viên nên làm quen với dữ liệu được cung cấp bởi mongod -v --logpath /var/log/mongodb/server1.log --logappend
3MongoDB Cloud
Manager and Ops Manager. Nevertheless, all administrators should be familiar with the data provided by mongod -v --logpath /var/log/mongodb/server1.log --logappend
3Lệnh
2017-06-09T13:35:23.446-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "clients", documents: [ { _id: ObjectId['593adc5b99001b7d119d0c97'], name: "Joe", PII: " Sensitive Information" } ], ordered: true } ...
0 hoặc 2017-06-09T13:35:23.446-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "clients", documents: [ { _id: ObjectId['593adc5b99001b7d119d0c97'], name: "Joe", PII: " Sensitive Information" } ], ordered: true } ...
1 từ shell, trả về một tài liệu giải quyết việc sử dụng lưu trữ và khối lượng dữ liệu. 2017-06-09T13:35:23.446-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "clients", documents: [ { _id: ObjectId['593adc5b99001b7d119d0c97'], name: "Joe", PII: " Sensitive Information" } ], ordered: true } ...
0 phản ánh lượng lưu trữ được sử dụng, số lượng dữ liệu có trong cơ sở dữ liệu và đối tượng, bộ sưu tập và bộ đếm chỉ mục.Sử dụng dữ liệu này để theo dõi trạng thái và dung lượng lưu trữ của một cơ sở dữ liệu cụ thể. Đầu ra này cũng cho phép bạn so sánh việc sử dụng giữa cơ sở dữ liệu và để xác định kích thước tài liệu trung bình trong cơ sở dữ liệu.
2017-06-09T13:35:23.446-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "clients", documents: [ { _id: ObjectId['593adc5b99001b7d119d0c97'], name: "Joe", PII: " Sensitive Information" } ], ordered: true } ...
3 hoặc 2017-06-09T13:35:23.446-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "clients", documents: [ { _id: ObjectId['593adc5b99001b7d119d0c97'], name: "Joe", PII: " Sensitive Information" } ], ordered: true } ...
4 từ vỏ cung cấp số liệu thống kê giống với 2017-06-09T13:35:23.446-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "clients", documents: [ { _id: ObjectId['593adc5b99001b7d119d0c97'], name: "Joe", PII: " Sensitive Information" } ], ordered: true } ...
0 ở cấp độ thu thập, 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, lượng không gian đĩa được sử dụng bởi bộ sưu tập và thông tin về các chỉ mục của nó.Lệnh
2017-06-09T13:35:23.446-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "clients", documents: [ { _id: ObjectId['593adc5b99001b7d119d0c97'], name: "Joe", PII: " Sensitive Information" } ], ordered: true } ...
6 [2017-06-09T13:35:23.446-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "clients", documents: [ { _id: ObjectId['593adc5b99001b7d119d0c97'], name: "Joe", PII: " Sensitive Information" } ], ordered: true } ...
7 từ shell] trả về tổng quan về trạng thái của bộ bản sao của bạn. Tài liệu repsetGetStatus chi tiết trạng thái và cấu hình của tập bản sao và thống kê về các thành viên của nó.Sử dụng dữ liệu này để đảm bảo rằng sao chép được cấu hình đúng và để kiểm tra các kết nối giữa máy chủ hiện tại và các thành viên khác của bộ bản sao.
Đây là các công cụ giám sát được cung cấp dưới dạng dịch vụ lưu trữ, thường là thông qua đăng ký trả phí.
Quản lý đám mây MongoDB | MongoDB Cloud Manager là một bộ dịch vụ dựa trên đám mây để quản lý triển khai MongoDB. MongoDB Cloud Manager cung cấp chức năng giám sát, sao lưu và tự động hóa. Để biết giải pháp tại chỗ, xem thêm Trình quản lý OPS, có sẵn trong MongoDB Enterprise Advanced.Ops Manager, available in MongoDB Enterprise Advanced. |
VIVIDCORTEX | VividCortex cung cấp những hiểu biết sâu sắc về khối lượng công việc cơ sở dữ liệu sản xuất MongoDB và hiệu suất truy vấn-ở độ phân giải một giây. Theo dõi độ trễ, thông lượng, lỗi và nhiều hơn nữa để đảm bảo khả năng mở rộng và hiệu suất đặc biệt của ứng dụng của bạn trên MongoDB.production database workload and query performance -- in one-second resolution. Track latency, throughput, errors, and more to ensure scalability and exceptional performance of your application on MongoDB. |
Hướng đạo sinh | Một số plugin, bao gồm giám sát MongoDB, truy vấn chậm MongoDB và giám sát tập bản sao MongoDB.MongoDB Monitoring, MongoDB Slow Queries, and MongoDB Replica Set Monitoring. |
Mật độ máy chủ | Bảng điều khiển cho các cảnh báo cụ thể của MongoDB, MongoDB, dòng thời gian chuyển đổi chuyển đổi sao chép và ứng dụng di động iPhone, iPad và Android., MongoDB specific alerts, replication failover timeline and iPhone, iPad and Android mobile apps. |
Quản lý hiệu suất ứng dụng | IBM có một sự cung cấp SaaS quản lý hiệu suất ứng dụng bao gồm Màn hình cho MongoDB và các ứng dụng và phần mềm trung gian khác. |
Thánh tích mới | New Relic cung cấp hỗ trợ đầy đủ cho quản lý hiệu suất ứng dụng. Ngoài ra, các plugin di tích mới và thông tin chi tiết cho phép bạn xem các số liệu giám sát từ Cloud Manager trong New Relic. |
DataDog | Giám sát cơ sở hạ tầng để trực quan hóa hiệu suất triển khai MongoDB của bạn. to visualize the performance of your MongoDB deployments. |
Giám sát hiệu suất SPM | Giám sát, phát hiện dị thường và cảnh báo SPM theo dõi tất cả các số liệu MongoDB chính cùng với cơ sở hạ tầng bao gồm. Docker và các số liệu ứng dụng khác, ví dụ: Node.js, java, nginx, apache, haproxy hoặc elaticsearch. SPM cung cấp mối tương quan của số liệu và nhật ký. SPM monitors all key MongoDB metrics together with infrastructure incl. Docker and other application metrics, e.g. Node.js, Java, NGINX, Apache, HAProxy or Elasticsearch. SPM provides correlation of metrics and logs. |
Pandora FMS | Pandora FMS cung cấp plugin theo dõi PandorAFMS-MongoDB để theo dõi MongoDB.PandoraFMS-mongodb-monitoring plugin to monitor MongoDB. |
Trong quá trình hoạt động bình thường, các trường hợp mongod
và
2017-06-09T13:35:23.446-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "clients", documents: [ { _id: ObjectId['593adc5b99001b7d119d0c97'], name: "Joe", PII: " Sensitive Information" } ], ordered: true } ...
9 báo cáo tài khoản trực tiếp của tất cả các hoạt động và hoạt động của máy chủ cho đầu ra tiêu chuẩn hoặc tệp nhật ký. Cài đặt thời gian chạy sau đây kiểm soát các tùy chọn này.
0. Giới hạn lượng thông tin được ghi vào nhật ký hoặc đầu ra.2017-06-09T13:45:18.599-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "###", documents: [ { _id: "###", name: "###", PII: "###" } ], ordered: "###" }
1. Tăng lượng thông tin được ghi vào nhật ký hoặc đầu ra. Bạn cũng có thể sửa đổi tính phân từ ghi nhật ký trong thời gian chạy với tham số2017-06-09T13:45:18.599-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "###", documents: [ { _id: "###", name: "###", PII: "###" } ], ordered: "###" }
2 hoặc phương thức2017-06-09T13:45:18.599-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "###", documents: [ { _id: "###", name: "###", PII: "###" } ], ordered: "###" }
3 trong shell.2017-06-09T13:45:18.599-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "###", documents: [ { _id: "###", name: "###", PII: "###" } ], ordered: "###" }
4. Cho phép đăng nhập vào một tệp, thay vì đầu ra tiêu chuẩn. Bạn phải chỉ định đường dẫn đầy đủ đến tệp nhật ký khi điều chỉnh cài đặt này.2017-06-09T13:45:18.599-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "###", documents: [ { _id: "###", name: "###", PII: "###" } ], ordered: "###" }
5. Thêm thông tin vào tệp nhật ký thay vì ghi đè tệp.2017-06-09T13:45:18.599-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "###", documents: [ { _id: "###", name: "###", PII: "###" } ], ordered: "###" }
Ghi chú
Bạn có thể chỉ định các hoạt động cấu hình này là các đối số dòng lệnh cho Mongod hoặc Mongos
Ví dụ:
mongod -v --logpath /var/log/mongodb/server1.log --logappend
Bắt đầu một phiên bản mongod
ở chế độ
2017-06-09T13:45:18.599-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "###", documents: [ { _id: "###", name: "###", PII: "###" } ], ordered: "###" }
7, nối dữ liệu vào tệp nhật ký tại 2017-06-09T13:45:18.599-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "###", documents: [ { _id: "###", name: "###", PII: "###" } ], ordered: "###" }
8.
Các lệnh cơ sở dữ liệu sau đây cũng ảnh hưởng đến việc ghi nhật ký:
9. Hiển thị các tin nhắn gần đây từ nhật ký quy trình2017-06-09T13:45:18.599-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "###", documents: [ { _id: "###", name: "###", PII: "###" } ], ordered: "###" } mongod
.
1. Chỉ xoay các tệp nhật ký cho các quy trìnhuse config db.locks.find[] mongod
. Xem các tệp nhật ký xoay.
Chỉ có sẵn trong MongoDB Enterprise
A mongod
chạy với
use config db.locks.find[]
4 REBRACTS các tin nhắn được liên kết với bất kỳ sự kiện nhật ký nào trước khi đăng nhập, chỉ để lại siêu dữ liệu, tệp nguồn hoặc số dòng liên quan đến sự kiện. use config db.locks.find[]
4 ngăn chặn thông tin có khả năng nhạy cảm khi nhập nhật ký hệ thống với chi phí chi tiết chẩn đoán.Ví dụ: thao tác sau đây chèn một tài liệu vào mongod
đang chạy mà không cần phân phối lại. mongod
đã được đặt thành
use config db.locks.find[]
9:db.clients.insertOne[ { "name" : "Joe", "PII" : "Sensitive Information" } ]
Hoạt động này tạo ra sự kiện nhật ký sau:
2017-06-09T13:35:23.446-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "clients", documents: [ { _id: ObjectId['593adc5b99001b7d119d0c97'], name: "Joe", PII: " Sensitive Information" } ], ordered: true } ...
A mongod
chạy với
use config db.locks.find[]
4 thực hiện cùng một thao tác chèn tạo ra sự kiện nhật ký sau:2017-06-09T13:45:18.599-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "###", documents: [ { _id: "###", name: "###", PII: "###" } ], ordered: "###" }
Sử dụng
db.locks.find[ { _id : "balancer" } ]
2 kết hợp với mã hóa ở phần còn lại và TLS/SSL [mã hóa vận chuyển] để hỗ trợ tuân thủ các yêu cầu quy định.Khi bạn phát triển và vận hành các ứng dụng với MongoDB, bạn có thể muốn phân tích hiệu suất của cơ sở dữ liệu dưới dạng ứng dụng. Hiệu suất MongoDB thảo luận về một số yếu tố hoạt động có thể ảnh hưởng đến hiệu suất.
Ngoài các yêu cầu giám sát cơ bản cho bất kỳ phiên bản MongoDB nào, đối với các bộ bản sao, quản trị viên phải giám sát độ trễ sao chép. "Độ trễ sao chép" đề cập đến lượng thời gian cần thiết để sao chép [tức là sao chép] một thao tác ghi trên sơ cấp thành thứ cấp. Một số giai đoạn chậm trễ nhỏ có thể được chấp nhận, nhưng các vấn đề quan trọng xuất hiện khi độ trễ sao chép tăng lên, bao gồm:
Tăng áp lực bộ nhớ cache trên chính.
Các hoạt động xảy ra trong thời gian trễ không được sao chép thành một hoặc nhiều thứ hai. Nếu bạn đang sử dụng sao chép để đảm bảo sự tồn tại của dữ liệu, độ trễ đặc biệt dài có thể ảnh hưởng đến tính toàn vẹn của tập dữ liệu của bạn.
Nếu độ trễ sao chép vượt quá độ dài của nhật ký hoạt động [OPLOG] thì MongoDB sẽ phải thực hiện đồng bộ hóa ban đầu trên thứ cấp, sao chép tất cả dữ liệu từ chính và xây dựng lại tất cả các chỉ mục. .
Ghi chú
Kích thước của oplog chỉ có thể định cấu hình trong lần chạy đầu tiên bằng đối số
3 cho lệnhdb.locks.find[ { _id : "balancer" } ]
mongod
hoặc tốt nhất là cài đặt
5 trong tệp cấu hình MongoDB. Nếu bạn không chỉ định điều này trên dòng lệnh trước khi chạy với tùy chọndb.locks.find[ { _id : "balancer" } ]
6,db.locks.find[ { _id : "balancer" } ]
mongod
sẽ tạo ra một oplog có kích thước mặc định.Theo mặc định, OPLOG là 5 phần trăm tổng dung lượng đĩa có sẵn trên các hệ thống 64 bit. Để biết thêm thông tin về việc thay đổi kích thước oplog, hãy xem thay đổi kích thước của oplog.
Bắt đầu từ MongoDB 4.2, quản trị viên có thể giới hạn tốc độ chính áp dụng chính của nó với mục tiêu giữ độ trễ
db.locks.find[ { _id : "balancer" } ]
8 theo giá trị tối đa có thể định cấu hình db.locks.find[ { _id : "balancer" } ]
9Theo mặc định, điều khiển dòng chảy là db.enableFreeMonitoring[]
0
Ghi chú
Kích thước của oplog chỉ có thể định cấu hình trong lần chạy đầu tiên bằng đối số
db.locks.find[ { _id : "balancer" } ]
3 cho lệnh mongod
hoặc tốt nhất là cài đặt db.locks.find[ { _id : "balancer" } ]
5 trong tệp cấu hình MongoDB. Nếu bạn không chỉ định điều này trên dòng lệnh trước khi chạy với tùy chọn db.locks.find[ { _id : "balancer" } ]
6, mongod
sẽ tạo ra một oplog có kích thước mặc định.Theo mặc định, OPLOG là 5 phần trăm tổng dung lượng đĩa có sẵn trên các hệ thống 64 bit. Để biết thêm thông tin về việc thay đổi kích thước oplog, hãy xem thay đổi kích thước của oplog.
Bắt đầu từ MongoDB 4.2, quản trị viên có thể giới hạn tốc độ chính áp dụng chính của nó với mục tiêu giữ độ trễ
db.locks.find[ { _id : "balancer" } ]
8 theo giá trị tối đa có thể định cấu hình db.locks.find[ { _id : "balancer" } ]
9Theo mặc định, điều khiển dòng chảy là db.enableFreeMonitoring[]
0
Ghi chú
Kích thước của oplog chỉ có thể định cấu hình trong lần chạy đầu tiên bằng đối số
db.locks.find[ { _id : "balancer" } ]
3 cho lệnh mongod
hoặc tốt nhất là cài đặt db.locks.find[ { _id : "balancer" } ]
5 trong tệp cấu hình MongoDB. Nếu bạn không chỉ định điều này trên dòng lệnh trước khi chạy với tùy chọn db.locks.find[ { _id : "balancer" } ]
6, mongod
sẽ tạo ra một oplog có kích thước mặc định.Theo mặc định, OPLOG là 5 phần trăm tổng dung lượng đĩa có sẵn trên các hệ thống 64 bit. Để biết thêm thông tin về việc thay đổi kích thước oplog, hãy xem thay đổi kích thước của oplog.
Bắt đầu từ MongoDB 4.2, quản trị viên có thể giới hạn tốc độ chính áp dụng chính của nó với mục tiêu giữ độ trễ
8 theo giá trị tối đa có thể định cấu hìnhdb.locks.find[ { _id : "balancer" } ]
9db.locks.find[ { _id : "balancer" } ]
Theo mặc định, điều khiển dòng chảy là
db.enableFreeMonitoring[]
0Để điều khiển dòng chảy tham gia, cụm sao chép/phân chia phải có: featureCompitionVersion [FCV] của
db.enableFreeMonitoring[]
1 và đọc lo ngạidb.enableFreeMonitoring[]
2. Nghĩa là, điều khiển dòng được kích hoạt không có hiệu lực nếu FCV không phải làdb.enableFreeMonitoring[]
1 hoặc nếu đọc phần lớn mối quan tâm bị vô hiệu hóa.Xem thêm: Kiểm tra độ trễ sao chép.
Các vấn đề sao chép thường là kết quả của các vấn đề kết nối mạng giữa các thành viên hoặc kết quả của một chính không có tài nguyên để hỗ trợ lưu lượng truy cập ứng dụng và sao chép. Để kiểm tra trạng thái của bản sao, hãy sử dụng
6 hoặc người trợ giúp sau trong vỏ:2017-06-09T13:35:23.446-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "clients", documents: [ { _id: ObjectId['593adc5b99001b7d119d0c97'], name: "Joe", PII: " Sensitive Information" } ], ordered: true } ... Tham chiếu
6 cung cấp một cái nhìn tổng quan sâu hơn về đầu ra này. Nói chung, hãy xem giá trị của2017-06-09T13:35:23.446-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "clients", documents: [ { _id: ObjectId['593adc5b99001b7d119d0c97'], name: "Joe", PII: " Sensitive Information" } ], ordered: true } ... db.enableFreeMonitoring[]
6 và đặc biệt chú ý đến chênh lệch thời gian giữa các thành viên chính và thành viên phụ.
Bắt đầu từ Phiên bản 4.2 [cũng có sẵn bắt đầu từ 4.0.6], các thành viên phụ của một bộ bản sao hiện các mục OPLOG đã mất nhiều thời gian hơn so với ngưỡng hoạt động chậm để áp dụng. Những thông điệp oplog chậm này:
Được đăng nhập cho các thứ hai trong db.enableFreeMonitoring[]
7
Được ghi lại dưới thành phần db.enableFreeMonitoring[]
8 với văn bản db.enableFreeMonitoring[]
9.
Không phụ thuộc vào các mức nhật ký [ở cấp hệ thống hoặc thành phần]
Không phụ thuộc vào mức độ hồ sơ.
Có thể bị ảnh hưởng bởi db.disableFreeMonitoring[]
0, tùy thuộc vào phiên bản MongoDB của bạn:
Bởi vì các máy chủ cấu hình không thể truy cập có thể ảnh hưởng nghiêm trọng đến tính khả dụng của cụm bị che khuất, bạn nên giám sát các máy chủ cấu hình của mình để đảm bảo rằng cụm vẫn được cân bằng tốt và các trường hợp ____39 có thể khởi động lại.
MongoDB Cloud Manager và OPS Trình quản lý máy chủ cấu hình giám sát và có thể tạo thông báo nếu máy chủ cấu hình không thể truy cập được. Xem Tài liệu Trình quản lý đám mây MongoDB và tài liệu Trình quản lý OPS để biết thêm thông tin. and Ops Manager monitor config servers and can create notifications if a config server becomes inaccessible. See the MongoDB Cloud Manager documentation and Ops Manager documentation for more information.
Các triển khai phân cụm hiệu quả nhất cân bằng các khối cân bằng giữa các mảnh vỡ. Để tạo điều kiện cho điều này, MongoDB có một quy trình cân bằng nền, phân phối dữ liệu để đảm bảo rằng các khối luôn được phân phối tối ưu giữa các mảnh vỡ.
Phát hành lệnh db.disableFreeMonitoring[]
6 hoặc db.disableFreeMonitoring[]
7 cho
2017-06-09T13:35:23.446-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "clients", documents: [ { _id: ObjectId['593adc5b99001b7d119d0c97'], name: "Joe", PII: " Sensitive Information" } ], ordered: true } ...
9 từ trong vòng db.disableFreeMonitoring[]
9. Điều này trả về một cái nhìn tổng quan về toàn bộ cụm bao gồm tên cơ sở dữ liệu và danh sách các khối.db.disableFreeMonitoring[]
9. This returns an overview of the entire cluster including the database name, and a list of the chunks.Để kiểm tra trạng thái khóa của cơ sở dữ liệu, hãy kết nối với phiên bản
2017-06-09T13:35:23.446-04:00 I COMMAND [conn1] command internal.clients appName: "MongoDB Shell" command: insert { insert: "clients", documents: [ { _id: ObjectId['593adc5b99001b7d119d0c97'], name: "Joe", PII: " Sensitive Information" } ], ordered: true } ...
9 bằng db.disableFreeMonitoring[]
9. Phát hành chuỗi lệnh sau để chuyển sang cơ sở dữ liệu mongod
2 và hiển thị tất cả các khóa nổi bật trên cơ sở dữ liệu Shard:db.disableFreeMonitoring[]
9. Issue the following command sequence to switch to the mongod
2 database and display all outstanding locks on the shard database:use config db.locks.find[]
Quá trình cân bằng có một khóa "cân bằng" đặc biệt ngăn chặn hoạt động cân bằng khác xuất hiện. Trong cơ sở dữ liệu mongod
2, sử dụng lệnh sau để xem khóa "Balancer".
db.locks.find[ { _id : "balancer" } ]
Đã thay đổi trong phiên bản 3.4: Bắt đầu từ 3.4, chính của máy chủ CSRS Cấu hình giữ khóa "Balancer", sử dụng ID quy trình có tên là "ConfigServer". Khóa này không bao giờ được phát hành. Để xác định xem bộ cân bằng đang chạy, hãy xem Kiểm tra xem Balancer có chạy không.
Ghi chú
Bắt đầu từ MongoDB 4.2, Watchdog nút lưu trữ có sẵn trong cả phiên bản cộng đồng và MongoDB Enterprise.Storage Node Watchdog is available in both the Community and MongoDB Enterprise editions.
Trong các phiên bản trước đó [3.2.16+, 3.4.7+, 3.6.0+, 4.0.0+], Watchdog nút lưu trữ chỉ có sẵn trong phiên bản doanh nghiệp MongoDB.Storage Node Watchdog is only available in MongoDB Enterprise edition.
Cơ quan giám sát nút lưu trữ theo dõi các thư mục MongoDB sau đây để phát hiện sự không phản hồi của hệ thống tập tin:
Thư mục
mongod
4Thư mục
mongod
5 bên trong thư mụcmongod
4 nếumongod
7 được bậtThư mục của tệp
mongod
8Thư mục của tệp
mongod
9
Theo mặc định, Watchdog nút lưu trữ bị vô hiệu hóa. Bạn chỉ có thể bật Watchdog nút lưu trữ trên mongod
tại thời điểm khởi động bằng cách đặt tham số ____101 thành một số nguyên lớn hơn hoặc bằng 60. Tuy nhiên, sau khi được bật, bạn có thể tạm dừng WatchDog nút lưu trữ và khởi động lại trong thời gian chạy. Xem tham số
mongod -v --logpath /var/log/mongodb/server1.log --logappend
01 để biết chi tiết.Nếu bất kỳ hệ thống tập tin nào chứa các thư mục được giám sát trở nên không phản hồi, cơ quan giám sát nút lưu trữ sẽ chấm dứt mongod
và thoát với mã trạng thái là 61. sơ đẳng.
Khi mongod
đã chấm dứt, có thể không thể khởi động lại nó trên cùng một máy.
Ghi chú
Bắt đầu từ MongoDB 4.2, Watchdog nút lưu trữ có sẵn trong cả phiên bản cộng đồng và MongoDB Enterprise.
Trong các phiên bản trước đó [3.2.16+, 3.4.7+, 3.6.0+, 4.0.0+], Watchdog nút lưu trữ chỉ có sẵn trong phiên bản doanh nghiệp MongoDB.
Cơ quan giám sát nút lưu trữ theo dõi các thư mục MongoDB sau đây để phát hiện sự không phản hồi của hệ thống tập tin:
Thư mục mongod
4