Yep! Indeed it's Groovy script snippets.
I also find "lm.emit" as well as "lm.debug" in at least one of the new DataSources for Puppet monitoring.
Example: Puppet_Server_JRuby_Statistics lmLocator: TPG9RX
// Collector version 30.000 or higher required for script snippets
def modLoader
try {
modLoader = new GroovyShell(getBinding()).parse(com.logicmonitor.mod.Snippets.getLoader())
}
catch (ClassNotFoundException|MissingPropertyException ignored) {
println "Update collector to version 30.000 or higher for this DataSource."
return 1
}
def lmEmit = modLoader.load("lm.emit", "0") // Load LM emit module
def lmDebug = modLoader.load("lm.debug", "0") // Load LM debug module
Then the collect is so simple and elegant....
// Check if status-code is found, if so, convert to raw numeric value.
if (statusCodes){
lmEmit.dp(k,statusCodes)
} else {
// print rest of the metrics.
lmEmit.dp(k,v)
}
So beautiful! It's going to be hard to wait for the docs!!
?