riclolsen / json-scada

A portable and scalable SCADA/IIoT-I4.0/Gateway platform centered on the MongoDB database server.
https://riclolsen.github.io/json-scada/
GNU General Public License v3.0
292 stars 79 forks source link

MongoDB monitoring with Netdata #5

Closed joyshmitz closed 3 years ago

joyshmitz commented 3 years ago

set up an alternative to pmm in the form of a netdate, you can look at publiс lab link the state of mongodb local can be viewed by selecting in the menu from the right, the rest of the services are basic by default

still testing several solutions

Monitors performance and health metrics of MongoDB.

Number of charts depends on mongodb version, storage engine and other features (replication):

  1. Read requests:

    • query
    • getmore (operation the cursor executes to get additional data from query)
  2. Write requests:

    • insert
    • delete
    • update
  3. Active clients:

    • readers (number of clients with read operations in progress or queued)
    • writers (number of clients with write operations in progress or queued)
  4. Journal transactions:

    • commits (count of transactions that have been written to the journal)
  5. Data written to the journal:

    • volume (volume of data)
  6. Background flush (MMAPv1):

    • average ms (average time taken by flushes to execute)
    • last ms (time taken by the last flush)
  7. Read tickets (WiredTiger):

    • in use (number of read tickets in use)
    • available (number of available read tickets remaining)
  8. Write tickets (WiredTiger):

    • in use (number of write tickets in use)
    • available (number of available write tickets remaining)
  9. Cursors:

  1. Connections:

    • connected (number of clients currently connected to the database server)
    • unused (number of unused connections available for new clients)
  2. Memory usage metrics:

    • virtual
    • resident (amount of memory used by the database process)
    • mapped
    • non mapped
  3. Page faults:

    • page faults (number of times MongoDB had to request from disk)
  4. Cache metrics (WiredTiger):

    • percentage of bytes currently in the cache (amount of space taken by cached data)
    • percantage of tracked dirty bytes in the cache (amount of space taken by dirty data)
  5. Pages evicted from cache (WiredTiger):

    • modified
    • unmodified
  6. Queued requests:

    • readers (number of read request currently queued)
    • writers (number of write request currently queued)
  7. Errors:

    • msg (number of message assertions raised)
    • warning (number of warning assertions raised)
    • regular (number of regular assertions raised)
    • user (number of assertions corresponding to errors generated by users)
  8. Storage metrics (one chart for every database)

    • dataSize (size of all documents + padding in the database)
    • indexSize (size of all indexes in the database)
    • storageSize (size of all extents in the database)
  9. Documents in the database (one chart for all databases)

  1. tcmalloc metrics

    • central cache free
    • current total thread cache
    • pageheap free
    • pageheap unmapped
    • thread cache free
    • transfer cache free
    • heap size
  2. Commands total/failed rate

    • count
    • createIndex
    • delete
    • eval
    • findAndModify
    • insert
  3. Locks metrics (acquireCount metrics - number of times the lock was acquired in the specified mode)

    • Global lock
    • Database lock
    • Collection lock
    • Metadata lock
    • oplog lock
  4. Replica set members state

    • state
  5. Oplog window

    • window (interval of time between the oldest and the latest entries in the oplog)
  6. Replication lag

    • member (time when last entry from the oplog was applied for every member)
  7. Replication set member heartbeat latency

    • member (time when last heartbeat was received from replica set member)
joyshmitz commented 3 years ago

scad here pmm here admin:jsonscada test options, I consult with you as an author your comments are important to me

riclolsen commented 3 years ago

Hi, Both options are excellent. Netdata is amazing. JSON:SCADA is designed for scaling, so monitoring performance is crucial. Detailed information about MongoDB is very important, Netdata is doing a nice job here. Also, I am curious about the Percona MongoDB server that has an in-memory engine, I have to try it. For some applications with a big number of protocol connections, this can be a nice option. The pmm mongodb section is not being updated for some reason.

joyshmitz commented 3 years ago

HI, PMM is in development and is more preferable in my opinion, within a week - two we will finish it to merge with the main docker composer to deploy in one click. By the way, I also like mongodb perkona more, an excellent product for testing, the main mongodb strives to satisfy a wide range of needs, and perkona, in my opinion, represents the "need of engineers in the field"