SlideShare a Scribd company logo
Visualize and Analyze Apache
Geode Real-time and Historical
Metrics
Christian Tzolov
Software Engineer, Spring Cloud
ASF, Apache Committer, PMC member
Disclaimer
The following is intended to outline the general direction of Pivotal's offerings. It is
intended for information purposes only and may not be incorporated into any
contract. Any information regarding pre-release of Pivotal offerings, future updates
or other planned modifications is subject to ongoing evaluation by Pivotal and is
subject to change. This information is provided without warranty or any kind, express
or implied, and is not a commitment to deliver any material, code, or functionality,
and should not be relied upon in making purchasing decisions regarding Pivotal's
offerings. These purchasing decisions should only be based on features currently
available. The development, release, and timing of any features or functionality
described for Pivotal's offerings in this presentation remain at the sole discretion of
Pivotal. Pivotal has no obligation to update forward looking information in this
presentation.
Apache Geode / GemFire
“… in-memory, distributed database
with strong consistency built to
support low latency transactional
applications at extreme scale”
Geode Metrics
Geode Cluster
Run-Time Statistics
Historical Statistics
Visualization
(VSD)
Monitoring,
Visualization,
Alerts (JMX)
Geode Metrics Unified
Geode Cluster
Run-Time Statistics
Historical Statistics
Monitoring,
Visualization,
Alerts
Monitor What?
Cache Server
Region A
Region X
ValKe
y
v1k1
v2k2
…
Region - consistent, distributed Map (key-value) dataset
CacheServer – process managing Regions
Client
Locator
Client –read and modify Region content
Locator – track membership information
Cache Server 1
Region ARegion A’
Region B’
Region X’
Cache Server N
Region ARegion A’’’’
Region B’’’
Region X’’’
Cache Server 2
Region ARegion A’’
Region B’’
Region X’’
Federated MBean Architecture
Locator 1
Distributed System
Distributed Region
Member
GemFire:type=Distributed,
service=Region,name=<regionName>
GemFire:type=Distributed,service=System
GemFire:type=Member,
member=<name-or-dist-member-id>
Notifications
gemfire.distributedsystem.cache.member.departed
gemfire.distributedsystem.cache.member.joined
gemfire.distributedsystem.cache.region.created
gemfire.distributedsystem.cache.region.closed
https://gemfire.docs.pivotal.io/geode/managing/management/mbean_architecture.html
network
JMX Manager - Single-agent view of the Distributed System
JMX Manager
MBeanServer MBeanServer MBeanServer
Geode JMX Metrics
Geode Pulse
•  Cluster View
•  Member View
•  Region View
•  Alerts Widget
https://gemfire.docs.pivotal.io/geode/tools_modules/pulse/pulse-views.html
Beyond Pulse
•  Extensibility
•  Customized Views and Alerts
•  Compare metrics between Members or Regions
•  Integrate with 3rd party monitoring tools
TSDB and Grafana Architecture
JMX to TSDB
Loader
Grafana
TSDB
Geode Cluster
JMX Manager
Grafana
Open platform for Analytics and Monitoring
•  Data Sources
•  Panels
•  Dashboards
Time Series Database (TSDB)
•  Real-time process/store of time-series data
•  Data is larger than memory
•  Storage per data point efficiency
•  Sequential, ordered per series reads
•  Write mostly (95%)
•  Data is larger than memory
•  Storage efficiency - few bytes of storage per data point
•  OSS TSDB: InfluxDB, Open TSDB, Prometheus, …
https://en.wikipedia.org/wiki/Time_series_database
JMX to InfluxDB Mapping
+ name
+ timestamp
Measurement
+ name
+ value
Field
+ name
+ value
Tag
(Indexed)
(not-Indexed)
{region : Zips}
….
+ avgBucketSize
+ entrySize
+ memberCount
…
MemberMBean
+ avgBucketSize
+ entrySize
+ memberCount
…
DistributedSystemMBean
{region : Zips}
….
+ avgBucketSize
+ entrySize
+ memberCount
…
DistributedRegionMBean
GemFire:service=Region,name=/Zips,type=Distributed
Influx Data Model Geode MBean Model
JMX to Grafana
Geode Cluster
JMX to Grafana
Grafana
InfluxDBJMX Manager
java -jar ./jmx-to-grafana-0.0.2-SNAPSHOT.jar
--mbeanHostName=localhost
--mbeanPort=1099
--influxUrl=http://localhost:8086
--influxDatabaseName=GeodeJmx
--cronExpression="0 0/1 * * * ?"
docker run -d --name grafana -p 3000:3000 grafana/grafana
docker run -d --name influxdb -p 8086:8086 influxdb
JMX to Grafana Tookit
https://github.com/tzolov/geode-dashboard
Dashboard Library
Cluster View
Members View
Combined
Members View
Region View
Apache Geode Metrics
Geode Cluster
Run-Time Statistics
Historical Statistics
Monitoring,
Visualization,
Alerts
Geode Statistics Archive
•  Statistics Collected per Member
•  Local Archive Files
•  Build-in Statistics
•  Runtime (peer per node, clients, data entities,…)
•  Resources (memory, cpu, descriptors, system load,…)
•  Operations Throughput (Cache, Disk,…)
•  …
•  Application-Defined Statistics
http://gemfire.docs.pivotal.io/gemfire/tools_modules/vsd/vsd_useful_statistics.html
Viewing Archived Statistics
•  The Visual Statistics Display (VSD)
•  Guide to Useful Statistics:
http://gemfire.docs.pivotal.io/gemfire/
tools_modules/vsd/vsd_useful_statistics.html
Geode Cluster
Locator 1
CacheServer 1
CacheServer N
…
Statistics to Grafana Architecture
Grafana
InfluxDB
A
A
A
Statistics To
Grafana
Statistic to InfluxDB Mapping
+ name
+ timestamp
Measurement
+ name
+ value
Field
+ name
+ value
Tag
(Indexed)
(not-Indexed)
InfluxDataModel
GeodeStatisticArchive
+ name
+ type
+ sampleCount
Resource Instance
Statistics Archive
Instances
*
+ descriptor.name
+ timestampls:long[]
+ rawSnapshot:double[]
StatValue
values
*
Geode Cluster
Locator 1
CacheServer 1
CacheServer N
…
Statistics to Grafana Architecture
Grafana
InfluxDB
A
A
A
Statistics To
Grafana
java -jar ./statistics-to-grafana-0.0.2-SNAPSHOT.jar
--influxUrl=http://localhost:8086
--influxDatabaseName=GeodeArchive
--geodeMemberName=server1
--archiveFile=server1ArchiveFile.gfs
statistic-sampling-enabled=true
statistic-archive-file=myArchive.gfs
archive-file-size-limit=100
archive-disk-space-limit=1000
The Full Stack
Next?
25
•  Micrometer- http://micrometer.io/
•  Grafana Geode Source Plugin (Geode SQL adapter)
•  Add real-time metrics for AsyncListener, DistributedLock,
Gateway
•  Additional pre-build Dashboards

