https://collectd.org/
CollectD هو خفي صغير يجمع معلومات النظام بشكل دوري ويوفر آليات لتخزين ومراقبة القيم بعدة طرق.
Collectd قادر على جمع البيانات التالية:
استخدام خادم Apache Apache: عدد البايتات المنقولة ، وعدد الطلبات التي يتم التعامل معها وإحصائيات لوحة النتائج التفصيلية
APCUPS APC UPS Daemon: شحن UPS ، التحميل ، الإدخال/الإخراج/الجهد البطارية ، إلخ.
أجهزة استشعار Apple_sensors في Macs تعمل على تشغيل Mac OS X / Darwin: درجة الحرارة وسرعة المروحة وأجهزة استشعار الجهد.
Aquaero مختلف أجهزة استشعار في لوحة تبريد المياه Aquaero 5 التي صنعها Aquacoputer.
إحصائيات الصعود حول الصعود ، خادم مجاني للعبة "World of Warcraft".
يقرأ Barometer الضغط البارومتري المطلق ، وضغط الهواء انخفض إلى مستوى سطح البحر ودرجة الحرارة. أجهزة الاستشعار المدعومة هي MPL115A2 و MPL3115 من Freescale و BMP085 من Bosch.
بطارية البطارية ، التيار والجهد من بطاريات الكمبيوتر المحمول ACPI و PMU.
BIND اسم الخادم وإحصائيات الحلول من واجهة statistics-channel للربط 9.5 ، 9،6 وما بعد ذلك.
إحصائيات BuddyInfo من ملف BuddyInfo حول تجزئة الذاكرة.
إمكانيات منصة القدرات فك تشفير من الأنظمة الفرعية للأجهزة ، على سبيل المثال من SMBIOs باستخدام DMIDECODE. https://www.nongnu.org/dmidecode/
إحصائيات Ceph من نظام التخزين الموزع Ceph.
Cgroups معلومات محاسبة CPU لمجموعات العمليات تحت Linux.
إحصائيات Chrony Crony Daemon: انجراف الساعة المحلية ، إزاحة للأقران ، إلخ.
حالة الواجهة المستندة إلى الأحداث.
عدد conntrack إدخالات NF_Conntrack.
Counstswitch عدد مفاتيح السياق التي يتم إجراؤها بواسطة نظام التشغيل.
استخدام وحدة المعالجة المركزية وحدة المعالجة المركزية: الوقت الذي يقضيه في النظام ، والمستخدم ، واللطلة ، والخمول ، والولايات ذات الصلة.
تردد وحدة المعالجة المركزية CPUFREQ (لأجهزة الكمبيوتر المحمولة ذات الخطوة السريعة أو تقنية مماثلة)
CPUSEPEP CPU Sleep: الوقت الذي تقضيه في تعليق (للأجهزة المحمولة التي تدخل التعليق تلقائيًا)
إحصائيات حاجز حليقة من مواقع الويب باستخدام تعبيرات منتظمة.
Curl_json يسترجع بيانات JSON عبر Curl وتوفيها وفقًا لتكوين المستخدم.
CURL_XML يسترجع بيانات XML عبر CURL ويقوم بتحليلها وفقًا لتكوين المستخدم.
ينفذ DBI عبارات SQL على قواعد البيانات المختلفة ويفسر البيانات التي تم إرجاعها.
تقوم DCPMM بجمع أداء ذاكرة Intel Optane DC (DCPMM) والإحصاءات الصحية.
استخدام نقاط mountpoint df (أساسا القيم df(1)
استخدام قرص القرص: القطاعات القراءة/المكتوبة ، وعدد إجراءات القراءة/الكتابة ، ومتوسط الوقت الذي استغرقه إكمال IO لإكماله.
حركة DNS DNS: أنواع الاستعلام ، رموز الاستجابة ، الرموز الباطنية وحركة المرور/الثمانيات المنقولة.
DPDKSTAT جمع إحصائيات واجهة DPDK. انظر Docs/Build.dpdkstat.md للحصول على تعليمات بناء مفصلة.
يجب تجميع هذا البرنامج المساعد مع تمكين دفاعات التحويل البرمجي ، على سبيل المثال -PROTECTORT.
DPDK_TElemetry جمع واجهة DPDK والتطبيق والإحصائيات العالمية. يمكن استخدام هذا البرنامج المساعد كبديل للمكون الإضافي DPDKSTAT.
يعتمد هذا البرنامج المساعد على إصدار DPDK 19.08 ويجب استخدامه مع تطبيق DPDK.
أيضا ، هذا البرنامج المساعد له اعتماد على مكتبة يانسون.
DRBD جمع إحصائيات موارد DRBD الفردية.
إحصائيات البريد الإلكتروني: العد وحركة المرور ودرجات البريد العشوائي والشيكات. انظر Collectd-Email (5).
كمية الانتروبيا من الانتروبيا المتاحة للنظام.
الملاحم جمع البيانات من حافلة رسالة Epics. https://epics-controls.org
إحصائيات بطاقة واجهة شبكة ETHSTAT.
قيم EXEC التي تم جمعها بواسطة برنامج مخصص أو برنامج نصي. انظر Collectd-Exec (5).
FHCOUNT ملف معالجة الإحصائيات.
تحسب FileCount عدد الملفات في الدلائل.
FSCACHE Linux نظام التخزين المؤقت للإحصاءات الإطار للتخزين المؤقت للملفات.
يتلقى جوند حركة مرور البث المتعدد من مثيلات العقد.
GPS Monitor GPS ذات الصلة من خلال GPSD.
GPU_NVIDIA Monitor Nvidia GPU Statistics متاحة من خلال NVML.
HDDTEMP درجات حرارة القرص الصلب باستخدام HDDTEMPD.
تقوم Pustpages بالإبلاغ عن عدد الصفحات الضخمة المستخدمة والمجانية. يمكن العثور على مزيد من المعلومات حول الصفحات الضخمة هنا: https://www.kernel.org/doc/documentation/vm/hugetlbpage.txt.
يجب تجميع هذا البرنامج المساعد مع تمكين دفاعات التحويل البرمجي ، على سبيل المثال -PROTECTORT.
سمات infiniband وعدادات لكل منفذ على كل جهاز IB.
Intel_PMU يقرأ المكون الإضافي Intel_PMU عدادات الأداء التي توفرها واجهة Linux kernel perf. يستخدم المكون الإضافي مكتبة Jevents لحل الأحداث المسماة لأحداث Perf والوصول إلى واجهة Perf.
Intel_rdt يقوم المكون الإضافي Intel_rdt بجمع المعلومات المقدمة عن طريق مراقبة ميزات تقنية Director Intel (Intel (R) RDT) مثل تقنية مراقبة ذاكرة التخزين المؤقت (CMT) ، ومراقبة عرض النطاق الترددي للذاكرة (MBM). توفر هذه الميزات معلومات حول استخدام الموارد المشتركة مثل شغل ذاكرة التخزين المؤقت في المستوى الأخير ، واستخدام عرض النطاق الترددي للذاكرة المحلية ، واستخدام عرض النطاق الترددي للذاكرة عن بُعد ، والتعليمات لكل ساعة. https://01.org/packet-processing/cache-monitoring-technology-memory-bandwidth-monitoring-cache- allocation-technology-code-and-data
حركة الواجهة حركة مرور: عدد الثمانيات والحزم والأخطاء لكل واجهة.
عدادات IPC IPC: الرسائل المستخدمة ، وعدد القطاعات المخصصة في الذاكرة المشتركة والمزيد.
IPMI IPMI (واجهة إدارة النظام الأساسي الذكي) معلومات مستشعرات.
ipstats IPv4 و IPv6 ؛ واردة ، المنتهية ولايتها ، العدادات المعنية. Freebsd فقط.
عدادات Iptables Iptables: عدد البايتات التي تمت مطابقتها بقاعدة iPtables معينة.
إحصائيات اتصال IPVS IPVS (عدد الاتصالات والأقمشة والحزم لكل خدمة ووجهة). انظر http://www.linuxvirtualserver.org/software/index.html.
عدادات IRQ IRQ: التردد الذي تحدث فيه بعض المقاطعات.
يدمج Java جهاز Java Virtual (JVM) لتنفيذ المكونات الإضافية في Java Bytecode. انظر Docs/Build.java.md للحصول على تعليمات بناء مفصلة.
تحميل نظام تحميل متوسط خلال آخر 1 و 5 و 15 دقيقة.
LPAR إحصائيات وحدة المعالجة المركزية التفصيلية لتقنية "الأقسام المنطقية" تقنية المحاكاة الافتراضية المضمنة في معالجات الطاقة في IBM.
Lua The Lua Plugin ينفذ مترجم LUA في CollectD. هذا يجعل من الممكن كتابة المكونات الإضافية في LUA التي يتم تنفيذها بواسطة CollectD دون الحاجة إلى بدء مترجم ثقيل في كل فاصل. انظر Collectd Lua (5) للحصول على التفاصيل.
استفسارات Madwifi إحصائيات استخدام مفصلة للغاية من محولات وواجهات LAN اللاسلكية التي تستخدم شرائح Atheros و Madwifi.
مستشعرات MBMON اللوحة الأم: درجة الحرارة وسرعة المروحة ومعلومات الجهد ، باستخدام MBMON (1).
McElog Monitor Machine Check استثناءات (أخطاء الأجهزة التي تم اكتشافها بواسطة الأجهزة والإبلاغ عن البرامج) التي أبلغ عنها McElog وإنشاء إشعارات مناسبة عند اكتشاف استثناءات فحص الجهاز.
معلومات جهاز MD Linux لبرمجيات البرمجيات (عدد الأقراص النشطة والفشل والغازة والمفقودة).
Memcachec Query and Parse Data من Daemon Memcache (memcached).
إحصائيات memcached لنظام التخزين المؤقت الموزع memcached. http://www.danga.com/memcached/
استخدام ذاكرة الذاكرة: الذاكرة مشغولة بتشغيل العمليات ، ذاكرة التخزين المؤقت للصفحة ، ذاكرة التخزين المؤقت المخزن المؤقت وخالية.
يقوم MIC بجمع استخدام وحدة المعالجة المركزية واستخدام الذاكرة ودرجات الحرارة واستهلاك الطاقة من Intel العديد من وحدات المعالجة المركزية الأساسية (MIC) المتكاملة.
تقرأ MMC تقديرات وقت الحياة التي أبلغت عنها أجهزة EMMC 5.0+ وبعض المقاييس الصحية الأكثر تفصيلاً ، مثل تعدادات الكتلة السيئة والمسح أو دورات الطاقة ، لميكرون و Sandisk EMMCs وبعض بطاقات MMC Swissbit (Manfid = 0x5D OEMID = 0x5342).
يقرأ Modbus القيم من أجهزة Modbus/TCP الممكّنة. يدعم قيم القراءة من "عبيد" متعددة لذلك يمكن استخدام أجهزة البوابة.
معلومات متعددة المقاييس المقدمة من المقاييس المتعددة التسلسلية ، مثل Metex M-4650CR .
MySQL MariaDB و MySQL Server Statistics: الأوامر التي تم إصدارها ، يتم تشغيل المعالجات ، واستخدام مؤشر الترابط ، واستخدام ذاكرة التخزين المؤقت للاستعلام وحركة المرور/الثمانيات المرسلة والمستلمة.
NetApp Plugin للاستعلام عن قيم الأداء من نظام تخزين NetApp باستخدام "إدارة ONTAP" SDK التي توفرها NetApp.
NetLink واجهة شبكة Linux مفصلة للغاية وإحصائيات التوجيه. يمكنك الحصول على معلومات (مفصلة) حول الواجهات ، QDISCS ، الفصول ، وإذا كنت تستطيع الاستفادة منها ، فلاداته.
تتلقى الشبكة القيم التي تم جمعها من قبل المضيفين الآخرين. سترغب الإعدادات الكبيرة في جمع البيانات على جهاز مخصص واحد ، وهذا هو المكون الإضافي المفضل لذلك.
إجراءات NFS NFS: أي أمر NFS تم استدعاؤه كم مرة.
يجمع Nginx إحصائيات من nginx (Speak: Engine X) ، خادم HTTP و Mail/Proxy.
إحصائيات NTPD NTP Daemon: انجراف الساعة المحلية ، الإزاحة إلى أقرانهم ، إلخ.
معلومات NUMA حول الوصول إلى الذاكرة غير الموحدة (NUMA).
أدوات Nut Network UPS: UPS الحالية ، الجهد ، الطاقة ، الشحن ، الاستخدام ، درجة الحرارة ، إلخ. انظر UPSD (8).
استفسارات OLSRD معلومات توجيه من "توجيه حالة الارتباط المحسّن".
OneWire (التجريبي!) اقرأ مستشعرات OneWire باستخدام مكتبة OWCAPU لمشروع OWFS. يرجى القراءة في collectd.conf (5) لماذا هذا البرنامج المساعد هو تجريبي.
OpenLdap قراءة معلومات المراقبة من OpenLdap's CN = مراقبة الشجرة الفرعية.
OpenVPN RX و TX لكل عميل في OpenVPN-Status.log (Version-Version 2). http://openvpn.net/index.php/documentation/howto.html
بيانات الاستعلام Oracle من قاعدة بيانات Oracle.
OVS_EVENTS يراقب المكون الإضافي حالة ارتباط واجهات VSWITCH (OVS) المفتوحة ، وترسل القيم إلى جمعها ويرسل الإخطار عندما يحدث تغيير حالة الارتباط في قاعدة بيانات OVS. يتطلب تثبيت مكتبة yajl. إرشادات مفصلة لتثبيت وإعداد VSWITCH OPEN ، راجع وثائق OVS. http://openvswitch.org/support/dist-docs/install.rst.html
OVS_STATS يجمع المكون الإضافي إحصائيات OVS الجسور والواجهات المتصلة. يتطلب تثبيت مكتبة yajl. إرشادات مفصلة لتثبيت وإعداد VSWITCH OPEN ، راجع وثائق OVS. http://openvswitch.org/support/dist-docs/install.rst.html
PCIE_ERRORS اقرأ الأخطاء من حالة جهاز PCI Express وقدرات ARENTED. https://www.design-reuse.com/articles/38374/pcie-error-logging-and-handling-on-a-typical-soc.html
Perl Perl Plugin ينفذ Perl-Interpreter في CollectD. يمكنك كتابة المكونات الإضافية الخاصة بك في Perl وإرجاع القيم التعسفية باستخدام واجهة برمجة التطبيقات هذه. انظر Collectd-Perl (5).
إحصائيات استعلام PF من مرشح حزمة BSD "PF".
PINBA استلام وإرسال قيم توقيت من Pinba ، تمديد التنميط ل PHP.
Ping Network Tarency: حان الوقت للوصول إلى البوابة الافتراضية أو مضيف آخر.
إحصائيات قاعدة بيانات PostgreSQL PostgreSQL: اتصالات خادم نشطة ، أرقام المعاملات ، كتلة IO ، معالجة صف الجدول.
PowerDNS PowerDNS اسم خادم الإحصاءات.
عمليات العمليات: عدد التشغيل ، والنوم ، والزومبي ، ... العمليات.
يستمع Procevent لبدء العملية وتخرج عبر NetLink.
تعتبر البروتوكولات جوانب مختلفة من بروتوكولات الشبكة مثل IP و TCP و UDP وما إلى ذلك.
Python المكوّن الإضافي Python ينفذ مترجم Python في Collectd. هذا يجعل من الممكن كتابة المكونات الإضافية في Python التي يتم تنفيذها بواسطة CollectD دون الحاجة إلى بدء مترجم ثقيل في كل فاصل. انظر Collectd-Python (5) للحصول على التفاصيل.
Ras The Ras Plugin يجمع ويعداد الأخطاء التي توفرها Rasdaemon
Redis يقوم Redis Plugin بجمع المعلومات من خادم Redis ، بما في ذلك: وقت التشغيل ، والذاكرة المستخدمة ، والاتصالات الكلية ، إلخ.
واجهة استعلام Routeros وإحصائيات التسجيل اللاسلكي من Routeros.
rrdcached rrdtool التخزين المؤقت الخفي (rrdcached) إحصائيات.
مستشعرات نظام المستشعرات ، التي يتم الوصول إليها باستخدام LM_Sensors: الفولتية ودرجات الحرارة وسرعات دوران المروحة.
RX التسلسلي و TX من الواجهات التسلسلية. Linux فقط ؛ يحتاج إلى امتيازات الجذر.
يستخدم Sigrok Libsigrok كواجهة خلفية ، مما يسمح لأي جهاز مدعوم من Sigrok بإعداد قياساته إلى جمعها. ويشمل ذلك أجهزة قياس متعددة ، وأمتار مستوى الصوت ، ومقاييس الحرارة ، وأكثر من ذلك بكثير.
يجمع Slurm عقدة لكل جزء من معلومات حالة الوظيفة باستخدام Libslurm ، وكذلك إحصاءات الصحة الداخلية.
Smart جمع الإحصاءات الذكية ، لا سيما عدد دورة التحميل ودرجة الحرارة والقطاعات السيئة.
تمكين SNMP قيم من SNMP (بروتوكول إدارة الشبكة البسيط) أجهزة الشبكة مثل المفاتيح ، أجهزة التوجيه ، موازين الحرارة ، خوادم مراقبة الرف ، إلخ. انظر Collectd-SNMP (5).
يعمل STATSD كخادم STATSD ، وقراءة القيم المرسلة عبر الشبكة من عملاء STATSD وحساب المعدلات وغيرها من المجاميع من هذه القيم.
يستمع Sysevent إلى أحداث RsySlog ويقدم القيم المتطابقة.
تم تبديل صفحات المبادلة على القرص الصلب أو أي شيء يسمى swap بواسطة نظام التشغيل.
الجدول تحليل الجدول الملفات المنظمة.
يتبع Tail (Tails) ملفات السجل ، وتوصيفها بالخطوط ويرسم القيم المتطابقة.
يتبع Tail_CSV ملفات (Tails) بتنسيق CSV ، وتوصيف كل سطر ويقدم القيم المستخرجة.
بايت الشريط والعمليات قراءة وكتابة على أجهزة الشريط. سولاريس فقط.
TCPConns عدد اتصالات TCP إلى المنافذ المحلية والبعيدة محددة.
TeamSpeak2 TeamSpeak2 إحصائيات الخادم.
TED Plugin لقراءة القيم من "محقق الطاقة" (TED).
معلومات المنطقة الحرارية الحرارية Linux ACPI.
يقرأ Tokyotyrant عدد السجلات وحجم الملف من خادم Tykyo Tyrant قيد التشغيل.
يقرأ Turbostat تردد وحدة المعالجة المركزية وإقامة C-State على معالجات Intel Turbo الحديثة.
يقرأ UBI عدد عمليات محو المسح البدنية السيئة والقيمة القصوى للمحو القصوى الحالية على أحجام UBI.
إحصائيات نظام التشغيل في الوقت المناسب.
المستخدمون الذين قاموا بتسجيل الدخول حاليًا.
الورنيش إحصائيات مختلفة من الورنيش ، مسرع HTTP.
VIRT CPU والذاكرة والقرص والشبكة الإدخال/الإخراج من الأجهزة الافتراضية.
إحصائيات الذاكرة الافتراضية VMEM ، على سبيل المثال عدد ins/-outs page أو عدد pagefaults.
موارد نظام vserver المستخدمة من قبل Linux vservers. انظر http://linux-vserver.org/.
جودة الرابط اللاسلكي للبطاقات اللاسلكية. Linux فقط.
XenCpu Xen Hypervisor CPU Stats.
XMMS bitrate وتواتر الموسيقى التي يتم تشغيلها مع XMMS.
إحصائيات ZFS_ARC لـ "ذاكرة التخزين المؤقت للاستبدال التكيفي" (ARC).
تقيس المنطقة النسبة المئوية لحمل وحدة المعالجة المركزية لكل حاوية (منطقة) تحت سولاريس 10 وأعلى
Zookeeper قراءة البيانات من أمر MNTR في Zookeeper.
يمكن كتابة المخرجات أو إرسالها إلى وجهات مختلفة بواسطة المكونات الإضافية التالية:
يرسل AMQP بيانات مشفرة JSON إلى خادم بروتوكول قائمة انتظار الرسائل المتقدمة (AMQP) 0.9.1 ، مثل RabbitMQ.
يرسل AMQP1 بيانات مشفرة إلى JSON إلى خادم بروتوكول طابور لرسالة متقدم (AMQP) ، مثل جهاز التوجيه QPID أو وسيط Apache Artemis.
CSV اكتب إلى ملفات القيم المنفصلة للفاصلة (CSV). هذا يحتاج إلى الكثير من الأقراص ولكنه محمول للغاية ويمكن تحليله مع كل برنامج تقريبًا يمكنه تحليل أي شيء. حتى Microsoft's Excel.
GRPC إرسال واستلام القيم عبر الشبكة باستخدام إطار GRPC.
لوا من الممكن تنفيذ المكونات الإضافية للكتابة في لوا باستخدام المكون الإضافي لوا. انظر Collectd Lua (5) للحصول على التفاصيل.
MQTT ينشر ويشترك في مواضيع MQTT.
ترسل الشبكة البيانات إلى مضيف بعيد لحفظ البيانات بطريقة أو بأخرى. هذا مفيد للإعدادات الكبيرة حيث يجب حفظ البيانات بواسطة آلة مخصصة.
بالطبع يتم نشر القيم إلى الإضافات المكتوبة في Perl ، أيضًا ، بحيث يمكنك بسهولة القيام بأشياء غريبة مع الإضافات التي لم نجرؤ على التفكير ؛) انظر Collectd-Perl (5).
Python من الممكن تنفيذ المكونات الإضافية للكتابة في Python باستخدام المكون الإضافي Python. انظر Collectd-Python (5) للحصول على التفاصيل.
RrdCached Output to Round-Robin-Database (RRD) باستخدام RrDtool Caching Daemon (Rrdcached)-انظر rrdcached(1) . يوفر هذا الخفي تنفيذًا عامًا للتخزين المؤقت الذي يقوم به المكون الإضافي rrdtool .
RRDTOOL الإخراج إلى ملفات REBIN-ROBIN-DATABASE (RRD) باستخدام LIBRRD. انظر Rrdtool (1). من المحتمل أن تكون هذه الوجهة الأكثر شعبية لمثل هذه القيم. نظرًا لأن التحديثات إلى ملفات RRD مكلفة إلى حد ما ، يمكن لهذا البرنامج المساعد أن يقوم بتخزين التحديثات للملفات وكتابة مجموعة من التحديثات في وقت واحد ، مما يقلل من تحميل النظام كثيرًا.
يتلقى SNMP_AGENT ويتعامل مع الاستعلامات من وكيل SNMP Master ويعيد البيانات التي تم جمعها عن طريق القراءة الإضافية. يعامل الطلبات فقط لـ OIDs المحددة في ملف التكوين. للتعامل مع استعلامات SNMP ، يحصل المكون الإضافي على بيانات من CollectD ويترجم القيم المطلوبة من تنسيق CollectD الداخلي إلى تنسيق SNMP.
يمكن لـ Unixsock One الاستعلام عن القيم من البرنامج المساعد Unixsock كلما دعت الحاجة. يرجى قراءة Collectd-Unixsock (5) للحصول على وصف حول كيفية القيام بذلك.
تقوم Write_graphite بإرسال البيانات إلى الكربون ، طبقة التخزين من الجرافيت باستخدام TCP أو UDP. يمكن تكوينه لتجنب تسجيل الأخطاء إرسال (مفيد بشكل خاص عند استخدام UDP).
يرسل Write_http القيم التي تم جمعها بواسطة CollectD إلى خادم ويب باستخدام طلبات نشر HTTP. البيانات المنقولة إما في نموذج يفهمه المكون الإضافي exec أو تم تنسيقه في JSON.
يقوم Write_kafka بإرسال البيانات إلى Apache Kafka ، قائمة انتظار موزعة.
الكتابة _log يكتب البيانات إلى السجل
يرسل Write_MongoDB البيانات إلى MongoDB ، قاعدة بيانات NOSQL.
قم بتنفيذ Drite_prometheus قيمًا باستخدام خادم HTTP مضمن ، بتنسيق متوافق مع Prometheus 'CollectD_Exporter.
يقوم Write_redis بإرسال القيم إلى خادم قاعدة بيانات Redis.
يقوم Write_riemann بإرسال البيانات إلى Riemann ، وهو نظام معالجة ومراقبة الدفق.
يقوم Write_sensu بإرسال البيانات إلى Sensu ، نظام معالجة ومراقبة الدفق ، عبر مقبس TCP المحلي Consu Client.
تقوم Write_syslog بإرسال البيانات بتنسيق syslog ، باستخدام TCP ، حيث تحتوي الرسالة على المقياس بتنسيق الإنسان أو JSON.
تقوم Write_tsdb بإرسال بيانات OPENTSDB ، وهي قاعدة بيانات قابلة للتطوير ، لا توجد قاعدة بيانات سلسلة زمنية مشتركة.
يعد التسجيل ، مثل كل شيء في CollectD ، المقدمة بواسطة المكونات الإضافية. الإضافات التالية تبقينا على اطلاع بما يحدث:
يكتب LogFile رسائل السجل إلى ملف أو stdout/stderr.
يتم نشر رسائل سجل Perl إلى الإضافات المكتوبة في Perl أيضًا. انظر Collectd-Perl (5).
Python من الممكن تنفيذ Log Plugins في Python باستخدام المكون الإضافي Python. انظر Collectd-Python (5) للحصول على التفاصيل.
سجلات Syslog إلى آلية تسجيل UNIX القياسية ، syslog.
log_logstash يكتب رسائل السجل منسقة كأحداث Logstash JSON.
يمكن التعامل مع الإشعارات من خلال الإضافات التالية:
Notify_desktop أرسل إشعارًا لسطح المكتب إلى خفي للإخطار ، كما هو محدد في مواصفات إخطار سطح المكتب. لعرض الإخطارات فعليًا ، يلزم الإخطار. انظر http://www.galago-project.org/specs/notification/.
stitify_email أرسل بريدًا إلكترونيًا مع رسالة الإخطار إلى المستلمين المكوّن.
otify_nagios إرسال الإخطارات كنتيجة للتحقق السلبي إلى مثيل Nagios المحلي.
EXEC تنفيذ برنامج أو برنامج نصي للتعامل مع الإخطار. انظر Collectd-Exec (5).
يكتب LogFile رسالة الإخطار إلى ملف أو stdout/stderr.
ترسل الشبكة الإشعار إلى مضيف عن بُعد للتعامل معه بطريقة أو بأخرى.
يتم نشر إشعارات Perl إلى المكونات المكتوبة في Perl أيضًا. انظر Collectd-Perl (5).
Python من الممكن تنفيذ الإضافات الإشعار في Python باستخدام المكون الإضافي Python. انظر Collectd-Python (5) للحصول على التفاصيل.
يمكن التحكم في معالجة القيمة باستخدام البنية التحتية "سلسلة المرشح" و "Matches" و "الأهداف". الإضافات التالية متوفرة:
match_empty_counter قيم عداد المطابقة التي هي حاليا صفر.
Match_hashed قيم المطابقة باستخدام دالة التجزئة لاسم المضيف.
match_regex قيم مطابقة من خلال معرفهم بناءً على التعبيرات العادية.
match_timediff قيم مطابقة مع طابع زمني غير صالح.
Match_value حدد القيم حسب قيم مصادر البيانات الخاصة بهم.
Target_Notification إنشاء وإرسال إشعار.
Target_replace استبدل أجزاء من المعرف باستخدام تعبيرات منتظمة.
مقياس Target_Scale (مضاعفة) بقيمة تعسفية.
مجموعة Target_set (الكتابة فوق) أجزاء كاملة من المعرف.
المكونات الإضافية المتنوعة:
يختار التجميع قوائم قيمة متعددة بناءً على الأنماط أو التعبيرات العادية وإنشاء قوائم قيم مجمعة جديدة من تلك.
يتحقق العتبة من القيم مقابل عتبات تكوينها وإنشاء إشعارات إذا كانت القيم خارج الحدود. راجع عتبة Collectd (5) للحصول على التفاصيل.
UUID يعين اسم المضيف إلى معرف فريد. هذا مخصص للإعدادات حيث يجوز لكل عميل الانتقال إلى مضيف فعلي آخر ، وربما يمر بتغيير واحد أو أكثر في العملية في العملية.
الأداء: نظرًا لأن Collectd يعمل كخفي ، فإنه لا يقضي الكثير من الوقت في البدء مرارًا وتكرارًا. باستثناء المكون الإضافي exec ، لا توجد عمليات متشعب. التخزين المؤقت في المكونات الإضافية للإخراج ، مثل RRDTOOL و Network Plugins ، يتأكد من استخدام مواردك بكفاءة. أيضًا ، نظرًا لأن CollectD تم برمجته Multureded ، فإنه يستفيد من المعالجات المفرطة في Trathreading و Multicore ويتأكد من أن الخفي ليس خاملاً إذا انتظر مكون إضافي واحد فقط لإكمال IO-Operation.
بمجرد الإعداد ، لا يكاد يكون أي صيانة ضروريًا. يتم الحفاظ على الإعداد بأكبر قدر ممكن وينبغي أن تكون القيم الافتراضية على ما يرام بالنسبة لمعظم المستخدمين.
يمكن العثور على ملف تكوين CollectD في sysconfdir/collectd.conf . قم بتشغيل collectd -h للحصول على قائمة بالتخلف عن الإعدادات الافتراضية المدمجة. انظر collectd.conf(5) للحصول على قائمة بالخيارات ووصف بناء الجملة.
عند تحميل المكونات الإضافية csv أو rrdtool ، فسوف يكتبون القيم إلى الملفات. المكان المعتاد لهذه الملفات تحت /var/lib/collectd .
عند استخدام بعض المكونات الإضافية ، يحتاج CollectD إلى تشغيل جذر المستخدم ، نظرًا لأن الجذر فقط يمكنه القيام بأشياء معينة ، مثل حزم ICMP الحرفية اللازمة لربط المضيفين الآخرين. لا ينبغي تثبيت CollectD جذر setuid لأنه يمكن استخدامه للكتابة فوق ملفات قيمة!
نماذج البرامج النصية لإنشاء الرسوم البيانية الموجودة في contrib/ في الحزمة المصدر أو في مكان قريب /usr/share/doc/collectd في معظم التوزيعات. يرجى العلم أن هذا البرنامج النصي المقصود كنقطة انطلاق لتجاربك الخاصة. بعضها يتطلب وحدة RRDs Perl. ( librrds-perl on Debian) إذا كنت قد كتبت حلًا أكثر تطوراً ، فيرجى مشاركته معنا.
تعتمد RRAs لملفات RRD التي تم إنشاؤها تلقائيًا على إعدادات step ونبضات heartbeat المقدمة. إذا قمت بتغيير هذه الإعدادات ، فقد تحتاج إلى إعادة إنشاء الملفات ، وفقدان جميع البيانات. يرجى أن تكون على علم بذلك عند تغيير القيم وقراءة Manpage RRDTOOL (1) بدقة.
إذا كنت تستخدم المكون الإضافي dns ، فسيقوم chkrootkit(1) بالإبلاغ عن collectd باعتباره حزمة sniffer ( <iface>: PACKET SNIFFER(/usr/sbin/collectd[<pid>]) ). يلتقط البرنامج المساعد جميع حزم UDP على المنفذ 53 لتحليل حركة مرور DNS. في هذه الحالة ، يعد CollectD عبارة عن sniffer شرعي ويجب اعتبار التقرير إيجابيًا كاذبًا. ومع ذلك ، قد ترغب في التحقق من أن هذا هو Collectd بالفعل وليس بعضًا آخر غير شرعي.
لتجميع Collectd من المصدر ستحتاج:
المشتبه بهم المعتاد: مترجم C ، Linker ، المعالج المسبق ، صنع ، ...
يستفيد CollectD من بعض ميزات C99 الشائعة ، على سبيل المثال الحرفي المركب والإعلانات المختلطة ، وبالتالي يتطلب برنامج التحويل البرمجي المتوافق C99.
في Debian و Ubuntu ، يجب أن تسحب الحزمة "البناء" في كل ما هو ضروري.
تنفيذ posix-threads (PTHREAD). نظرًا لأن جمع بعض الإحصائيات بطيئة (توصيلات الشبكة ، والأجهزة البطيئة ، إلخ) ، يتم موازاة التجميع. يتم استخدام واجهة POSIX Threads ويجب العثور عليها في تطبيقات مختلفة نأمل جميع المنصات.
عند البناء من مستودع GIT ، يلزم مطلوب Flex (Tokenizer) و Bison (مولد محلل). تتضمن كرات القطران الملفات التي تم إنشاؤها - لا تحتاج إلى هذه الحزم في هذه الحالة.
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 اختياريًا ، والذي يتجنب متطلبات الامتيازات الكاملة (المعروف أيضًا باسم الجذر) لقراءة القيم. http://sites.google.com/site/lycapable/
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 Plugin لمعالجة البيانات المستلمة من 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 Plugin ، فقط ملف رأس 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 ليتم ربطها بكائن مشترك Intel_PMU بشكل صحيح. https://github.com/andikleen/pmu-tools
Libjvm (اختياري) مكتبة تغلف الجهاز الظاهري Java (JVM). يتم استخدام هذه المكتبة بواسطة المكون الإضافي java لتنفيذ Java Bytecode. انظر Docs/Build.java.md للحصول على تعليمات بناء مفصلة. http://openjdk.java.net/ (وغيرها)
libldap (اختياري) المستخدمة بواسطة المكون الإضافي openldap . http://www.openldap.org/
Liblua (اختياري) المستخدمة بواسطة المكون الإضافي lua . حاليا ، لوا 5.1 وبعد ذلك مدعوم. https://www.lua.org/
libmemcached (اختياري) يستخدمه المكون الإضافي memcachec للاتصال برصاصة memcache. http://tangent.org/552/libmemcached.html
libmicrohttpd (اختياري) المستخدمة بواسطة المكون الإضافي للكتابة _prometheus لتشغيل خفي HTTP. 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 Plugin لإرسال واستقبال حزم ICMP. http://octo.it/liboping/
libowcapi (اختياري) يستخدم بواسطة المكون الإضافي onewire لقراءة القيم من مستشعرات OneWire (أو الخفي owserver (1)). 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.ribbitmq.com/rabbitmq-c/
Librdkafka (اختياري ؛ تسمى أيضًا "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 (اختياري) العديد من مكتبات Solaris القياسية التي توفر وظائف النظام. 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 و plugins 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
To configure, build and install collectd with the default settings, 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.