https://collectd.org/
Collectd - это небольшой демон, который периодически собирает системную информацию и предоставляет механизмы для хранения и мониторинга значений различными способами.
COLLECTD может собирать следующие данные:
Использование сервера Apache Apache: количество передаваемых байтов, количество обработанных запросов и подробных статистических данных о табло
APCUPS APC DAEMON: Заряд UPS, нагрузка, вход/выход/напряжение батареи и т. Д.
Датчики Apple_sensors в Macs под управлением Mac OS X / Darwin: температура, скорость вентилятора и датчики напряжения.
Aquaero Различные датчики на доске водяного охлаждения Aquaero 5, сделанной аквакомпютером.
Статистика подъема о восхождении, бесплатный сервер для игры «World of Warcraft».
Барометр считывает абсолютное барометрическое давление, давление воздуха, сниженное до уровня моря и температуры. Поддерживаемые датчики являются MPL115A2 и MPL3115 от Freescale и BMP085 от Bosch.
Зарядки аккумулятора, -тока и напряжение батарей для ноутбуков ACPI и PMU.
Связь с имен-сервером и статистикой разрешения из интерфейса statistics-channel привязки 9,5, 9,6 и более поздних.
Статистика Buddyinfo из файла BuddyInfo о фрагментации памяти.
Возможности платформы, декодированные из аппаратных подсистем, например, от SMBIOS с использованием DMIDECODE. https://www.nongnu.org/dmidecode/
Статистика CEPH из распределенной системы хранения CEPH.
CGROUPS CPU Учет информация для групп процессов в рамках Linux.
Хронический хронический демон Статистика: локальный дрейф часов, смещение на сверстники и т. Д.
Статус интерфейса на основе событий подключения.
Conntrack Номер записей NF_CONNTRACK.
ContextsWitch Количество контекстов, выполняемых операционной системой.
Использование процессора процессора: время, проведенное в системе, пользователь, хороший, холодный и сопутствующие состояния.
Частота процессора CPUFREQ (для ноутбуков с шагом скорости или аналогичной технологией)
CPUsleep CPU Sleep: время, проведенное в приостановке (для мобильных устройств, которые автоматически входят в приостановку)
Статистика Curl Parse с веб -сайтов с использованием регулярных выражений.
curl_json получает данные JSON через Curl и анализирует их в соответствии с конфигурацией пользователя.
curl_xml извлекает данные XML через Curl и анализирует их в соответствии с пользовательской конфигурацией.
DBI выполняет операторы SQL в различных базах данных и интерпретирует возвращенные данные.
DCPMM собирает Intel Optane DC, представляющую производительность памяти (DCPMM) и статистику здоровья.
Использование DF MountPoint (в основном значения df(1) доставляет)
Использование диска диска: секторы читают/написано, количество действий чтения/записи, среднее время, которое необходимо выполнить для iooperation.
DNS DNS Traffic: типы запросов, коды ответов, выбороны и трафик/октеты переданы.
DPDKSTAT Соберите статистику интерфейса DPDK. См. Docs/build.dpdkstat.md для подробных инструкций по сборке.
Этот плагин должен быть скомпилирован с включенной защитой компилятора, например, -fstack -Protector.
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 -данные, связанные с GPS, через GPSD.
GPU_NVIDIA MONITOR NVIDIA GPU Статистика GPU, доступная через NVML.
HDDTEMP жесткий диск температура с использованием HDDTEMPD.
Огромные страницы сообщают о количестве использованных и бесплатных огромных страниц. Более подробную информацию о огромных страницах можно найти здесь: https://www.kernel.org/doc/documentation/vm/hugetlbpage.txt.
Этот плагин должен быть скомпилирован с включенной защитой компилятора, например, -fstack -Protector.
Инфинибанд атрибуты и счетчики для каждого порта на каждом устройстве IB.
Intel_pmu Плагин Intel_pmu считывает счетчики производительности, предоставленные интерфейсом Linux kernel perf. Плагин использует библиотеку Jevents для разрешения именованных событий на события PERF и доступ к интерфейсу PERF Access.
Intel_rdt Плагин Intel_rdt собирает информацию, предоставляемую функциями технологии директора Intel Resource Direction (Intel (R) RDT), такой как технология мониторинга кэша (CMT), мониторинг полосы пропускания памяти (MBM). Эти функции предоставляют информацию об использовании общих ресурсов, таких как занятость кэша последнего уровня, использование пропускной способности локального памяти, использование пропускной способности удаленной памяти, инструкции за часы. https://01.org/packet-processing/cache-monitoring-technology-memory-bandwidth-monitoring-cache-adlocation-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 (JVM) для выполнения плагинов в Java Bytecode. См. Docs/build.java.md для подробных инструкций по сборке.
Средняя нагрузка на систему нагрузки за последние 1, 5 и 15 минут.
Подробная статистика ЦП LPAR по методике виртуализации «логические разделы», встроенная в процессоры IBM.
Lua Плагин Lua внедряет интерпретатор Lua в CollectD. Это позволяет писать плагины в LUA, которые выполняются CollectD без необходимости запускают тяжелый интерпретатор каждый интервал. См. Collectd-lua (5) для деталей.
Запросы Madwifi Очень подробные статистики использования из беспроводных адаптеров и интерфейсов беспроводной локальной сети, которые используют чипсет Atheros и драйвер Madwifi.
Датчики материнской платы MBMON: температура, скорость вентилятора и информация о напряжении, используя MBMON (1).
Исключения McElog Monitor Check Exceptions (аппаратные ошибки, обнаруженные аппаратными средствами и сообщенные программному обеспечению), сообщенные MCELOG, и генерируют соответствующие уведомления, когда обнаруживаются исключения для проверки машины.
MD Linux Software-Information Device (количество активных, неудачных, запасных и отсутствующих дисков).
Данные Memcachec Query и Parse из демона Memcache (Memcached).
Мемкахед статистика системы распределенного кэширования мемкаххи. http://www.danga.com/memcached/
Использование памяти памяти: память, занятая запуска процессов, кэш страниц, буферный кэш и бесплатный.
MIC собирает использование процессора, использование памяти, температуру и энергопотребление от Intel многих процессоров интегрированного ядра (MIC).
MMC гласит оценки времени срока службы, о которых сообщают устройства EMMC 5.0+, и некоторые более подробные показатели здоровья, такие как плохое количество блоков и стержня или циклы питания, для Micron и Sandisk EMMC и некоторых швейссбит -карт MMC (Manfid = 0x5d OEMID = 0x5342).
Modbus считывает значения с устройств с включенными Modbus/TCP. Поддерживает значения чтения из нескольких «рабов», чтобы можно было использовать устройства шлюза.
Многометраная информация, предоставленная последовательными мультиметрами, такими как Metex M-4650CR .
MySQL MariaDB и MySQL Server Статистика: выпущенные команды, запускаемые обработки, использование потока, использование кэша запросов и отправленные и полученные октеты.
плагин NetApp для запроса значений производительности из системы хранения NetApp с использованием SDK «Manage Ontap», предоставленной NetApp.
NetLink Очень подробный сетевой интерфейс Linux и статистика маршрутизации. Вы можете получить (подробную) информацию о интерфейсах, QDISC, классах и, если вы можете использовать ее, фильтры.
Сеть получает значения, которые были собраны другими хостами. Большие настройки захотят собрать данные на одной выделенной машине, и это плагин для этого.
Процедуры NFS NFS: какую команду NFS назывались как часто.
Nginx собирает статистику от nginx (Speak: Engine X), HTTP и почтового сервера/прокси.
NTPD NTP Демоны Статистика: локальный дрейф в часы, смещение на одноранговые коллеги и т. Д.
Информация NUMA о неоднородном доступе к памяти (NUMA).
Инструменты UPS Networs Network: ток UPS, напряжение, мощность, заряд, использование, температура и т. Д. См. UPSD (8).
OLSRD Запрос информации о маршрутизации из демона «Оптимизированная маршрутизация состояния ссылок».
OneWire (экспериментальный!) Прочитайте датчики OneWire, используя библиотеку OWCAPU проекта OWFS. Пожалуйста, прочитайте в CollectD.Conf (5) Почему этот плагин экспериментальный.
Информация о мониторинге OpenLDAP от подтеревого монитора OpenLDAP.
openvpn rx и tx каждого клиента в OpenVpn-status.log (Status-Version 2). http://openvpn.net/index.php/documentation/howto.html
Данные Oracle запроса из базы данных Oracle.
OVS_EVENTS Плагин контролирует статус ссылки подключенных интерфейсов Open 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_ERRRORS Читайте ошибки из состояния устройства PCI Express и расширенных возможностей AER. https://www.design-reuse.com/articles/38374/pcie-error-logging-and-handling-on-a-typical-soc.html
Perl Плагин Perl реализует Perl-Interpreter в CollectD. Вы можете написать свои собственные плагины в Perl и вернуть произвольные значения, используя этот API. См. Collectd-perl (5).
Статистика запроса PF из пакетного фильтра BSD "PF".
PINBA получают и отправляют значения срока от PINBA, расширение профилирования для PHP.
Задержка сети Ping: время, чтобы достичь шлюза по умолчанию или другого данного хоста.
Postgresql Postgresql Статистика базы данных: Активные соединения сервера, номера транзакций, блокировка io, манипуляции с строками таблицы.
PowerDNS PowerDNS Имя Статистики сервера.
Процесс процессов Подсчет: количество бега, сон, зомби, ... процессы.
Процесцент прослушивает запуска процесса и выходит через NetLink.
Протоколы считаются различными аспектами сетевых протоколов, таких как IP, TCP, UDP и т. Д.
Python Плагин Python внедряет интерпретатор Python в CollectD. Это позволяет писать плагины в Python, которые выполняются CollectD без необходимости запускают тяжелый интерпретатор каждый интервал. См. Collectd-Python (5) для деталей.
Ras плагин RAS собирает и считает ошибки, предоставленные Rasdaemon
Redis Плагин Redis собирает информацию с сервера Redis, включая: время безотказной работы, использованную память, общее количество подключений и т. Д.
Интерфейс запросов маршрутизации и статистика регистрации беспроводной регистрации с маршрутизаторов.
RRDCACHED RRDTOOOL CACHING DAEMON DAEMON (RRDCACHED) Статистика.
Датчики системных датчиков, доступных к LM_SENSORS: напряжения, температура и скорости вращения вентилятора.
Серийный RX и TX серийных интерфейсов. Только Linux; требует корневых привилегий.
Sigrok использует Libsigrok в качестве бэкэнда, позволяя любому устройству, поддерживаемому Sigrok, провести свои измерения для сбора. Это включает в себя мультиметры, счетчики уровня звука, термометры и многое другое.
Slurm собирает узел на участки и информацию о состоянии работы с использованием LibSlurm, а также внутреннюю статистику здравоохранения.
Smart собирает умную статистику, в частности, количество циклов нагрузки, температуру и плохие секторы.
Значения чтения SNMP из сетевых устройств SNMP (простой протокол управления сетью), таких как переключатели, маршрутизаторы, термометры, серверы мониторинга стойки и т. Д. См. Collectd-Snmp (5).
STATSD действует как сервер STATSD, чтение значений, отправленных по сети, от клиентов STASTSD, и расчет скоростей и других агрегатов из этих значений.
Sysevent слушает события Rsyslog и представляет соответствующие значения.
Страницы обмена заменены на жесткий диск или что -то в этом роде swap ОС.
Таблица, подобные таблицам структурированных файлов.
Хвост следует за файлами журналов, анализирует их по строкам и представляет соответствующие значения.
TAIL_CSV следует (хвосты) файлов в формате CSV, анализации каждой строки и представляет извлеченные значения.
ленточные байты и операции читают и записаны на ленточных устройствах. Только Solaris.
TCPConns Количество соединений TCP с конкретными локальными и удаленными портами.
TeamSpeak2 TeamSpeak2 Статистика сервера.
плагин TED для чтения значений от «Детектив энергии» (TED).
Тепловая информация о тепловой зоне ACPI.
Tokyotyrant читает количество записей и размера файлов с работающего Tokyo Tyrant Server.
Turbostat считывает частоту процессора и резидентуру C-State на современных процессорах Intel Turbobable.
UBI читает подсчет плохих физических блокнотов и значения максимального счетчика текущего счетчика в объемах UBI.
Статистика времени безотказной системы.
Пользователи в настоящее время вошли в систему.
лак для различных статистических данных из лака, ускорителя HTTP.
ЦП VIRT, память, диск и статистика ввода -вывода с сети от виртуальных машин.
Статистика виртуальной памяти VMEM, например, количество страниц/-от или количество страниц.
Системные ресурсы Vserver, используемые Linux Vservers. Смотрите http://linux-vserver.org/.
Качество беспроводной ссылки беспроводных карт. Только Linux.
Xencpu Xen Hypervisor CPU Статистика.
XMMS Битрейт и частота музыки сыграли с XMMS.
Статистика ZFS_ARC для «адаптивного кеша замены» ZFS (ARC).
Зона измеряет процент нагрузки ЦП на контейнер (зона) в рамках Solaris 10 и выше
Zookeeper Read Data из команды Zookeeper MNTR.
Вывод может быть записан или отправлен в различные направления следующими плагинами:
AMQP отправляет кодируемые JSON данные на расширенный протокол очереди сообщений (AMQP) 0.9.1, такой как Rabbitmq.
AMQP1 отправляет кодируемые JSON данные на Advanced Office Ouing Protocol (AMQP) 1.0 сервер, такой как QPID Dispatch Router или Broker Apache Artemis.
CSV записать в файлы запятых значений (CSV). Это требует большого количества диска, но это чрезвычайно портативно и может быть проанализировано практически с каждой программой, которая может анализировать что -либо. Даже Microsoft Excel.
GRPC Отправить и получать значения по сети, используя структуру GRPC.
lua можно реализовать плагины записи в Lua, используя плагин Lua. См. Collectd-lua (5) для деталей.
MQTT публикует и подписывает на темы MQTT.
Сеть Отправьте данные на удаленный хост, чтобы каким -то образом сохранить данные. Это полезно для больших настройков, где данные должны быть сохранены специальной машиной.
Перл, конечно, значения распространяются на плагины, записанные в Perl, так что вы можете легко сделать странные вещи с плагинами, о которых мы не осмеливались думать;) См. Collectd-Perl (5).
Python можно реализовать плагины записи в Python, используя плагин Python. См. Collectd-Python (5) для деталей.
RRDCACHED Вывод в файлы круглой робин-датабазы (RRD) с использованием демона кэширования RRDTOOL (RRDCACHED)-см. rrdcached(1) . Этот демон обеспечивает общую реализацию кэширования, выполненного плагином rrdtool .
Выходные данные RRDTOOL в файлы с круглой робин-датабазой (RRD) с использованием LIBRRD. См. Rrdtool (1). Это, вероятно, самое популярное направление для таких ценностей. Поскольку обновления для RRD-файлов несколько дороги, этот плагин может кэшировать обновления в файлы и написать кучу обновлений одновременно, что сильно уменьшает загрузку системы.
SNMP_AGENT получает и обрабатывает запросы от основного агента SNMP и возвращает данные, собранные плагинами чтения. Обрабатывает запросы только для OID, указанных в файле конфигурации. Для обработки запросов SNMP плагин получает данные из CollectD и переводит запрашиваемые значения из внутреннего формата CollectD в формат SNMP.
Unixsock можно запросить значения из плагина Unixsock всякий раз, когда они необходимы. Пожалуйста, прочитайте Collectd-Unixsock (5) для описания того, как это делается.
write_graphite отправляет данные в углерод, слой графита хранения с использованием TCP или UDP. Его можно настроить, чтобы избежать журнала отправки ошибок (особенно полезных при использовании UDP).
write_http отправляет значения, собранные Collectd в веб-сервер, используя запросы HTTP Post. Передавшие данные либо в форме, понятной плагином 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, систему обработки и мониторинга потока через локальный сокет клиента Sensu.
write_syslog отправляет данные в формате системного журнала, используя TCP, где сообщение содержит метрику в формате человека или JSON.
write_tsdb отправляет Data Opentsdb, масштабируемую базу данных временных рядов общего состояния.
Регистрация, как и все в 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. См. 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) для деталей.
Обработка стоимости может контролироваться с использованием инфраструктуры «цепочка фильтров» и «совпадает» и «цели». Доступны следующие плагины:
match_empty_counter Match Counter значения, которые в настоящее время равны нулю.
match_hashed значения совпадений с использованием хэш -функции имени хоста.
Значения Match_Regex соответствует их идентификатору на основе регулярных выражений.
Значения Match_timediff Match с неверной меткой времени.
match_value выберите значения по значениям их источников данных.
target_notification Создать и отправить уведомление.
target_replace замените части идентификатора, используя регулярные выражения.
Значения TARGET_SCALE (умножьте) на произвольное значение.
набор target_set (перезаписать) целые части идентификатора.
Разные плагины:
Агрегация выбирает несколько списков значений на основе шаблонов или регулярных выражений и создает новые списки агрегированных значений из них.
Пороговые значения проверяют значения на конфигурационные пороги и создают уведомления, если значения выходят за пределы. См. Collectd-Throshold (5) для деталей.
UUID устанавливает имя хоста на уникальный идентификатор. Это предназначено для настройки, где каждый клиент может мигрировать на другой физический хост, возможно, проходя через одно или несколько изменений имени в процессе.
Производительность: Поскольку Collectd работает как демон, он не тратит много времени снова и снова. За исключением плагина EXEC, процессов не раздвоены. Кэширование в плагинах выходных данных, таких как плагины RRDTOOL и сетевой, гарантируют, что ваши ресурсы эффективно используются. Кроме того, поскольку CollectD запрограммирован многопоточно, ИТ получает выгоду от гиперпоточных и многоядерных процессоров и гарантирует, что демон не простаивает, если только один плагин ожидает завершения iooperation.
После настройки едва ли необходимо какое -либо обслуживание. Настройка сохраняется как можно проще, и значения по умолчанию должны быть в порядке для большинства пользователей.
Файл конфигурации CollectD можно найти в sysconfdir/collectd.conf . Запустите collectd -h для списка встроенных дефолтов. См. collectd.conf(5) для списка параметров и описания синтаксиса.
Когда загружаются плагины csv или rrdtool , они будут записывать значения в файлы. Обычное место для этих файлов находится ниже /var/lib/collectd .
При использовании некоторых плагинов CollectD должен работать как root пользователя, поскольку только root может делать определенные вещи, такие как пакеты Craft ICMP, необходимые для пинга других хостов. Collectd не должен быть установлен root setuid, поскольку его можно использовать для перезаписи ценных файлов!
Образцы сценариев для генерации графиков находятся в contrib/ в исходном пакете или где -то рядом с /usr/share/doc/collectd в большинстве распределений. Имейте в виду, что эти сценарии предназначены как отправная точка для ваших собственных экспериментов. Некоторые из них требуют модуля RRDs Perl. ( librrds-perl на Debian) Если вы написали более сложное решение, пожалуйста, поделитесь им с нами.
RRA автоматически созданных файлов RRD зависят от приведенных настройки step и heartbeat . При изменении этих настроек вам может потребоваться воссоздать файлы, потеряв все данные. Пожалуйста, имейте в виду, что при изменении значений и тщательно прочитайте RRDTOOL (1).
Если вы используете плагин dns , chkrootkit(1) сообщит collectd в виде пакетного SNIFFER ( <iface>: PACKET SNIFFER(/usr/sbin/collectd[<pid>]) ). Плагин захватывает все пакеты UDP на порту 53 для анализа трафика DNS. В этом случае Collectd является законным подхижительным, и отчет должен считаться ложным положительным. Тем не менее, вы можете проверить, что это действительно собирает, а не какой -то другой, незаконно -нелегающий.
Чтобы скомпилировать Collectd из источника, вам понадобится:
Обычные подозреваемые: C Компилятор, линкер, препроцессор, Make, ...
Collectd использует некоторые общие функции C99, например, составные литералы и смешанные объявления, и поэтому требуется совместимый компилятор C99.
На Debian и Ubuntu пакет «сборка» должен привлечь все, что необходимо.
Реализация Posix-Threads (Pthread). Поскольку сбор некоторой статистики является медленным (сетевые подключения, медленные устройства и т. Д.) Соберите параллелизируется. Интерфейс потоков POSIX используется и должен быть найден в различных реализациях для всех платформ.
При строительстве из репозитория GIT требуется Flex (Tokenizer) и Bison (генератор анализатора). Выпуск 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, что позволяет избежать полных требований привилегий (он же работает как root) для чтения значений. http://sites.google.com/site/lycapable/
Libclntsh (необязательно) используется плагином oracle .
Libhiredis (необязательно) используется плагином redis . Обратите внимание, что вам требуется версия 0,10.0 или выше. https://github.com/redis/hierdis
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 для обработки данных, полученных от ганглиев. http://ganglia.info/
Libgrpc (необязательно) используется плагином grpc . GRPC требует компилятора C ++, поддерживающего стандарт C ++ 11. https://grpc.io/
Libgcrypt (необязательно) используется network плагином для шифрования и аутентификации. http://www.gnupg.org/
LIBGP (необязательно) используется плагином gps . http://developer.berlios.de/projects/gpsd/
LIBI2C-DEV (необязательно), используемый для плагина barometer , предоставляет только файл заголовка i2c-dev.h для разработки пользовательского пространства I2C.
libiptc (необязательно) для запроса счетчиков iptables. http://netfilter.org/
Libjansson (необязательно) DANARSE JSON Данные. Это используется для capabilities и плагинов dpdk_telemetry . http://www.digip.org/jansson/
Libjevents (необязательно) Библиотека jevents используется плагином intel_pmu для доступа к интерфейсу ядра Linux. ПРИМЕЧАНИЕ. Библиотека должна быть построена с флагом -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 . В настоящее время поддерживаются LUA 5.1 и позже. https://www.lua.org/
Libmemcached (необязательно), используемый плагином memcachec для подключения к демонам Memcache. http://tangent.org/552/libmemcached.html
libmicrohttpd (необязательно), используемый плагина write_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 . Эта библиотека является частью «Manage 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 (или Daemon 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. 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/
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 Plugin. http://1978th.net/tokyotyrant/
LibupsClient/NUT (необязательно) для nut , который запрашивает upsd NUT. http://networkupstools.org/
Libvirt (необязательно) Соберите статистику из виртуальных машин. http://libvirt.org/
Libxml2 (необязательно) Parse XML Data. Это необходимо для плагинов 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
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/. См. Appling.md для деталей.
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.