Skip to content
Open
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -56,17 +56,40 @@ data:
system.network.connections:
enabled: false
# Uncomment to enable process metrics, which can be noisy but valuable.
# processes:
# process:
# metrics:
# process.cpu.utilization:
# enabled: true
# process.cpu.time:
# enabled: false
# mute_process_name_error: true
# mute_process_exe_error: true
# mute_process_io_error: true
# mute_process_user_error: true
processes:
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dbudziwojskiNR Noticed one of the checks: "Check Generated file" is failing. Do we make changes to "rendered" folder as well manually, or are they auto-generated once the templates code is merged?

process:
metrics:
process.cpu.time:
enabled: true
process.cpu.utilization:
enabled: true
process.memory.usage: # Physical memory
enabled: true
process.memory.virtual: # Virtual memory
enabled: true
process.disk.io: # Bytes read/written
enabled: true
process.disk.operations: # Number of read/write operations
enabled: true
process.threads: # Number of threads (replaces process.thread.count)
enabled: true
process.open_file_descriptors: # Number of open file descriptors (replaces process.open_file_descriptor.count)
enabled: true
process.paging.faults:
enabled: true
process.context_switches:
enabled: true
process.uptime:
enabled: true
# Platform-specific metrics (enable if on the respective OS, might be ignored or cause errors on others)
process.handles: # Windows-specific: Number of open handles
enabled: false
process.signals_pending: # Linux-specific: Number of pending signals for the process
enabled: true
mute_process_name_error: true
mute_process_exe_error: true
mute_process_io_error: true
mute_process_user_error: true

kubeletstats:
collection_interval: 1m
Expand Down Expand Up @@ -190,6 +213,53 @@ data:
- node
- namespace

attributes/atp_identifier:
include:
match_type: regexp
metric_names:
- ".*" # Apply to all metrics
actions:
- key: telemetry.atp.env
value: "atp-customer-zero"
action: insert

adaptivetelemetryprocessor:
# Storage configuration for persistence
storage_path: "/var/lib/nrdot-collector/adaptivetelemetry.db"
retention_minutes: 30
include_process_list:
- "stress-ng"

# Metric thresholds for actual hostmetrics receiver metrics
metric_thresholds:
# CPU metrics from hostmetrics receiver
# Process metrics from hostmetrics receiver
process.cpu.utilization: 0.0005 # This means 0.05%
process.memory.utilization: 0.0005 # This means 0.05%

# Dynamic threshold configuration
enable_dynamic_thresholds: true
dynamic_smoothing_factor: 0.1
min_thresholds:
process.cpu.utilization: 0.0005 # Minimum 0.05% CPU
process.memory.utilization: 0.0005 # Minimum 0.05% CPU
max_thresholds:
process.cpu.utilization: 0.30 # Minimum 4% CPU
process.memory.utilization: 0.30 # Minimum 4% process CPU

# Multi-metric composite scoring
enable_multi_metric: true
composite_threshold: 0.8 # Lower threshold for testing
weights:
process.cpu.utilization: 0.5
process.memory.utilization: 0.5

# Anomaly detection configuration
enable_anomaly_detection: true
anomaly_history_size: 15
anomaly_change_threshold: 50.0
anomaly_min_data_points: 3

transform/ksm:
metric_statements:
- delete_key(resource.attributes, "k8s.node.name")
Expand Down Expand Up @@ -400,7 +470,16 @@ data:

