Apache Pulsar monitoring with Netdata
Apache Pulsar is an open-source distributed pub-sub messaging system.
This module will monitor one or more Apache Pulsar instances, depending on your configuration.
It collects broker statistics from the prometheus endpoint.
pulsar module is tested on the following versions:
Charts
It produces the following charts:
Summary
- Broker Components in
num
- Messages Rate in
messages/s
- Throughput Rate in
KiB/s
- Storage Size in
KiB
- Messages Backlog Size in
messages
- Storage Write Latency Histogram in
entries/s
- Entry Size Histogram in
entries/s
- Subscriptions Delayed for Dispatching in
message batches
If exposeTopicLevelMetricsInPrometheus is set to true:
- Subscriptions Redelivered Message Rate in
messages/s
- Subscriptions Blocked On Unacked Messages in
subscriptions
If replication is configured and replicationMetricsEnabled is set to true:
- Replication Rate in
messages/s
- Replication Throughput Rate in
messages/s
- Replication Backlog in
messages
Namespace
- Broker Components in
num
- Messages Rate in
messages/s
- Throughput Rate in
KiB/s
- Storage Size in
KiB
- Storage Read/Write Operations Rate in
message batches/s
- Messages Backlog Size in
messages
- Storage Write Latency Histogram in
entries/s
- Entry Size Histogram in
entries/s
- Subscriptions Delayed for Dispatching in
message batches
If exposeTopicLevelMetricsInPrometheus is set to true:
- Subscriptions Redelivered Message Rate in
messages/s
- Subscriptions Blocked On Unacked Messages in
subscriptions
If replication is configured and replicationMetricsEnabled is set to true:
- Replication Rate in
messages/s
- Replication Throughput Rate in
messages/s
- Replication Backlog in
messages
Topic
Topic charts are only available when exposeTopicLevelMetricsInPrometheus is set to true. In addition, you need
to set topic_filer configuration option. If you have a lot of topics this is highly unrecommended.
- Producers in
producers
- Subscriptions in
producers
- Consumers in
producers
- Publish Messages Rate in
publishes/s
- Dispatch Messages Rate in
dispatches/s
- Publish Throughput Rate in
KiB/s
- Dispatch Throughput Rate in
KiB/s
- Storage Size in
KiB
- Storage Read Rate in
message batches/s
- Storage Write Rate in
message batches/s
- Messages Backlog Size in
messages
- Subscriptions Delayed for Dispatching in
message batches
- Subscriptions Redelivered Message Rate in
messages/s
- Subscriptions Blocked On Unacked Messages in
blocked subscriptions
If replication is configured and replicationMetricsEnabled is set to true:
- Topic Replication Rate From Remote Cluster in
messages/s
- Topic Replication Rate To Remote Cluster in
messages/s
- Topic Replication Throughput Rate From Remote Cluster in
KiB/s
- Topic Replication Throughput Rate To Remote Cluster in
KiB/s
- Topic Replication Backlog in
KiB/s
Configuration
Edit the go.d/pulsar.conf configuration file using edit-config from the your agent's config
directory, which is typically at /etc/netdata.
cd /etc/netdata # Replace this path with your Netdata config directory
sudo ./edit-config go.d/pulsar.conf
Needs only url to server's /metrics endpoint. Here is an example for 2 servers:
jobs:
- name: local
url: http://127.0.0.1:8080/metrics
- name: remote
url: http://203.0.113.10:8080/metrics
For all available options please see module configuration file.
Topic filtering
By default module collects data for all topics but it supports topic filtering.
Filtering doesnt exclude a topic stats from the summary/namespace stats, it only removes the topic from the topic charts.
To check matcher syntax see matcher documentation.
- name: local
url: http://127.0.0.1:8080/metrics
topic_filter:
includes:
- matcher1
- matcher2
excludes:
- matcher1
- matcher2
Update every
Module default update_every is 60.
Apache Pulsar doesnt expose raw counters, it exposes rate. It counts rates every statsUpdateFrequencyInSecs.
Default value is 60 seconds.
Module update_every should be equal to statsUpdateFrequencyInSecs.
Troubleshooting
Check the module debug output. Run the following command as netdata user:
./go.d.plugin -d -m pulsar