This monitor scrapes Prmoetheus Go collector and Prometheus process collector metrics from a Prometheus exporter and sends them to SignalFx. It is a wrapper around the prometheus-exporter monitor that provides a restricted but expandable set of metrics.
Monitor Type: prometheus/go
Accepts Endpoints: Yes
Multiple Instances Allowed: Yes
Config option | Required | Type | Description |
---|---|---|---|
host |
yes | string |
Host of the exporter |
port |
yes | integer |
Port of the exporter |
useHTTPS |
no | bool |
If true, the agent will connect to the exporter using HTTPS instead of plain HTTP. (default: false ) |
skipVerify |
no | bool |
If useHTTPS is true and this option is also true, the exporter's TLS cert will not be verified. (default: false ) |
metricPath |
no | string |
Path to the metrics endpoint on the exporter server, usually /metrics (the default). (default: /metrics ) |
sendAllMetrics |
no | bool |
Send all the metrics that come out of the Prometheus exporter without any filtering. This option has no effect when using the prometheus exporter monitor directly since there is no built-in filtering, only when embedding it in other monitors. (default: false ) |
The following table lists the metrics available for this monitor. Metrics that are marked as Included are standard metrics and are monitored by default.
Name | Type | Included | Description |
---|---|---|---|
go_gc_duration_seconds |
cumulative | A summary of the GC invocation durations | |
go_gc_duration_seconds_bucket |
cumulative | A summary of the GC invocation durations | |
go_gc_duration_seconds_count |
cumulative | A summary of the GC invocation durations | |
go_goroutines |
gauge | Number of goroutines that currently exist | |
go_info |
gauge | Information about the Go environment | |
go_memstats_alloc_bytes |
gauge | Number of bytes allocated and still in use | |
go_memstats_alloc_bytes_total |
cumulative | Total number of bytes allocated, even if freed | |
go_memstats_buck_hash_sys_bytes |
gauge | Number of bytes used by the profiling bucket hash table | |
go_memstats_frees_total |
cumulative | Total number of frees | |
go_memstats_gc_cpu_fraction |
gauge | The fraction of this program's available CPU time used by the GC since the program started | |
go_memstats_gc_sys_bytes |
gauge | Number of bytes used for garbage collection system metadata | |
go_memstats_heap_alloc_bytes |
gauge | Number of heap bytes allocated and still in use | |
go_memstats_heap_idle_bytes |
gauge | Number of heap bytes waiting to be used | |
go_memstats_heap_inuse_bytes |
gauge | Number of heap bytes that are in use | |
go_memstats_heap_objects |
gauge | Number of allocated objects | |
go_memstats_heap_released_bytes |
gauge | Number of heap bytes released to OS | |
go_memstats_heap_sys_bytes |
gauge | Number of heap bytes obtained from system | |
go_memstats_last_gc_time_seconds |
gauge | Number of seconds since 1970 of last garbage collection | |
go_memstats_lookups_total |
cumulative | Total number of pointer lookups | |
go_memstats_mallocs_total |
cumulative | Total number of mallocs | |
go_memstats_mcache_inuse_bytes |
gauge | Number of bytes in use by mcache structures | |
go_memstats_mcache_sys_bytes |
gauge | Number of bytes used for mcache structures obtained from system | |
go_memstats_mspan_inuse_bytes |
gauge | Number of bytes in use by mspan structures | |
go_memstats_mspan_sys_bytes |
gauge | Number of bytes used for mspan structures obtained from system | |
go_memstats_next_gc_bytes |
gauge | Number of heap bytes when next garbage collection will take place | |
go_memstats_other_sys_bytes |
gauge | Number of bytes used for other system allocations | |
go_memstats_stack_inuse_bytes |
gauge | Number of bytes in use by the stack allocator | |
go_memstats_stack_sys_bytes |
gauge | Number of bytes obtained from system for stack allocator | |
go_memstats_sys_bytes |
gauge | Number of bytes obtained from system | |
go_threads |
gauge | Number of OS threads created | |
process_cpu_seconds_total |
cumulative | Total user and system CPU time spent in seconds | |
process_max_fds |
gauge | Maximum number of open file descriptors | |
process_open_fds |
gauge | Number of open file descriptors | |
process_resident_memory_bytes |
gauge | Resident memory size in bytes | |
process_start_time_seconds |
gauge | ✔ | Start time of the process since unix epoch in seconds |
process_virtual_memory_bytes |
gauge | Virtual memory size in bytes | |
process_virtual_memory_max_bytes |
gauge | Maximum amount of virtual memory available in bytes |
To specify custom metrics you want to monitor, add a metricsToInclude
filter
to the agent configuration, as shown in the code snippet below. The snippet
lists all available custom metrics. You can copy and paste the snippet into
your configuration file, then delete any custom metrics that you do not want
sent.
Note that some of the custom metrics require you to set a flag as well as add them to the list. Check the monitor configuration file to see if a flag is required for gathering additional metrics.
metricsToInclude:
- metricNames:
- go_gc_duration_seconds
- go_gc_duration_seconds_bucket
- go_gc_duration_seconds_count
- go_goroutines
- go_info
- go_memstats_alloc_bytes
- go_memstats_alloc_bytes_total
- go_memstats_buck_hash_sys_bytes
- go_memstats_frees_total
- go_memstats_gc_cpu_fraction
- go_memstats_gc_sys_bytes
- go_memstats_heap_alloc_bytes
- go_memstats_heap_idle_bytes
- go_memstats_heap_inuse_bytes
- go_memstats_heap_objects
- go_memstats_heap_released_bytes
- go_memstats_heap_sys_bytes
- go_memstats_last_gc_time_seconds
- go_memstats_lookups_total
- go_memstats_mallocs_total
- go_memstats_mcache_inuse_bytes
- go_memstats_mcache_sys_bytes
- go_memstats_mspan_inuse_bytes
- go_memstats_mspan_sys_bytes
- go_memstats_next_gc_bytes
- go_memstats_other_sys_bytes
- go_memstats_stack_inuse_bytes
- go_memstats_stack_sys_bytes
- go_memstats_sys_bytes
- go_threads
- process_cpu_seconds_total
- process_max_fds
- process_open_fds
- process_resident_memory_bytes
- process_virtual_memory_bytes
- process_virtual_memory_max_bytes
monitorType: prometheus/go