metricstransform/hostmetrics:
transforms:
- include: process\.(cpu\.utilization|disk\.io|memory\.(usage|virtual))
- include: process\..*
action: update
match_type: regexp
operations:
- action: update_label
label: low.data.mode
value_actions:
- value: 'false'
new_value: 'true'
- include: processes\..*
action: update
match_type: regexp
operations:
Expand Down Expand Up @@ -602,7 +681,7 @@ data:
# We set the cluster name to what the customer specified in the helm chart
- key: k8s.cluster.name
action: upsert
value: <cluser_name>
value: gaurab-nrdot-plus-manifest
- key: "newrelic.chart.version"
action: upsert
value: 0.9.9
Expand Down Expand Up @@ -714,25 +793,31 @@ data:
table:
- context: metric
condition: instrumentation_scope.name == "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/networkscraper"
pipelines: [metrics/nr]
pipelines: [metrics/nr_hostmetrics]
- context: metric
condition: instrumentation_scope.name == "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/loadscraper"
pipelines: [metrics/nr]
pipelines: [metrics/nr_hostmetrics]
- context: metric
condition: instrumentation_scope.name == "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/diskscraper"
pipelines: [metrics/nr]
pipelines: [metrics/nr_hostmetrics]
- context: metric
condition: instrumentation_scope.name == "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/memoryscraper"
pipelines: [metrics/nr]
pipelines: [metrics/nr_hostmetrics]
- context: metric
condition: instrumentation_scope.name == "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/cpuscraper"
pipelines: [metrics/nr]
pipelines: [metrics/nr_hostmetrics]
- context: metric
condition: instrumentation_scope.name == "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/filesystemscraper"
pipelines: [metrics/nr]
pipelines: [metrics/nr_hostmetrics]
- context: metric
condition: instrumentation_scope.name == "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/pagingscraper"
pipelines: [metrics/nr]
pipelines: [metrics/nr_hostmetrics]
- context: metric
condition: instrumentation_scope.name == "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/processesscraper"
pipelines: [metrics/nr_hostmetrics]
- context: metric
condition: instrumentation_scope.name == "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/processscraper"
pipelines: [metrics/nr_hostmetrics]
- context: metric
condition: instrumentation_scope.name == "github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver"
pipelines: [metrics/nr_prometheus_cadv_kubelet]
Expand Down Expand Up @@ -789,6 +874,36 @@ data:
- cumulativetodelta
exporters:
- routing/metrics_egress
metrics/nr_hostmetrics:
receivers:
- routing/nr_metrics_pipelines
processors:
- memory_limiter
- attributes/atp_identifier
- adaptivetelemetryprocessor
- metricstransform/ldm
- metricstransform/hostmetrics
- filter/exclude_metrics_low_data_mode
- metricstransform/hostmetrics_cpu
- transform/truncate
- filter/exclude_cpu_utilization
- filter/exclude_memory_utilization
- filter/exclude_memory_usage
- filter/exclude_filesystem_utilization
- filter/exclude_filesystem_usage
- filter/exclude_filesystem_inodes_usage
- filter/exclude_system_disk
- filter/exclude_system_paging
- filter/exclude_network
- attributes/exclude_system_paging
- resourcedetection/env
- resourcedetection/cloudproviders
- resource/newrelic
- transform/low_data_mode_inator
- resource/low_data_mode_inator
- cumulativetodelta
exporters:
- routing/metrics_egress
metrics/nr_prometheus_cadv_kubelet:
receivers:
- routing/nr_metrics_pipelines
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ spec:
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 1001
image: "docker.io/newrelic/nrdot-collector-k8s:1.5.0"
image: "docker.io/gmanandhar321/nrdot-collector-host:2.11"
imagePullPolicy: IfNotPresent
args:
- --config
Expand Down Expand Up @@ -131,6 +131,8 @@ spec:
readOnly: true
- name: final-daemonset-config
mountPath: /config
- name: nrdot-data-storage
mountPath: /var/lib/nrdot-collector
volumes:
- name: host-fs
hostPath:
Expand All @@ -143,3 +145,7 @@ spec:
- name: daemonset-config
configMap:
name: nr-k8s-otel-collector-daemonset-config
- name: nrdot-data-storage
hostPath:
path: /var/lib/nrdot-collector
type: DirectoryOrCreate
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,7 @@ data:
# We set the cluster name to what the customer specified in the helm chart
- key: k8s.cluster.name
action: upsert
value: <cluser_name>
value: gaurab-nrdot-plus-manifest
- key: "newrelic.chart.version"
action: upsert
value: 0.9.9
Expand All @@ -531,7 +531,7 @@ data:
value: "kubernetes"
- key: k8s.cluster.name
action: upsert
value: <cluser_name>
value: gaurab-nrdot-plus-manifest
- key: "newrelic.chart.version"
action: upsert
value: 0.9.9
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ spec:
readOnlyRootFilesystem: true
runAsNonRoot: true
runAsUser: 1001
image: "docker.io/newrelic/nrdot-collector-k8s:1.5.0"
image: "docker.io/gmanandhar321/nrdot-collector-host:2.10"
imagePullPolicy: IfNotPresent
args:
- --config
Expand Down
Loading
Loading