More Related Content

PDF
Druid @ branch
PDF
Real-Time Streaming: Move IMS Data to Your Cloud Data Warehouse
PDF
From a Time-Series Database to a Key Operational Technology for the Enterprise
PDF
Real-time analytics with Druid at Appsflyer
PDF
Pulsar - Real-time Analytics at Scale
PDF
The Rise of Streaming SQL
PPTX
Perfecting Your Streaming Skills with Spark and Real World IoT Data
PDF
Scalable Event Processing with WSO2CEP @ WSO2Con2015eu
Druid @ branch
Real-Time Streaming: Move IMS Data to Your Cloud Data Warehouse
From a Time-Series Database to a Key Operational Technology for the Enterprise
Real-time analytics with Druid at Appsflyer
Pulsar - Real-time Analytics at Scale
The Rise of Streaming SQL
Perfecting Your Streaming Skills with Spark and Real World IoT Data
Scalable Event Processing with WSO2CEP @ WSO2Con2015eu

What's hot (19)

PPTX
HP Discover: Real Time Insights from Big Data
PDF
PDF
WSO2 Stream Processor: Graphical Editor, HTTP & Message Trace Analytics and m...
PDF
Uber Geo spatial data platform at DataWorks Summit
PPTX
Big Data on Cloud Native Platform
PDF
Data Analytics and Processing at Snap - Druid Meetup LA - September 2018
PPTX
Programmatic Bidding Data Streams & Druid
PPTX
Virtualized Big Data Platform at VMware Corp IT @ VMWorld 2015
PDF
Add Historical Analysis of Operational Data with Easy Configurations in Fivet...
PPTX
Monitoring and scaling postgres at datadog
PPTX
Webinar: Unlock the Power of Streaming Data with Kinetica and Confluent
PPTX
James Corcoran, Head of Engineering EMEA, First Derivatives, "Simplifying Bi...
PDF
Archmage, Pinterest’s Real-time Analytics Platform on Druid
PPTX
Monitoring and Troubleshooting a Real Time Pipeline
PPTX
Using Apache Pulsar to Provide Real-Time IoT Analytics on the Edge
PDF
Benchmarking Apache Druid
PPTX
"An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc...
PPTX
July 2014 HUG : Pushing the limits of Realtime Analytics using Druid
PDF
How to teach your data scientist to leverage an analytics cluster with Presto...
HP Discover: Real Time Insights from Big Data
WSO2 Stream Processor: Graphical Editor, HTTP & Message Trace Analytics and m...
Uber Geo spatial data platform at DataWorks Summit
Big Data on Cloud Native Platform
Data Analytics and Processing at Snap - Druid Meetup LA - September 2018
Programmatic Bidding Data Streams & Druid
Virtualized Big Data Platform at VMware Corp IT @ VMWorld 2015
Add Historical Analysis of Operational Data with Easy Configurations in Fivet...
Monitoring and scaling postgres at datadog
Webinar: Unlock the Power of Streaming Data with Kinetica and Confluent
James Corcoran, Head of Engineering EMEA, First Derivatives, "Simplifying Bi...
Archmage, Pinterest’s Real-time Analytics Platform on Druid
Monitoring and Troubleshooting a Real Time Pipeline
Using Apache Pulsar to Provide Real-Time IoT Analytics on the Edge
Benchmarking Apache Druid
"An introduction to Kx Technology - a Big Data solution", Kyra Coyne, Data Sc...
July 2014 HUG : Pushing the limits of Realtime Analytics using Druid
How to teach your data scientist to leverage an analytics cluster with Presto...
Ad

