https://collectd.org/
CollectD adalah daemon kecil yang mengumpulkan informasi sistem secara berkala dan menyediakan mekanisme untuk menyimpan dan memantau nilai -nilai dalam berbagai cara.
CollectD dapat mengumpulkan data berikut:
Pemanfaatan Server Apache Apache: Jumlah byte yang ditransfer, jumlah permintaan yang ditangani dan statistik papan skor terperinci
APCUPS APC UPS Daemon: UPS Charge, Load, Input/Output/Baterai Tegangan, dll.
Sensor Apple_Sensors di Mac Menjalankan Mac OS X / Darwin: Suhu, Kecepatan Kipas dan Sensor Tegangan.
Aquaero berbagai sensor di papan pendingin air Aquaero 5 yang dibuat oleh AquaComputer.
Statistik pendakian tentang pendakian, server gratis untuk permainan "World of Warcraft".
Barometer membaca tekanan barometrik absolut, tekanan udara dikurangi hingga permukaan laut dan suhu. Sensor yang didukung adalah MPL115A2 dan MPL3115 dari Freescale dan BMP085 dari Bosch.
Baterai Baterai Baterai, -arus dan tegangan baterai laptop berbasis ACPI dan PMU.
Bind Name Server dan Statistik Resolver dari antarmuka statistics-channel BIND 9.5, 9,6 dan kemudian.
Statistik BuddyInfo dari File BuddyInfo Tentang Fragmentasi Memori.
Kemampuan Platform kemampuan yang diterjemahkan dari subsistem perangkat keras, misalnya dari SMBIOS menggunakan DMIDECODE. https://www.nongnu.org/dmidecode/
Statistik Ceph dari sistem penyimpanan terdistribusi Ceph.
CGURUPS Informasi Akuntansi CPU untuk grup proses di bawah Linux.
Chrony Chrony Daemon Statistics: Drift Jam Lokal, Offset to Peers, dll.
Status antarmuka berbasis acara konektivitas.
Jumlah Conntrack entri NF_CONNTRACK.
ContextSwitch Jumlah sakelar konteks yang dilakukan oleh sistem operasi.
Pemanfaatan CPU CPU: waktu yang dihabiskan dalam sistem, pengguna, bagus, idle, dan status terkait.
Frekuensi CPUFREQ CPU (untuk laptop dengan langkah kecepatan atau teknologi serupa)
CPUSLOL CPU Sleep: Waktu yang dihabiskan untuk ditangguhkan (untuk perangkat seluler yang masuk menangguhkan secara otomatis)
Statistik parse curl dari situs web menggunakan ekspresi reguler.
CURL_JSON mengambil data JSON melalui Curl dan parses sesuai dengan konfigurasi pengguna.
CURL_XML Mengambil data XML melalui Curl dan parsing sesuai dengan konfigurasi pengguna.
DBI menjalankan pernyataan SQL pada berbagai database dan menafsirkan data yang dikembalikan.
DCPMM mengumpulkan statistik kinerja dan kesehatan Intel Optane DC (DCPMM).
Penggunaan DF Mountpoint (pada dasarnya nilai df(1) memberikan)
Pemanfaatan disk disk: Sektor-sektor dibaca/tertulis, jumlah tindakan baca/tulis, rata-rata waktu yang dilakukan oleh IO-Operation.
Lalu Lintas DNS DNS: Jenis kueri, kode respons, opcodes dan lalu lintas/oktet ditransfer.
DPDKSTAT Mengumpulkan Statistik Antarmuka DPDK. Lihat Docs/build.dpdkstat.md untuk instruksi pembuatan terperinci.
Plugin ini harus dikompilasi dengan pertahanan kompiler yang diaktifkan, misalnya -Fstack -Protector.
DPDK_Telemetry Mengumpulkan Antarmuka DPDK, Aplikasi dan Statistik Global. Plugin ini dapat digunakan sebagai pengganti plugin DPDKSTAT.
Plugin ini tergantung pada rilis DPDK 19.08 dan harus digunakan bersama dengan aplikasi DPDK.
Juga, plugin ini memiliki ketergantungan pada perpustakaan Jansson.
DRBD Mengumpulkan statistik sumber daya DRBD individual.
Statistik Email Email: Hitung, lalu lintas, skor spam dan cek. Lihat Collectd-Email (5).
Jumlah entropi entropi yang tersedia untuk sistem.
Epik mengumpulkan data dari Epics Message Bus. https://epics-controls.org
Statistik Kartu Antarmuka Jaringan Ethstat.
nilai -nilai eksekutif dikumpulkan oleh program atau skrip kustom. Lihat Collectd-Exec (5).
File FHCount menangani statistik.
FileCount menghitung jumlah file dalam direktori.
FSCACHE Linux File-System Berbasis Caching Framework Statistics.
Gmond menerima lalu lintas multicast dari instance ganglia.
GPS memantau data terkait GPS melalui GPSD.
GPU_NVIDIA Monitor Statistik GPU NVIDIA Tersedia melalui NVML.
suhu hard disk hddtemp menggunakan hddtempd.
HugEpages melaporkan jumlah HugEpages yang digunakan dan gratis. Info lebih lanjut tentang HugePages dapat ditemukan di sini: https://www.kernel.org/doc/documentation/vm/hugetlbpage.txt.
Plugin ini harus dikompilasi dengan pertahanan kompiler yang diaktifkan, misalnya -Fstack -Protector.
Atribut dan penghitung Infiniband untuk setiap port pada setiap perangkat IB.
intel_pmu plugin intel_pmu membaca penghitung kinerja yang disediakan oleh antarmuka Linux Kernel Perf. Plugin ini menggunakan perpustakaan Jevents untuk menyelesaikan acara bernama untuk acara perf dan mengakses antarmuka perf.
Intel_rdt Plugin Intel_RDT mengumpulkan informasi yang disediakan dengan memantau fitur Intel Resource Director Technology (Intel (R) RDT) seperti Cache Monitoring Technology (CMT), Memory Bandwidth Monitoring (MBM). Fitur -fitur ini memberikan informasi tentang pemanfaatan sumber daya bersama seperti hunian cache tingkat terakhir, penggunaan bandwidth memori lokal, penggunaan bandwidth memori jarak jauh, instruksi per jam. https://01.org/packet-processing/cache-monitoring-technology-memory-bandwidth-monitoring-cache-aloci-technology-code-and-data
Lalu Lintas Antarmuka Antarmuka: Jumlah oktet, paket, dan kesalahan untuk setiap antarmuka.
Penghitung IPC IPC: Semaphores digunakan, jumlah segmen yang dialokasikan dalam memori bersama dan banyak lagi.
Informasi sensor IPMI IPMI (Intelligent Platform Management Interface).
IPStats IPv4 dan IPv6; penghitung yang masuk, keluar, dan diteruskan. Freebsd saja.
Penghitung ptables 'ptables: jumlah byte yang cocok dengan aturan ptables tertentu.
Statistik koneksi IPVS IPVS (jumlah koneksi, oktet, dan paket untuk setiap layanan dan tujuan). Lihat http://www.linuxvirtualserver.org/software/index.html.
Penghitung IRQ IRQ: Frekuensi di mana interupsi tertentu terjadi.
Java mengintegrasikan mesin virtual Java (JVM) untuk menjalankan plugin di java bytecode. Lihat Docs/build.java.md untuk instruksi pembuatan terperinci.
memuat rata -rata beban sistem selama 1, 5 dan 15 menit terakhir.
LPAR Statistik CPU terperinci dari teknik virtualisasi “partisi logis” yang dibangun ke dalam prosesor daya IBM.
Lua plugin Lua mengimplementasikan interpreter LUA ke dalam Collectd. Hal ini memungkinkan untuk menulis plugin di Lua yang dieksekusi oleh Collectd tanpa perlu memulai interpreter berat setiap interval. Lihat CollectD-Lua (5) untuk detailnya.
Madwifi menanyakan statistik penggunaan yang sangat rinci dari adaptor LAN nirkabel dan antarmuka yang menggunakan chipset Atheros dan driver Madwifi.
Sensor Motherboard MBMon: Suhu, kecepatan kipas dan informasi tegangan, menggunakan MBMON (1).
Pengecualian Periksa Mesin Monitor McElog (kesalahan perangkat keras terdeteksi oleh perangkat keras dan dilaporkan ke perangkat lunak) yang dilaporkan oleh McElog dan menghasilkan pemberitahuan yang sesuai ketika pengecualian pemeriksaan mesin terdeteksi.
Informasi perangkat raid perangkat lunak MD Linux (jumlah disk aktif, gagal, cadangan dan hilang).
Kueri memcachec dan parse data dari memcache daemon (memcached).
Statistik memcached dari sistem caching terdistribusi memcached. http://www.danga.com/memcached/
Pemanfaatan memori memori: Memori yang ditempati dengan menjalankan proses, cache halaman, cache buffer dan gratis.
MIC mengumpulkan penggunaan CPU, penggunaan memori, suhu dan konsumsi daya dari Intel banyak CPU Intel Core (MIC).
MMC membaca estimasi seumur hidup yang dilaporkan oleh perangkat EMMC 5.0+ dan beberapa metrik kesehatan yang lebih rinci, seperti blok buruk dan penghapusan jumlah atau siklus daya, untuk EMMC mikron dan sandisk dan beberapa kartu MMC Swissbit (manfid = 0x5d Oemid = 0x5342).
Modbus membaca nilai dari perangkat yang diaktifkan Modbus/TCP. Mendukung nilai -nilai membaca dari beberapa "budak" sehingga perangkat gateway dapat digunakan.
Informasi multimeter yang disediakan oleh multimeter serial, seperti Metex M-4650CR .
Statistik server MySQL Mariadb dan MySQL: Perintah yang dikeluarkan, penangan dipicu, penggunaan utas, pemanfaatan cache kueri dan lalu lintas/oktet yang dikirim dan diterima.
Plugin NetApp untuk meminta nilai kinerja dari sistem penyimpanan NetApp menggunakan SDK "Kelola ONTAP" yang disediakan oleh NetApp.
NetLink Antarmuka jaringan Linux yang sangat rinci dan statistik perutean. Anda bisa mendapatkan informasi (terperinci) tentang antarmuka, qDiscs, kelas, dan, jika Anda dapat memanfaatkannya, filter.
Jaringan menerima nilai yang dikumpulkan oleh host lain. Pengaturan besar akan ingin mengumpulkan data pada satu mesin khusus, dan ini adalah plugin pilihan untuk itu.
Prosedur NFS NFS: Perintah NFS mana yang dipanggil seberapa sering.
Nginx mengumpulkan statistik dari nginx (Speak: Engine X), server HTTP dan Mail/proxy.
NTPD NTP Daemon Statistics: Drift Jam Lokal, Offset to Peers, dll.
Informasi NUMA tentang akses memori yang tidak seragam (NUMA).
Nut Network UPS Tools: UPS Current, Tegangan, Daya, Muatan, Pemanfaatan, Suhu, dll. Lihat UPSD (8).
olsrd menanyakan informasi perutean dari daemon “routing status tautan yang dioptimalkan”.
OneWire (Eksperimental!) Baca sensor OneWire menggunakan Perpustakaan OWCAPU dari Proyek OWFS. Harap baca di collectd.conf (5) Mengapa plugin ini eksperimental.
OpenLDAP membaca informasi pemantauan dari Subtree OpenLdaP's CN = Monitor.
OpenVPN RX dan TX dari setiap klien di OpenVpn-status.log (Status-Versi 2). http://openvpn.net/index.php/documentation/howto.html
Oracle Query Data dari database Oracle.
OVS_EVENT Plugin memantau status tautan antarmuka yang terhubung dengan VSwitch terbuka (OVS), mengirimkan nilai -nilai untuk dikumpulkan dan mengirimkan pemberitahuan setiap kali perubahan status tautan terjadi dalam database OVS. Itu membutuhkan perpustakaan yajl untuk diinstal. Instruksi terperinci untuk menginstal dan mengatur vswitch terbuka, lihat dokumentasi OVS. http://openvswitch.org/support/dist-docs/install.rst.html
OVS_STATS Plugin mengumpulkan statistik jembatan dan antarmuka OVS yang terhubung. Itu membutuhkan perpustakaan yajl untuk diinstal. Instruksi terperinci untuk menginstal dan mengatur vswitch terbuka, lihat dokumentasi OVS. http://openvswitch.org/support/dist-docs/install.rst.html
PCIE_ERRORS membaca kesalahan dari status perangkat PCI Express dan kemampuan yang diperluas. https://www.design-reuse.com/articles/38374/pcie-error-gogging-and-handling-on-a-typical-soc.html
PERL Plugin Perl mengimplementasikan Perl-Interpreter ke Collectd. Anda dapat menulis plugin Anda sendiri di Perl dan mengembalikan nilai sewenang -wenang menggunakan API ini. Lihat CollectD-Perl (5).
Statistik kueri PF dari filter paket BSD "PF".
Pinba menerima dan mengirim nilai waktu dari Pinba, ekstensi profil untuk PHP.
Latensi Jaringan Ping: Waktu untuk mencapai gateway default atau host lain yang diberikan.
Statistik database PostgreSQL PostgreSQL: Koneksi server aktif, nomor transaksi, blok IO, manipulasi baris tabel.
Statistik server PowerDns PowerDns.
Proses Hitung: Jumlah Proses Berlari, Tidur, Zombie, ...
Procevent mendengarkan proses dimulai dan keluar melalui NetLink.
Protokol menghitung berbagai aspek protokol jaringan seperti IP, TCP, UDP, dll.
Python Plugin Python mengimplementasikan interpreter Python ke Collectd. Hal ini memungkinkan untuk menulis plugin di Python yang dieksekusi oleh Collectd tanpa perlu memulai interpreter berat setiap interval. Lihat CollectD-Python (5) untuk detailnya.
Ras The Ras Plugin mengumpulkan dan menghitung kesalahan yang disediakan oleh Rasdaemon
Redis The Redis Plugin mengumpulkan informasi dari server Redis, termasuk: uptime, memori yang digunakan, total koneksi dll.
Antarmuka kueri Routeros dan statistik pendaftaran nirkabel dari routeros.
RRDCached Rrdtool Caching Daemon (RRDCached) Statistik.
Sensor Sensor Sistem, Diakses Menggunakan LM_Sensors: Tegangan, Suhu dan Kecepatan Rotasi Kipas.
Serial RX dan TX antarmuka serial. Linux saja; membutuhkan hak istimewa root.
Sigrok menggunakan Libsigrok sebagai backend, memungkinkan perangkat yang didukung Sigrok untuk mendapatkan pengukurannya untuk dikumpulkan. Ini termasuk multimeter, meter tingkat suara, termometer, dan banyak lagi.
Slurm mengumpulkan node per-partisi dan informasi keadaan kerja menggunakan libslurm, serta statistik kesehatan internal.
Smart Collect Smart Statistics, terutama jumlah siklus beban, suhu dan sektor yang buruk.
Nilai Baca SNMP dari SNMP (Protokol Manajemen Jaringan Sederhana) Diaktifkan perangkat jaringan seperti sakelar, router, termometer, server pemantauan rak, dll. Lihat CollectD-SNMP (5).
Statsd bertindak sebagai server StatSD, nilai membaca yang dikirim melalui jaringan dari klien StatSD dan menghitung tarif dan agregat lain dari nilai -nilai ini.
Sysevent mendengarkan acara rsyslog dan mengirimkan nilai yang cocok.
Halaman bertukar yang ditukar ke hard disk atau apa pun yang disebut swap oleh OS.
Tabel Parse File terstruktur seperti tabel.
Ekor mengikuti file log (ekor), parsing dengan baris dan mengirimkan nilai yang cocok.
tail_csv mengikuti file (tails) dalam format CSV, mem -parsing setiap baris dan mengirimkan nilai yang diekstraksi.
Tape byte dan operasi dibaca dan ditulis di perangkat tape. Solaris saja.
Jumlah TCPConns dari koneksi TCP ke port lokal dan jarak jauh tertentu.
statistik server TeamSpeak2 TeamSpeak2.
TED Plugin untuk membaca nilai dari "The Energy Detective" (TED).
Informasi Zona Termal Termal Linux ACPI.
Tokyotyrant membaca jumlah catatan dan ukuran file dari server tyrant Tokyo yang sedang berjalan.
Turbostat membaca frekuensi CPU dan residensi c-state pada prosesor yang mampu turbo intel modern.
UBI membaca jumlah penghapus fisik yang buruk dan nilai penghapusan penghapusan maksimum saat ini pada volume UBI.
Statistik Uptime Sistem Uptime.
Pengguna pengguna saat ini masuk.
Pernis Berbagai Statistik dari Varnish, akselerator HTTP.
Virt CPU, memori, disk, dan statistik I/O jaringan dari mesin virtual.
Statistik memori virtual VMEM, misalnya jumlah halaman-in/-outs atau jumlah Pagefault.
Sumber Daya Sistem VServer yang digunakan oleh Linux VServer. Lihat http://linux-vserver.org/.
Kualitas tautan nirkabel kartu nirkabel. Linux saja.
Statistik CPU XENCPU XEN Hypervisor.
XMMS Bitrate dan frekuensi musik dimainkan dengan XMMS.
Statistik ZFS_ARC untuk ZFS "Cache Penggantian Adaptif" (ARC).
Zona mengukur persentase beban CPU per kontainer (zona) di bawah Solaris 10 dan lebih tinggi
Zookeeper membaca data dari perintah MNTR Zookeeper.
Output dapat ditulis atau dikirim ke berbagai tujuan oleh plugin berikut:
AMQP mengirimkan data yang dikodekan JSON ke Server Antrian Pesan Lanjutan (AMQP) 0.9.1, seperti RabbitMQ.
AMQP1 mengirimkan data yang dikodekan JSON ke server Protokol Antrian Lanjutan (AMQP) 1.0, seperti router pengiriman QPID atau broker Apache Artemis.
CSV Menulis ke file yang terpisah koma (CSV). Ini membutuhkan banyak ruang disk tetapi sangat portabel dan dapat dianalisis dengan hampir setiap program yang dapat menganalisis apa pun. Bahkan Excel Microsoft.
GRPC mengirim dan menerima nilai melalui jaringan menggunakan kerangka GRPC.
Lua mungkin untuk mengimplementasikan plugin tulis di LUA menggunakan plugin LUA. Lihat CollectD-Lua (5) untuk detailnya.
MQTT menerbitkan dan berlangganan topik MQTT.
Jaringan Kirim data ke host jarak jauh untuk menyimpan data entah bagaimana. Ini berguna untuk pengaturan besar di mana data harus disimpan oleh mesin khusus.
Perl tentu saja nilainya disebarkan ke plugin yang ditulis dalam Perl juga, sehingga Anda dapat dengan mudah melakukan hal-hal aneh dengan plugin yang tidak berani kami pikirkan;) Lihat CollectD-Perl (5).
Python mungkin untuk mengimplementasikan plugin tulis di Python menggunakan plugin Python. Lihat CollectD-Python (5) untuk detailnya.
Output RRDCached ke file round-robin-database (RRD) menggunakan daemon caching rrdtool (rrdcached)-lihat rrdcached(1) . Daemon itu memberikan implementasi umum caching yang dilakukan oleh plugin rrdtool .
Output RRDTool ke file round-robin-database (RRD) menggunakan Librrd. Lihat RRDTool (1). Ini kemungkinan merupakan tujuan paling populer untuk nilai -nilai tersebut. Karena pembaruan ke RRD-Files agak mahal plugin ini dapat mensembakan pembaruan ke file dan menulis banyak pembaruan sekaligus, yang mengurangi banyak sistem.
SNMP_AGENT menerima dan menangani kueri dari SNMP Master Agent dan mengembalikan data yang dikumpulkan oleh baca plugin. Menangani permintaan hanya untuk OID yang ditentukan dalam file konfigurasi. Untuk menangani pertanyaan SNMP, plugin mendapatkan data dari CollectD dan menerjemahkan nilai yang diminta dari format internal CollectD ke format SNMP.
Unixsock Seseorang dapat meminta nilai -nilai dari plugin Unixsock kapan pun diperlukan. Harap baca CollectD-Unixsock (5) untuk deskripsi tentang bagaimana hal itu dilakukan.
write_graphite mengirimkan data ke karbon, lapisan penyimpanan grafit menggunakan TCP atau UDP. Ini dapat dikonfigurasi untuk menghindari logging mengirim kesalahan (terutama berguna saat menggunakan UDP).
write_http mengirimkan nilai yang dikumpulkan oleh CollectD ke server web menggunakan permintaan HTTP POST. Data yang ditransmisikan baik dalam bentuk yang dipahami oleh plugin Exec atau diformat dalam JSON.
write_kafka mengirimkan data ke Apache Kafka, antrian terdistribusi.
write_log menulis data ke log
write_mongoDb mengirimkan data ke MongoDB, database NoSQL.
write_prometheus menerbitkan nilai menggunakan server http tertanam, dalam format yang kompatibel dengan prometheus 'collectd_exporter.
write_redis mengirimkan nilai ke server database value redis.
Write_riemann mengirim data ke Riemann, sistem pemrosesan dan pemantauan aliran.
write_sensu mengirimkan data ke sensu, sistem pemrosesan dan pemantauan aliran, melalui soket TCP lokal klien sensu.
write_syslog mengirimkan data dalam format syslog, menggunakan TCP, di mana pesan tersebut berisi metrik dalam format manusia atau JSON.
write_tsdb mengirim data OpentsDB, scalable no master, No Shared State Time Series Database.
Pencatatan, seperti semuanya dalam Collectd, disediakan oleh plugin. Plugin berikut memberi tahu kami tentang apa yang terjadi:
LogFile menulis pesan log ke file atau stdout/stderr.
Pesan log Perl disebarkan ke plugin yang ditulis dalam Perl juga. Lihat CollectD-Perl (5).
Python dimungkinkan untuk mengimplementasikan plugin log di Python menggunakan plugin Python. Lihat CollectD-Python (5) untuk detailnya.
Syslog Log ke Mekanisme Penebangan UNIX Standar, Syslog.
Log_logstash menulis pesan log yang diformat sebagai acara Logstash JSON.
Pemberitahuan dapat ditangani oleh plugin berikut:
notify_desktop Kirim pemberitahuan desktop ke daemon pemberitahuan, sebagaimana didefinisikan dalam spesifikasi pemberitahuan desktop. Untuk benar-benar menampilkan pemberitahuan, pemberitahuan-Daemon diperlukan. Lihat http://www.galago-project.org/specs/notification/.
notify_email Kirim email dengan pesan pemberitahuan kepada penerima yang dikonfigurasi.
notify_nagios mengirimkan pemberitahuan sebagai hasil cek pasif ke instance nagios lokal.
EXECE -EXECUTE Suatu program atau skrip untuk menangani pemberitahuan. Lihat Collectd-Exec (5).
LogFile menulis pesan pemberitahuan ke file atau stdout/stderr.
Jaringan Kirim pemberitahuan ke host jarak jauh untuk menanganinya entah bagaimana.
Pemberitahuan Perl disebarkan ke plugin yang ditulis dalam Perl juga. Lihat CollectD-Perl (5).
Python dimungkinkan untuk mengimplementasikan plugin pemberitahuan di Python menggunakan plugin Python. Lihat CollectD-Python (5) untuk detailnya.
Pemrosesan nilai dapat dikontrol menggunakan infrastruktur "rantai filter" dan "kecocokan" dan "target". Plugin berikut tersedia:
match_empty_counter mencocokkan nilai penghitung yang saat ini nol.
Match_hashed Match Nilai menggunakan fungsi hash dari nama host.
Match_regex mencocokkan nilai dengan pengidentifikasi mereka berdasarkan ekspresi reguler.
Match_timediff mencocokkan nilai dengan cap waktu yang tidak valid.
Match_Value Pilih nilai dengan nilai sumber data mereka.
target_notification membuat dan mengirimkan pemberitahuan.
Target_replace Ganti bagian dari pengidentifikasi menggunakan ekspresi reguler.
Target_scale skala (multiply) nilai dengan nilai sewenang -wenang.
Target_set Set (overwrite) Seluruh bagian pengidentifikasi.
Plugin Lain -lain:
Agregasi memilih beberapa daftar nilai berdasarkan pola atau ekspresi reguler dan membuat daftar nilai agregat baru dari itu.
Threshold memeriksa nilai terhadap ambang batas yang dikonfigurasi dan membuat pemberitahuan jika nilai di luar batas. Lihat CollectD-Threshold (5) untuk detailnya.
UUID menetapkan nama host ke pengidentifikasi unik. Ini dimaksudkan untuk pengaturan di mana setiap klien dapat bermigrasi ke host fisik lain, mungkin melalui satu atau lebih perubahan nama dalam proses.
Kinerja: Karena CollectD berjalan sebagai daemon, ia tidak menghabiskan banyak waktu untuk memulai lagi dan lagi. Dengan pengecualian plugin exec, tidak ada proses yang bercabang. Caching dalam plugin output, seperti plugin RRDTool dan jaringan, memastikan sumber daya Anda digunakan secara efisien. Juga, karena CollectD diprogram multithreaded itu mendapat manfaat dari prosesor hyper-threading dan multicore dan memastikan bahwa daemon tidak menganggur jika hanya satu plugin yang menunggu operasi IO untuk diselesaikan.
Setelah diatur, hampir tidak diperlukan pemeliharaan. Pengaturan disimpan semudah mungkin dan nilai default harus baik -baik saja bagi sebagian besar pengguna.
File konfigurasi CollectD dapat ditemukan di sysconfdir/collectd.conf . Jalankan collectd -h untuk daftar default bawaan. Lihat collectd.conf(5) untuk daftar opsi dan deskripsi sintaksis.
Ketika plugin csv atau rrdtool dimuat, mereka akan menulis nilai ke file. Tempat biasa untuk file -file ini adalah di bawah /var/lib/collectd .
Saat menggunakan beberapa plugin, CollectD perlu dijalankan sebagai root pengguna, karena hanya root yang dapat melakukan hal -hal tertentu, seperti paket kerajinan ICMP yang diperlukan untuk melakukan ping host lain. Collectd tidak boleh diinstal root setuid karena dapat digunakan untuk menimpa file yang berharga!
Contoh skrip untuk menghasilkan grafik berada dalam contrib/ dalam paket sumber atau di suatu tempat dekat /usr/share/doc/collectd di sebagian besar distribusi. Perlu diketahui bahwa skrip itu dimaksudkan sebagai titik awal untuk eksperimen Anda sendiri. Beberapa dari mereka membutuhkan modul RRDs Perl. ( librrds-perl di Debian) Jika Anda telah menulis solusi yang lebih canggih, silakan bagikan dengan kami.
RRAS dari file RRD yang dibuat secara otomatis tergantung pada pengaturan step dan heartbeat yang diberikan. Jika mengubah pengaturan ini, Anda mungkin perlu membuat ulang file, kehilangan semua data. Perlu diketahui saat mengubah nilai -nilai dan baca rrdtool (1) Manpage secara menyeluruh.
Jika Anda menggunakan plugin dns , chkrootkit(1) akan melaporkan collectd sebagai paket sniffer ( <iface>: PACKET SNIFFER(/usr/sbin/collectd[<pid>]) ). Plugin ini menangkap semua paket UDP di port 53 untuk menganalisis lalu lintas DNS. Dalam hal ini, CollectD adalah sniffer yang sah dan laporan tersebut harus dianggap positif palsu. Namun, Anda mungkin ingin memeriksa bahwa ini benar -benar dikumpulkan dan bukan sniffer yang tidak sah lainnya.
Untuk mengkompilasi Collectd dari sumber yang Anda perlukan:
Tersangka biasa: C kompiler, tautan, preprocessor, make, ...
Collectd memanfaatkan beberapa fitur C99 umum, misalnya literal senyawa dan deklarasi campuran, dan karenanya membutuhkan kompiler yang kompatibel dengan C99.
Di Debian dan Ubuntu, paket "build-esensial" harus menarik segala yang diperlukan.
Implementasi POSIX-Threads (Pthread). Karena mengumpulkan beberapa statistik lambat (koneksi jaringan, perangkat lambat, dll) dikumpulkan di paralelisasi. Antarmuka utas POSIX sedang digunakan dan harus ditemukan dalam berbagai implementasi untuk semoga semua platform.
Saat membangun dari repositori git, fleksibel (tokenizer) dan bison (generator parser) diperlukan. Rilis Tarballs termasuk file yang dihasilkan - Anda tidak memerlukan paket ini dalam kasus ini.
Aerotools-ng (opsional) yang digunakan oleh plugin aquaero . Saat ini, Perpustakaan libaquaero5 , yang digunakan oleh aerotools-ng Toolkit, tidak dikompilasi sebagai objek bersama dan juga tidak menampilkan rutin instalasi. Oleh karena itu, Anda perlu mengarahkan skrip konfigurasi CollectD di direktori sumber proyek aerotools-ng . https://github.com/lynix/aerotools-ng
Corefoundation.framework dan iokit.framework (opsional) untuk menyusun Darwin secara umum dan plugin apple_sensors pada khususnya. http://developer.apple.com/corefoundation/
CUDA (Opsional) Digunakan oleh plugin gpu_nvidia https://developer.nvidia.com/Cuda-Downloads
libatasmart (opsional) digunakan oleh plugin smart . http://git.0pointer.de/?p=Liatasmart.git
libcap (Opsional) Plugin turbostat dapat secara opsional membangun dukungan kemampuan Linux, yang menghindari persyaratan hak istimewa penuh (alias. Berjalan sebagai root) untuk membaca nilai. http://sites.google.com/site/lyvelycapable/
libclntsh (opsional) digunakan oleh plugin oracle .
libhiredis (opsional) yang digunakan oleh plugin redis . Harap dicatat bahwa Anda memerlukan versi 0.10.0 atau lebih tinggi. https://github.com/redis/hiredis
libcurl (Opsional) Jika Anda ingin menggunakan apache , ascent , bind , curl , curl_json , curl_xml , nginx , atau Plugin write_http . http://curl.haxx.se/
libdbi (opsional) yang digunakan oleh plugin dbi untuk terhubung ke berbagai database. http://libdbi.sourceForge.net/
libesmtp (opsional) untuk plugin notify_email . http://www.stafford.uklinux.net/libesmtp/
Libganglia (opsional) yang digunakan oleh plugin gmond untuk memproses data yang diterima dari ganglia. http://ganglia.info/
libgrpc (opsional) yang digunakan oleh plugin grpc . GRPC membutuhkan kompiler C ++ yang mendukung standar C ++ 11. https://grpc.io/
libgcrypt (opsional) yang digunakan oleh plugin network untuk enkripsi dan otentikasi. http://www.gnupg.org/
libgps (opsional) yang digunakan oleh plugin gps . http://developer.berlios.de/projects/gpsd/
libi2c-dev (opsional) yang digunakan untuk barometer plugin, hanya menyediakan file header i2c-dev.h untuk pengembangan ruang pengguna I2C.
libiptc (opsional) untuk menanyakan penghitung ptable. http://netfilter.org/
Libjansson (Opsional) Parse JSON Data. Ini digunakan untuk capabilities dan plugin dpdk_telemetry . http://www.digip.org/jansson/
libjevents (Opsional) Perpustakaan Jevents digunakan oleh plugin intel_pmu untuk mengakses antarmuka Linux Kernel Perf. CATATAN: Perpustakaan harus dibangun dengan bendera -fPIC yang akan ditautkan dengan objek bersama Intel_pmu dengan benar. https://github.com/andikleen/pmu-tools
pustaka libjvm (opsional) yang merangkum Java Virtual Machine (JVM). Perpustakaan ini digunakan oleh plugin java untuk mengeksekusi java bytecode. Lihat Docs/build.java.md untuk instruksi pembuatan terperinci. http://openjdk.java.net/ (dan lainnya)
Libldap (opsional) digunakan oleh plugin openldap . http://www.openldap.org/
Liblua (opsional) digunakan oleh plugin lua . Saat ini, LUA 5.1 dan kemudian didukung. https://www.lua.org/
libmemcached (opsional) yang digunakan oleh plugin memcachec untuk terhubung ke daemon memcache. http://tangent.org/552/libmemcached.html
libmicrohttpd (opsional) digunakan oleh plugin write_prometheus untuk menjalankan daemon http. http://www.gnu.org/software/libmicroHttpd/
libmnl (opsional) yang digunakan oleh plugin netlink . http://www.netfilter.org/projects/libmnl/
libmodbus (opsional) yang digunakan oleh plugin modbus untuk berkomunikasi dengan perangkat Modbus/TCP. Plugin modbus berfungsi dengan versi 2.0.3 dari pustaka - karena seringnya API mengubah versi lain mungkin atau mungkin tidak dikompilasi dengan bersih. http://www.libmodbus.org/
libmysqlclient (opsional) tidak mengejutkan digunakan oleh plugin mysql . http://dev.mysql.com/
Libnetapp (opsional) diperlukan untuk plugin netapp . Perpustakaan ini adalah bagian dari "Kelola ONTAP SDK" yang diterbitkan oleh NetApp.
libnetsnmp (opsional) untuk plugin snmp dan snmp_agent . http://www.net-snmp.org/
libnetsnmpagent (opsional) diperlukan untuk plugin snmp_agent . http://www.net-snmp.org/
libnotify (opsional) untuk plugin notify_desktop . http://www.galago-project.org/
libopenipmi (opsional) yang digunakan oleh plugin ipmi untuk membuktikan perangkat IPMI. http://openipmi.sourceForge.net/
Liboping (opsional) yang digunakan oleh plugin ping untuk mengirim dan menerima paket ICMP. http://octo.it/liboping/
Libowcapi (opsional) yang digunakan oleh plugin onewire untuk membaca nilai dari sensor OneWire (atau daemon Owserver (1)). http://www.owfs.org/
libpcap (opsional) digunakan untuk menangkap paket oleh plugin dns . http://www.tcpdump.org/
libperfstat (opsional) yang digunakan oleh berbagai plugin untuk mengumpulkan statistik di bawah AIX.
Libperl (opsional) jelas digunakan oleh plugin perl . Perpustakaan harus dikompilasi dengan dukungan ithread (diperkenalkan dalam Perl 5.6.0). http://www.perl.org/
libpmwapi (opsional) yang digunakan oleh plugin dcpmm . Perpustakaan GitHub: https://github.com/intel/intel-pmwatch Ikuti instruksi build pmwatch yang disebutkan untuk plugin DCPMM dan gunakan jalur instalasi untuk menyelesaikan ketergantungan di sini.
libpq (opsional) Perpustakaan klien PostgreSQL C yang digunakan oleh plugin postgresql . http://www.postgresql.org/
libpQOS (Opsional) Perpustakaan PQOS untuk Teknologi Direktur Sumber Daya Intel (R) yang digunakan oleh plugin intel_rdt . https://github.com/01org/intel-cmt-cat
LibProtobuf, Protoc 3.0+ (Opsional) yang digunakan oleh plugin grpc untuk menghasilkan serpihan dan kode layanan untuk menangani paket jaringan protokol jaringan berbasis protobuf CollectD. https://developers.google.com/protocol-buffers/
libprotobuf-c, protoc-c (opsional) yang digunakan oleh plugin pinba untuk menghasilkan parser untuk paket jaringan yang dikirim oleh ekstensi PinBA PHP. http://code.google.com/p/protobuf-c/
libpython (opsional) yang digunakan oleh plugin python . Saat ini, Python 2.6 dan yang lebih baru dan Python 3 didukung. http://www.python.org/
libqpid-proton (opsional) yang digunakan oleh plugin amqp1 untuk koneksi AMQP 1.0, misalnya ke QdrouterD. http://qpid.apache.org/
LibrabbitMQ (opsional; juga disebut "rabbitmq-c") yang digunakan oleh plugin amqp untuk koneksi AMQP 0.9.1, misalnya untuk RabbitMQ. http://hg.rabbitmq.com/rabbitmq-c/
LibDKAFKA (opsional; juga disebut "RDKAFKA") yang digunakan oleh plugin write_kafka untuk memproduksi pesan dan mengirimkannya ke broker Kafka. https://github.com/edenhill/librdkafka
Librouteros (opsional) yang digunakan oleh plugin routeros untuk terhubung ke perangkat yang menjalankan routeros . http://octo.it/librouteros/
Librrd (opsional) digunakan oleh plugin rrdtool dan rrdcached . Yang terakhir membutuhkan dukungan klien RRDTool yang ditambahkan setelah versi 1.3 dari RRDTool. Versi 1.0, 1.2 dan 1.3 diketahui bekerja dengan plugin rrdtool . http://oss.oetiker.ch/rrdtool/
Librt, Libsocket, libkstat, libdevinfo (opsional) Berbagai pustaka Solaris standar yang menyediakan fungsi sistem. http://developers.sun.com/solaris/
Libsensors (opsional) untuk dibaca dari lm_sensors , lihat plugin sensors . http://www.lm-sensors.org/
libsigrok (opsional) yang digunakan oleh plugin sigrok . Selain itu, libsigrok tergantung pada glib , libzip , dan opsional (tergantung pada pengemudi mana yang diaktifkan) pada libusb , libftdi dan libudev .
LIBSLURM (Opsional) Digunakan oleh plugin slurm . https://slurm.schedmd.com/
LIBSQLITE3 (Opsional) Digunakan oleh plugin ras . https://sqlite.org/
libstatgrab (opsional) yang digunakan oleh berbagai plugin untuk mengumpulkan statistik pada sistem selain Linux dan/atau Solaris. http://www.i-scream.org/libstatgrab/
libtokyotyrant (opsional) yang digunakan oleh plugin tokyotyrant . http://1978th.net/tokyotyrant/
libupsclient/nut (opsional) untuk plugin nut yang menanyakan upsd mur. http://networkupstools.org/
libvirt (opsional) mengumpulkan statistik dari mesin virtual. http://libvirt.org/
LIBXML2 (Opsional) Parse XML Data. Ini diperlukan untuk plugin ascent , bind , curl_xml dan virt . http://xmlsoft.org/
libxen (opsional) yang digunakan oleh plugin xencpu . http://xenbits.xensource.com/
libxmms (opsional) http://www.xmms.org/
Libyajl (Opsional) Parse JSON Data. Ini diperlukan untuk ceph , curl_json , ovs_events , ovs_stats dan plugin log_logstash . http://github.com/lloyd/yajl
libv di (opsional) mengambil statistik dari instance pernis. Ini diperlukan untuk plugin varnish . http://v divarishish-cache.org
Riemann-C-Client (opsional) untuk plugin write_riemann . https://github.com/algernon/riemann-c-client
Untuk mengonfigurasi, membangun, dan menginstal CollectD dengan pengaturan default, jalankan ./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
atau:
$ 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/. Lihat Kontribusi.MD untuk detailnya.
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.