https://collectd.org/
Collectd เป็น daemon ขนาดเล็กที่รวบรวมข้อมูลระบบเป็นระยะและให้กลไกในการจัดเก็บและตรวจสอบค่าในหลากหลายวิธี
COLLECTD สามารถรวบรวมข้อมูลต่อไปนี้:
การใช้เซิร์ฟเวอร์ Apache Apache: จำนวนไบต์ที่ถ่ายโอนจำนวนคำขอที่จัดการและรายละเอียดสถิติกระดานคะแนนรายละเอียด
APCUPS APC UPS Daemon: การชาร์จ UPS, โหลด, อินพุต/เอาต์พุต/แรงดันไฟฟ้าของแบตเตอรี่ ฯลฯ
เซ็นเซอร์ Apple_Sensors ใน Mac ที่ใช้ Mac OS X / Darwin: อุณหภูมิความเร็วพัดลมและเซ็นเซอร์แรงดันไฟฟ้า
Aquaero เซ็นเซอร์ต่าง ๆ ในกระดานระบายความร้อนด้วยน้ำ Aquaero 5 ทำโดย Aquacomputer
สถิติ Ascent เกี่ยวกับ Ascent เซิร์ฟเวอร์ฟรีสำหรับเกม "World of Warcraft"
บารอมิเตอร์อ่านแรงดันบารอมิเตอร์สัมบูรณ์ความดันอากาศลดลงถึงระดับน้ำทะเลและอุณหภูมิ เซ็นเซอร์ที่รองรับคือ MPL115A2 และ MPL3115 จาก Freescale และ BMP085 จาก Bosch
แบตเตอรี่ชาร์จแบตเตอรี่ -ปัจจุบันและแรงดันไฟฟ้าของแบตเตอรี่แล็ปท็อปที่ใช้ ACPI และ PMU
Bind Name Server และสถิติ Resolver จากอินเตอร์เฟส statistics-channel ของ BIND 9.5, 9,6 และใหม่กว่า
สถิติ BuddyInfo จากไฟล์ BuddyInfo เกี่ยวกับการกระจายตัวของหน่วยความจำ
ความสามารถของแพลตฟอร์มความสามารถที่ถอดรหัสจากระบบย่อยฮาร์ดแวร์ตัวอย่างเช่นจาก SMBIOS โดยใช้ DMIDECODE https://www.nongnu.org/dmidecode/
สถิติ Ceph จากระบบจัดเก็บข้อมูล Ceph
CGROUPS ข้อมูลการบัญชี CPU สำหรับกลุ่มกระบวนการภายใต้ Linux
สถิติ Daemon Chrony Chrony: นาฬิกาท้องถิ่นดริฟท์ชดเชยให้กับเพื่อน ฯลฯ
สถานะอินเตอร์เฟสที่ใช้เหตุการณ์การเชื่อมต่อ
หมายเลข conntrack ของรายการ nf_conntrack
บริบทจำนวนสวิตช์บริบทที่ทำโดยระบบปฏิบัติการ
การใช้ CPU CPU: เวลาที่ใช้ในระบบ, ผู้ใช้, NICE, ไม่ได้ใช้งานและสถานะที่เกี่ยวข้อง
ความถี่ CPUFREQ CPU (สำหรับแล็ปท็อปที่มีขั้นตอนความเร็วหรือเทคโนโลยีที่คล้ายกัน)
CPUSLEEP CPU SLEEP: เวลาที่ใช้ในการระงับ (สำหรับอุปกรณ์มือถือที่เข้าสู่ระบบระงับโดยอัตโนมัติ)
Curl Parse Statistics จากเว็บไซต์โดยใช้นิพจน์ทั่วไป
CURL_JSON ดึงข้อมูล JSON ผ่าน CURL และแยกวิเคราะห์ตามการกำหนดค่าของผู้ใช้
CURL_XML ดึงข้อมูล XML ผ่าน CURL และแยกวิเคราะห์ตามการกำหนดค่าของผู้ใช้
DBI ดำเนินการคำสั่ง SQL ในฐานข้อมูลต่างๆและตีความข้อมูลที่ส่งคืน
DCPMM รวบรวม Intel Optane DC Presistent Memory (DCPMM) ประสิทธิภาพและสถิติสุขภาพ
การใช้งาน DF MountPoint (โดยทั่วไปค่า df(1) ส่งมอบ)
การใช้ดิสก์ดิสก์: ภาคการอ่าน/เขียน, จำนวนการดำเนินการอ่าน/เขียน, เวลาเฉลี่ยที่การทำงานของ IO ดำเนินการให้เสร็จสมบูรณ์
ทราฟฟิก DNS DNS: ประเภทการสืบค้น, รหัสการตอบสนอง, opcodes และการรับส่งข้อมูล/octets ที่ถ่ายโอน
DPDKSTAT รวบรวมสถิติอินเตอร์เฟส DPDK ดู docs/build.dpdkstat.md สำหรับคำแนะนำการสร้างโดยละเอียด
ปลั๊กอินนี้ควรคอมไพล์กับการป้องกันคอมไพเลอร์ที่เปิดใช้งานตัวอย่างเช่น -FSTACK -PROTECTOR
DPDK_Telemetry รวบรวมอินเทอร์เฟซ DPDK แอปพลิเคชันและสถิติทั่วโลก ปลั๊กอินนี้สามารถใช้แทนปลั๊กอิน DPDKSTAT
ปลั๊กอินนี้ขึ้นอยู่กับการเปิดตัว DPDK 19.08 และจะต้องใช้พร้อมกับแอปพลิเคชัน DPDK
นอกจากนี้ปลั๊กอินนี้มีการพึ่งพาห้องสมุด Jansson
DRBD รวบรวมสถิติทรัพยากร DRBD แต่ละรายการ
สถิติอีเมลอีเมล: นับปริมาณการเข้าชมคะแนนสแปมและเช็ค ดู Collectd-Email (5)
ปริมาณเอนโทรปีของเอนโทรปีที่มีอยู่ในระบบ
EPICS รวบรวมข้อมูลจาก EPICS Message Bus https://epics-controls.org
สถิติการ์ดอินเทอร์เฟซเครือข่าย Ethstat
ค่า EXEC ที่รวบรวมโดยโปรแกรมหรือสคริปต์ที่กำหนดเอง ดู collectd-exec (5)
ไฟล์ FHCount จัดการสถิติ
FileCount นับจำนวนไฟล์ในไดเรกทอรี
FSCACHE LINUX FILE-SYSTEM FRAMEWORK FRAMEWORK สถิติ
Gmond ได้รับการจราจรแบบมัลติคาสต์จากอินสแตนซ์ของปมประสาท
GPS ตรวจสอบข้อมูลที่เกี่ยวข้องกับ GPS ผ่าน GPSD
GPU_NVIDIA ตรวจสอบสถิติ NVIDIA GPU ที่มีอยู่ผ่าน NVML
HDDTEMP ฮาร์ดดิสก์อุณหภูมิโดยใช้ HDDTEMPD
หน้าขนาดใหญ่รายงานจำนวนของหน้างานที่ใช้แล้วและฟรี ข้อมูลเพิ่มเติมเกี่ยวกับหน้าตาใหญ่สามารถพบได้ที่นี่: https://www.kernel.org/doc/documentation/vm/hugetlbpage.txt
ปลั๊กอินนี้ควรคอมไพล์กับการป้องกันคอมไพเลอร์ที่เปิดใช้งานตัวอย่างเช่น -FSTACK -PROTECTOR
แอตทริบิวต์ Infiniband และตัวนับสำหรับแต่ละพอร์ตในแต่ละอุปกรณ์ IB
intel_pmu ปลั๊กอิน intel_pmu อ่านตัวนับประสิทธิภาพที่จัดทำโดยอินเตอร์เฟส Linux Kernel Perf ปลั๊กอินใช้ไลบรารี Jevents เพื่อแก้ไขเหตุการณ์ที่มีชื่อเพื่อเหตุการณ์ที่สมบูรณ์แบบและเข้าถึงอินเตอร์เฟสที่สมบูรณ์แบบ
Intel_rdt ปลั๊กอิน Intel_RDT รวบรวมข้อมูลที่ได้รับจากคุณสมบัติการตรวจสอบของ Intel Resource Director Technology (Intel (R) RDT) เช่นเทคโนโลยีการตรวจสอบแคช (CMT), การตรวจสอบแบนด์วิดท์หน่วยความจำ (MBM) คุณสมบัติเหล่านี้ให้ข้อมูลเกี่ยวกับการใช้ทรัพยากรที่ใช้ร่วมกันเช่นการครอบครองแคชระดับสุดท้ายการใช้แบนด์วิดธ์หน่วยความจำท้องถิ่นการใช้แบนด์วิดธ์หน่วยความจำระยะไกลคำแนะนำต่อนาฬิกา https://01.org/packet-processing/cache-monitoring-technology-memory-bandwidth-monitoring-cache-allocation-technology-code-and-data
ทราฟฟิกอินเตอร์เฟสอินเตอร์เฟส: จำนวน octets, แพ็คเก็ตและข้อผิดพลาดสำหรับแต่ละอินเตอร์เฟส
เคาน์เตอร์ IPC IPC: Semaphores ที่ใช้จำนวนกลุ่มที่จัดสรรในหน่วยความจำที่ใช้ร่วมกันและอื่น ๆ
ข้อมูลเซ็นเซอร์ IPMI IPMI (อินเทอร์เฟซการจัดการแพลตฟอร์มอัจฉริยะ)
IPSTATS IPv4 และ IPv6; เคาน์เตอร์ที่เข้ามาส่งออกส่งต่อ FreeBSD เท่านั้น
เคาน์เตอร์ iptables ของ iptables: จำนวนไบต์ที่จับคู่โดยกฎ Iptables บางอย่าง
สถิติการเชื่อมต่อ IPVS IPVS (จำนวนการเชื่อมต่อ, octets และแพ็คเก็ตสำหรับแต่ละบริการและปลายทาง) ดู http://www.linuxvirtualserver.org/software/index.html
เคาน์เตอร์ IRQ IRQ: ความถี่ที่เกิดการขัดจังหวะบางอย่าง
Java รวม Java Virtual Machine (JVM) เพื่อดำเนินการปลั๊กอินใน Java Bytecode ดูเอกสาร/build.java.md สำหรับคำแนะนำการสร้างโดยละเอียด
โหลดระบบโหลดเฉลี่ยในช่วง 1, 5 และ 15 นาทีสุดท้าย
สถิติ CPU โดยละเอียดของเทคนิคการจำลองเสมือนจริง“ พาร์ติชันเชิงตรรกะ” ที่สร้างขึ้นในโปรเซสเซอร์พลังงานของ IBM
ปลั๊กอิน Lua Lua ใช้ล่าม Lua เข้าสู่ Collectd สิ่งนี้ทำให้สามารถเขียนปลั๊กอินใน Lua ซึ่งดำเนินการโดย collectd โดยไม่จำเป็นต้องเริ่มล่ามหนักทุกช่วงเวลา ดู Collectd-lua (5) สำหรับรายละเอียด
Madwifi สอบถามสถิติการใช้งานที่มีรายละเอียดมากจากอะแดปเตอร์ LAN ไร้สายและอินเทอร์เฟซที่ใช้ชิปเซ็ต Atheros และไดรเวอร์ Madwifi
เซ็นเซอร์เมนบอร์ด MBMON: อุณหภูมิความเร็วพัดลมและข้อมูลแรงดันไฟฟ้าโดยใช้ MBMON (1)
McElog Monitor Machine ตรวจสอบข้อยกเว้น (ข้อผิดพลาดของฮาร์ดแวร์ที่ตรวจพบโดยฮาร์ดแวร์และรายงานไปยังซอฟต์แวร์) รายงานโดย McElog และสร้างการแจ้งเตือนที่เหมาะสมเมื่อตรวจพบข้อยกเว้นตรวจสอบเครื่อง
ข้อมูลอุปกรณ์การบุกรุกซอฟต์แวร์ MD Linux (จำนวนดิสก์ที่ใช้งานอยู่ล้มเหลวและหายไป)
MEMCACHEC QUERY และการแยกวิเคราะห์ข้อมูลจาก MEMCACHE Daemon (MEMCACHED)
สถิติ MEMCACHED ของระบบแคชแบบกระจาย MEMCACHED http://www.danga.com/memcached/
การใช้หน่วยความจำหน่วยความจำ: หน่วยความจำที่ถูกครอบครองโดยกระบวนการเรียกใช้แคชหน้า, แคชบัฟเฟอร์และฟรี
MIC รวบรวมการใช้งาน CPU การใช้หน่วยความจำอุณหภูมิและการใช้พลังงานจาก CPU CPUs (MIC) จำนวนมาก
MMC อ่านการประมาณเวลาชีวิตที่รายงานโดยอุปกรณ์ EMMC 5.0+ และตัวชี้วัดสุขภาพที่มีรายละเอียดเพิ่มเติมเช่นบล็อกที่ไม่ดีและการลบจำนวนหรือวงจรพลังงานสำหรับไมครอนและ Sandisk EMMCs และการ์ด MMC Swissbit (MANFID = 0x5D OEMID = 0x5342)
Modbus อ่านค่าจากอุปกรณ์ที่เปิดใช้งาน Modbus/TCP รองรับค่าการอ่านจาก "ทาส" หลายตัวเพื่อให้สามารถใช้อุปกรณ์เกตเวย์ได้
ข้อมูลมัลติมิเตอร์ที่จัดทำโดยมัลติมิเตอร์อนุกรมเช่น Metex M-4650CR
สถิติเซิร์ฟเวอร์ MySQL Mariadb และ MySQL: คำสั่งที่ออก, ตัวจัดการทริกเกอร์, การใช้เธรด, การใช้แคชแบบสอบถามและการรับส่งข้อมูล/octets ที่ส่งและรับ
ปลั๊กอิน NetApp เพื่อค้นหาค่าประสิทธิภาพจากระบบจัดเก็บข้อมูล NetApp โดยใช้“ Manage ONTAP” SDK ที่จัดทำโดย NetApp
NetLink อินเทอร์เฟซเครือข่าย Linux ที่มีรายละเอียดมากและสถิติการกำหนดเส้นทาง คุณสามารถรับข้อมูล (รายละเอียด) เกี่ยวกับอินเทอร์เฟซ, qdiscs, คลาสและหากคุณสามารถใช้ประโยชน์จากตัวกรอง
เครือข่ายได้รับค่าที่รวบรวมโดยโฮสต์อื่น ๆ การตั้งค่าขนาดใหญ่จะต้องการรวบรวมข้อมูลบนเครื่องเฉพาะเครื่องเดียวและนี่คือปลั๊กอินที่เลือกไว้สำหรับสิ่งนั้น
ขั้นตอน NFS NFS: คำสั่ง NFS ซึ่งเรียกว่าบ่อยแค่ไหน
Nginx รวบรวมสถิติจาก nginx (พูด: Engine X), HTTP และ Mail Server/Proxy
สถิติ Daemon NTPD NTP: ดริฟท์นาฬิกาท้องถิ่นชดเชยให้กับเพื่อน ฯลฯ
ข้อมูล NUMA เกี่ยวกับการเข้าถึงหน่วยความจำที่ไม่สม่ำเสมอ (NUMA)
Nut Network UPS เครื่องมือ: กระแสไฟฟ้า, แรงดันไฟฟ้า, พลังงาน, ประจุ, การใช้ประโยชน์, อุณหภูมิ ฯลฯ ดู UPSD (8)
OLSRD สอบถามข้อมูลการกำหนดเส้นทางจาก“ การกำหนดเส้นทางสถานะลิงค์ที่ดีที่สุด”
OneWire (ทดลอง!) อ่านเซ็นเซอร์ OneWire โดยใช้ห้องสมุด OWCAPU ของโครงการ OWFS โปรดอ่านใน collectd.conf (5) ทำไมปลั๊กอินนี้จึงทดลอง
OpenLDAP อ่านข้อมูลการตรวจสอบจาก CN = Monitor Subtree ของ OpenLDAP
OpenVPN RX และ TX ของไคลเอนต์แต่ละตัวใน OpenVPN-status.log (Version-Version 2) http://openvpn.net/index.php/documentation/howto.html
Oracle Query Data จากฐานข้อมูล Oracle
OVS_EVENTS ปลั๊กอินจะตรวจสอบสถานะการเชื่อมโยงของอินเตอร์เฟสที่เชื่อมต่อ VSWITCH (OVS), จัดส่งค่าเพื่อรวบรวมและส่งการแจ้งเตือนเมื่อใดก็ตามที่การเปลี่ยนแปลงสถานะลิงก์เกิดขึ้นในฐานข้อมูล OVS ต้องติดตั้งไลบรารี Yajl คำแนะนำโดยละเอียดสำหรับการติดตั้งและตั้งค่า VSWITCH ที่เปิดกว้างดูเอกสารประกอบ OVS http://openvswitch.org/support/dist-docs/install.rst.html
OVS_STATS ปลั๊กอินรวบรวมสถิติของสะพานและอินเทอร์เฟซที่เชื่อมต่อกัน OVS ต้องติดตั้งไลบรารี Yajl คำแนะนำโดยละเอียดสำหรับการติดตั้งและตั้งค่า VSWITCH ที่เปิดกว้างดูเอกสารประกอบ OVS http://openvswitch.org/support/dist-docs/install.rst.html
PCIE_ERRORS อ่านข้อผิดพลาดจากสถานะอุปกรณ์ PCI Express และความสามารถในการขยาย AER https://www.design-reuse.com/articles/38374/pcie-error-logging-and-handling-on-a-ypical-soc.html
Perl ปลั๊กอิน Perl ใช้ Perl-Interpreter ในการรวบรวม คุณสามารถเขียนปลั๊กอินของคุณเองใน Perl และส่งคืนค่าโดยพลการโดยใช้ API นี้ ดู Collectd-Perl (5)
สถิติการสืบค้น PF จากตัวกรองแพ็คเก็ตของ BSD "PF"
PINBA ได้รับและจัดส่งค่าเวลาจาก PINBA ซึ่งเป็นส่วนขยายการทำโปรไฟล์สำหรับ PHP
Ping Network Latency: เวลาในการไปถึงเกตเวย์เริ่มต้นหรือโฮสต์อื่นที่กำหนด
สถิติฐานข้อมูล PostgreSQL PostgreSQL: การเชื่อมต่อเซิร์ฟเวอร์ที่ใช้งานอยู่, หมายเลขธุรกรรม, บล็อก IO, การจัดการแถวตาราง
สถิติเซิร์ฟเวอร์ชื่อ PowerDNS PowerDNS
กระบวนการประมวลผลจำนวน: จำนวนการวิ่ง, นอน, ซอมบี้, ... กระบวนการ
ProcEvent รับฟังกระบวนการเริ่มต้นและออกผ่าน NetLink
โปรโตคอลนับหลายแง่มุมของโปรโตคอลเครือข่ายเช่น IP, TCP, UDP ฯลฯ
Python ปลั๊กอิน Python ใช้ล่าม Python ลงใน Collectd สิ่งนี้ทำให้สามารถเขียนปลั๊กอินใน Python ซึ่งดำเนินการโดย collectd โดยไม่จำเป็นต้องเริ่มล่ามหนักทุกช่วงเวลา ดู Collectd-Python (5) สำหรับรายละเอียด
ปลั๊กอิน Ras Ras รวบรวมและนับข้อผิดพลาดที่จัดทำโดย Rasdaemon
Redis ปลั๊กอิน Redis รวบรวมข้อมูลจากเซิร์ฟเวอร์ Redis รวมถึง: เวลาทำงาน, หน่วยความจำที่ใช้แล้ว, การเชื่อมต่อทั้งหมด ฯลฯ
อินเทอร์เฟซ Query Routeros และสถิติการลงทะเบียนไร้สายจาก Routeros
สถิติ Rrdcached Rrdtool Caching Daemon (RRDCACHED)
เซ็นเซอร์ระบบเซ็นเซอร์เข้าถึงได้โดยใช้ LM_SENSORS: แรงดันไฟฟ้าอุณหภูมิและความเร็วการหมุนพัดลม
อนุกรม RX และ TX ของอินเทอร์เฟซอนุกรม Linux เท่านั้น; ต้องการสิทธิ์ราก
Sigrok ใช้ Libsigrok เป็นแบ็กเอนด์ทำให้อุปกรณ์ที่รองรับ Sigrok มีการวัดที่ป้อนเพื่อรวบรวม ซึ่งรวมถึงมัลติมิเตอร์เมตรระดับเสียงเทอร์โมมิเตอร์และอื่น ๆ อีกมากมาย
Slurm รวบรวมโหนดต่อพาร์ติชันและข้อมูลสถานะงานโดยใช้ Libslurm รวมถึงสถิติสุขภาพภายใน
สมาร์ทรวบรวมสถิติอัจฉริยะจำนวนรอบการโหลดอุณหภูมิและภาคที่ไม่ดี
ค่าอ่าน SNMP จาก SNMP (Simple Network Management Protocol) อุปกรณ์เครือข่ายที่เปิดใช้งานเช่นสวิตช์, เราเตอร์, เครื่องวัดอุณหภูมิ, เซิร์ฟเวอร์การตรวจสอบชั้นวาง ฯลฯ ดู CollectD-SNMP (5)
STATSD ทำหน้าที่เป็นเซิร์ฟเวอร์ STATSD การอ่านค่าที่ส่งผ่านเครือข่ายจากไคลเอนต์ STATSD และการคำนวณอัตราและการรวมอื่น ๆ จากค่าเหล่านี้
Sysevent รับฟังเหตุการณ์ RSYSLOG และส่งค่าที่ตรงกัน
หน้าแลกเปลี่ยนสลับออกเป็นฮาร์ดดิสก์หรืออะไรก็ตามที่เรียกว่า swap โดยระบบปฏิบัติการ
ตารางที่แยกวิเคราะห์ไฟล์ที่มีโครงสร้างคล้ายตาราง
Tail ดังต่อไปนี้ไฟล์บันทึก (tails), แยกวิเคราะห์ตามบรรทัดและส่งค่าที่ตรงกัน
tail_csv ติดตามไฟล์ (tails) ในรูปแบบ CSV, แยกวิเคราะห์แต่ละบรรทัดและส่งค่าที่แยกออกมา
เทปไบต์และการดำเนินการอ่านและเขียนบนอุปกรณ์เทป Solaris เท่านั้น
TCPCONNS จำนวนการเชื่อมต่อ TCP ไปยังพอร์ตท้องถิ่นและระยะไกลที่เฉพาะเจาะจง
Teamspeak2 สถิติเซิร์ฟเวอร์ TeamSpeak2
ปลั๊กอิน TED เพื่ออ่านค่าจาก "The Energy Detective" (TED)
ความร้อน Linux ACPI ข้อมูลโซนความร้อน
Tokyotyrant อ่านจำนวนระเบียนและขนาดไฟล์จากเซิร์ฟเวอร์ Tyky Tyrant Tyker ที่กำลังทำงานอยู่
Turbostat อ่านความถี่ CPU และที่อยู่อาศัย C-State บนโปรเซสเซอร์ Intel Turbo ที่ทันสมัย
UBI อ่านจำนวนการลบทางกายภาพที่ไม่ดีและค่าเคาน์เตอร์ลบสูงสุดในปัจจุบันในปริมาณ UBI
สถิติการทำงานของระบบ uptime uptime
ผู้ใช้ในปัจจุบันเข้าสู่ระบบ
Varnish สถิติต่าง ๆ จาก Varnish, HTTP Accelerator
Virt CPU, หน่วยความจำ, ดิสก์และสถิติ I/O เครือข่ายจากเครื่องเสมือน
สถิติหน่วยความจำเสมือน VMEM เช่นจำนวนหน้าเว็บ/-outs หรือจำนวน pagefaults
ทรัพยากรระบบ VServer ที่ใช้โดย Linux VServers ดู http://linux-vserver.org/
คุณภาพการเชื่อมโยงไร้สายของการ์ดไร้สาย Linux เท่านั้น
Xencpu Xen Hypervisor CPU สถิติ
XMMS บิตเรตและความถี่ของเพลงที่เล่นกับ XMMS
สถิติ ZFS_ARC สำหรับ“ แคชทดแทนแบบปรับตัว” ของ ZFS (ARC)
โซนวัดเปอร์เซ็นต์ของโหลด CPU ต่อคอนเทนเนอร์ (โซน) ภายใต้ Solaris 10 และสูงกว่า
ZooKeeper อ่านข้อมูลจากคำสั่ง MNTR ของ Zookeeper
เอาต์พุตสามารถเขียนหรือส่งไปยังจุดหมายปลายทางต่างๆโดยปลั๊กอินต่อไปนี้:
AMQP ส่งข้อมูลที่เข้ารหัส JSON ไปยังเซิร์ฟเวอร์การเข้าคิวข้อความขั้นสูง (AMQP) 0.9.1 เซิร์ฟเวอร์เช่น RabbitMQ
AMQP1 ส่งข้อมูลที่เข้ารหัส JSON ไปยังเซิร์ฟเวอร์การเข้าคิวข้อความขั้นสูง (AMQP) 1.0 เซิร์ฟเวอร์เช่น QPID Dispatch เราเตอร์หรือ Apache Artemis Broker
CSV เขียนไปยังไฟล์ค่าคั่นด้วยเครื่องหมายจุลภาค (CSV) สิ่งนี้ต้องการดิสก์สเปซจำนวนมาก แต่สามารถพกพาได้อย่างมากและสามารถวิเคราะห์ได้ด้วยเกือบทุกโปรแกรมที่สามารถวิเคราะห์อะไรก็ได้ แม้แต่ Excel ของ Microsoft
GRPC ส่งและรับค่าผ่านเครือข่ายโดยใช้เฟรมเวิร์ก GRPC
Lua เป็นไปได้ที่จะใช้ปลั๊กอินเขียนใน Lua โดยใช้ปลั๊กอิน Lua ดู Collectd-lua (5) สำหรับรายละเอียด
MQTT เผยแพร่และสมัครสมาชิกหัวข้อ MQTT
เครือข่ายส่งข้อมูลไปยังโฮสต์ระยะไกลเพื่อบันทึกข้อมูลอย่างใด สิ่งนี้มีประโยชน์สำหรับการตั้งค่าขนาดใหญ่ที่ควรบันทึกข้อมูลโดยเครื่องเฉพาะ
แน่นอนว่าค่าจะถูกเผยแพร่ไปยังปลั๊กอินที่เขียนด้วย Perl ด้วยดังนั้นคุณสามารถทำสิ่งแปลก ๆ ได้อย่างง่ายดายด้วยปลั๊กอินที่เราไม่กล้าคิด;) ดู Collectd-Perl (5)
Python เป็นไปได้ที่จะใช้ปลั๊กอินเขียนใน Python โดยใช้ปลั๊กอิน Python ดู Collectd-Python (5) สำหรับรายละเอียด
RRDCACHED เอาต์พุตไปยังไฟล์ Round-Robin-Database (RRD) โดยใช้ RRDTool Caching Daemon (RRDCACHED)-ดู rrdcached(1) Daemon นั้นให้การใช้งานทั่วไปของการแคชที่ทำโดยปลั๊กอิน rrdtool
RRDTOOL เอาต์พุตไปยังไฟล์ Round-Robin-Database (RRD) โดยใช้ Librrd ดู rrdtool (1) นี่น่าจะเป็นปลายทางที่ได้รับความนิยมมากที่สุดสำหรับค่าดังกล่าว เนื่องจากการอัปเดตเป็น RRD-Files ค่อนข้างแพงปลั๊กอินนี้สามารถแคชการอัปเดตไปยังไฟล์และเขียนการอัปเดตจำนวนมากในครั้งเดียวซึ่งจะช่วยลดการโหลดของระบบได้มาก
SNMP_AGENT ได้รับและจัดการการสืบค้นจาก SNMP Master Agent และส่งคืนข้อมูลที่รวบรวมโดยปลั๊กอินอ่าน จัดการคำขอเฉพาะ OIDs ที่ระบุในไฟล์กำหนดค่า ในการจัดการการสืบค้น SNMP ปลั๊กอินจะได้รับข้อมูลจาก CollectD และแปลค่าที่ร้องขอจากรูปแบบภายในของ CollectD เป็นรูปแบบ SNMP
Unixsock หนึ่งสามารถสอบถามค่าได้จากปลั๊กอิน Unixsock เมื่อใดก็ตามที่พวกเขาต้องการ โปรดอ่าน collectd-unixsock (5) สำหรับคำอธิบายเกี่ยวกับวิธีการทำ
WRITE_GRAPHITE ส่งข้อมูลไปยังคาร์บอนชั้นเก็บของกราไฟท์โดยใช้ TCP หรือ UDP สามารถกำหนดค่าเพื่อหลีกเลี่ยงการเข้าสู่ระบบการส่งข้อผิดพลาด (โดยเฉพาะอย่างยิ่งมีประโยชน์เมื่อใช้ UDP)
write_http ส่งค่าที่รวบรวมโดย collectd ไปยังเว็บเซิร์ฟเวอร์โดยใช้คำขอโพสต์ HTTP ข้อมูลที่ส่งผ่านอยู่ในรูปแบบที่เข้าใจโดยปลั๊กอิน Exec หรือจัดรูปแบบใน JSON
write_kafka ส่งข้อมูลไปยัง Apache Kafka คิวแบบกระจาย
write_log เขียนข้อมูลไปยังบันทึก
WRITE_MONGODB ส่งข้อมูลไปยัง MongoDB ฐานข้อมูล NOSQL
WRITE_PROMETHEUS เผยแพร่ค่าโดยใช้เซิร์ฟเวอร์ HTTP แบบฝังในรูปแบบที่เข้ากันได้กับ Prometheus 'collectd_exporter
WRITE_REDIS ส่งค่าไปยังเซิร์ฟเวอร์ฐานข้อมูลคีย์ REDIS
WRITE_RIEMANN ส่งข้อมูลไปยัง Riemann ซึ่งเป็นระบบประมวลผลและการตรวจสอบสตรีม
WRITE_SENSU ส่งข้อมูลไปยัง SENSU ระบบประมวลผลและการตรวจสอบสตรีมผ่านช่องเสียบ TCP ของ Sensu Client Local
write_syslog ส่งข้อมูลในรูปแบบ syslog โดยใช้ TCP ซึ่งข้อความมีตัวชี้วัดในรูปแบบมนุษย์หรือ JSON
WRITE_TSDB ส่ง DATA OPENTSDB, NO MASTER ที่ปรับขนาดได้, ไม่มีฐานข้อมูลอนุกรมเวลาสถานะที่ใช้ร่วมกัน
การบันทึกเป็นทุกอย่างใน CollectD จัดทำโดยปลั๊กอิน ปลั๊กอินต่อไปนี้แจ้งให้เราทราบเกี่ยวกับสิ่งที่เกิดขึ้น:
LogFile เขียนข้อความบันทึกไปยังไฟล์หรือ stdout/stderr
ข้อความบันทึก Perl จะเผยแพร่ไปยังปลั๊กอินที่เขียนด้วย Perl เช่นกัน ดู Collectd-Perl (5)
Python เป็นไปได้ที่จะใช้ปลั๊กอินบันทึกใน Python โดยใช้ปลั๊กอิน Python ดู Collectd-Python (5) สำหรับรายละเอียด
Syslog บันทึกไปยังกลไกการบันทึก Unix มาตรฐาน Syslog
log_logstash เขียนข้อความบันทึกที่จัดรูปแบบเป็นกิจกรรม logstash JSON
การแจ้งเตือนสามารถจัดการได้โดยปลั๊กอินต่อไปนี้:
NOTIFY_DESKTOP ส่งการแจ้งเตือนเดสก์ท็อปไปยัง daemon แจ้งเตือนตามที่กำหนดไว้ในข้อกำหนดการแจ้งเตือนเดสก์ท็อป ในการแสดงการแจ้งเตือนจริง ๆ จำเป็นต้องมีการแจ้งเตือน-Daemon ดู http://www.galago-project.org/specs/notification/
NOTIFY_EMAIL ส่งอีเมลพร้อมข้อความการแจ้งเตือนไปยังผู้รับที่กำหนดค่า
NOTIFY_NAGIOS ส่งการแจ้งเตือนเป็นผลการตรวจสอบแบบพาสซีฟไปยังอินสแตนซ์ Nagios ท้องถิ่น
EXEC ดำเนินการโปรแกรมหรือสคริปต์เพื่อจัดการการแจ้งเตือน ดู collectd-exec (5)
LogFile เขียนข้อความการแจ้งเตือนไปยังไฟล์หรือ stdout/stderr
เครือข่ายส่งการแจ้งเตือนไปยังโฮสต์ระยะไกลเพื่อจัดการอย่างใด
การแจ้งเตือนของ Perl นั้นแพร่กระจายไปยังปลั๊กอินที่เขียนด้วย Perl เช่นกัน ดู Collectd-Perl (5)
Python เป็นไปได้ที่จะใช้ปลั๊กอินการแจ้งเตือนใน Python โดยใช้ปลั๊กอิน Python ดู Collectd-Python (5) สำหรับรายละเอียด
การประมวลผลค่าสามารถควบคุมได้โดยใช้โครงสร้างพื้นฐาน "Chain Chain" และ "การจับคู่" และ "เป้าหมาย" ปลั๊กอินต่อไปนี้พร้อมใช้งาน:
match_empty_counter match ค่าตัวนับซึ่งเป็นศูนย์ในปัจจุบัน
ค่าการจับคู่ Match_hashed โดยใช้ฟังก์ชั่นแฮชของชื่อโฮสต์
match_regex ค่าการจับคู่โดยตัวระบุตามนิพจน์ทั่วไป
match_timediff ค่าการจับคู่ที่มีการประทับเวลาที่ไม่ถูกต้อง
match_value เลือกค่าตามค่าของแหล่งข้อมูล
target_notification สร้างและส่งการแจ้งเตือน
target_replace แทนที่ส่วนของตัวระบุโดยใช้นิพจน์ทั่วไป
Target_scale Scale (ทวีคูณ) ด้วยค่าโดยพลการ
Target_set set (overwrite) ส่วนทั้งหมดของตัวระบุ
ปลั๊กอินเบ็ดเตล็ด:
การรวมตัวเลือกรายการค่าหลายรายการตามรูปแบบหรือนิพจน์ทั่วไปและสร้างรายการค่ารวมใหม่จากรายการนั้น
Threshold ตรวจสอบค่ากับเกณฑ์ที่กำหนดค่าและสร้างการแจ้งเตือนหากค่าไม่อยู่ในขอบเขต ดู Collectd-threshold (5) สำหรับรายละเอียด
UUID ตั้งค่าชื่อโฮสต์เป็นตัวระบุที่ไม่ซ้ำกัน สิ่งนี้มีไว้สำหรับการตั้งค่าที่ลูกค้าแต่ละรายอาจอพยพไปยังโฮสต์ทางกายภาพอื่นอาจจะผ่านการเปลี่ยนแปลงชื่ออย่างน้อยหนึ่งรายการในกระบวนการ
ประสิทธิภาพ: เนื่องจาก Collectd ทำงานเป็น daemon จึงไม่ได้ใช้เวลามากนักเริ่มต้นอีกครั้งและอีกครั้ง ยกเว้นปลั๊กอิน EXEC ไม่มีกระบวนการถูกแยก การแคชในปลั๊กอินเอาต์พุตเช่น RRDTool และปลั๊กอินเครือข่ายทำให้แน่ใจว่าทรัพยากรของคุณใช้อย่างมีประสิทธิภาพ นอกจากนี้เนื่องจาก collectd ได้รับการตั้งโปรแกรมมัลติเธรดมันได้รับประโยชน์จากโปรเซสเซอร์ไฮเปอร์เธรดและโปรเซสเซอร์หลายตัวและตรวจสอบให้แน่ใจว่า daemon ไม่ได้ใช้งานหากปลั๊กอินเพียงตัวเดียวรอให้การดำเนินการ IO จะเสร็จสมบูรณ์
เมื่อตั้งค่าแล้วแทบจะไม่จำเป็นต้องบำรุงรักษาใด ๆ การตั้งค่านั้นง่ายที่สุดเท่าที่จะเป็นไปได้และค่าเริ่มต้นควรจะโอเคสำหรับผู้ใช้ส่วนใหญ่
ไฟล์การกำหนดค่าของ CollectD สามารถดูได้ที่ sysconfdir/collectd.conf เรียกใช้ collectd -h สำหรับรายการค่าเริ่มต้นในตัว ดู collectd.conf(5) สำหรับรายการตัวเลือกและคำอธิบายไวยากรณ์
เมื่อโหลดปลั๊กอิน csv หรือ rrdtool พวกเขาจะเขียนค่าลงในไฟล์ สถานที่ปกติสำหรับไฟล์เหล่านี้อยู่ใต้ /var/lib/collectd
เมื่อใช้ปลั๊กอินบางตัว CollectD ต้องทำงานเป็นรูทของผู้ใช้เนื่องจากรูทเท่านั้นสามารถทำสิ่งต่าง ๆ ได้เช่นแพ็คเกจ ICMP ที่จำเป็นสำหรับการ ping โฮสต์อื่น ๆ ไม่ควรติดตั้ง root setuid root เนื่องจากสามารถใช้เขียนทับไฟล์ที่มีค่าได้!
ตัวอย่างสคริปต์เพื่อสร้างกราฟอยู่ใน contrib/ ในแพ็คเกจต้นทางหรือที่ไหนสักแห่งใกล้ /usr/share/doc/collectd ในการแจกแจงส่วนใหญ่ โปรดทราบว่าสคริปต์เหล่านั้นมีความหมายเป็นจุดเริ่มต้นสำหรับการทดลองของคุณเอง บางคนต้องการโมดูล RRDs Perl ( librrds-perl บน Debian) หากคุณได้เขียนโซลูชันที่ซับซ้อนมากขึ้นโปรดแบ่งปันกับเรา
RRAs ของไฟล์ RRD ที่สร้างขึ้นโดยอัตโนมัติขึ้นอยู่กับการตั้งค่า step และการ heartbeat หากเปลี่ยนการตั้งค่าเหล่านี้คุณอาจต้องสร้างไฟล์ใหม่โดยสูญเสียข้อมูลทั้งหมด โปรดทราบว่าเมื่อเปลี่ยนค่าและอ่าน rrdtool (1) manpage อย่างละเอียด
หากคุณใช้ปลั๊กอิน dns , chkrootkit(1) จะรายงาน collectd เป็นแพ็คเก็ตดมกลิ่น ( <iface>: PACKET SNIFFER(/usr/sbin/collectd[<pid>]) ) ปลั๊กอินจับแพ็กเก็ต UDP ทั้งหมดบนพอร์ต 53 เพื่อวิเคราะห์ทราฟฟิก DNS ในกรณีนี้ collectd เป็นคนดมกลิ่นที่ถูกกฎหมายและรายงานควรได้รับการพิจารณาว่าเป็นบวกที่ผิดพลาด อย่างไรก็ตามคุณอาจต้องการตรวจสอบว่านี่คือการรวบรวมและไม่ใช่คนอื่น ๆ
ในการรวบรวม collectd จากแหล่งที่มาคุณจะต้อง:
ผู้ต้องสงสัยตามปกติ: คอมไพเลอร์ c, linker, preprocessor, make, ...
CollectD ใช้ประโยชน์จากคุณสมบัติ C99 ทั่วไปเช่นตัวอักษรผสมและการประกาศผสมดังนั้นจึงต้องใช้คอมไพเลอร์ที่เข้ากันได้กับ C99
ใน Debian และ Ubuntu แพ็คเกจ "สร้างความสำคัญ" ควรดึงทุกสิ่งที่จำเป็น
การใช้งาน posix-threads (pthread) เนื่องจากการรวบรวมสถิติบางอย่างช้า (การเชื่อมต่อเครือข่ายอุปกรณ์ช้า ฯลฯ ) collectd จะถูกขนานกัน อินเทอร์เฟซ Posix Threads กำลังถูกใช้และควรพบในการใช้งานที่หลากหลายสำหรับหวังว่าแพลตฟอร์มทั้งหมด
เมื่อสร้างจากพื้นที่เก็บข้อมูล GIT จะต้องใช้ Flex (Tokenizer) และ Bison (Parser Generator) รีลีส Tarballs รวมไฟล์ที่สร้างขึ้น - คุณไม่จำเป็นต้องใช้แพ็คเกจเหล่านี้ในกรณีนั้น
Aerotools-NG (ไม่บังคับ) ใช้โดยปลั๊กอิน aquaero ปัจจุบันไลบรารี libaquaero5 ซึ่งใช้โดยชุดเครื่องมือ aerotools-ng ไม่ได้รวบรวมเป็นวัตถุที่ใช้ร่วมกันและไม่มีคุณสมบัติการติดตั้ง ดังนั้นคุณต้องชี้สคริปต์กำหนดค่าของ CollectD ที่ไดเรกทอรีต้นฉบับของโครงการ aerotools-ng https://github.com/lynix/aerotools-ng
CoreFoundation.framework และ iokit.framework (ไม่บังคับ) สำหรับการรวบรวมบนดาร์วินโดยทั่วไปและปลั๊กอิน apple_sensors โดยเฉพาะ http://developer.apple.com/corefoundation/
cuda (ไม่บังคับ) ใช้โดยปลั๊กอิน gpu_nvidia https://developer.nvidia.com/cuda-downloads
libatasmart (ไม่บังคับ) ใช้โดยปลั๊กอิน smart http://git.0pointer.de/?p=libatasmart.git
LIBCAP (เป็นทางเลือก) ปลั๊กอิน turbostat สามารถเลือกการสนับสนุนความสามารถของ Linux ซึ่งหลีกเลี่ยงความต้องการสิทธิ์เต็มรูปแบบ (aka. การทำงานเป็นรูท) เพื่ออ่านค่า http://sites.google.com/site/fullycapable/
libclntsh (ไม่บังคับ) ใช้โดยปลั๊กอิน oracle
libhiredis (ไม่บังคับ) ใช้โดยปลั๊กอิน redis โปรดทราบว่าคุณต้องการเวอร์ชัน 0.10.0 หรือสูงกว่า https://github.com/redis/hiredis
libcurl (ไม่บังคับ) หากคุณต้องการใช้ apache , ascent , bind , curl , curl_json , curl_xml , nginx หรือปลั๊กอิน write_http http://curl.haxx.se/
libdbi (ไม่บังคับ) ใช้โดยปลั๊กอิน dbi เพื่อเชื่อมต่อกับฐานข้อมูลต่างๆ http://libdbi.sourceforge.net/
libesmtp (ไม่บังคับ) สำหรับปลั๊กอิน notify_email http://www.stafford.uklinux.net/libesmtp/
libganglia (ไม่บังคับ) ใช้โดยปลั๊กอิน gmond เพื่อประมวลผลข้อมูลที่ได้รับจาก Ganglia http://ganglia.info/
libgrpc (ไม่บังคับ) ใช้โดยปลั๊กอิน grpc GRPC ต้องการคอมไพเลอร์ C ++ ที่รองรับมาตรฐาน C ++ 11 https://grpc.io/
libgcrypt (ไม่บังคับ) ใช้โดยปลั๊กอิน network สำหรับการเข้ารหัสและการรับรองความถูกต้อง http://www.gnupg.org/
libgps (ไม่บังคับ) ใช้โดยปลั๊กอิน gps http://developer.berlios.de/projects/gpsd/
libi2c-dev (ไม่บังคับ) ที่ใช้สำหรับปลั๊กอิน barometer ให้เพียงไฟล์ส่วนหัวของ i2c-dev.h สำหรับการพัฒนาพื้นที่ผู้ใช้ I2C
libiptc (ไม่บังคับ) สำหรับการสืบค้นเคาน์เตอร์ iptables http://netfilter.org/
Libjansson (ไม่บังคับ) แยกวิเคราะห์ข้อมูล JSON สิ่งนี้ใช้สำหรับ capabilities และปลั๊กอิน dpdk_telemetry http://www.digip.org/jansson/
libjevents (ไม่บังคับ) ไลบรารี Jevents ถูกใช้โดยปลั๊กอิน intel_pmu เพื่อเข้าถึงอินเตอร์เฟส Linux Kernel Perf หมายเหตุ: ห้องสมุดควรสร้างด้วย -fPIC Flag เพื่อเชื่อมโยงกับวัตถุที่แชร์ Intel_PMU อย่างถูกต้อง https://github.com/andikleen/pmu-tools
ไลบรารี libjvm (ไม่บังคับ) ที่ห่อหุ้มเครื่องเสมือน Java (JVM) ไลบรารีนี้ใช้โดยปลั๊กอิน java เพื่อเรียกใช้งาน Java bytecode ดูเอกสาร/build.java.md สำหรับคำแนะนำการสร้างโดยละเอียด http://openjdk.java.net/ (และอื่น ๆ )
libldap (ไม่บังคับ) ใช้โดยปลั๊กอิน openldap http://www.openldap.org/
Liblua (ไม่บังคับ) ใช้โดยปลั๊กอิน lua ปัจจุบัน Lua 5.1 และใหม่กว่าได้รับการสนับสนุน https://www.lua.org/
libmemcached (ไม่บังคับ) ใช้โดยปลั๊กอิน memcachec เพื่อเชื่อมต่อกับ memcache daemon http://tangent.org/552/libmemcached.html
libmicrohttpd (ไม่บังคับ) ใช้โดยปลั๊กอิน write_prometheus เพื่อเรียกใช้ http daemon http://www.gnu.org/software/libmicrohttpd/
libmnl (ไม่บังคับ) ใช้โดยปลั๊กอิน netlink http://www.netfilter.org/projects/libmnl/
libmodbus (ไม่บังคับ) ใช้โดยปลั๊กอิน modbus เพื่อสื่อสารกับอุปกรณ์ Modbus/TCP ปลั๊กอิน modbus ทำงานกับเวอร์ชัน 2.0.3 ของไลบรารี - เนื่องจาก API เปลี่ยนไปบ่อยครั้งในเวอร์ชันอื่นอาจหรือไม่สามารถรวบรวมได้อย่างหมดจด http://www.libmodbus.org/
libmysqlclient (ไม่จำเป็น) ใช้อย่างไม่น่าแปลกใจโดยปลั๊กอิน mysql http://dev.mysql.com/
libnetapp (ไม่บังคับ) จำเป็นสำหรับปลั๊กอิน netapp ห้องสมุดนี้เป็นส่วนหนึ่งของ "จัดการ ONTAP SDK" ที่เผยแพร่โดย NetApp
libnetsnmp (ไม่บังคับ) สำหรับปลั๊กอิน snmp และ snmp_agent http://www.net-snmp.org/
libnetsnmpagent (ไม่จำเป็น) จำเป็นสำหรับปลั๊กอิน snmp_agent http://www.net-snmp.org/
libnotify (ไม่บังคับ) สำหรับปลั๊กอิน notify_desktop http://www.galago-project.org/
libopenipmi (ไม่บังคับ) ใช้โดยปลั๊กอิน ipmi เพื่อพิสูจน์อุปกรณ์ IPMI http://openipmi.sourceforge.net/
liboping (ไม่บังคับ) ใช้โดยปลั๊กอิน ping เพื่อส่งและรับแพ็คเก็ต ICMP http://octo.it/liboping/
libowcapi (ไม่บังคับ) ใช้โดยปลั๊กอิน onewire เพื่ออ่านค่าจากเซ็นเซอร์ OneWire (หรือ Owserver (1) Daemon) http://www.owfs.org/
libpcap (ไม่บังคับ) ใช้ในการจับแพ็กเก็ตโดยปลั๊กอิน dns http://www.tcpdump.org/
libperfstat (ไม่บังคับ) ใช้โดยปลั๊กอินต่างๆเพื่อรวบรวมสถิติภายใต้ AIX
libperl (ไม่บังคับ) เห็นได้ชัดว่าใช้โดยปลั๊กอิน perl ห้องสมุดจะต้องรวบรวมด้วยการสนับสนุน ithread (แนะนำใน Perl 5.6.0) http://www.perl.org/
libpmwapi (ไม่บังคับ) ใช้โดยปลั๊กอิน dcpmm ห้องสมุด GitHub: https://github.com/intel/intel-pmwatch ทำตามคำแนะนำการสร้าง PMWATCH ที่กล่าวถึงสำหรับปลั๊กอิน DCPMM และใช้เส้นทางการติดตั้งเพื่อแก้ไขการพึ่งพาที่นี่
libpq (ไม่บังคับ) ไลบรารีไคลเอนต์ PostgreSQL C ที่ใช้โดยปลั๊กอิน postgresql http://www.postgresql.org/
LIBPQOS (ไม่บังคับ) ไลบรารี PQOS สำหรับเทคโนโลยีผู้กำกับทรัพยากร Intel (R) ที่ใช้โดยปลั๊กอิน intel_rdt https://github.com/01org/intel-cmt-cat
libprotobuf, protoc 3.0+ (ไม่บังคับ) ที่ใช้โดยปลั๊กอิน grpc เพื่อสร้างสตับบริการและรหัสเพื่อจัดการแพ็คเก็ตเครือข่ายของโปรโตคอลเครือข่ายที่ใช้ Protobuf ของ CollectD https://developers.google.com/protocol-buffers/
libprotobuf-c, protoc-c (ไม่บังคับ) ที่ใช้โดยปลั๊กอิน pinba เพื่อสร้างตัวแยกวิเคราะห์สำหรับแพ็คเก็ตเครือข่ายที่ส่งโดยส่วนขยาย PINBA PHP http://code.google.com/p/protobuf-c/
libpython (ไม่บังคับ) ใช้โดยปลั๊กอิน python ปัจจุบัน Python 2.6 และใหม่กว่าและ Python 3 ได้รับการสนับสนุน http://www.python.org/
libqpid-proton (ไม่บังคับ) ใช้โดยปลั๊กอิน amqp1 สำหรับการเชื่อมต่อ AMQP 1.0 เช่น Qdrouterd http://qpid.apache.org/
LibrabbitMq (ไม่บังคับ; เรียกอีกอย่างว่า "RabbitMQ-C") ที่ใช้โดยปลั๊กอิน amqp สำหรับการเชื่อมต่อ AMQP 0.9.1 เช่น RabbitMQ http://hg.rabbitmq.com/rabbitmq-c/
LiBLDKAFKA (ไม่บังคับ; เรียกอีกอย่างว่า "RDKAFKA") ที่ใช้โดยปลั๊กอิน write_kafka สำหรับการผลิตข้อความและส่งไปยังนายหน้า KAFKA https://github.com/edenhill/librdkafka
Librouteros (ไม่บังคับ) ใช้โดยปลั๊กอิน routeros เพื่อเชื่อมต่อกับอุปกรณ์ที่ใช้ เราเตอร์ http://octo.it/librouteros/
Librrd (ไม่บังคับ) ใช้โดยปลั๊กอิน rrdtool และ rrdcached หลังต้องการการสนับสนุนไคลเอนต์ RRDTool ซึ่งเพิ่มหลังจากเวอร์ชัน 1.3 ของ RRDTool เวอร์ชัน 1.0, 1.2 และ 1.3 เป็นที่รู้จักกันในการทำงานกับปลั๊กอิน rrdtool http://oss.oetiker.ch/rrdtool/
Librt, libsocket, libkstat, libdevinfo (ไม่บังคับ) ไลบรารีโซลาริสมาตรฐานต่างๆที่ให้ฟังก์ชั่นระบบ http://developers.sun.com/solaris/
libsensors (ไม่บังคับ) ในการอ่านจาก lm_sensors ดูปลั๊กอิน sensors http://www.lm-sensors.org/
Libsigrok (ไม่บังคับ) ใช้โดยปลั๊กอิน sigrok นอกจากนี้ libsigrok ขึ้นอยู่กับ glib , libzip และทางเลือก (ขึ้นอยู่กับว่าไดรเวอร์ที่เปิดใช้งาน) บน libusb , libftdi และ libudev
libslurm (ไม่บังคับ) ใช้โดยปลั๊กอิน slurm https://slurm.schedmd.com/
LIBSQLITE3 (ไม่บังคับ) ใช้โดยปลั๊กอิน ras https://sqlite.org/
libstatgrab (ไม่บังคับ) ใช้โดยปลั๊กอินต่างๆเพื่อรวบรวมสถิติเกี่ยวกับระบบอื่นนอกเหนือจาก Linux และ/หรือ Solaris http://www.i-scream.org/libstatgrab/
libtokyotyrant (ไม่บังคับ) ใช้โดยปลั๊กอิน tokyotyrant http://1978th.net/tokyotyrant/
libupsclient/nut (ไม่จำเป็น) สำหรับปลั๊กอิน nut ซึ่งสอบถาม upsd ของน็อต http://networkupstools.org/
libvirt (ไม่บังคับ) รวบรวมสถิติจากเครื่องเสมือน http://libvirt.org/
libxml2 (ไม่บังคับ) แยกวิเคราะห์ข้อมูล XML สิ่งนี้จำเป็นสำหรับ ascent , bind , curl_xml และปลั๊กอิน virt http://xmlsoft.org/
libxen (ไม่บังคับ) ใช้โดยปลั๊กอิน xencpu http://xenbits.xensource.com/
libxmms (ไม่บังคับ) http://www.xmms.org/
LIBYAJL (ไม่บังคับ) แยกวิเคราะห์ข้อมูล JSON สิ่งนี้จำเป็นสำหรับ ceph , curl_json , ovs_events , ovs_stats และปลั๊กอิน log_logstash http://github.com/lloyd/yajl
libvarnish (ไม่บังคับ) ดึงสถิติจากอินสแตนซ์เคลือบเงา สิ่งนี้จำเป็นสำหรับปลั๊กอิน varnish http://varnish-cache.org
Riemann-C-Client (ไม่บังคับ) สำหรับปลั๊กอิน write_riemann https://github.com/algernon/riemann-c-client
ในการกำหนดค่าสร้างและติดตั้ง collectd ด้วยการตั้งค่าเริ่มต้น run ./configure && make && make install For a complete list of configure options and their description, run ./configure --help .
By default, the configure script will check for all build dependencies and disable all plugins whose requirements cannot be fulfilled (any other plugin will be enabled). To enable a plugin, install missing dependencies (see section Prerequisites above) and rerun configure . If you specify the --enable-<plugin> configure option, the script will fail if the depen- dencies for the specified plugin are not met. In that case you can force the plugin to be built using the --enable-<plugin>=force configure option. This will most likely fail though unless you're working in a very unusual setup and you really know what you're doing. If you specify the --disable-<plugin> configure option, the plugin will not be built. If you specify the --enable-all-plugins or --disable-all-plugins configure options, all plugins will be enabled or disabled respectively by default. Explicitly enabling or disabling a plugin overwrites the default for the specified plugin. These options are meant for package maintainers and should not be used in everyday situations.
By default, collectd will be installed into /opt/collectd . You can adjust this setting by specifying the --prefix configure option - see INSTALL for details. If you pass DESTDIR=<path> to make install , <path> will be prefixed to all installation directories. This might be useful when creating packages for collectd.
Collectd ships with a build.sh script to generate the configure script shipped with releases.
To generate the configure script, you'll need the following dependencies:
The build.sh script takes no arguments.
Collectd can be built on Windows using Cygwin, and the result is a binary that runs natively on Windows. That is, Cygwin is only needed for building, not running, collectd.
You will need to install the following Cygwin packages:
To build, just run the build.sh script in your Cygwin terminal. By default, it installs to "C:/Program Files/collectd". You can change the location by setting the INSTALL_DIR variable:
$ export INSTALL_DIR="C:/some/other/install/directory" $ ./build.sh
หรือ:
$ INSTALL_DIR="C:/some/other/install/directory" ./build.sh
To compile correctly collectd needs to be able to initialize static variables to NAN (Not A Number). Some C libraries, especially the GNU libc, have a problem with that.
Luckily, with GCC it's possible to work around that problem: One can define NAN as being (0.0 / 0.0) and isnan as f != f . However, to test this "implementation" the configure script needs to compile and run a short test program. Obviously running a test program when doing a cross- compilation is, well, challenging.
If you run into this problem, you can use the --with-nan-emulation configure option to force the use of this implementation. We can't promise that the compiled binary actually behaves as it should, but since NANs are likely never passed to the libm you have a good chance to be lucky.
Likewise, collectd needs to know the layout of doubles in memory, in order to craft uniform network packets over different architectures. For this, it needs to know how to convert doubles into the memory layout used by x86. The configure script tries to figure this out by compiling and running a few small test programs. This is of course not possible when cross-compiling. You can use the --with-fp-layout option to tell the configure script which conversion method to assume. Valid arguments are:
* `nothing` (12345678 -> 12345678)
* `endianflip` (12345678 -> 87654321)
* `intswap` (12345678 -> 56781234)
Please use GitHub to report bugs and submit pull requests: https://github.com/collectd/collectd/. See CONTRIBUTING.md for details.
For questions, development information and basically all other concerns please send an email to collectd's mailing list at (list at collectd.org).
For live discussion and more personal contact visit us in IRC, we're in channel #collectd on freenode.
Florian octo Forster (octo at collectd.org), Sebastian tokkee Harl (sh at tokkee.org), and many other authors and contributors.