ผู้ส่งออก Prometheus สำหรับตัววัดฮาร์ดแวร์และระบบปฏิบัติการที่เปิดเผยโดยเคอร์เนล *NIX ซึ่งเขียนด้วยภาษา Go พร้อมด้วยตัวรวบรวมตัววัดแบบเสียบปลั๊กได้
แนะนำให้ใช้โปรแกรมส่งออก Windows สำหรับผู้ใช้ Windows หากต้องการเปิดเผยเมตริก NVIDIA GPU สามารถใช้ prometheus-dcgm ได้
หากคุณยังใหม่กับ Prometheus และ node_exporter
มีคำแนะนำง่ายๆ ทีละขั้นตอน
node_exporter
ฟังบนพอร์ต HTTP 9100 โดยค่าเริ่มต้น ดูผลลัพธ์ --help
สำหรับตัวเลือกเพิ่มเติม
สำหรับการติดตั้งอัตโนมัติด้วย Ansible จะมีบทบาทเป็นชุมชน Prometheus
node_exporter
ได้รับการออกแบบมาเพื่อตรวจสอบระบบโฮสต์ การปรับใช้ในคอนเทนเนอร์จำเป็นต้องมีการดูแลเป็นพิเศษเพื่อหลีกเลี่ยงการตรวจสอบตัวคอนเทนเนอร์
สำหรับสถานการณ์ที่จำเป็นต้องมีการปรับใช้แบบคอนเทนเนอร์ ต้องใช้แฟล็กพิเศษบางอย่างเพื่ออนุญาตให้ node_exporter
เข้าถึงเนมสเปซของโฮสต์
โปรดทราบว่าจุดเมานท์ที่ไม่ใช่รูทที่คุณต้องการมอนิเตอร์จะต้องผูกเข้ากับคอนเทนเนอร์
หากคุณเริ่มคอนเทนเนอร์สำหรับการตรวจสอบโฮสต์ ให้ระบุอาร์กิวเมนต์ path.rootfs
อาร์กิวเมนต์นี้ต้องตรงกับเส้นทางในการผูกเมานต์ของรูทโฮสต์ node_exporter จะใช้ path.rootfs
เป็นคำนำหน้าในการเข้าถึงระบบไฟล์ของโฮสต์
docker run -d
--net= " host "
--pid= " host "
-v " /:/host:ro,rslave "
quay.io/prometheus/node-exporter:latest
--path.rootfs=/host
สำหรับการเขียน Docker จำเป็นต้องมีการเปลี่ยนแปลงแฟล็กที่คล้ายกัน
---
version : ' 3.8 '
services :
node_exporter :
image : quay.io/prometheus/node-exporter:latest
container_name : node_exporter
command :
- ' --path.rootfs=/host '
network_mode : host
pid : host
restart : unless-stopped
volumes :
- ' /:/host:ro,rslave '
ในบางระบบ ตัวรวบรวม timex
จำเป็นต้องมีแฟล็ก Docker เพิ่มเติม --cap-add=SYS_TIME
เพื่อเข้าถึง syscalls ที่จำเป็น
มีการสนับสนุนที่แตกต่างกันสำหรับตัวรวบรวมในแต่ละระบบปฏิบัติการ ตารางด้านล่างแสดงรายการตัวรวบรวมที่มีอยู่ทั้งหมดและระบบที่รองรับ
นักสะสมถูกเปิดใช้งานโดยการจัดเตรียมแฟล็ก --collector.
ตัวสะสมที่เปิดใช้งานโดยดีฟอลต์สามารถปิดใช้งานได้โดยจัดเตรียมแฟล็ก --no-collector.
หากต้องการเปิดใช้งานเฉพาะตัวสะสมบางตัว ให้ใช้ --collector.disable-defaults --collector.
นักสะสมบางรายสามารถกำหนดค่าให้รวมหรือแยกรูปแบบบางอย่างได้โดยใช้แฟล็กเฉพาะ แฟล็กยกเว้นใช้เพื่อระบุว่า "ยกเว้นทั้งหมด" ในขณะที่แฟล็กรวมใช้เพื่อบอกว่า "ไม่มียกเว้น" โปรดทราบว่าแฟล็กเหล่านี้ไม่เกิดร่วมกันสำหรับนักสะสมที่สนับสนุนทั้งสองอย่าง
ตัวอย่าง:
--collector.filesystem.mount-points-exclude= ^ /(dev|proc|sys|var/lib/docker/.+|var/lib/kubelet/.+)( $ |/)
รายการ:
นักสะสม | ขอบเขต | รวมธง | ยกเว้นแฟล็ก |
---|---|---|---|
เออาร์พี | อุปกรณ์ | --collector.arp.device-รวม | --collector.arp.device-ไม่รวม |
ซีพียู | ข้อบกพร่อง | --collector.cpu.info.bugs-รวม | ไม่มี |
ซีพียู | ธง | --collector.cpu.info.flags-รวม | ไม่มี |
ดิสก์สถิติ | อุปกรณ์ | --collector.diskstats.device-include | --collector.diskstats.device-ไม่รวม |
เอธทูล | อุปกรณ์ | --collector.ethtool.device รวม | --collector.ethtool.device-ไม่รวม |
เอธทูล | เมตริก | --collector.ethtool.metrics-include | ไม่มี |
ระบบไฟล์ | fs-ประเภท | ไม่มี | --collector.filesystem.fs-types-ไม่รวม |
ระบบไฟล์ | จุดเมานต์ | ไม่มี | --collector.filesystem.mount-points-exclude |
ฮวามอน | ชิป | --collector.hwmon.chip-รวม | --collector.hwmon.chip-ไม่รวม |
ฮวามอน | เซ็นเซอร์ | --collector.hwmon.sensor-รวม | --collector.hwmon.sensor-ไม่รวม |
ขัดจังหวะ | ชื่อ | --collector.interrupts.name-include | --collector.interrupts.name-exclude |
เน็ตเดฟ | อุปกรณ์ | --collector.netdev.device รวม | --collector.netdev.device-ไม่รวม |
คิวดิสก์ | อุปกรณ์ | --collector.qdisk.device-include | --collector.qdisk.device-ไม่รวม |
ข้อมูลแผ่น | ชื่อแผ่นพื้น | --collector.slabinfo.slabs-include | --collector.slabinfo.slabs-ไม่รวม |
ระบบ | ทั้งหมด | --collector.sysctl.include | ไม่มี |
ระบบ | หน่วย | --collector.systemd.unit-include | --collector.systemd.unit-ไม่รวม |
ชื่อ | คำอธิบาย | ระบบปฏิบัติการ |
---|---|---|
เออาร์พี | เปิดเผยสถิติ ARP จาก /proc/net/arp | ลินุกซ์ |
แคช | เปิดเผยสถิติ bcache จาก /sys/fs/bcache/ | ลินุกซ์ |
พันธะ | เปิดเผยจำนวนทาสที่กำหนดค่าและใช้งานอยู่ของอินเทอร์เฟซการเชื่อม Linux | ลินุกซ์ |
btrfs | เปิดเผยสถิติ btrfs | ลินุกซ์ |
เวลาบูต | แสดงเวลาบูตระบบที่ได้รับจาก kern.boottime sysctl | ดาร์วิน, แมลงปอ, FreeBSD, NetBSD, OpenBSD, Solaris |
ขัดแย้งกัน | แสดงสถิติ conntrack (ไม่ทำอะไรเลยหากไม่มี /proc/sys/net/netfilter/ ปัจจุบัน) | ลินุกซ์ |
ซีพียู | เปิดเผยสถิติ CPU | ดาร์วิน, แมลงปอ, FreeBSD, Linux, Solaris, OpenBSD |
ความถี่ซีพียู | เปิดเผยสถิติความถี่ของ CPU | ลินุกซ์, โซลาริส |
ดิสก์สถิติ | แสดงสถิติดิสก์ I/O | ดาร์วิน, ลินุกซ์, OpenBSD |
ดีมี | เปิดเผยข้อมูล Desktop Management Interface (DMI) จาก /sys/class/dmi/id/ | ลินุกซ์ |
เอแดค | เปิดเผยสถิติการตรวจจับข้อผิดพลาดและการแก้ไข | ลินุกซ์ |
เอนโทรปี | เปิดเผยเอนโทรปีที่มีอยู่ | ลินุกซ์ |
ผู้บริหาร | เปิดเผยสถิติการดำเนินการ | แมลงปอ, FreeBSD |
ไฟเบอร์แชนเนล | เปิดเผยข้อมูลไฟเบอร์แชนแนลและสถิติจาก /sys/class/fc_host/ | ลินุกซ์ |
filefd | เปิดเผยสถิติตัวอธิบายไฟล์จาก /proc/sys/fs/file-nr | ลินุกซ์ |
ระบบไฟล์ | เปิดเผยสถิติระบบไฟล์ เช่น พื้นที่ดิสก์ที่ใช้ | ดาร์วิน, แมลงปอ, FreeBSD, Linux, OpenBSD |
ฮวามอน | เปิดเผยการตรวจสอบฮาร์ดแวร์และข้อมูลเซ็นเซอร์จาก /sys/class/hwmon/ | ลินุกซ์ |
อินฟินิแบนด์ | เปิดเผยสถิติเครือข่ายเฉพาะสำหรับการกำหนดค่า InfiniBand และ Intel OmniPath | ลินุกซ์ |
ไอพีวี | เปิดเผยสถานะ IPVS จาก /proc/net/ip_vs และสถิติจาก /proc/net/ip_vs_stats | ลินุกซ์ |
โหลดเฉลี่ย | เปิดเผยค่าเฉลี่ยการโหลด | ดาร์วิน, แมลงปอ, FreeBSD, Linux, NetBSD, OpenBSD, Solaris |
บ้า | เปิดเผยสถิติเกี่ยวกับอุปกรณ์ใน /proc/mdstat (ไม่ทำอะไรเลยหากไม่มี /proc/mdstat ปรากฏ) | ลินุกซ์ |
ข้อมูลช่วยจำ | เปิดเผยสถิติหน่วยความจำ | ดาร์วิน, แมลงปอ, FreeBSD, Linux, OpenBSD |
เน็ตคลาส | เปิดเผยข้อมูลอินเทอร์เฟซเครือข่ายจาก /sys/class/net/ | ลินุกซ์ |
เน็ตเดฟ | เปิดเผยสถิติอินเทอร์เฟซเครือข่าย เช่น ไบต์ที่ถ่ายโอน | ดาร์วิน, แมลงปอ, FreeBSD, Linux, OpenBSD |
เนทิสเซอร์ | เปิดเผยสถิติ netisr | ฟรีBSD |
เน็ตสแตท | เปิดเผยสถิติเครือข่ายจาก /proc/net/netstat นี่เป็นข้อมูลเดียวกันกับ netstat -s | ลินุกซ์ |
เอ็นเอฟเอส | เปิดเผยสถิติไคลเอ็นต์ NFS จาก /proc/net/rpc/nfs นี่เป็นข้อมูลเดียวกันกับ nfsstat -c | ลินุกซ์ |
nfsd | เปิดเผยสถิติเซิร์ฟเวอร์เคอร์เนล NFS จาก /proc/net/rpc/nfsd นี่เป็นข้อมูลเดียวกันกับ nfsstat -s | ลินุกซ์ |
nvme | เปิดเผยข้อมูล NVMe จาก /sys/class/nvme/ | ลินุกซ์ |
ระบบปฏิบัติการ | เปิดเผยข้อมูลการเผยแพร่ระบบปฏิบัติการจาก /etc/os-release หรือ /usr/lib/os-release | ใดๆ |
คลาสพาวเวอร์ซัพพลาย | เปิดเผยสถิติพาวเวอร์ซัพพลายจาก /sys/class/power_supply | ลินุกซ์ |
ความดัน | เปิดเผยสถิติแผงกั้นความดันจาก /proc/pressure/ | Linux (เคอร์เนล 4.20+ และ/หรือ CONFIG_PSI) |
แร็ป | เปิดเผยสถิติต่างๆ จาก /sys/class/powercap | ลินุกซ์ |
กำหนดการ | แสดงสถิติตัวกำหนดเวลางานจาก /proc/schedstat | ลินุกซ์ |
เซลินุกซ์ | เปิดเผยสถิติ SELinux | ลินุกซ์ |
ถุงเท้า | เปิดเผยสถิติต่างๆ จาก /proc/net/sockstat | ลินุกซ์ |
ซอฟต์เน็ต | เปิดเผยสถิติจาก /proc/net/softnet_stat | ลินุกซ์ |
สถิติ | เปิดเผยสถิติต่างๆ จาก /proc/stat ซึ่งรวมถึงเวลาบูต ทางแยก และการขัดจังหวะ | ลินุกซ์ |
เทปสถิติ | แสดงสถิติจาก /sys/class/scsi_tape | ลินุกซ์ |
ไฟล์ข้อความ | เปิดเผยสถิติที่อ่านจากดิสก์ภายในเครื่อง แฟล็ก --collector.textfile.directory ต้องถูกตั้งค่า | ใดๆ |
ความร้อน | เปิดเผยสถิติความร้อนเช่น pmset -g therm | ดาร์วิน |
เทอร์มอล_โซน | เปิดเผยสถิติโซนความร้อนและอุปกรณ์ทำความเย็นจาก /sys/class/thermal | ลินุกซ์ |
เวลา | แสดงเวลาของระบบปัจจุบัน | ใดๆ |
ไทม์เอ็กซ์ | แสดงสถิติการโทรของระบบ adjtimex (2) ที่เลือก | ลินุกซ์ |
udp_queues | เปิดเผยความยาวรวม UDP ของ rx_queue และ tx_queue จาก /proc/net/udp และ /proc/net/udp6 | ลินุกซ์ |
ไม่มีชื่อ | เปิดเผยข้อมูลระบบตามที่จัดให้มีโดยการเรียกระบบ uname | ดาร์วิน, FreeBSD, Linux, OpenBSD |
vmstat | แสดงสถิติจาก /proc/vmstat | ลินุกซ์ |
สุนัขเฝ้าบ้าน | เปิดเผยสถิติจาก /sys/class/watchdog | ลินุกซ์ |
xfs | เปิดเผยสถิติรันไทม์ XFS | ลินุกซ์ (เคอร์เนล 4.4+) |
zfs | เปิดเผยสถิติประสิทธิภาพของ ZFS | ฟรีบีเอสดี, ลินุกซ์, โซลาริส |
node_exporter
ยังใช้ตัวรวบรวมจำนวนหนึ่งที่ถูกปิดใช้งานโดยค่าเริ่มต้น เหตุผลอาจแตกต่างกันไปตามนักสะสม และอาจรวมถึง:
scrape_interval
หรือ scrape_timeout
คุณสามารถเปิดใช้งานตัวรวบรวมเพิ่มเติมได้ตามต้องการโดยเพิ่มลงในการกำหนดค่าเริ่มต้นของระบบ init หรือผู้ดูแลบริการสำหรับ node_exporter
แต่ควรใช้ความระมัดระวัง เปิดใช้งานได้มากที่สุดครั้งละหนึ่งรายการ โดยทดสอบบนระบบที่ไม่ใช่การใช้งานจริงก่อน จากนั้นจึงทดสอบด้วยตนเองบนโหนดที่ใช้งานจริงเดียว เมื่อเปิดใช้งานตัวรวบรวมเพิ่มเติม คุณควรตรวจสอบการเปลี่ยนแปลงอย่างระมัดระวังโดยสังเกตเมทริก scrape_duration_seconds
เพื่อให้แน่ใจว่าการรวบรวมเสร็จสมบูรณ์และไม่หมดเวลา นอกจากนี้ ให้ตรวจสอบเมตริก scrape_samples_post_metric_relabeling
เพื่อดูการเปลี่ยนแปลงในจำนวนสมาชิก
ชื่อ | คำอธิบาย | ระบบปฏิบัติการ |
---|---|---|
บัดดี้อินโฟ | เปิดเผยสถิติของแฟรกเมนต์หน่วยความจำตามที่รายงานโดย /proc/buddyinfo | ลินุกซ์ |
กลุ่มซี | สรุปจำนวน cgroups ที่ใช้งานและเปิดใช้งาน | ลินุกซ์ |
cpu_ช่องโหว่ | เปิดเผยข้อมูลช่องโหว่ของ CPU จาก sysfs | ลินุกซ์ |
devstat | เปิดเผยสถิติอุปกรณ์ | แมลงปอ, FreeBSD |
ดร | เปิดเผยการวัด GPU โดยใช้ sysfs / DRM, amdgpu เป็นไดรเวอร์เดียวที่เปิดเผยข้อมูลนี้ผ่าน DRM | ลินุกซ์ |
ดร.บีดี | เปิดเผยสถิติอุปกรณ์บล็อกจำลองแบบกระจาย (เป็นเวอร์ชัน 8.4) | ลินุกซ์ |
เอธทูล | เปิดเผยข้อมูลอินเทอร์เฟซเครือข่ายและสถิติไดรเวอร์เครือข่ายที่เทียบเท่ากับ ethtool , ethtool -S และ ethtool -i | ลินุกซ์ |
ขัดจังหวะ | เปิดเผยสถิติการขัดจังหวะโดยละเอียด | ลินุกซ์, OpenBSD |
ksmd | แสดงสถิติเคอร์เนลและระบบจาก /sys/kernel/mm/ksm | ลินุกซ์ |
สถานะ | เปิดเผยสถิติจาก /proc/net/stat/ | ลินุกซ์ |
เข้าสู่ระบบ | เปิดเผยจำนวนเซสชันจากการเข้าสู่ระบบ | ลินุกซ์ |
meminfo_numa | เปิดเผยสถิติหน่วยความจำจาก /sys/devices/system/node/node[0-9]*/meminfo , /sys/devices/system/node/node[0-9]*/numastat | ลินุกซ์ |
ติดสถิติ | เปิดเผยสถิติระบบไฟล์จาก /proc/self/mountstats เปิดเผยสถิติไคลเอ็นต์ NFS โดยละเอียด | ลินุกซ์ |
เครือข่าย_เส้นทาง | แสดงตารางเส้นทางเป็นหน่วยเมตริก | ลินุกซ์ |
สมบูรณ์แบบ | เปิดเผยเมตริกตามประสิทธิภาพ (คำเตือน: เมตริกขึ้นอยู่กับการกำหนดค่าและการตั้งค่าเคอร์เนล) | ลินุกซ์ |
กระบวนการ | เปิดเผยสถิติกระบวนการรวมจาก /proc | ลินุกซ์ |
คิวดิสก์ | เผยสถิติวินัยในการเข้าคิว | ลินุกซ์ |
ข้อมูลแผ่น | เปิดเผยสถิติแผ่นจาก /proc/slabinfo โปรดทราบว่าการอนุญาตของ /proc/slabinfo โดยปกติจะเป็น 0400 ดังนั้นให้ตั้งค่าให้เหมาะสม | ลินุกซ์ |
softirqs | เปิดเผยสถิติ softirq โดยละเอียดจาก /proc/softirqs | ลินุกซ์ |
ระบบ | เปิดเผยค่า sysctl จาก /proc/sys ใช้ --collector.sysctl.include(-info) เพื่อกำหนดค่า | ลินุกซ์ |
ระบบ | เปิดเผยสถานะบริการและระบบจาก systemd | ลินุกซ์ |
tcpstat | เปิดเผยข้อมูลสถานะการเชื่อมต่อ TCP จาก /proc/net/tcp และ /proc/net/tcp6 (คำเตือน: เวอร์ชันปัจจุบันอาจมีปัญหาด้านประสิทธิภาพในสถานการณ์ที่มีการโหลดสูง) | ลินุกซ์ |
อินเตอร์เน็ตไร้สาย | เปิดเผยสถิติอุปกรณ์ WiFi และสถานี | ลินุกซ์ |
xfrm | แสดงสถิติจาก /proc/net/xfrm_stat | ลินุกซ์ |
โซนข้อมูล | แสดงเมตริกโซนหน่วยความจำ NUMA | ลินุกซ์ |
ตัวรวบรวมเหล่านี้เลิกใช้แล้วและจะถูกลบออกในรุ่นหลักถัดไป
ชื่อ | คำอธิบาย | ระบบปฏิบัติการ |
---|---|---|
เอ็นทีพี | เปิดเผยสุขภาพ NTP daemon ในเครื่องเพื่อตรวจสอบเวลา | ใดๆ |
รูนิต | แสดงสถานะการบริการจาก runit | ใดๆ |
ผู้บังคับบัญชา | เปิดเผยสถานะการบริการจากหัวหน้างาน | ใดๆ |
ตัวรวบรวม perf
อาจไม่ทำงานนอกกรอบบนระบบ Linux บางระบบ เนื่องจากการกำหนดค่าเคอร์เนลและการตั้งค่าความปลอดภัย หากต้องการอนุญาตการเข้าถึง ให้ตั้งค่าพารามิเตอร์ sysctl
ต่อไปนี้:
sysctl -w kernel.perf_event_paranoid=X
ขึ้นอยู่กับค่าที่กำหนดค่าไว้ เมตริกต่างๆ จะพร้อมใช้งาน ในกรณีส่วนใหญ่ 0
จะให้ชุดที่สมบูรณ์ที่สุด สำหรับข้อมูลเพิ่มเติม โปรดดูที่ man 2 perf_event_open
ตามค่าเริ่มต้น ตัวรวบรวม perf
จะรวบรวมเฉพาะตัววัดของ CPU ที่ node_exporter
กำลังทำงานอยู่ (เช่น runtime.NumCPU
หากไม่เพียงพอ (เช่น หากคุณรัน node_exporter
โดยตั้งค่าความสัมพันธ์ของ CPU เป็น CPU เฉพาะ) คุณสามารถระบุรายการของ CPU สำรองโดยใช้แฟล็ก --collector.perf.cpus
ตัวอย่างเช่น ในการรวบรวมเมทริกบน CPU 2-6 คุณจะต้องระบุ: --collector.perf --collector.perf.cpus=2-6
มีการจัดทำดัชนีเป็นศูนย์และสามารถรับค่าก้าวย่างได้ เช่น --collector.perf --collector.perf.cpus=1-10:5
จะรวบรวมบน CPU 1, 5 และ 10
ตัวรวบรวม perf
ยังสามารถรวบรวมจำนวนจุดติดตามเมื่อใช้แฟล็ก --collector.perf.tracepoint
Tracepoints สามารถพบได้โดยใช้ perf list
หรือจาก debugfs และตัวอย่างการใช้สิ่งนี้จะเป็น --collector.perf.tracepoint="sched:sched_process_exec"
ตัวรวบรวม sysctl
สามารถเปิดใช้งานได้ด้วย --collector.sysctl
สนับสนุนการเปิดเผยค่า sysctl ตัวเลขเป็นหน่วยเมตริกโดยใช้แฟล็ก --collector.sysctl.include
และค่าสตริงเป็นเมตริกข้อมูลโดยใช้แฟล็ก --collector.sysctl.include-info
ธงสามารถทำซ้ำได้ สำหรับ sysctl ที่มีค่าตัวเลขหลายค่า สามารถกำหนดการแม็พที่เป็นทางเลือกได้เพื่อให้แต่ละค่าเป็นหน่วยเมตริกของตัวเอง มิฉะนั้น จะใช้ป้าย index
เพื่อระบุฟิลด์ต่างๆ
การใช้ --collector.sysctl.include=vm.user_reserve_kbytes
: vm.user_reserve_kbytes = 131072
-> node_sysctl_vm_user_reserve_kbytes 131072
sysctl สามารถประกอบด้วยค่าได้หลายค่า ตัวอย่างเช่น:
net.ipv4.tcp_rmem = 4096 131072 6291456
การใช้ --collector.sysctl.include=net.ipv4.tcp_rmem
ตัวรวบรวมจะเปิดเผย:
node_sysctl_net_ipv4_tcp_rmem{index="0"} 4096
node_sysctl_net_ipv4_tcp_rmem{index="1"} 131072
node_sysctl_net_ipv4_tcp_rmem{index="2"} 6291456
หากดัชนีได้กำหนดความหมายเช่นนี้ในกรณีนี้ ค่าสามารถแมปกับหลายเมทริกได้โดยการผนวกการแมปต่อท้ายแฟล็ก --collector.sysctl.include: การใช้ --collector.sysctl.include=net.ipv4.tcp_rmem:min,default,max
ที่ตัวสะสมจะเปิดเผย:
node_sysctl_net_ipv4_tcp_rmem_min 4096
node_sysctl_net_ipv4_tcp_rmem_default 131072
node_sysctl_net_ipv4_tcp_rmem_max 6291456
ค่าสตริงจะต้องแสดงเป็นเมตริกข้อมูล ผู้ใช้เลือกโดยใช้แฟล็ก --collector.sysctl.include-info
kernel.core_pattern = core
-> node_sysctl_info{key="kernel.core_pattern_info", value="core"} 1
รับ sysctl ต่อไปนี้:
kernel.seccomp.actions_avail = kill_process kill_thread trap errno trace log allow
การตั้งค่า --collector.sysctl.include-info=kernel.seccomp.actions_avail
จะให้ผล:
node_sysctl_info{key="kernel.seccomp.actions_avail", index="0", value="kill_process"} 1
node_sysctl_info{key="kernel.seccomp.actions_avail", index="1", value="kill_thread"} 1
...
ตัวรวบรวม textfile
นั้นคล้ายกับ Pushgateway ตรงที่อนุญาตให้ส่งออกสถิติจากงานแบทช์ได้ นอกจากนี้ยังสามารถใช้เพื่อส่งออกการวัดแบบคงที่ เช่น บทบาทของเครื่องจักร ควรใช้ Pushgateway สำหรับเมตริกระดับบริการ โมดูล textfile
ใช้สำหรับหน่วยเมตริกที่เชื่อมโยงกับเครื่อง
หากต้องการใช้งาน ให้ตั้งค่าแฟล็ก --collector.textfile.directory
บนบรรทัดรับคำสั่ง node_exporter
ตัวรวบรวมจะแยกวิเคราะห์ไฟล์ทั้งหมดในไดเร็กทอรีนั้นที่ตรงกับ glob *.prom
โดยใช้รูปแบบข้อความ หมายเหตุ: ไม่รองรับการประทับเวลา
หากต้องการผลักดันเวลาเสร็จสิ้นสำหรับงาน cron แบบอะตอม:
echo my_batch_job_completion_time $(date +%s) > /path/to/directory/my_batch_job.prom.$$
mv /path/to/directory/my_batch_job.prom.$$ /path/to/directory/my_batch_job.prom
หากต้องการกำหนดบทบาทให้กับเครื่องโดยใช้ป้ายกำกับแบบคงที่:
echo 'role{role="application_server"} 1' > /path/to/directory/role.prom.$$
mv /path/to/directory/role.prom.$$ /path/to/directory/role.prom
node_exporter
จะแสดงเมตริกทั้งหมดจากตัวรวบรวมที่เปิดใช้งานตามค่าเริ่มต้น นี่เป็นวิธีที่แนะนำในการรวบรวมเมตริกเพื่อหลีกเลี่ยงข้อผิดพลาดเมื่อเปรียบเทียบเมตริกของกลุ่มต่างๆ
สำหรับการใช้งานขั้นสูง node_exporter
สามารถส่งรายการตัวเลือกของตัวรวบรวมเพื่อกรองเมทริกได้ พารามิเตอร์ collect[]
และ exclude[]
สามารถใช้ได้หลายครั้ง (แต่ไม่สามารถรวมกันได้) ในการกำหนดค่า Prometheus คุณสามารถใช้ไวยากรณ์นี้ภายใต้การกำหนดค่าการขูด
รวบรวมเฉพาะตัวรวบรวม cpu
และ meminfo
:
params:
collect[]:
- cpu
- meminfo
รวบรวมตัวชี้วัดตัวรวบรวมที่เปิดใช้งานทั้งหมด แต่ไม่รวม netdev
:
params:
exclude[]:
- netdev
สิ่งนี้มีประโยชน์สำหรับการให้เซิร์ฟเวอร์ Prometheus ที่แตกต่างกันรวบรวมตัววัดเฉพาะจากโหนด
ข้อกำหนดเบื้องต้น:
glibc-static
อาคาร:
git clone https://github.com/prometheus/node_exporter.git
cd node_exporter
make build
./node_exporter
หากต้องการดูแฟล็กการกำหนดค่าที่มีอยู่ทั้งหมด:
./node_exporter -h
make test
การทดลอง
ผู้ส่งออกรองรับ TLS ผ่านไฟล์การกำหนดค่าเว็บใหม่
./node_exporter --web.config.file=web-config.yml
ดูการกำหนดค่าเว็บชุดเครื่องมือผู้ส่งออกสำหรับรายละเอียดเพิ่มเติม