MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Cách theo dõi các yêu cầu MongoDB từ một ứng dụng bảng điều khiển

Tôi không quen thuộc với MongoDB nhưng theo như tôi có thể biết thì không có hỗ trợ mặc định nào cho nó khi nói đến Thông tin chi tiết về ứng dụng. Nhưng điều đó không có nghĩa là bạn không thể làm điều này, nó sẽ chỉ liên quan đến một số mã khác.

Một lần nữa, tôi không quen thuộc với MongoDB nhưng theo http ://www.mattburkedev.com/logging-queries-from-mongodb-c-number-driver/ có hỗ trợ tích hợp để ghi nhật ký các truy vấn đã tạo. Bây giờ, chúng tôi chỉ cần kết nối điều này với Thông tin chi tiết về ứng dụng.

Vì bạn đã biết cách sử dụng TelemetryClient chúng ta có thể sử dụng các phương pháp theo dõi tùy chỉnh do lớp đó cung cấp. Xem https:// docs.microsoft.com/nl-nl/azure/application-insights/app-insights-api-custom-events-metrics cho các phương pháp theo dõi tùy chỉnh có sẵn.

Tất cả những gì bạn cần làm là chèn một số mã như sau:

telemetryClient.TrackDependency(
    "MongoDB",               // The name of the dependency
    query,                   // Text of the query
    DateTime.Now,            // Time that query is executed
    TimeSpan.FromSeconds(0), // Time taken to execute query
    true);                   // Indicates success

Lớp telemetryClient an toàn cho chuỗi nên bạn có thể sử dụng lại.

Bây giờ, theo bài đăng trên blog được tham chiếu, bạn sẽ có thể làm điều gì đó như sau:

var client = new MongoClient(new MongoClientSettings()
{
    Server = new MongoServerAddress("localhost"),
    ClusterConfigurator = cb =>
    {
        cb.Subscribe<CommandStartedEvent>(e =>
        {
            telemetryClient.TrackDependency(
                "MongoDB",               // The name of the dependency
                e.Command.ToJson()       // Text of the query
                DateTime.Now,            // Time that query is executed
                TimeSpan.FromSeconds(0), // Time taken to execute query
                true);                   // Indicates success
        });
    }
});

Một lần nữa, tôi không quen thuộc với MongoDB nhưng tôi hy vọng đây là điểm khởi đầu cho trí tưởng tượng của bạn về cách điều chỉnh nó theo nhu cầu của bạn bằng cách sử dụng kiến ​​thức của bạn về MongoDB.

CHỈNH SỬA:

Nếu cũng có CommandCompletedEvent hoặc sự kiện tương tự trái ngược với CommandStartedEvent sự kiện, bạn có thể nên theo dõi sự phụ thuộc ở đó vì khi đó bạn sẽ có thể tính toán (hoặc đọc đơn giản) thời gian đã sử dụng và có thể nhận được giá trị thực tế cho chỉ báo thành công.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Gửi truy vấn MongoDB đến một hệ thống khác:chuyển đổi thành JSON và sau đó giải mã thành BSON? Làm thế nào để làm điều đó trong ngôn ngữ cờ vây?

  2. lựa chọn biểu mẫu symfony2 và mongodb

  3. MongoDB - Tổng hợp

  4. Tính toán phái sinh bậc nhất với khung tổng hợp MongoDB

  5. PyMongo và Flask's Jsonify chứa các dấu gạch chéo