Similar to Visualize and Analyze Apache Geode Real-time and Historical Metrics with Grafana (20)

PDF
Apache Geode Meetup, Cork, Ireland at CIT
PDF
Introduction to Apache Geode (Cork, Ireland)
PDF
Apache Geode Meetup, London
PPTX
Introducing Apache Geode and Spring Data GemFire
PPTX
Geode Meetup Apachecon
PDF
Implementing a highly scalable stock prediction system with R, Geode, SpringX...
PPTX
ApexMeetup Geode - Talk1 2016-03-17
PDF
Pivotal's effort on Apache Geode
PDF
Geode is Not a Cache, it's an Analytics Engine
PPTX
Visualize Your Geode Metrics
PPTX
Building Highly Scalable Spring Applications using In-Memory Data Grids
PPTX
High Performance and Scalable Geospatial Analytics on Cloud with Open Source
PPTX
Building a Stock Prediction system with Machine Learning using Geode, SpringX...
PPTX
Real-time Analytics for Data-Driven Applications
PPTX
An Introduction to Apache Geode (incubating)
PPTX
Open Sourcing GemFire - Apache Geode
POTX
Building Effective Apache Geode Applications with Spring Data GemFire
PDF
How to Gain a Competitive Edge with an Open Source, Purpose-built Time Series...
PDF
Geode - Day 1
PPTX
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience Lond...
Apache Geode Meetup, Cork, Ireland at CIT
Introduction to Apache Geode (Cork, Ireland)
Apache Geode Meetup, London
Introducing Apache Geode and Spring Data GemFire
Geode Meetup Apachecon
Implementing a highly scalable stock prediction system with R, Geode, SpringX...
ApexMeetup Geode - Talk1 2016-03-17
Pivotal's effort on Apache Geode
Geode is Not a Cache, it's an Analytics Engine
Visualize Your Geode Metrics
Building Highly Scalable Spring Applications using In-Memory Data Grids
High Performance and Scalable Geospatial Analytics on Cloud with Open Source
Building a Stock Prediction system with Machine Learning using Geode, SpringX...
Real-time Analytics for Data-Driven Applications
An Introduction to Apache Geode (incubating)
Open Sourcing GemFire - Apache Geode
Building Effective Apache Geode Applications with Spring Data GemFire
How to Gain a Competitive Edge with an Open Source, Purpose-built Time Series...
Geode - Day 1
Tim Hall [InfluxData] | InfluxDB Roadmap | InfluxDays Virtual Experience Lond...
Ad

