src/collectors/macos.plugin/metadata.yaml
plugin_name: macos.plugin
modules:
- meta:
plugin_name: macos.plugin
module_name: mach_smi
monitored_instance:
name: macOS
link: "https://www.apple.com/macos"
categories:
- data-collection.macos-systems
icon_filename: "macos.svg"
related_resources:
integrations:
list: []
info_provided_to_referring_integrations:
description: ""
keywords:
- macos
- apple
- darwin
most_popular: false
overview:
data_collection:
metrics_description: "Monitor macOS metrics for efficient operating system performance."
method_description: |
The plugin uses three different methods to collect data:
- The function `sysctlbyname` is called to collect network, swap, loadavg, and boot time.
- The functtion `host_statistic` is called to collect CPU and Virtual memory data;
- The function `IOServiceGetMatchingServices` to collect storage information.
supported_platforms:
include:
- macOS
exclude: []
multi_instance: false
additional_permissions:
description: ""
default_behavior:
auto_detection:
description: ""
limits:
description: ""
performance_impact:
description: ""
setup:
prerequisites:
list: []
configuration:
file:
name: "netdata.conf"
description: "The netdata main configuration file."
options:
description: |
There are three sections in the file which you can configure:
- `[plugin:macos:sysctl]` - Enable or disable monitoring for network, swap, loadavg, and boot time.
- `[plugin:macos:mach_smi]` - Enable or disable monitoring for CPU and Virtual memory.
- `[plugin:macos:iokit]` - Enable or disable monitoring for storage device.
folding:
title: "Config options"
enabled: true
list:
- name: enable load average
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of load average metrics (load1, load5, load15).
default_value: yes
required: false
- name: system swap
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of system swap metrics (free, used).
default_value: yes
required: false
- name: bandwidth
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of network bandwidth metrics (received, sent).
default_value: yes
required: false
- name: ipv4 TCP packets
description: Enable or disable monitoring of IPv4 TCP total packets metrics (received, sent).
section_name: plugin:macos:sysctl
default_value: yes
required: false
- name: ipv4 TCP errors
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of IPv4 TCP packets metrics (Input Errors, Checksum, Retransmission segments).
default_value: yes
required: false
- name: ipv4 TCP handshake issues
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of IPv4 TCP handshake metrics (Established Resets, Active Opens, Passive Opens, Attempt Fails).
default_value: yes
required: false
- name: ECN packets
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of ECN statistics metrics (InCEPkts, InNoECTPkts).
default_value: auto
required: false
- name: TCP SYN cookies
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of TCP SYN cookies metrics (received, sent, failed).
default_value: auto
required: false
- name: TCP out-of-order queue
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of TCP out-of-order queue metrics (inqueue).
default_value: auto
required: false
- name: TCP connection aborts
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of TCP connection aborts metrics (Bad Data, User closed, No memory, Timeout).
default_value: auto
required: false
- name: ipv4 UDP packets
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of ipv4 UDP packets metrics (sent, received.).
default_value: yes
required: false
- name: ipv4 UDP errors
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of ipv4 UDP errors metrics (Recieved Buffer error, Input Errors, No Ports, IN Checksum Errors, Ignore Multi).
default_value: yes
required: false
- name: ipv4 icmp packets
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of IPv4 ICMP packets metrics (sent, received, in error, OUT error, IN Checksum error).
default_value: yes
required: false
- name: ipv4 icmp messages
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of ipv4 ICMP messages metrics (I/O messages, I/O Errors, In Checksum).
default_value: yes
required: false
- name: ipv4 packets
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of ipv4 packets metrics (received, sent, forwarded, delivered).
default_value: yes
required: false
- name: ipv4 fragments sent
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of IPv4 fragments sent metrics (ok, fails, creates).
default_value: yes
required: false
- name: ipv4 fragments assembly
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of IPv4 fragments assembly metrics (ok, failed, all).
default_value: yes
required: false
- name: ipv4 errors
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of IPv4 errors metrics (I/O discard, I/O HDR errors, In Addr errors, In Unknown protos, OUT No Routes).
default_value: yes
required: false
- name: ipv6 packets
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of IPv6 packets metrics (received, sent, forwarded, delivered).
default_value: auto
required: false
- name: ipv6 fragments sent
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of IPv6 fragments sent metrics (ok, failed, all).
default_value: auto
required: false
- name: ipv6 fragments assembly
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of IPv6 fragments assembly metrics (ok, failed, timeout, all).
default_value: auto
required: false
- name: ipv6 errors
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of IPv6 errors metrics (I/O Discards, In Hdr Errors, In Addr Errors, In Truncaedd Packets, I/O No Routes).
default_value: auto
required: false
- name: icmp
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of ICMP metrics (sent, received).
default_value: auto
required: false
- name: icmp redirects
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of ICMP redirects metrics (received, sent).
default_value: auto
required: false
- name: icmp errors
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of ICMP metrics (I/O Errors, In Checksums, In Destination Unreachable, In Packet too big, In Time Exceeds, In Parm Problem, Out Dest Unreachable, Out Timee Exceeds, Out Parm Problems.).
default_value: auto
required: false
- name: icmp echos
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of ICMP echos metrics (I/O Echos, I/O Echo Reply).
default_value: auto
required: false
- name: icmp router
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of ICMP router metrics (I/O Solicits, I/O Advertisements).
default_value: auto
required: false
- name: icmp neighbor
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of ICMP neighbor metrics (I/O Solicits, I/O Advertisements).
default_value: auto
required: false
- name: icmp types
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of ICMP types metrics (I/O Type1, I/O Type128, I/O Type129, Out Type133, Out Type135, In Type136, Out Type145).
default_value: auto
required: false
- name: space usage for all disks
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of space usage for all disks metrics (available, used, reserved for root).
default_value: yes
required: false
- name: inodes usage for all disks
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of inodes usage for all disks metrics (available, used, reserved for root).
default_value: yes
required: false
- name: bandwidth
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of bandwidth metrics (received, sent).
default_value: yes
required: false
- name: system uptime
section_name: plugin:macos:sysctl
description: Enable or disable monitoring of system uptime metrics (uptime).
default_value: yes
required: false
- name: cpu utilization
section_name: plugin:macos:mach_smi
description: Enable or disable monitoring of CPU utilization metrics (user, nice, system, idel).
default_value: yes
required: false
- name: system ram
section_name: plugin:macos:mach_smi
description: Enable or disable monitoring of system RAM metrics (Active, Wired, throttled, compressor, inactive, purgeable, speculative, free).
default_value: yes
required: false
- name: swap i/o
section_name: plugin:macos:mach_smi
description: Enable or disable monitoring of SWAP I/O metrics (I/O Swap).
default_value: yes
required: false
- name: memory page faults
section_name: plugin:macos:mach_smi
description: Enable or disable monitoring of memory page faults metrics (memory, cow, I/O page, compress, decompress, zero fill, reactivate, purge).
default_value: yes
required: false
- name: disk i/o
section_name: plugin:macos:iokit
description: Enable or disable monitoring of disk I/O metrics (In, Out).
default_value: yes
required: false
examples:
folding:
enabled: false
title: "Config"
list:
- name: Disable swap monitoring.
folding:
enabled: true
description: A basic example that discards swap monitoring
config: |
[plugin:macos:sysctl]
system swap = no
[plugin:macos:mach_smi]
swap i/o = no
- name: Disable complete Machine SMI section.
folding:
enabled: true
description: A basic example that discards swap monitoring
config: |
[plugin:macos:mach_smi]
cpu utilization = no
system ram = no
swap i/o = no
memory page faults = no
disk i/o = no
troubleshooting:
problems:
list: []
alerts:
- name: interface_speed
link: https://github.com/netdata/netdata/blob/master/src/health/health.d/net.conf
metric: net.net
info: network interface ${label:device} current speed
os: "*"
metrics:
folding:
title: Metrics
enabled: false
description: ""
availability: []
scopes:
- name: global
description: |
These metrics refer to hardware and network monitoring.
labels: []
metrics:
- name: system.cpu
description: Total CPU utilization
unit: "percentage"
chart_type: stacked
dimensions:
- name: user
- name: nice
- name: system
- name: idle
- name: system.ram
description: System RAM
unit: "MiB"
chart_type: stacked
dimensions:
- name: active
- name: wired
- name: throttled
- name: compressor
- name: inactive
- name: purgeable
- name: speculative
- name: free
- name: mem.swapio
description: Swap I/O
unit: "KiB/s"
chart_type: area
dimensions:
- name: io
- name: out
- name: mem.pgfaults
description: Memory Page Faults
unit: "faults/s"
chart_type: line
dimensions:
- name: memory
- name: cow
- name: pagein
- name: pageout
- name: compress
- name: decompress
- name: zero_fill
- name: reactivate
- name: purge
- name: system.load
description: System Load Average
unit: "load"
chart_type: line
dimensions:
- name: load1
- name: load5
- name: load15
- name: mem.swap
description: System Swap
unit: "MiB"
chart_type: stacked
dimensions:
- name: free
- name: used
- name: system.ipv4
description: IPv4 Bandwidth
unit: "kilobits/s"
chart_type: area
dimensions:
- name: received
- name: sent
- name: ipv4.tcppackets
description: IPv4 TCP Packets
unit: "packets/s"
chart_type: line
dimensions:
- name: received
- name: sent
- name: ipv4.tcperrors
description: IPv4 TCP Errors
unit: "packets/s"
chart_type: line
dimensions:
- name: InErrs
- name: InCsumErrors
- name: RetransSegs
- name: ipv4.tcphandshake
description: IPv4 TCP Handshake Issues
unit: "events/s"
chart_type: line
dimensions:
- name: EstabResets
- name: ActiveOpens
- name: PassiveOpens
- name: AttemptFails
- name: ipv4.tcpconnaborts
description: TCP Connection Aborts
unit: "connections/s"
chart_type: line
dimensions:
- name: baddata
- name: userclosed
- name: nomemory
- name: timeout
- name: ipv4.tcpofo
description: TCP Out-Of-Order Queue
unit: "packets/s"
chart_type: line
dimensions:
- name: inqueue
- name: ipv4.tcpsyncookies
description: TCP SYN Cookies
unit: "packets/s"
chart_type: line
dimensions:
- name: received
- name: sent
- name: failed
- name: ipv4.ecnpkts
description: IPv4 ECN Statistics
unit: "packets/s"
chart_type: line
dimensions:
- name: CEP
- name: NoECTP
- name: ipv4.udppackets
description: IPv4 UDP Packets
unit: "packets/s"
chart_type: line
dimensions:
- name: received
- name: sent
- name: ipv4.udperrors
description: IPv4 UDP Errors
unit: "events/s"
chart_type: line
dimensions:
- name: RcvbufErrors
- name: InErrors
- name: NoPorts
- name: InCsumErrors
- name: IgnoredMulti
- name: ipv4.icmp
description: IPv4 ICMP Packets
unit: "packets/s"
chart_type: line
dimensions:
- name: received
- name: sent
- name: ipv4.icmp_errors
description: IPv4 ICMP Errors
unit: "packets/s"
chart_type: line
dimensions:
- name: InErrors
- name: OutErrors
- name: InCsumErrors
- name: ipv4.icmpmsg
description: IPv4 ICMP Messages
unit: "packets/s"
chart_type: line
dimensions:
- name: InEchoReps
- name: OutEchoReps
- name: InEchos
- name: OutEchos
- name: ipv4.packets
description: IPv4 Packets
unit: "packets/s"
chart_type: line
dimensions:
- name: received
- name: sent
- name: forwarded
- name: delivered
- name: ipv4.fragsout
description: IPv4 Fragments Sent
unit: "packets/s"
chart_type: line
dimensions:
- name: ok
- name: failed
- name: created
- name: ipv4.fragsin
description: IPv4 Fragments Reassembly
unit: "packets/s"
chart_type: line
dimensions:
- name: ok
- name: failed
- name: all
- name: ipv4.errors
description: IPv4 Errors
unit: "packets/s"
chart_type: line
dimensions:
- name: InDiscards
- name: OutDiscards
- name: InHdrErrors
- name: OutNoRoutes
- name: InAddrErrors
- name: InUnknownProtos
- name: ipv6.packets
description: IPv6 Packets
unit: "packets/s"
chart_type: line
dimensions:
- name: received
- name: sent
- name: forwarded
- name: delivers
- name: ipv6.fragsout
description: IPv6 Fragments Sent
unit: "packets/s"
chart_type: line
dimensions:
- name: ok
- name: failed
- name: all
- name: ipv6.fragsin
description: IPv6 Fragments Reassembly
unit: "packets/s"
chart_type: line
dimensions:
- name: ok
- name: failed
- name: timeout
- name: all
- name: ipv6.errors
description: IPv6 Errors
unit: "packets/s"
chart_type: line
dimensions:
- name: InDiscards
- name: OutDiscards
- name: InHdrErrors
- name: InAddrErrors
- name: InTruncatedPkts
- name: InNoRoutes
- name: OutNoRoutes
- name: ipv6.icmp
description: IPv6 ICMP Messages
unit: "messages/s"
chart_type: line
dimensions:
- name: received
- name: sent
- name: ipv6.icmpredir
description: IPv6 ICMP Redirects
unit: "redirects/s"
chart_type: line
dimensions:
- name: received
- name: sent
- name: ipv6.icmperrors
description: IPv6 ICMP Errors
unit: "errors/s"
chart_type: line
dimensions:
- name: InErrors
- name: OutErrors
- name: InCsumErrors
- name: InDestUnreachs
- name: InPktTooBigs
- name: InTimeExcds
- name: InParmProblems
- name: OutDestUnreachs
- name: OutTimeExcds
- name: OutParmProblems
- name: ipv6.icmpechos
description: IPv6 ICMP Echo
unit: "messages/s"
chart_type: line
dimensions:
- name: InEchos
- name: OutEchos
- name: InEchoReplies
- name: OutEchoReplies
- name: ipv6.icmprouter
description: IPv6 Router Messages
unit: "messages/s"
chart_type: line
dimensions:
- name: InSolicits
- name: OutSolicits
- name: InAdvertisements
- name: OutAdvertisements
- name: ipv6.icmpneighbor
description: IPv6 Neighbor Messages
unit: "messages/s"
chart_type: line
dimensions:
- name: InSolicits
- name: OutSolicits
- name: InAdvertisements
- name: OutAdvertisements
- name: ipv6.icmptypes
description: IPv6 ICMP Types
unit: "messages/s"
chart_type: line
dimensions:
- name: InType1
- name: InType128
- name: InType129
- name: InType136
- name: OutType1
- name: OutType128
- name: OutType129
- name: OutType133
- name: OutType135
- name: OutType143
- name: system.uptime
description: System Uptime
unit: "seconds"
chart_type: line
dimensions:
- name: uptime
- name: system.io
description: Disk I/O
unit: "KiB/s"
chart_type: area
dimensions:
- name: in
- name: out
- name: disk
description: ""
labels: []
metrics:
- name: disk.io
description: Disk I/O Bandwidth
unit: "KiB/s"
chart_type: area
dimensions:
- name: read
- name: writes
- name: disk.ops
description: Disk Completed I/O Operations
unit: "operations/s"
chart_type: line
dimensions:
- name: read
- name: writes
- name: disk.util
description: Disk Utilization Time
unit: "% of time working"
chart_type: area
dimensions:
- name: utilization
- name: disk.iotime
description: Disk Total I/O Time
unit: "milliseconds/s"
chart_type: line
dimensions:
- name: reads
- name: writes
- name: disk.await
description: Average Completed I/O Operation Time
unit: "milliseconds/operation"
chart_type: line
dimensions:
- name: reads
- name: writes
- name: disk.avgsz
description: Average Completed I/O Operation Bandwidth
unit: "KiB/operation"
chart_type: line
dimensions:
- name: reads
- name: writes
- name: disk.svctm
description: Average Service Time
unit: "milliseconds/operation"
chart_type: line
dimensions:
- name: svctm
- name: mount point
description: ""
labels: []
metrics:
- name: disk.space
description: Disk Space Usage for {mounted dir} [{mounted filesystem}]
unit: "GiB"
chart_type: stacked
dimensions:
- name: avail
- name: used
- name: reserved_for_root
- name: disk.inodes
description: Disk Files (inodes) Usage for {mounted dir} [{mounted filesystem}]
unit: "inodes"
chart_type: stacked
dimensions:
- name: avail
- name: used
- name: reserved_for_root
- name: network device
description: ""
labels: []
metrics:
- name: net.net
description: Bandwidth
unit: "kilobits/s"
chart_type: area
dimensions:
- name: received
- name: sent
- name: net.packets
description: Packets
unit: "packets/s"
chart_type: line
dimensions:
- name: received
- name: sent
- name: multicast_received
- name: multicast_sent
- name: net.errors
description: Interface Errors
unit: "errors/s"
chart_type: line
dimensions:
- name: inbound
- name: outbound
- name: net.drops
description: Interface Drops
unit: "drops/s"
chart_type: line
dimensions:
- name: inbound
- name: net.events
description: Network Interface Events
unit: "events/s"
chart_type: line
dimensions:
- name: frames
- name: collisions
- name: carrier