Replies

Hi David,
Thanks -) Regarding a meaning - it's taken from mgstat source-code (%SYS, routine mgstat.int).
Starting point was a line 159 in my local Cache 2017.1:

i maxeccon s estats=$p($system.ECP.GetProperty("ClientStats"),",",1,21),array($i(i))=+$system.ECP.NumClientConnections(),array($i(i))=$p(estats,",",2),array($i(i))=$p(estats,",",6),array($i(i))=$p(estats,",",7),array($i(i))=$p(estats,",",19),array($i(i))=$p(estats,",",20)


Then I guessed a meaning from a subroutine "heading" (line 289).

But the best option for you, I think, is to ask WRC. Support is very good.

Metrics in this approach are stored in Prometheus. As Prometheus is time-series database, you can store any numeric metric there either counter or gauge.

@Arto Alatalo At that time i've used Prometheus as a central monitoring system for hosts, services and Cache as well.
Also Simple JSON plugin should be improved to provide similar to Prometheus/Grafana functionality, at least at that moment  I've looked at it last time.

Hi!
Unfortunately, I didn't have cases with Solaris, so I'll answer in style RTFM -)
An official InterSystems documentation says:

Many UNIX operating systems (HP-UX, IBM AIX®, and Oracle Solaris) do not support the AgentX protocol at this time. If your system does not support AgentX, you must install a separate SNMP agent which supports AgentX, such as Net-SNMP.
Note:
On Oracle Solaris, the System Management Agent (SMA), although a version of NET-SNMP, is not compatible with the Cache AgentX implementation. You will therefore need to disable the SMA agent (and possibly the older snmpdx agent as well) and install a standard version of NET-SNMP to support AgentX.

You can read more about SNMP support on Solaris here

Hi, Murray! Thanks for an answer!

Yes, that article is brilliant. And I was inspired to monitor as much as we can about Cache memory usage from inside Cache, because it will give us the opportunity to have one "monitoring" class (with a lot of API calls) to gather many Cache-connected metrics. Of course, a lot of metrics we should gather from OS as well.
Ok, let HugePages usage to be an OS-metrics.

Best regards!

Hi, Alexey! Thanks! What about your question: I think, in that case we should:

1) run mgstat continuously

2) parse file.

Although both of these steps are not difficult, a REST-interface enables us to merge them in one step when we run class in that time we want. Besides we can always extend our metrics set. For example, it's worth to add monitoring of databases sizes as well as Mirroring, Shadowing etc. 

mgstat.int uses such approach (in this case, for class %SYSTEM.CPU):

if $D(^oddDEF("%SYSTEM.CPU")) {
        ...
    }