https://github.com/teragrep/rlp_11
Teragrep RELP commit latency probe client application
https://github.com/teragrep/rlp_11
diagnostic-tool latency-analysis latency-monitor relp relp-analysis relp-client relp-monitor teragrep
Last synced: 6 months ago
JSON representation
Teragrep RELP commit latency probe client application
- Host: GitHub
- URL: https://github.com/teragrep/rlp_11
- Owner: teragrep
- License: agpl-3.0
- Created: 2024-11-06T08:09:36.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-08T07:57:19.000Z (9 months ago)
- Last Synced: 2025-04-08T08:45:19.960Z (9 months ago)
- Topics: diagnostic-tool, latency-analysis, latency-monitor, relp, relp-analysis, relp-client, relp-monitor, teragrep
- Language: Java
- Homepage: https://teragrep.com
- Size: 77.1 KB
- Stars: 0
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.adoc
- License: LICENSE
Awesome Lists containing this project
README
= RELP Commit Latency Probe rlp_11
Measures latency for RELP records.
== Features
Provides Dropwizard metrics
Provides Prometheus endpoint. It listens to port set by `metrics.port` and exposes metrics to path `/metrics`
Provides Prometheus template for Zabbix
== Documentation
=== Configuration
It will use system property `configurationPath` to find the configuration, or use `etc/rlp_11.properties` if not provided.
Example configuration files can be found under link:rpm/src/opt/teragrep/rlp_11/etc[here].
[cols="1,1"]
|===
|Configuration key|Description
|`metrics.window`
|Size of the sliding window reservoir used by metrics
|`metrics.interval`
|Metrics report interval, in seconds
|`probe.interval`
|Delay between sending records, in milliseconds
|`prometheus.port`
|Prometheus endpoint port
|`record.appname`
|Appname used in RELP record
|`record.hostname`
|Hostname used in RELP record
|`target.hostname`
|RELP Server target address
|`target.port`
|Relp Server target port
|`target.reconnectinterval`
|RELP Server reconnect interval, in milliseconds
|===
=== Systemd services
All configuration files are expected to be in `/opt/teragrep/rlp_11/etc` directory and readable by user `srv-rlp_11`.
==== Simple systemd service
The simple service instance can be started with `systemctl start rlp_11`.
The simple `rlp_11` service will use `rlp_11.properties` and `log4j2.xml` files that are provided in the rpm.
==== Multi-instance systemd service
Multiple service instances can be started with `systemctl start rlp_11@InstanceNameReplaceMe`.
For example the instance `rlp_11@InstanceNameReplaceMe` service will look for `rlp_11.InstanceNameReplaceMe.properties` and `log4j2.InstaceNameReplaceMe.xml` files that must be provided by the user.
=== Zabbix
Import the template, add `{$PROMETHEUS_HOST}` macro with full url to the metrics endpoint to wanted host and link it to `rlp_11_prometheus` template.
== Limitations
Needs to be built on java 11.
== How to compile
[source]
----
mvn clean package
----
== How to use
[source]
----
java -jar rlp_11.jar
----
== Contributing
You can involve yourself with our project by https://github.com/teragrep/rlp_11/issues/new/choose[opening an issue] or submitting a pull request.
Contribution requirements:
. *All changes must be accompanied by a new or changed test.* If you think testing is not required in your pull request, include a sufficient explanation as why you think so.
. Security checks must pass
. Pull requests must align with the principles and http://www.extremeprogramming.org/values.html[values] of extreme programming.
. Pull requests must follow the principles of Object Thinking and Elegant Objects (EO).
Read more in our https://github.com/teragrep/teragrep/blob/main/contributing.adoc[Contributing Guideline].
=== Contributor License Agreement
Contributors must sign https://github.com/teragrep/teragrep/blob/main/cla.adoc[Teragrep Contributor License Agreement] before a pull request is accepted to organization's repositories.
You need to submit the CLA only once. After submitting the CLA you can contribute to all Teragrep's repositories.