Я хотел бы записывать данные о деятельности системы во FreeBSD для будущего анализа. Если бы я работал с системой SysV, я бы просто использовал sar и связанные с ним утилиты, но этого нет в BSD. (И bsdsar пропал.) Меня не особо интересуют конкретные форматы или утилиты, но я хочу хранить информацию об использовании ЦП, ОЗУ и ВМ, а также информацию о вводе-выводе. В то же время полный учет процессов acct кажется излишним и на самом деле не предоставляет данных, которые мне нужны: в частности, данных о ранее существовавших процессах.
Я мог бы просто зарегистрировать вывод долго выполняемых команд vmstat, iostat и т. Д., Но похоже, что должно быть что-то более аккуратное.
В конечном итоге вопрос в следующем:
Каков хороший способ узнать недавнее использование системы под FreeBSD?
собирать доступен для FreeBSD. С сайта collectd:
collectd собирает статистику о системе, в которой он работает, и сохраняет эту информацию. Затем эту статистику можно использовать для поиска текущих узких мест в производительности (например, для анализа производительности) и прогнозирования будущей нагрузки на систему (например, для планирования емкости). Или, если вам просто нужны красивые графики вашего частного сервера и вам надоело какое-то домашнее решение, вы тоже попали в нужное место;).
Вы можете собрать много информации с помощью плагинов, с которыми он поставляется, и вы можете создать свой собственный с его различными языковыми привязками.
Если вы хотите использовать его на нескольких хостах, вы можете собирать данные с помощью collectd на одном хосте в качестве агента и заставить его пересылать данные с помощью network
плагин и постройте там графики RRD или подключите его к Графана (например, с kafka
плагин вывода) и сделайте там более причудливые графики.
Из FreshPorts страница:
The following configuration options are available for collectd5-5.8.0_1:
CGI=off: Install collection.cgi (requires rrdtool)
GCRYPT=on: Build with libgcrypt
JAVA=off: Java platform support
LOGGING=on: Enable debug logging
LOGSTASH=off: Enable log_logstash plugin (requires json)
VIRT=off: Enable libvirt plugin (requires XML)
Options available for the group INPUT
CHRONY=off: Enable chronyd plugin
CURL=off: Enable curl-based plugins (apache, nginx, etc)
CURL_JSON=off: Enable curl_json plugin (implies curl and json)
CURL_XML=off: Enable ascent, bind, curl_xml plugins (implies curl and xml)
DBI=off: Enable dbi plugin
IPMI=off: Enable OpenIPMI plugin
JSON=off: Enable JSON plugins
MEMCACHEC=off: Enable memcachec plugin
MODBUS=off: Enable modbus plugin
MQTT=off: Enable MQTT broker metrics
MYSQL=off: Enable mysql-based plugins
NUTUPS=off: Enable nut (ups) plugin
OLSRD=off: Enable olsrd plugin
ONEWIRE=off: Eanble onewire plugin (via owfs)
OPENLDAP=off: Enable OpenLDAP plugin
PERL=off: Enable libperl plugin and binding
PGSQL=off: Enable postgresql-based plugins
PINBA=off: Enable pinba plugin (via protobuf-c)
PING=on: Enable ping plugin
PYTHON=off: Enable python-based plugins
RABBITMQ=off: Enable rabbitmq-based plugins
REDIS=off: Enable redis-based plugins
ROUTEROS=off: Enable routeros plugin
SIGROK=off: Enable sigrok plugin
SNMP=off: Enable SNMP plugin
STATSD=off: Enable statsd plugin
TOKYOTYRANT=off: Enable tokyotyrant plugin
VARNISH=off: Enable varnish 4.x cache statistics
XML=off: Enable XML plugins
XMMS=off: Enable xmms plugin
ZOOKEEPER=off: Enable zookeeper plugin
Options available for the group OUTPUT
KAFKA=off: Enable write_kafka plugin
MONGODB=off: Enable write_mongodb plugin (BROKEN)
NOTIFYDESKTOP=off: Enable desktop notifications
NOTIFYEMAIL=off: Enable notifications via email
PROMETHEUS=off: Enable write prometheus plugin
RIEMANN=off: Enable write_riemann plugin (via riemann-c-client)
RRDTOOL=off: Enable rrdtool plugin (also rrdcached plugin)
TSDB=off: Enable write_tsdb plugin
В итоге я использовал наверху (который доступен в Порты FreeBSD так как sysutils / поверх), и это круто. Я бы очень предпочел использовать его вместо sar в системах, где доступен sar. Он поставляется с пользовательским интерфейсом на основе curses, в котором легко ориентироваться и который показывает сразу много данных. Это невероятно удобно.