Send Metrics to SigNoz
By default, when you install SigNoz, only the Hostmetric receiver is enabled. Before you can query other metrics, you must first enable additional receivers in SigNoz.
There are two ways in which you can send metrics to SigNoz using OpenTelemetry:
- Enable a Specific Metric Receiver
- Enable a Prometheus Receiver
- Find Metrics available in SigNoz
- Related Videos
- Get Help
Depending on your choice, use one of the sections below.
Enable a Specific Metric Receiver​
SigNoz supports all the receivers that are listed in the opentelemetry-collector-contrib GitHub repository. To configure a new metric receiver, you must edit the receivers
section of the deploy/docker/clickhouse-setup/otel-collector-config.yaml
file. The following example shows the default configuration in which the hostmetrics
receiver is enabled:
receivers:
otlp/spanmetrics:
protocols:
grpc:
endpoint: "localhost:12345"
otlp:
protocols:
grpc:
http:
jaeger:
protocols:
grpc:
thrift_http:
hostmetrics:
collection_interval: 30s
scrapers:
cpu:
load:
memory:
disk:
filesystem:
network:
processors:
batch:
send_batch_size: 1000
timeout: 10s
# This file was truncated for brevity
To enable a new OpenTelemetry receiver, follow the steps below:
- Move into the directory in which you installed SigNoz, and open the
deploy/docker/clickhouse-setup/otel-collector-config.yaml
file in a plain-text editor. - Configure your receivers. The following example shows how you can enable a receiver named
examplereceiver
:For details about configuring OpenTelemetry receivers, see the README page of thereceivers:
otlp/spanmetrics:
protocols:
grpc:
endpoint: "localhost:12345"
otlp:
protocols:
grpc:
http:
jaeger:
protocols:
grpc:
thrift_http:
hostmetrics:
collection_interval: 30s
scrapers:
cpu:
load:
memory:
disk:
filesystem:
network:
examplereceiver:
endpoint: 1.2.3.4:8080
processors:
batch:
send_batch_size: 1000
timeout: 10s
# This file was truncated for brevity.opentelemetry-collector
GitHub repository. Save the changes you’ve made and restart SigNoz. Depending on how you installed SigNoz, follow the steps in one of the sections below:
Enable a Prometheus Receiver​
SigNoz supports all the exporters that are listed on the Exporters and Integrations page of the Prometheus documentation. If you have a running Prometheus instance, and you expose metrics in Prometheus, then you can scrape them in SigNoz by configuring Prometheus receivers in the receivers.prometheus.config.scrape_configs
section of the deploy/docker/clickhouse-setup/otel-collector-metrics-config.yaml
file.
To enable a Prometheus receiver, follow the steps below:
Open the
deploy/docker/clickhouse-setup/otel-collector-metrics-config.yaml
file in a plain-text editor.Enable a new Prometheus receiver. Depending on your use case, there are two ways in which you can enable a new Prometheus exporter:
By creating a new job: The following example shows how you can enable a Prometheus receiver by creating a new job named
my-new-job
:receivers:
otlp:
protocols:
grpc:
http:
# Data sources: metrics
prometheus:
config:
scrape_configs:
- job_name: "otel-collector"
scrape_interval: 30s
static_configs:
- targets: ["otel-collector:8889"]
- job_name: "my-new-job"
scrape_interval: 30s
static_configs:
- targets: ["localhost:8080"]
processors:
batch:
send_batch_size: 1000
timeout: 10s
# This file was truncated for brevity.By adding a new target to an existing job: The following example shows the default
otel-collector
job to which a new target (localhost:8080
) was added:receivers:
otlp:
protocols:
grpc:
http:
# Data sources: metrics
prometheus:
config:
scrape_configs:
- job_name: "otel-collector"
scrape_interval: 30s
static_configs:
- targets: ["otel-collector:8889", "localhost:8080"]
processors:
batch:
send_batch_size: 1000
timeout: 10s
# This file was truncated for brevity.Note that all the jobs are scraped in parallel, and all targets inside a job are scraped serially. For more details about configuring jobs and targets, see the following sections of the Prometheus documentation:
Save the changes you’ve made and restart SigNoz. Depending on how you installed SigNoz, follow the steps in one of the sections below:
Find Metrics available in SigNoz​
You can connect to SigNoz'a clickhouse instance and find the metrics SigNoz is storing. As of now this is bit of manual process, we are bringing capbilities to auto-suggest available metrics soon.
You can follow the below steps
Connect to the ClickHouse container
docker exec -it clickhouse-setup_clickhouse_1 bash
Run the clickhouse-client command to connect to the database service
clickhouse client --host <SigNoz IP> --port 9000
Run the query to list metrics
select DISTINCT(JSONExtractString(time_series.labels,'__name__')) as metrics from signoz_metrics.time_series
If needed, dump in a csv file and parse it locally
select DISTINCT(labels) from signoz_metrics.time_series INTO OUTFILE 'output.csv'
You can use this metrics to plot in the Dashboard section
Metrics from Hostmetrics receiver​
Metrics which are available if hostmetrics is enabled. This is enabled in SigNoz default installation.
Metrics | Description |
---|---|
system_filesystem_usage_total | |
system_network_dropped_total | |
system_cpu_time_total | |
system_disk_merged_total | |
system_disk_io_time_total | |
system_disk_operations_total | |
system_network_errors_total | |
system_network_io_total | |
system_disk_weighted_io_time_total | |
system_network_packets_total | |
system_disk_operation_time_total | |
system_cpu_load_average_5m | |
system_memory_usage_total | |
system_disk_pending_operations_total | |
system_disk_io_total | |
system_cpu_load_average_15m | |
system_cpu_load_average_1m |
Related Videos​
Get Help​
If you need help with the steps in this topic, please reach out to us on Slack.