More from Christian Tzolov (6)

PPTX
Machines Can Learn - a Practical Take on Machine Intelligence Using Spring Cl...
PDF
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
PDF
SQL for NoSQL and how Apache Calcite can help
PDF
Using Apache Calcite for Enabling SQL and JDBC Access to Apache Geode and Oth...
PDF
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...
PDF
Federated Queries with HAWQ - SQL on Hadoop and Beyond
Machines Can Learn - a Practical Take on Machine Intelligence Using Spring Cl...
Enable SQL/JDBC Access to Apache Geode/GemFire Using Apache Calcite
SQL for NoSQL and how Apache Calcite can help
Using Apache Calcite for Enabling SQL and JDBC Access to Apache Geode and Oth...
Apache conbigdata2015 christiantzolov-federated sql on hadoop and beyond- lev...
Federated Queries with HAWQ - SQL on Hadoop and Beyond

Recently uploaded (20)

PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Machine Learning_overview_presentation.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PPT
Teaching material agriculture food technology
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Network Security Unit 5.pdf for BCA BBA.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
sap open course for s4hana steps from ECC to s4
Machine Learning_overview_presentation.pptx
Encapsulation_ Review paper, used for researhc scholars
Digital-Transformation-Roadmap-for-Companies.pptx
Assigned Numbers - 2025 - Bluetooth® Document
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Unlocking AI with Model Context Protocol (MCP)
Programs and apps: productivity, graphics, security and other tools
NewMind AI Weekly Chronicles - August'25-Week II
MIND Revenue Release Quarter 2 2025 Press Release
“AI and Expert System Decision Support & Business Intelligence Systems”
Teaching material agriculture food technology
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
The Rise and Fall of 3GPP – Time for a Sabbatical?
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf

