Monitor Type: prometheus/go
(Source)
Accepts Endpoints: Yes
Multiple Instances Allowed: Yes
This monitor scrapes Prometheus 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.
To activate this monitor in the Smart Agent, add the following to your agent config:
monitors: # All monitor config goes under this key
- type: prometheus/go
... # Additional config
For a list of monitor options that are common to all monitors, see Common Configuration.
Config option | Required | Type | Description |
---|---|---|---|
httpTimeout |
no | int64 |
HTTP timeout duration for both read and writes. This should be a duration string that is accepted by https://golang.org/pkg/time/#ParseDuration (default: 10s ) |
username |
no | string |
Basic Auth username to use on each request, if any. |
password |
no | string |
Basic Auth password to use on each request, if any. |
useHTTPS |
no | bool |
If true, the agent will connect to the server using HTTPS instead of plain HTTP. (default: false ) |
httpHeaders |
no | map of strings |
A map of HTTP header names to values. Comma separated multiple values for the same message-header is supported. |
skipVerify |
no | bool |
If useHTTPS is true and this option is also true, the exporter's TLS cert will not be verified. (default: false ) |
caCertPath |
no | string |
Path to the CA cert that has signed the TLS cert, unnecessary if skipVerify is set to false. |
clientCertPath |
no | string |
Path to the client TLS cert to use for TLS required connections |
clientKeyPath |
no | string |
Path to the client TLS key to use for TLS required connections |
host |
yes | string |
Host of the exporter |
port |
yes | integer |
Port of the exporter |
useServiceAccount |
no | bool |
Use pod service account to authenticate. (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 ) |
These are the metrics available for this monitor. Metrics that are categorized as container/host (default) are in bold and italics in the list below.
go_gc_duration_seconds
(cumulative)
A summary of the GC invocation durationsgo_gc_duration_seconds_bucket
(cumulative)
A summary of the GC invocation durationsgo_gc_duration_seconds_count
(cumulative)
A summary of the GC invocation durationsgo_goroutines
(gauge)
Number of goroutines that currently existgo_info
(gauge)
Information about the Go environmentgo_memstats_alloc_bytes
(gauge)
Number of bytes allocated and still in usego_memstats_alloc_bytes_total
(cumulative)
Total number of bytes allocated, even if freedgo_memstats_buck_hash_sys_bytes
(gauge)
Number of bytes used by the profiling bucket hash tablego_memstats_frees_total
(cumulative)
Total number of freesgo_memstats_gc_cpu_fraction
(gauge)
The fraction of this program's available CPU time used by the GC since the program startedgo_memstats_gc_sys_bytes
(gauge)
Number of bytes used for garbage collection system metadatago_memstats_heap_alloc_bytes
(gauge)
Number of heap bytes allocated and still in usego_memstats_heap_idle_bytes
(gauge)
Number of heap bytes waiting to be usedgo_memstats_heap_inuse_bytes
(gauge)
Number of heap bytes that are in usego_memstats_heap_objects
(gauge)
Number of allocated objectsgo_memstats_heap_released_bytes
(gauge)
Number of heap bytes released to OSgo_memstats_heap_sys_bytes
(gauge)
Number of heap bytes obtained from systemgo_memstats_last_gc_time_seconds
(gauge)
Number of seconds since 1970 of last garbage collectiongo_memstats_lookups_total
(cumulative)
Total number of pointer lookupsgo_memstats_mallocs_total
(cumulative)
Total number of mallocsgo_memstats_mcache_inuse_bytes
(gauge)
Number of bytes in use by mcache structuresgo_memstats_mcache_sys_bytes
(gauge)
Number of bytes used for mcache structures obtained from systemgo_memstats_mspan_inuse_bytes
(gauge)
Number of bytes in use by mspan structuresgo_memstats_mspan_sys_bytes
(gauge)
Number of bytes used for mspan structures obtained from systemgo_memstats_next_gc_bytes
(gauge)
Number of heap bytes when next garbage collection will take placego_memstats_other_sys_bytes
(gauge)
Number of bytes used for other system allocationsgo_memstats_stack_inuse_bytes
(gauge)
Number of bytes in use by the stack allocatorgo_memstats_stack_sys_bytes
(gauge)
Number of bytes obtained from system for stack allocatorgo_memstats_sys_bytes
(gauge)
Number of bytes obtained from systemgo_threads
(gauge)
Number of OS threads createdprocess_cpu_seconds_total
(cumulative)
Total user and system CPU time spent in secondsprocess_max_fds
(gauge)
Maximum number of open file descriptorsprocess_open_fds
(gauge)
Number of open file descriptorsprocess_resident_memory_bytes
(gauge)
Resident memory size in bytesprocess_start_time_seconds
(gauge)
Start time of the process since unix epoch in secondsprocess_virtual_memory_bytes
(gauge)
Virtual memory size in bytesprocess_virtual_memory_max_bytes
(gauge)
Maximum amount of virtual memory available in bytes
To emit metrics that are not default, you can add those metrics in the
generic monitor-level extraMetrics
config option. Metrics that are derived
from specific configuration options that do not appear in the above list of
metrics do not need to be added to extraMetrics
.
To see a list of metrics that will be emitted you can run agent-status monitors
after configuring this monitor in a running agent instance.