3. Viewing Geode Metrics Before Now
● Internal metrics written to a local file in a
proprietary format
○ Viewable with a custom viewing tool
○ Generally viewed after the events
happened
● A subset published via JMX
3
4. Micrometer in Geode
4
● Make key metrics visible in external
monitoring systems
● View metrics while the system is running
● Augment metrics with details to aid
understanding
6. Connecting to Monitoring Systems
6
Geode
Internal Meter
Registry
Meter Registry
Implementation
Monitoring
System
7. Connecting to Monitoring Systems
7
● Chose a Micrometer meter registry
implementation that publishes to your
monitoring system
○ For a list of implementations, see:
http://micrometer.io/docs
● Create a MetricsPublishingService that adds
your registry to Geode
8. Live View of Metrics
8
Client
Locator
Server
External Monitoring
System
Storage
Visualization
10. 10
How Geode Records Measurements
● Uses Micrometer meters to record
measurements
○ eventsReceivedCounter.increment(delta);
● Collects the meters in its meter registry
15. 15
Tags
● AKA labels or dimensions
● Identify the scope, circumstances, or other
facts about each measurement
● Allow us to filter and sort measurements
19. Tags in Geode Meters
● Geode adds common tags to every meter
○ Member
○ Cluster
○ Host
● Geode also adds relevant tags specific to
each meter
○ E.g. geode.cache.entries has a region tag
19
25. The Future Depends on You
● Send Geode’s metrics to your favorite
monitoring system
● What works well for you?
● What additional metrics would best help you
manage your Geode systems?
25
26. For Further Information
● Micrometer: http://micrometer.io/
● Prometheus: https://prometheus.io
● Grafana: https://grafana.com
● Publishing Geode Metrics to External Monitoring Systems:
https://cwiki.apache.org/confluence/display/GEODE/Publishi
ng+Geode+Metrics+to+External+Monitoring+Systems
● Example code to publish metrics to Prometheus:
https://github.com/moleske/geode-registry-example
26
Notes de l'éditeur
An open source metrics instrumentation library. (slf4j)
Add “dimensions” to meters to allow viewing data from multiple angles. (Metadata?)
- Allows us to make Geode metrics available to a wide variety of monitoring systems.
- With additional details that makes the metrics easier to analyze (sort, select, filter, correlate).
To understand how the metrics flow out of your Geode cluster...
Internally, Geode stores measurements in a central repository called a meter registry.
This meter registry stores the measurements, but does not… all by itself… publish them.
Because we don’t know what monitoring system you will use…
… we provide a plugin mechanism
Your registry
… for you to connect Geode’s metrics to the monitoring system of your choice
Prometheus
Datadog
Wavefront
New Relic
Influx
JMX
With Micrometer, you make measurements using an instrument called a “meter.”
Each meter carries several pieces of information.
The name identifies the kind the quantity being measured.
A meter can also have one or more tags, which provide additional details about the measurement.
Let’s take a look at some meters.
With Micrometer, you make measurements using an instrument called a “meter.”
Each meter carries several pieces of information.
The name identifies the kind the quantity being measured.
A meter can also have one or more tags, which provide additional details about the measurement.
Let’s take a look at some meters.
With Micrometer, you make measurements using an instrument called a “meter.”
Each meter carries several pieces of information.
The name identifies the kind the quantity being measured.
A meter can also have one or more tags, which provide additional details about the measurement.
Let’s take a look at some meters.
And we are currently working to add more meters.
This noisy graph shows the jvm.memory.used over the course of 11 minutes in a single Geode cluster.
There are 24 different lines on this graph.
24 different meters.
Each one is a jvm.memory.used meter.
Each meter reports the amount of some kind of memory used somewhere in this Geode cluster.
Why are there 24 meters?
To answer that, we need to understand another key feature of micrometer meters: Tags.
A tag expresses some fact about the measurements made by a given meter
the scope of the measurements
the circumstances under which the measurements are made
some other fact that adds meaning to the measurements
A meter is identified not just by its name, but by its name and its tags.
So why are there 24 meters, all with the same name?
Because each meter has a different combination of tags. A meter is identified by its name and its tags.
Let’s take a look one meter, and see what the tags tell us about the measurement it reports.
The member tag…
The area tag…
The id tag…
Now we can use these tags to filter the meters.
We can filter by selecting one of the values of the id tag, for example, to focus on what is happening in Eden Space on each member of the cluster.
Using the tags in Geode’s meters, you can now drill down into exactly the data you’re most interested in.
Geode adds several tags to every meter.
So you can focus on what is happening
… on a single member
… in a single cluster …
… on a single host …
In addition to these common tags, Geode adds relevant tags to each meter it defines.
So that’s the information that Meters provide, and a little about what you can do with the information.
Now let’s look at a sample scenario, and see what meters can show us about what’s happening inside a Geode cluster.
We can use multiple meters to get a deeper sense of what is happening in the system.
With the addition of Micrometer, Geode now makes these metrics available for you to view in a wide variety of external monitoring systems.
Using these metrics, you can create a dashboard to monitor your Geode system in real time.