Visualize and Analyze Apache Geode Real-time and Historical Metrics with Grafana

  • 1. Visualize and Analyze Apache Geode Real-time and Historical Metrics Christian Tzolov Software Engineer, Spring Cloud ASF, Apache Committer, PMC member
  • 2. Disclaimer The following is intended to outline the general direction of Pivotal's offerings. It is intended for information purposes only and may not be incorporated into any contract. Any information regarding pre-release of Pivotal offerings, future updates or other planned modifications is subject to ongoing evaluation by Pivotal and is subject to change. This information is provided without warranty or any kind, express or implied, and is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions regarding Pivotal's offerings. These purchasing decisions should only be based on features currently available. The development, release, and timing of any features or functionality described for Pivotal's offerings in this presentation remain at the sole discretion of Pivotal. Pivotal has no obligation to update forward looking information in this presentation.
  • 3. Apache Geode / GemFire “… in-memory, distributed database with strong consistency built to support low latency transactional applications at extreme scale”
  • 4. Geode Metrics Geode Cluster Run-Time Statistics Historical Statistics Visualization (VSD) Monitoring, Visualization, Alerts (JMX)
  • 5. Geode Metrics Unified Geode Cluster Run-Time Statistics Historical Statistics Monitoring, Visualization, Alerts
  • 6. Monitor What? Cache Server Region A Region X ValKe y v1k1 v2k2 … Region - consistent, distributed Map (key-value) dataset CacheServer – process managing Regions Client Locator Client –read and modify Region content Locator – track membership information
  • 7. Cache Server 1 Region ARegion A’ Region B’ Region X’ Cache Server N Region ARegion A’’’’ Region B’’’ Region X’’’ Cache Server 2 Region ARegion A’’ Region B’’ Region X’’ Federated MBean Architecture Locator 1 Distributed System Distributed Region Member GemFire:type=Distributed, service=Region,name=<regionName> GemFire:type=Distributed,service=System GemFire:type=Member, member=<name-or-dist-member-id> Notifications gemfire.distributedsystem.cache.member.departed gemfire.distributedsystem.cache.member.joined gemfire.distributedsystem.cache.region.created gemfire.distributedsystem.cache.region.closed https://gemfire.docs.pivotal.io/geode/managing/management/mbean_architecture.html network JMX Manager - Single-agent view of the Distributed System JMX Manager MBeanServer MBeanServer MBeanServer
  • 9. Geode Pulse •  Cluster View •  Member View •  Region View •  Alerts Widget https://gemfire.docs.pivotal.io/geode/tools_modules/pulse/pulse-views.html
  • 10. Beyond Pulse •  Extensibility •  Customized Views and Alerts •  Compare metrics between Members or Regions •  Integrate with 3rd party monitoring tools
  • 11. TSDB and Grafana Architecture JMX to TSDB Loader Grafana TSDB Geode Cluster JMX Manager
  • 12. Grafana Open platform for Analytics and Monitoring •  Data Sources •  Panels •  Dashboards
  • 13. Time Series Database (TSDB) •  Real-time process/store of time-series data •  Data is larger than memory •  Storage per data point efficiency •  Sequential, ordered per series reads •  Write mostly (95%) •  Data is larger than memory •  Storage efficiency - few bytes of storage per data point •  OSS TSDB: InfluxDB, Open TSDB, Prometheus, … https://en.wikipedia.org/wiki/Time_series_database
  • 14. JMX to InfluxDB Mapping + name + timestamp Measurement + name + value Field + name + value Tag (Indexed) (not-Indexed) {region : Zips} …. + avgBucketSize + entrySize + memberCount … MemberMBean + avgBucketSize + entrySize + memberCount … DistributedSystemMBean {region : Zips} …. + avgBucketSize + entrySize + memberCount … DistributedRegionMBean GemFire:service=Region,name=/Zips,type=Distributed Influx Data Model Geode MBean Model
  • 15. JMX to Grafana Geode Cluster JMX to Grafana Grafana InfluxDBJMX Manager java -jar ./jmx-to-grafana-0.0.2-SNAPSHOT.jar --mbeanHostName=localhost --mbeanPort=1099 --influxUrl=http://localhost:8086 --influxDatabaseName=GeodeJmx --cronExpression="0 0/1 * * * ?" docker run -d --name grafana -p 3000:3000 grafana/grafana docker run -d --name influxdb -p 8086:8086 influxdb
  • 16. JMX to Grafana Tookit https://github.com/tzolov/geode-dashboard
  • 17. Dashboard Library Cluster View Members View Combined Members View Region View
  • 18. Apache Geode Metrics Geode Cluster Run-Time Statistics Historical Statistics Monitoring, Visualization, Alerts
  • 19. Geode Statistics Archive •  Statistics Collected per Member •  Local Archive Files •  Build-in Statistics •  Runtime (peer per node, clients, data entities,…) •  Resources (memory, cpu, descriptors, system load,…) •  Operations Throughput (Cache, Disk,…) •  … •  Application-Defined Statistics http://gemfire.docs.pivotal.io/gemfire/tools_modules/vsd/vsd_useful_statistics.html
  • 20. Viewing Archived Statistics •  The Visual Statistics Display (VSD) •  Guide to Useful Statistics: http://gemfire.docs.pivotal.io/gemfire/ tools_modules/vsd/vsd_useful_statistics.html
  • 21. Geode Cluster Locator 1 CacheServer 1 CacheServer N … Statistics to Grafana Architecture Grafana InfluxDB A A A Statistics To Grafana
  • 22. Statistic to InfluxDB Mapping + name + timestamp Measurement + name + value Field + name + value Tag (Indexed) (not-Indexed) InfluxDataModel GeodeStatisticArchive + name + type + sampleCount Resource Instance Statistics Archive Instances * + descriptor.name + timestampls:long[] + rawSnapshot:double[] StatValue values *
  • 23. Geode Cluster Locator 1 CacheServer 1 CacheServer N … Statistics to Grafana Architecture Grafana InfluxDB A A A Statistics To Grafana java -jar ./statistics-to-grafana-0.0.2-SNAPSHOT.jar --influxUrl=http://localhost:8086 --influxDatabaseName=GeodeArchive --geodeMemberName=server1 --archiveFile=server1ArchiveFile.gfs statistic-sampling-enabled=true statistic-archive-file=myArchive.gfs archive-file-size-limit=100 archive-disk-space-limit=1000
  • 25. Next? 25 •  Micrometer- http://micrometer.io/ •  Grafana Geode Source Plugin (Geode SQL adapter) •  Add real-time metrics for AsyncListener, DistributedLock, Gateway •  Additional pre-build Dashboards