advance
๊ธฐ๋ณธ์ ์ผ๋ก ์์ง๋๋ ์ ๋ณด์ ์์ง๋์ง ์๋์ ๋ณด๋ฅผ ์์์ผ ํ๋ค.
node_exporter -h
๋ฅผ ํตํด์ ์ ๋ณด๋ฅผ ๋ณผ์ ์๋ค.
/usr/local/bin/node_exporter -h
usage: node_exporter [<flags>]
Flags:
-h, --[no-]help Show context-sensitive help (also try --help-long and --help-man).
--collector.arp.device-include=COLLECTOR.ARP.DEVICE-INCLUDE
Regexp of arp devices to include (mutually exclusive to device-exclude).
--collector.arp.device-exclude=COLLECTOR.ARP.DEVICE-EXCLUDE
Regexp of arp devices to exclude (mutually exclusive to device-include).
--[no-]collector.bcache.priorityStats
Expose expensive priority stats.
--[no-]collector.cpu.guest
Enables metric node_cpu_guest_seconds_total
--[no-]collector.cpu.info Enables metric cpu_info
--collector.cpu.info.flags-include=COLLECTOR.CPU.INFO.FLAGS-INCLUDE
Filter the `flags` field in cpuInfo with a value that must be a regular expression
--collector.cpu.info.bugs-include=COLLECTOR.CPU.INFO.BUGS-INCLUDE
Filter the `bugs` field in cpuInfo with a value that must be a regular expression
--collector.diskstats.device-exclude="^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d+$"
Regexp of diskstats devices to exclude (mutually exclusive to device-include).
--collector.diskstats.device-include=COLLECTOR.DISKSTATS.DEVICE-INCLUDE
Regexp of diskstats devices to include (mutually exclusive to device-exclude).
--collector.ethtool.device-include=COLLECTOR.ETHTOOL.DEVICE-INCLUDE
Regexp of ethtool devices to include (mutually exclusive to device-exclude).
--collector.ethtool.device-exclude=COLLECTOR.ETHTOOL.DEVICE-EXCLUDE
Regexp of ethtool devices to exclude (mutually exclusive to device-include).
--collector.ethtool.metrics-include=".*"
Regexp of ethtool stats to include.
--collector.filesystem.mount-points-exclude="^/(dev|proc|run/credentials/.+|sys|var/lib/docker/.+|var/lib/containers/storage/.+)($|/)"
Regexp of mount points to exclude for filesystem collector.
--collector.filesystem.fs-types-exclude="^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$"
Regexp of filesystem types to exclude for filesystem collector.
--collector.ipvs.backend-labels="local_address,local_port,remote_address,remote_port,proto,local_mark"
Comma separated list for IPVS backend stats labels.
--collector.netclass.ignored-devices="^$"
Regexp of net devices to ignore for netclass collector.
--[no-]collector.netclass.ignore-invalid-speed
Ignore devices where the speed is invalid. This will be the default behavior in 2.x.
--[no-]collector.netclass.netlink
Use netlink to gather stats instead of /proc/net/dev.
--[no-]collector.netclass_rtnl.with-stats
Expose the statistics for each network device, replacing netdev collector.
--collector.netdev.device-include=COLLECTOR.NETDEV.DEVICE-INCLUDE
Regexp of net devices to include (mutually exclusive to device-exclude).
--collector.netdev.device-exclude=COLLECTOR.NETDEV.DEVICE-EXCLUDE
Regexp of net devices to exclude (mutually exclusive to device-include).
--[no-]collector.netdev.address-info
Collect address-info for every device
--[no-]collector.netdev.enable-detailed-metrics
Use (incompatible) metric names that provide more detailed stats on Linux
--[no-]collector.netdev.netlink
Use netlink to gather stats instead of /proc/net/dev.
--collector.netstat.fields="^(.*_(InErrors|InErrs)|Ip_Forwarding|Ip(6|Ext)_(InOctets|OutOctets)|Icmp6?_(InMsgs|OutMsgs)|TcpExt_(Listen.*|Syncookies.*|TCPSynRetrans|TCPTimeouts)|Tcp_(ActiveOpens|InSegs|OutSegs|OutRsts|PassiveOpens|RetransSegs|CurrEstab)|Udp6?_(InDatagrams|OutDatagrams|NoPorts|RcvbufErrors|SndbufErrors))$"
Regexp of fields to return for netstat collector.
--collector.ntp.server="127.0.0.1"
NTP server to use for ntp collector
--collector.ntp.server-port=123
UDP port number to connect to on NTP server
--collector.ntp.protocol-version=4
NTP protocol version
--[no-]collector.ntp.server-is-local
Certify that collector.ntp.server address is not a public ntp server
--collector.ntp.ip-ttl=1 IP TTL to use while sending NTP query
--collector.ntp.max-distance=3.46608s
Max accumulated distance to the root
--collector.ntp.local-offset-tolerance=1ms
Offset between local clock and local ntpd time to tolerate
--path.procfs="/proc" procfs mountpoint.
--path.sysfs="/sys" sysfs mountpoint.
--path.rootfs="/" rootfs mountpoint.
--path.udev.data="/run/udev/data"
udev data path.
--collector.perf.cpus="" List of CPUs from which perf metrics should be collected
--collector.perf.tracepoint=COLLECTOR.PERF.TRACEPOINT ...
perf tracepoint that should be collected
--[no-]collector.perf.disable-hardware-profilers
disable perf hardware profilers
--collector.perf.hardware-profilers=COLLECTOR.PERF.HARDWARE-PROFILERS ...
perf hardware profilers that should be collected
--[no-]collector.perf.disable-software-profilers
disable perf software profilers
--collector.perf.software-profilers=COLLECTOR.PERF.SOFTWARE-PROFILERS ...
perf software profilers that should be collected
--[no-]collector.perf.disable-cache-profilers
disable perf cache profilers
--collector.perf.cache-profilers=COLLECTOR.PERF.CACHE-PROFILERS ...
perf cache profilers that should be collected
--collector.powersupply.ignored-supplies="^$"
Regexp of power supplies to ignore for powersupplyclass collector.
--collector.qdisc.fixtures=""
test fixtures to use for qdisc collector end-to-end testing
--collector.qdisk.device-include=COLLECTOR.QDISK.DEVICE-INCLUDE
Regexp of qdisk devices to include (mutually exclusive to device-exclude).
--collector.qdisk.device-exclude=COLLECTOR.QDISK.DEVICE-EXCLUDE
Regexp of qdisk devices to exclude (mutually exclusive to device-include).
--[no-]collector.rapl.enable-zone-label
Enables service unit metric unit_start_time_seconds
--collector.runit.servicedir="/etc/service"
Path to runit service directory.
--[no-]collector.stat.softirq
Export softirq calls per vector
--collector.supervisord.url="http://localhost:9001/RPC2"
XML RPC endpoint. ($SUPERVISORD_URL)
--collector.sysctl.include=COLLECTOR.SYSCTL.INCLUDE ...
Select sysctl metrics to include
--collector.sysctl.include-info=COLLECTOR.SYSCTL.INCLUDE-INFO ...
Select sysctl metrics to include as info metrics
--collector.systemd.unit-include=".+"
Regexp of systemd units to include. Units must both match include and not match exclude to be included.
--collector.systemd.unit-exclude=".+\\.(automount|device|mount|scope|slice)"
Regexp of systemd units to exclude. Units must both match include and not match exclude to be included.
--[no-]collector.systemd.enable-task-metrics
Enables service unit tasks metrics unit_tasks_current and unit_tasks_max
--[no-]collector.systemd.enable-restarts-metrics
Enables service unit metric service_restart_total
--[no-]collector.systemd.enable-start-time-metrics
Enables service unit metric unit_start_time_seconds
--collector.tapestats.ignored-devices="^$"
Regexp of devices to ignore for tapestats.
--collector.textfile.directory=""
Directory to read text files with metrics from.
--collector.vmstat.fields="^(oom_kill|pgpg|pswp|pg.*fault).*"
Regexp of fields to return for vmstat collector.
--collector.wifi.fixtures=""
test fixtures to use for wifi collector metrics
--[no-]collector.arp Enable the arp collector (default: enabled).
--[no-]collector.bcache Enable the bcache collector (default: enabled).
--[no-]collector.bonding Enable the bonding collector (default: enabled).
--[no-]collector.btrfs Enable the btrfs collector (default: enabled).
--[no-]collector.buddyinfo
Enable the buddyinfo collector (default: disabled).
--[no-]collector.cgroups Enable the cgroups collector (default: disabled).
--[no-]collector.conntrack
Enable the conntrack collector (default: enabled).
--[no-]collector.cpu Enable the cpu collector (default: enabled).
--[no-]collector.cpufreq Enable the cpufreq collector (default: enabled).
--[no-]collector.diskstats
Enable the diskstats collector (default: enabled).
--[no-]collector.dmi Enable the dmi collector (default: enabled).
--[no-]collector.drbd Enable the drbd collector (default: disabled).
--[no-]collector.drm Enable the drm collector (default: disabled).
--[no-]collector.edac Enable the edac collector (default: enabled).
--[no-]collector.entropy Enable the entropy collector (default: enabled).
--[no-]collector.ethtool Enable the ethtool collector (default: disabled).
--[no-]collector.fibrechannel
Enable the fibrechannel collector (default: enabled).
--[no-]collector.filefd Enable the filefd collector (default: enabled).
--[no-]collector.filesystem
Enable the filesystem collector (default: enabled).
--[no-]collector.hwmon Enable the hwmon collector (default: enabled).
--[no-]collector.infiniband
Enable the infiniband collector (default: enabled).
--[no-]collector.interrupts
Enable the interrupts collector (default: disabled).
--[no-]collector.ipvs Enable the ipvs collector (default: enabled).
--[no-]collector.ksmd Enable the ksmd collector (default: disabled).
--[no-]collector.lnstat Enable the lnstat collector (default: disabled).
--[no-]collector.loadavg Enable the loadavg collector (default: enabled).
--[no-]collector.logind Enable the logind collector (default: disabled).
--[no-]collector.mdadm Enable the mdadm collector (default: enabled).
--[no-]collector.meminfo Enable the meminfo collector (default: enabled).
--[no-]collector.meminfo_numa
Enable the meminfo_numa collector (default: disabled).
--[no-]collector.mountstats
Enable the mountstats collector (default: disabled).
--[no-]collector.netclass Enable the netclass collector (default: enabled).
--[no-]collector.netdev Enable the netdev collector (default: enabled).
--[no-]collector.netstat Enable the netstat collector (default: enabled).
--[no-]collector.network_route
Enable the network_route collector (default: disabled).
--[no-]collector.nfs Enable the nfs collector (default: enabled).
--[no-]collector.nfsd Enable the nfsd collector (default: enabled).
--[no-]collector.ntp Enable the ntp collector (default: disabled).
--[no-]collector.nvme Enable the nvme collector (default: enabled).
--[no-]collector.os Enable the os collector (default: enabled).
--[no-]collector.perf Enable the perf collector (default: disabled).
--[no-]collector.powersupplyclass
Enable the powersupplyclass collector (default: enabled).
--[no-]collector.pressure Enable the pressure collector (default: enabled).
--[no-]collector.processes
Enable the processes collector (default: disabled).
--[no-]collector.qdisc Enable the qdisc collector (default: disabled).
--[no-]collector.rapl Enable the rapl collector (default: enabled).
--[no-]collector.runit Enable the runit collector (default: disabled).
--[no-]collector.schedstat
Enable the schedstat collector (default: enabled).
--[no-]collector.selinux Enable the selinux collector (default: enabled).
--[no-]collector.slabinfo Enable the slabinfo collector (default: disabled).
--[no-]collector.sockstat Enable the sockstat collector (default: enabled).
--[no-]collector.softirqs Enable the softirqs collector (default: disabled).
--[no-]collector.softnet Enable the softnet collector (default: enabled).
--[no-]collector.stat Enable the stat collector (default: enabled).
--[no-]collector.supervisord
Enable the supervisord collector (default: disabled).
--[no-]collector.sysctl Enable the sysctl collector (default: disabled).
--[no-]collector.systemd Enable the systemd collector (default: disabled).
--[no-]collector.tapestats
Enable the tapestats collector (default: enabled).
--[no-]collector.tcpstat Enable the tcpstat collector (default: disabled).
--[no-]collector.textfile Enable the textfile collector (default: enabled).
--[no-]collector.thermal_zone
Enable the thermal_zone collector (default: enabled).
--[no-]collector.time Enable the time collector (default: enabled).
--[no-]collector.timex Enable the timex collector (default: enabled).
--[no-]collector.udp_queues
Enable the udp_queues collector (default: enabled).
--[no-]collector.uname Enable the uname collector (default: enabled).
--[no-]collector.vmstat Enable the vmstat collector (default: enabled).
--[no-]collector.wifi Enable the wifi collector (default: disabled).
--[no-]collector.xfs Enable the xfs collector (default: enabled).
--[no-]collector.zfs Enable the zfs collector (default: enabled).
--[no-]collector.zoneinfo Enable the zoneinfo collector (default: disabled).
--web.telemetry-path="/metrics"
Path under which to expose metrics.
--[no-]web.disable-exporter-metrics
Exclude metrics about the exporter itself (promhttp_*, process_*, go_*).
--web.max-requests=40 Maximum number of parallel scrape requests. Use 0 to disable.
--[no-]collector.disable-defaults
Set all collectors to disabled by default.
--runtime.gomaxprocs=1 The target number of CPUs Go will run on (GOMAXPROCS) ($GOMAXPROCS)
--[no-]web.systemd-socket Use systemd socket activation listeners instead of port listeners (Linux only).
--web.listen-address=:9100 ...
Addresses on which to expose metrics and web interface. Repeatable for multiple addresses.
--web.config.file="" [EXPERIMENTAL] Path to configuration file that can enable TLS or authentication. See:
https://github.com/prometheus/exporter-toolkit/blob/master/docs/web-configuration.md
--log.level=info Only log messages with the given severity or above. One of: [debug, info, warn, error]
--log.format=logfmt Output format of log messages. One of: [logfmt, json]
--[no-]version Show application version.
์ด ์ ๋ณด๋ฅผ ์์ฃผ ์ ์๊ณ ์์ด์ผํ๋ค.
๊ทธ๋ฆฌ๊ณ ๊ด๋ จํด์ https://github.com/prometheus/node_exporter?tab=readme-ov-file#node-exporter ์ดํ์ด์ง์์๋ ์ ํ์ธํ๊ธฐ ๋ฐ๋๋ค.
์ ๊ท์
์ ๊ท์์ ๊ฒฝ์ฐ https://regexr.com ์ด ํ์ด์ง์์ ํ์ธ์ ํ๋ฉด์ ๋ง๋ค์ด๋ณด๋ฉด ์ข๋ค.
์ ๊ท์์ ๊ฒฝ์ฐ ์ํ์ ๋ณด๋ฉด ์ฌ์ฉ์ด ํธํ๋ค.
--collector.filesystem.fs-types-exclude="^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$"
์ค์ ๋ก systemd์ ์คํํ์ผ์ ์ ์๋๋ ๋ค์์ฒ๋ผ ์ ์ด์ผํ๋ค.
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=root
Group=root
Type=simple
ExecStart=/usr/local/bin/node_exporter --collector.filesystem.fs-types-exclude=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs|nfs|tmpfs)
[Install]
WantedBy=multi-user.target
๋ณด์ด๋๊ฐ? ๋ฐ์ดํ๋ฅผ ์ ๊ฑฐํด์ผํ๋ค. ์ด๊ฑฐ๋๋ฌธ์ ํ๋ฃจ๋ฅผ ๋ ๋ฆฌ๊ณ ์ด๊ธ์ ์ฐ๊ฒ ๋ฌ๋ค. ๊ทธ๋ฆฌ๊ณ ์์๋๋ฉด ๊ผญ ์ ๊ท์์์ ํ ์คํธ๋ฅผ ํด๋ณด๊ธฐ ๋ฐ๋๋ค.
์ ๊ท์ ๋ง์ง๋ง์ .+$
๋ฑ์ด ์์ผ๋ฉด ์๋ฌ๊ฐ ๋ ์๋ ์์ผ๋ ์ง์ฐ๊ณ ์ ๊ท์ ํ
์คํธ๋ฅผ ๊ผญ ํด๋ณด๊ธฐ ๋ฐ๋๋ค.
๋์ ๊ฒฝ์ฐ์ ๋ฅ์น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด๋ณด์.
ํผ๋ธ๋ฆญ ์์ดํผ๊ฐ ์๋ ์๋ฒ์ node exporter๋ฅผ ์ค์นํ๋ ์๋ฌด๋ node exporter์ ๋ณด๋ฅผ ๋ณผ์๊ฐ ์์ด ๋ณด์์ ๋ฌธ์ ๊ฐ ์์๋ค.
ansible์ ์ด์ฉํด์ configํ์ผ์ ๋ฐฐํฌํ๋๋ฐ ๋ค์์ฒ๋ผ ์๊ธฐ ์์ดํผ๋ง ํ์ฉํ๋๋ก ์ค์ ํ๋ค.
/usr/local/bin/node_exporter --web.listen-address={{ hostvars[inventory_hostname]['ansible_all_ipv4_addresses'][0] }}:9100
/usr/local/bin/node_exporter --web.listen-address=172.22.23.2:9100
home directory๊ฐ nfs์ ๋ง์ดํธ๋์๋๋ฐ ๋ชจ๋ ์๋ฒ์์ /home์ ์์งํ๋ ๋ฌธ์ ๊ฐ ์์๋ค.
๋ ธ๋ ๋ฉํธ๋ฆญ์์ /home์ ๋ํ disk ์ฌ์ฉ๋์ ์์งํ๊ณ ์ถ์ง ์์๋ค.
์์ helpํ์ผ์ ์ ์ฝ์ด๋ณด๋
--collector.filesystem.fs-types-exclude="^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs)$"
Regexp of filesystem types to exclude for filesystem collector.
๊ธฐ๋ณธ๊ฐ์ ๋ด๊ฐ ์ํ๋ nfs๊ฐ ํฌํจ์ด ์๋์๋ค ๊ทธ๋์ ๋ค์ ์ปค๋งจ๋๋ฅผ ์ถ๊ฐํด ์ฃผ์๋ค.
--collector.filesystem.fs-types-exclude=^(autofs|binfmt_misc|bpf|cgroup2?|configfs|debugfs|devpts|devtmpfs|fusectl|hugetlbfs|iso9660|mqueue|nsfs|overlay|proc|procfs|pstore|rpc_pipefs|securityfs|selinuxfs|squashfs|sysfs|tracefs|nfs|tmpfs)
network interface์์ docker๋ฑ์ ์ ๊ฑฐํ๊ณ ์ถ๋ค.
br-0, docker-xxx, lo ๋ฑ์ ์ ๊ฑฐํ๊ณ ์ถ๋ค.
๊ด๋ จ ๋ฉํธ๋ฆญ ์ด๋ฆ์ ์ฐพ๋๋ค.
์ด๋ค collector๊ฐ ์์งํ๋์ง ์ฐพ๋๋ค.
help ํ์ผ์ด๋ github ์น์ฌ์ดํธ์์ ๊ด๋ จ ๋ฉํธ๋ฆญ์ ์ ๊ฑฐํ๋ ๋ฐฉ๋ฒ์ ์ฐพ๋๋ค.
๋์ ๊ฒฝ์ฐ์๋ ๋๊ฐ์ง ์ปฌ๋ ํฐ์ ๋ชจ๋ ์์ ์ ํด์ผ๋ง ๋ด๊ฐ ์ํ๋๊ฑธ ๋ค ์ง์ธ์๊ฐ ์์๋ค.
--collector.netdev.device-exclude=^(br-|veth|lo|docker) --collector.netclass.ignored-devices=^(br-|veth|docker|lo)
veth๋ br-0 ์ docker network๋ฑ์ ๋ฉํธ๋ฆญ์์ ์ ๊ฑฐํ๋ค.
diskstate ์์ sr0๋ฅผ ์ ๊ฑฐ
vm์์ ์ฌ์ฉ์ค์ธ๋ฐ ํน์ดํ ์ด๋ฆ์ ๊ฐ์ง๊ณ ์๋๋ฐ ์ฌ์ค์ ๊ทธ๋ฅ isoํ์ผ์ด๋ค ์ด๊ฑฐ ์ ๊ฑฐํ๊ณ ์ถ๋ค.
--collector.diskstats.device-exclude=^(ram|loop|fd|(h|s|v|xv)d[a-z]|nvme\\d+n\\d+p)\\d|sr0
๋จผ์ ๊ธฐ๋ณธ๊ฐ์ ํ์ธํ๊ณ ๋ํ ๋ง์ง๋ง์ |sr0
๋ฅผ ์ถ๊ฐํด์ฃผ์๋ค.
ํน์ ๋ฉํธ๋ฆญ์ ์์ง
help๋ฉ์ธ์ง๋ฅผ ๋ณด๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก enable๋์๋ ๋ฉํธ๋ฆญ์ ์์๊ฐ ์๋ค ๊ทธ๋ฐ๋ฐ ๊ทธ๊ฒ์ค์ ํน์ ํ๊ฑธ ๋๊ณ ์ถ๋ค.
--no-collector.zfs --no-collector.infiniband
zfs์ infiniband๋ฅผ ๋๊ณ ์ถ๋ค๋ฉด ์์ ๊ฐ์ด ํ๋ฉด ๋๋ค.
ํน์ collector๋ฅผ ์คํ
--collector.systemd --collector.processes
๊ธฐ๋ณธ์ ์ผ๋ก ์คํ์ด ๋์ง์๋ collector๋ฅผ ์คํํ๊ณ ์ถ๋ค๋ฉด ์์ ๊ฐ์ด ํ๋ฉด ๋๋ค.
Last updated