IBMStreams / streamsx.monitoring

The com.ibm.streamsx.monitoring toolkit provides capabilities to create applications that monitor IBM Streams and its applications.
https://ibmstreams.github.io/streamsx.monitoring/
Other
5 stars 5 forks source link

Make monitoring another service easy. #123

Closed ddebrunner closed 5 years ago

ddebrunner commented 6 years ago

I wanted to executeMetricsIngestService microservice in Streaming Analytics service M to monitor all the metrics for all the jobs in Streaming Analytics service P. Thus separating my monitoring microservices from any production jobs/microservices.

I thought I could do this without having to specify a filter document since the jmx source operators default to a filter document that includes everything.

However, when not running standalone the "everything" filter document includes an instance id filter using the instance where the JMX source is running, in this case M. Thus no metrics are seen from P.

I think this is a common issue for JobSource and MetricSource.

ddebrunner commented 6 years ago

One possible solution is to allow the instanceId to be set in the same way as the domainId is set, or maybe allow a instanceIdFilter to be set.

Or maybe SPL functions that create a everything filter doc with an instance filter.

Just seems a shame I have to manually create the everything filter document just because I want a single instance from a domain.

ddebrunner commented 6 years ago

Note in this case my M and P happened to have the same domain, but they could be in different domains.

ddebrunner commented 6 years ago

Another solution is to default to monitor all instances, it's not clear anyway why standalone by default monitors a single instance, while distributed only monitors a single instance.

markheger commented 5 years ago

InstanceIdFilter param introduced default .* (monitor all instances)