Add STF environment
Add yaml to enable the STF client side. The only manual configuration
necessary should be pointing the host to the STF server.
Remove tcpconns from the collectd default plugin list, as
there are no users of it, and it should not be in the default
plugin list when STF is enabled.
More discussion about settings at
https://github.com/infrawatch/telemetry-framework/pull/100
Note about the plugins:
- virt plugin is already automatically loaded on each role where
nova-compute is deployed. The hieradata is always set in
eployment/metrics/collectd-container-puppet but it's fine because the
plugin isn't always enabled. No need to add extra complexity with
parameters.
- cpu, df, load, intel_rdt, connectivity, procevent and ipmi are
automatically loaded if STF is enabled.
Related: https://review.opendev.org/#/c/710376/
Signed-off-by: Ryan McCabe <rmccabe@redhat.com>
Signed-off-by: pleimer <pfbleimer@gmail.com>
Signed-off-by: Leif Madsen <lmadsen@redhat.com>
Co-Authored-By: Emilien Macchi <emilien@redhat.com>
Change-Id: Ifb1923bff9a344985b3e4de04ade4abd4916d2d6
(cherry picked from commit 3790c804a7
)
This commit is contained in:
parent
ecceeb3478
commit
dbda462567
@ -152,9 +152,26 @@ parameter_defaults:
|
||||
* evidence of criminal activity, system personnel may provide *
|
||||
* the evidence from such monitoring to law enforcement officials.*
|
||||
******************************************************************
|
||||
EnableSTF: true
|
||||
MetricsQdrAddresses:
|
||||
- prefix: collectd
|
||||
distribution: multicast
|
||||
MetricsQdrSSLProfiles:
|
||||
- name: sslProfile
|
||||
CollectdConnectionType: amqp1
|
||||
CollectdAmqpInterval: 5
|
||||
CollectdDefaultPollingInterval: 5
|
||||
CollectdExtraPlugins:
|
||||
- rrdtool
|
||||
CollectdEnableSensubility: true
|
||||
CollectdAmqpInstances:
|
||||
notify:
|
||||
notify: true
|
||||
format: JSON
|
||||
presettle: false
|
||||
telemetry:
|
||||
format: JSON
|
||||
presettle: true
|
||||
LoggingServers:
|
||||
- host: 127.0.0.1
|
||||
port: 24224
|
||||
|
@ -87,7 +87,6 @@ parameters:
|
||||
- load
|
||||
- memory
|
||||
- processes
|
||||
- tcpconns
|
||||
- unixsock
|
||||
- uptime
|
||||
type: comma_delimited_list
|
||||
@ -367,6 +366,10 @@ parameters:
|
||||
type: number
|
||||
description: The number of seconds sensu-plugin-aware handlers should wait before taking second action.
|
||||
default: 90
|
||||
EnableSTF:
|
||||
type: boolean
|
||||
description: Set to true to enable configuration for STF client.
|
||||
default: false
|
||||
|
||||
conditions:
|
||||
amqp_connection:
|
||||
@ -387,11 +390,12 @@ conditions:
|
||||
- equals: [{get_param: CollectdGnocchiKeystoneEndpoint}, nil]
|
||||
enable_sensubility:
|
||||
equals: [{get_param: CollectdEnableSensubility}, true]
|
||||
enable_stf:
|
||||
equals: [{get_param: EnableSTF}, true]
|
||||
sensubility_needs_sudo:
|
||||
not:
|
||||
equals: [{get_param: CollectdSensubilityExecSudoRule}, '']
|
||||
|
||||
|
||||
resources:
|
||||
ContainersCommon:
|
||||
type: ../containers-common.yaml
|
||||
@ -410,17 +414,39 @@ outputs:
|
||||
collectd::recurse: true
|
||||
collectd::purge_config: true
|
||||
collectd::minimum_version: "5.7"
|
||||
collectd::interval: {get_param: CollectdDefaultPollingInterval}
|
||||
collectd::plugin::unixsock::socketgroup: root
|
||||
collectd::plugin::unixsock::socketfile: /var/run/collectd-socket
|
||||
collectd::plugin::unixsock::deletesocket: true
|
||||
collectd::interval: {get_param: CollectdDefaultPollingInterval}
|
||||
collectd::plugin::cpu::reportbycpu: true
|
||||
collectd::plugin::cpu::reportbystate: true
|
||||
collectd::plugin::cpu::reportnumcpu: false
|
||||
collectd::plugin::cpu::valuespercentage: true
|
||||
collectd::plugin::df::ignoreselected: true
|
||||
collectd::plugin::df::reportbydevice: true
|
||||
collectd::plugin::df::fstypes: ['xfs']
|
||||
collectd::plugin::load::reportrelative: true
|
||||
collectd::plugin::virt::connection: "qemu:///system"
|
||||
collectd::plugin::virt::extra_stats: "cpu_util disk disk_err pcpu job_stats_background perf vcpupin"
|
||||
collectd::plugin::virt::hostname_format: "hostname"
|
||||
tripleo.collectd.plugins.collectd:
|
||||
yaql:
|
||||
data:
|
||||
default_plugins: {get_param: CollectdDefaultPlugins}
|
||||
stf_plugins:
|
||||
if:
|
||||
- enable_stf
|
||||
- - cpu
|
||||
- df
|
||||
- load
|
||||
- connectivity
|
||||
- intel_rdt
|
||||
- ipmi
|
||||
- procevent
|
||||
- []
|
||||
extra_plugins: {get_param: CollectdExtraPlugins}
|
||||
expression: >
|
||||
($.data.default_plugins + $.data.extra_plugins)
|
||||
($.data.default_plugins + $.data.stf_plugins + $.data.extra_plugins)
|
||||
.flatten().distinct()
|
||||
- if: # Collectd connected to QDR
|
||||
- amqp_connection
|
||||
|
@ -138,9 +138,14 @@ parameters:
|
||||
EnableInternalTLS:
|
||||
type: boolean
|
||||
default: false
|
||||
EnableSTF:
|
||||
default: false
|
||||
description: Set to true to enable configuration for STF client.
|
||||
type: boolean
|
||||
|
||||
conditions:
|
||||
internal_tls_enabled: {equals: [{get_param: EnableInternalTLS}, true]}
|
||||
enable_stf: {equals: [{get_param: EnableSTF}, true]}
|
||||
|
||||
|
||||
resources:
|
||||
@ -247,6 +252,11 @@ outputs:
|
||||
keyFile: '/etc/pki/tls/private/metrics_qdr.key'
|
||||
caCertFile: {get_param: InternalTLSCAFile}
|
||||
- tripleo::profile::base::metrics::qdr::ssl_profiles: {get_param: MetricsQdrSSLProfiles}
|
||||
- if:
|
||||
- enable_stf
|
||||
- tripleo::profile::base::metrics::qdr::interior_mesh_nodes: ''
|
||||
tripleo::profile::base::metrics::qdr::router_mode: edge
|
||||
- null
|
||||
metadata_settings:
|
||||
if:
|
||||
- internal_tls_enabled
|
||||
|
39
environments/enable-stf.yaml
Normal file
39
environments/enable-stf.yaml
Normal file
@ -0,0 +1,39 @@
|
||||
# This heat environment can be used to enable STF client side
|
||||
resource_registry:
|
||||
OS::TripleO::Services::Collectd: ../deployment/metrics/collectd-container-puppet.yaml
|
||||
OS::TripleO::Services::MetricsQdr: ../deployment/metrics/qdr-container-puppet.yaml
|
||||
OS::TripleO::Services::Redis: ../deployment/database/redis-pacemaker-puppet.yaml
|
||||
# We want these when smartgateway is able to process ceilometer messages
|
||||
# OS::TripleO::Services::CeilometerAgentCentral: ../deployment/ceilometer/ceilometer-agent-central-container-puppet.yaml
|
||||
# OS::TripleO::Services::CeilometerAgentNotification: ../deployment/ceilometer/ceilometer-agent-notification-container-puppet.yaml
|
||||
# OS::TripleO::Services::ComputeCeilometerAgent: ../deployment/ceilometer/ceilometer-agent-compute-container-puppet.yaml
|
||||
|
||||
parameter_defaults:
|
||||
# Uncomment when smartgateway can handle ceilometer messages
|
||||
# CeilometerQdrPublish: true
|
||||
EnableSTF: true
|
||||
CollectdConnectionType: amqp1
|
||||
CollectdAmqpInterval: 5
|
||||
CollectdDefaultPollingInterval: 5
|
||||
|
||||
CollectdAmqpInstances:
|
||||
notify:
|
||||
notify: true
|
||||
format: JSON
|
||||
presettle: false
|
||||
telemetry:
|
||||
format: JSON
|
||||
presettle: true
|
||||
MetricsQdrAddresses:
|
||||
- prefix: collectd
|
||||
distribution: multicast
|
||||
MetricsQdrSSLProfiles:
|
||||
- name: sslProfile
|
||||
# The snippet below should be added to a separate yaml file, edited, and
|
||||
# passed in at deploy time.
|
||||
#MetricsQdrConnectors:
|
||||
# - host: qdr-normal-sa-telemetry.apps.remote.tld
|
||||
# port: 443
|
||||
# role: edge
|
||||
# sslProfile: sslProfile
|
||||
# verifyHostname: false
|
Loading…
Reference in New Issue
Block a user