mirror of
https://github.com/prometheus/node_exporter.git
synced 2025-02-02 08:42:31 -08:00
Enable IPVS collector by default (#623)
* Silence error output when no IPVS present. * Enable by default. * Update end-to-end fixture. * Update README.
This commit is contained in:
parent
efe5f62717
commit
46c31d8a7e
|
@ -33,6 +33,7 @@ filefd | Exposes file descriptor statistics from `/proc/sys/fs/file-nr`. | Linux
|
||||||
filesystem | Exposes filesystem statistics, such as disk space used. | Darwin, Dragonfly, FreeBSD, Linux, OpenBSD
|
filesystem | Exposes filesystem statistics, such as disk space used. | Darwin, Dragonfly, FreeBSD, Linux, OpenBSD
|
||||||
hwmon | Expose hardware monitoring and sensor data from `/sys/class/hwmon/`. | Linux
|
hwmon | Expose hardware monitoring and sensor data from `/sys/class/hwmon/`. | Linux
|
||||||
infiniband | Exposes network statistics specific to InfiniBand configurations. | Linux
|
infiniband | Exposes network statistics specific to InfiniBand configurations. | Linux
|
||||||
|
ipvs | Exposes IPVS status from `/proc/net/ip_vs` and stats from `/proc/net/ip_vs_stats`. | Linux
|
||||||
loadavg | Exposes load average. | Darwin, Dragonfly, FreeBSD, Linux, NetBSD, OpenBSD, Solaris
|
loadavg | Exposes load average. | Darwin, Dragonfly, FreeBSD, Linux, NetBSD, OpenBSD, Solaris
|
||||||
mdadm | Exposes statistics about devices in `/proc/mdstat` (does nothing if no `/proc/mdstat` present). | Linux
|
mdadm | Exposes statistics about devices in `/proc/mdstat` (does nothing if no `/proc/mdstat` present). | Linux
|
||||||
meminfo | Exposes memory statistics. | Darwin, Dragonfly, FreeBSD, Linux
|
meminfo | Exposes memory statistics. | Darwin, Dragonfly, FreeBSD, Linux
|
||||||
|
@ -57,7 +58,6 @@ buddyinfo | Exposes statistics of memory fragments as reported by /proc/buddyinf
|
||||||
devstat | Exposes device statistics | Dragonfly, FreeBSD
|
devstat | Exposes device statistics | Dragonfly, FreeBSD
|
||||||
drbd | Exposes Distributed Replicated Block Device statistics | Linux
|
drbd | Exposes Distributed Replicated Block Device statistics | Linux
|
||||||
interrupts | Exposes detailed interrupts statistics. | Linux, OpenBSD
|
interrupts | Exposes detailed interrupts statistics. | Linux, OpenBSD
|
||||||
ipvs | Exposes IPVS status from `/proc/net/ip_vs` and stats from `/proc/net/ip_vs_stats`. | Linux
|
|
||||||
ksmd | Exposes kernel and system statistics from `/sys/kernel/mm/ksm`. | Linux
|
ksmd | Exposes kernel and system statistics from `/sys/kernel/mm/ksm`. | Linux
|
||||||
logind | Exposes session counts from [logind](http://www.freedesktop.org/wiki/Software/systemd/logind/). | Linux
|
logind | Exposes session counts from [logind](http://www.freedesktop.org/wiki/Software/systemd/logind/). | Linux
|
||||||
meminfo\_numa | Exposes memory statistics from `/proc/meminfo_numa`. | Linux
|
meminfo\_numa | Exposes memory statistics from `/proc/meminfo_numa`. | Linux
|
||||||
|
|
|
@ -862,6 +862,51 @@ node_infiniband_unicast_packets_transmitted_total{device="mlx4_0",port="2"} 0
|
||||||
# HELP node_intr Total number of interrupts serviced.
|
# HELP node_intr Total number of interrupts serviced.
|
||||||
# TYPE node_intr counter
|
# TYPE node_intr counter
|
||||||
node_intr 8.885917e+06
|
node_intr 8.885917e+06
|
||||||
|
# HELP node_ipvs_backend_connections_active The current active connections by local and remote address.
|
||||||
|
# TYPE node_ipvs_backend_connections_active gauge
|
||||||
|
node_ipvs_backend_connections_active{local_address="192.168.0.22",local_port="3306",proto="TCP",remote_address="192.168.82.22",remote_port="3306"} 248
|
||||||
|
node_ipvs_backend_connections_active{local_address="192.168.0.22",local_port="3306",proto="TCP",remote_address="192.168.83.21",remote_port="3306"} 248
|
||||||
|
node_ipvs_backend_connections_active{local_address="192.168.0.22",local_port="3306",proto="TCP",remote_address="192.168.83.24",remote_port="3306"} 248
|
||||||
|
node_ipvs_backend_connections_active{local_address="192.168.0.55",local_port="3306",proto="TCP",remote_address="192.168.49.32",remote_port="3306"} 0
|
||||||
|
node_ipvs_backend_connections_active{local_address="192.168.0.55",local_port="3306",proto="TCP",remote_address="192.168.50.26",remote_port="3306"} 0
|
||||||
|
node_ipvs_backend_connections_active{local_address="192.168.0.57",local_port="3306",proto="TCP",remote_address="192.168.50.21",remote_port="3306"} 1498
|
||||||
|
node_ipvs_backend_connections_active{local_address="192.168.0.57",local_port="3306",proto="TCP",remote_address="192.168.82.21",remote_port="3306"} 1499
|
||||||
|
node_ipvs_backend_connections_active{local_address="192.168.0.57",local_port="3306",proto="TCP",remote_address="192.168.84.22",remote_port="3306"} 0
|
||||||
|
# HELP node_ipvs_backend_connections_inactive The current inactive connections by local and remote address.
|
||||||
|
# TYPE node_ipvs_backend_connections_inactive gauge
|
||||||
|
node_ipvs_backend_connections_inactive{local_address="192.168.0.22",local_port="3306",proto="TCP",remote_address="192.168.82.22",remote_port="3306"} 2
|
||||||
|
node_ipvs_backend_connections_inactive{local_address="192.168.0.22",local_port="3306",proto="TCP",remote_address="192.168.83.21",remote_port="3306"} 1
|
||||||
|
node_ipvs_backend_connections_inactive{local_address="192.168.0.22",local_port="3306",proto="TCP",remote_address="192.168.83.24",remote_port="3306"} 2
|
||||||
|
node_ipvs_backend_connections_inactive{local_address="192.168.0.55",local_port="3306",proto="TCP",remote_address="192.168.49.32",remote_port="3306"} 0
|
||||||
|
node_ipvs_backend_connections_inactive{local_address="192.168.0.55",local_port="3306",proto="TCP",remote_address="192.168.50.26",remote_port="3306"} 0
|
||||||
|
node_ipvs_backend_connections_inactive{local_address="192.168.0.57",local_port="3306",proto="TCP",remote_address="192.168.50.21",remote_port="3306"} 0
|
||||||
|
node_ipvs_backend_connections_inactive{local_address="192.168.0.57",local_port="3306",proto="TCP",remote_address="192.168.82.21",remote_port="3306"} 0
|
||||||
|
node_ipvs_backend_connections_inactive{local_address="192.168.0.57",local_port="3306",proto="TCP",remote_address="192.168.84.22",remote_port="3306"} 0
|
||||||
|
# HELP node_ipvs_backend_weight The current backend weight by local and remote address.
|
||||||
|
# TYPE node_ipvs_backend_weight gauge
|
||||||
|
node_ipvs_backend_weight{local_address="192.168.0.22",local_port="3306",proto="TCP",remote_address="192.168.82.22",remote_port="3306"} 100
|
||||||
|
node_ipvs_backend_weight{local_address="192.168.0.22",local_port="3306",proto="TCP",remote_address="192.168.83.21",remote_port="3306"} 100
|
||||||
|
node_ipvs_backend_weight{local_address="192.168.0.22",local_port="3306",proto="TCP",remote_address="192.168.83.24",remote_port="3306"} 100
|
||||||
|
node_ipvs_backend_weight{local_address="192.168.0.55",local_port="3306",proto="TCP",remote_address="192.168.49.32",remote_port="3306"} 100
|
||||||
|
node_ipvs_backend_weight{local_address="192.168.0.55",local_port="3306",proto="TCP",remote_address="192.168.50.26",remote_port="3306"} 0
|
||||||
|
node_ipvs_backend_weight{local_address="192.168.0.57",local_port="3306",proto="TCP",remote_address="192.168.50.21",remote_port="3306"} 100
|
||||||
|
node_ipvs_backend_weight{local_address="192.168.0.57",local_port="3306",proto="TCP",remote_address="192.168.82.21",remote_port="3306"} 100
|
||||||
|
node_ipvs_backend_weight{local_address="192.168.0.57",local_port="3306",proto="TCP",remote_address="192.168.84.22",remote_port="3306"} 0
|
||||||
|
# HELP node_ipvs_connections_total The total number of connections made.
|
||||||
|
# TYPE node_ipvs_connections_total counter
|
||||||
|
node_ipvs_connections_total 2.3765872e+07
|
||||||
|
# HELP node_ipvs_incoming_bytes_total The total amount of incoming data.
|
||||||
|
# TYPE node_ipvs_incoming_bytes_total counter
|
||||||
|
node_ipvs_incoming_bytes_total 8.9991519156915e+13
|
||||||
|
# HELP node_ipvs_incoming_packets_total The total number of incoming packets.
|
||||||
|
# TYPE node_ipvs_incoming_packets_total counter
|
||||||
|
node_ipvs_incoming_packets_total 3.811989221e+09
|
||||||
|
# HELP node_ipvs_outgoing_bytes_total The total amount of outgoing data.
|
||||||
|
# TYPE node_ipvs_outgoing_bytes_total counter
|
||||||
|
node_ipvs_outgoing_bytes_total 0
|
||||||
|
# HELP node_ipvs_outgoing_packets_total The total number of outgoing packets.
|
||||||
|
# TYPE node_ipvs_outgoing_packets_total counter
|
||||||
|
node_ipvs_outgoing_packets_total 0
|
||||||
# HELP node_ksmd_full_scans_total ksmd 'full_scans' file.
|
# HELP node_ksmd_full_scans_total ksmd 'full_scans' file.
|
||||||
# TYPE node_ksmd_full_scans_total counter
|
# TYPE node_ksmd_full_scans_total counter
|
||||||
node_ksmd_full_scans_total 323
|
node_ksmd_full_scans_total 323
|
||||||
|
@ -2505,6 +2550,7 @@ node_scrape_collector_success{collector="entropy"} 1
|
||||||
node_scrape_collector_success{collector="filefd"} 1
|
node_scrape_collector_success{collector="filefd"} 1
|
||||||
node_scrape_collector_success{collector="hwmon"} 1
|
node_scrape_collector_success{collector="hwmon"} 1
|
||||||
node_scrape_collector_success{collector="infiniband"} 1
|
node_scrape_collector_success{collector="infiniband"} 1
|
||||||
|
node_scrape_collector_success{collector="ipvs"} 1
|
||||||
node_scrape_collector_success{collector="ksmd"} 1
|
node_scrape_collector_success{collector="ksmd"} 1
|
||||||
node_scrape_collector_success{collector="loadavg"} 1
|
node_scrape_collector_success{collector="loadavg"} 1
|
||||||
node_scrape_collector_success{collector="mdadm"} 1
|
node_scrape_collector_success{collector="mdadm"} 1
|
||||||
|
|
|
@ -17,9 +17,11 @@ package collector
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
|
||||||
"github.com/prometheus/client_golang/prometheus"
|
"github.com/prometheus/client_golang/prometheus"
|
||||||
|
"github.com/prometheus/common/log"
|
||||||
"github.com/prometheus/procfs"
|
"github.com/prometheus/procfs"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -106,6 +108,11 @@ func newIPVSCollector() (*ipvsCollector, error) {
|
||||||
func (c *ipvsCollector) Update(ch chan<- prometheus.Metric) error {
|
func (c *ipvsCollector) Update(ch chan<- prometheus.Metric) error {
|
||||||
ipvsStats, err := c.fs.NewIPVSStats()
|
ipvsStats, err := c.fs.NewIPVSStats()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
// Cannot access ipvs metrics, report no error.
|
||||||
|
if os.IsNotExist(err) {
|
||||||
|
log.Debug("ipvs collector metrics are not available for this system")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
return fmt.Errorf("could not get IPVS stats: %s", err)
|
return fmt.Errorf("could not get IPVS stats: %s", err)
|
||||||
}
|
}
|
||||||
ch <- c.connections.mustNewConstMetric(float64(ipvsStats.Connections))
|
ch <- c.connections.mustNewConstMetric(float64(ipvsStats.Connections))
|
||||||
|
|
|
@ -15,6 +15,7 @@ collectors=$(cat << COLLECTORS
|
||||||
filefd
|
filefd
|
||||||
hwmon
|
hwmon
|
||||||
infiniband
|
infiniband
|
||||||
|
ipvs
|
||||||
ksmd
|
ksmd
|
||||||
loadavg
|
loadavg
|
||||||
mdadm
|
mdadm
|
||||||
|
|
|
@ -32,7 +32,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
defaultCollectors = "arp,bcache,conntrack,cpu,diskstats,entropy,edac,exec,filefd,filesystem,hwmon,infiniband,loadavg,mdadm,meminfo,netdev,netstat,sockstat,stat,textfile,time,uname,vmstat,wifi,xfs,zfs"
|
defaultCollectors = "arp,bcache,conntrack,cpu,diskstats,entropy,edac,exec,filefd,filesystem,hwmon,infiniband,ipvs,loadavg,mdadm,meminfo,netdev,netstat,sockstat,stat,textfile,time,uname,vmstat,wifi,xfs,zfs"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
Loading…
Reference in a new issue