mirror of
https://github.com/zeek/zeek.git
synced 2025-10-02 06:38:20 +00:00
telemetry: Disable metrics centralization by default
Move the telemetry/cluster.zeek file over into policy/frameworks/telemetry/prometheus.zeek. Mention it in local.zeek. Relates to zeek/broker#366.
This commit is contained in:
parent
46715dacfd
commit
0b317aced3
8 changed files with 31 additions and 7 deletions
16
NEWS
16
NEWS
|
@ -65,6 +65,22 @@ Breaking Changes
|
||||||
come in handy for example when working with tests that compare results against
|
come in handy for example when working with tests that compare results against
|
||||||
log baselines that have not yet been updated.
|
log baselines that have not yet been updated.
|
||||||
|
|
||||||
|
- Telemetry centralization and Prometheus exposition is not enabled by default
|
||||||
|
anymore. Previously, the manager node would open port 9911/tcp by default and
|
||||||
|
import all metrics from other nodes. For large clusters, the current implementation
|
||||||
|
introduces significant processing overhead on the manager even if the Prometheus
|
||||||
|
functionality is not used. While inconvenient, disable this functionality
|
||||||
|
(assumed to be used by few as of now) by default to preserve resources.
|
||||||
|
|
||||||
|
The script to enable centralization and the Prometheus endpoint is now
|
||||||
|
located in the ``policy/`` folder. Re-enable the old functionality with:
|
||||||
|
|
||||||
|
@load frameworks/telemetry/prometheus
|
||||||
|
|
||||||
|
You may experiment with increasing ``Broker::metrics_export_interval``
|
||||||
|
(default 1s) to reduce the extra overhead and communication at the expense
|
||||||
|
of stale metrics.
|
||||||
|
|
||||||
- Custom source tarballs require a ``repo-info.json`` file.
|
- Custom source tarballs require a ``repo-info.json`` file.
|
||||||
|
|
||||||
Note, should you be using official Zeek release tarballs only, or build
|
Note, should you be using official Zeek release tarballs only, or build
|
||||||
|
|
|
@ -1,7 +1,3 @@
|
||||||
@load ./main
|
@load ./main
|
||||||
|
|
||||||
@load base/frameworks/cluster
|
@load base/frameworks/cluster
|
||||||
|
|
||||||
@if ( Cluster::is_enabled() )
|
|
||||||
@load ./cluster
|
|
||||||
@endif
|
|
||||||
|
|
|
@ -1,13 +1,18 @@
|
||||||
##! In a cluster configuration, open port 9911 on the manager for
|
##! In a cluster configuration, open port 9911 on the manager for
|
||||||
##! Prometheus exposition and import all metrics from
|
##! Prometheus exposition and import all metrics from the
|
||||||
##! `zeek/cluster/metrics/...` topic.
|
##! `zeek/cluster/metrics/...` topic.
|
||||||
##!
|
##!
|
||||||
##! For customization or disabling, redef the involved Broker options again.
|
##! For customization or disabling, redef the involved Broker options again.
|
||||||
##! Specifically, to disable listening on port 9911, set
|
##! Specifically, to disable listening on port 9911, set
|
||||||
##! :zeek:see:`Broker::metrics_port` to `0/unknown` again.
|
##! :zeek:see:`Broker::metrics_port` to `0/unknown` again.
|
||||||
|
##!
|
||||||
|
##! Note that in large clusters, metrics import may cause significant
|
||||||
|
##! communication overhead as well as load on the manager.
|
||||||
|
##!
|
||||||
@load base/frameworks/cluster
|
@load base/frameworks/cluster
|
||||||
|
|
||||||
|
@if ( Cluster::is_enabled() )
|
||||||
|
|
||||||
# Use Cluster::node as "endpoint" label
|
# Use Cluster::node as "endpoint" label
|
||||||
redef Broker::metrics_export_endpoint_name = Cluster::node;
|
redef Broker::metrics_export_endpoint_name = Cluster::node;
|
||||||
|
|
||||||
|
@ -19,3 +24,5 @@ redef Broker::metrics_import_topics = vector("zeek/cluster/metrics/");
|
||||||
@else
|
@else
|
||||||
redef Broker::metrics_export_topic = "zeek/cluster/metrics/";
|
redef Broker::metrics_export_topic = "zeek/cluster/metrics/";
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
|
@endif
|
|
@ -97,6 +97,10 @@ redef digest_salt = "Please change this value.";
|
||||||
# telemetry_histogram.log.
|
# telemetry_histogram.log.
|
||||||
@load frameworks/telemetry/log
|
@load frameworks/telemetry/log
|
||||||
|
|
||||||
|
# Enable metrics centralization on the manager. This opens port 9911/tcp
|
||||||
|
# on the manager node that can be readily scraped by Prometheus.
|
||||||
|
# @load frameworks/telemetry/prometheus
|
||||||
|
|
||||||
# Uncomment the following line to enable detection of the heartbleed attack. Enabling
|
# Uncomment the following line to enable detection of the heartbleed attack. Enabling
|
||||||
# this might impact performance a bit.
|
# this might impact performance a bit.
|
||||||
# @load policy/protocols/ssl/heartbleed
|
# @load policy/protocols/ssl/heartbleed
|
||||||
|
|
|
@ -77,6 +77,7 @@
|
||||||
# @load frameworks/spicy/record-spicy-batch.zeek
|
# @load frameworks/spicy/record-spicy-batch.zeek
|
||||||
# @load frameworks/spicy/resource-usage.zeek
|
# @load frameworks/spicy/resource-usage.zeek
|
||||||
@load frameworks/software/windows-version-detection.zeek
|
@load frameworks/software/windows-version-detection.zeek
|
||||||
|
@load frameworks/telemetry/prometheus.zeek
|
||||||
@load frameworks/telemetry/log.zeek
|
@load frameworks/telemetry/log.zeek
|
||||||
@load integration/collective-intel/__load__.zeek
|
@load integration/collective-intel/__load__.zeek
|
||||||
@load integration/collective-intel/main.zeek
|
@load integration/collective-intel/main.zeek
|
||||||
|
|
|
@ -10,5 +10,4 @@
|
||||||
-./frameworks/openflow/cluster.zeek
|
-./frameworks/openflow/cluster.zeek
|
||||||
-./frameworks/packet-filter/cluster.zeek
|
-./frameworks/packet-filter/cluster.zeek
|
||||||
-./frameworks/sumstats/cluster.zeek
|
-./frameworks/sumstats/cluster.zeek
|
||||||
-./frameworks/telemetry/cluster.zeek
|
|
||||||
-./init-supervisor.zeek
|
-./init-supervisor.zeek
|
||||||
|
|
|
@ -29,6 +29,7 @@ redef Cluster::nodes = {
|
||||||
@TEST-END-FILE
|
@TEST-END-FILE
|
||||||
|
|
||||||
@load policy/frameworks/cluster/experimental
|
@load policy/frameworks/cluster/experimental
|
||||||
|
@load policy/frameworks/telemetry/prometheus
|
||||||
@load base/frameworks/telemetry
|
@load base/frameworks/telemetry
|
||||||
@load base/utils/active-http
|
@load base/utils/active-http
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue