From c516e15d18b030174ca2c22cb5e652fecf75889c Mon Sep 17 00:00:00 2001 From: Bernd Zeimetz Date: Mon, 7 Dec 2020 20:35:49 +0000 Subject: [PATCH] Import collectd_5.12.0.orig.tar.xz [dgit import orig collectd_5.12.0.orig.tar.xz] --- .cirrus.yml | 225 + .clang-format | 5 + .github/issue_template.md | 17 + .gitignore | 107 + .gitmodules | 3 + .mailmap | 9 + .travis.yml | 146 + AUTHORS | 426 + CODEOWNERS | 46 + CODE_OF_CONDUCT.md | 139 + COPYING | 371 + ChangeLog | 4497 ++++++ Makefile.am | 2524 +++ README | 1190 ++ bindings/java/org/collectd/api/Collectd.java | 307 + .../collectd/api/CollectdConfigInterface.java | 38 + .../collectd/api/CollectdFlushInterface.java | 38 + .../collectd/api/CollectdInitInterface.java | 38 + .../collectd/api/CollectdLogInterface.java | 38 + .../api/CollectdMatchFactoryInterface.java | 54 + .../collectd/api/CollectdMatchInterface.java | 53 + .../api/CollectdNotificationInterface.java | 38 + .../collectd/api/CollectdReadInterface.java | 52 + .../api/CollectdShutdownInterface.java | 38 + .../api/CollectdTargetFactoryInterface.java | 54 + .../collectd/api/CollectdTargetInterface.java | 53 + .../collectd/api/CollectdWriteInterface.java | 38 + bindings/java/org/collectd/api/DataSet.java | 142 + .../java/org/collectd/api/DataSource.java | 153 + .../java/org/collectd/api/Notification.java | 88 + .../java/org/collectd/api/OConfigItem.java | 96 + .../java/org/collectd/api/OConfigValue.java | 101 + .../java/org/collectd/api/PluginData.java | 127 + bindings/java/org/collectd/api/ValueList.java | 128 + .../java/org/collectd/java/GenericJMX.java | 150 + .../java/GenericJMXConfConnection.java | 275 + .../collectd/java/GenericJMXConfMBean.java | 243 + .../collectd/java/GenericJMXConfValue.java | 598 + .../java/org/collectd/java/JMXMemory.java | 237 + bindings/perl/Makefile.PL | 9 + bindings/perl/lib/Collectd.pm | 631 + bindings/perl/lib/Collectd/MockDaemon.pm | 10756 +++++++++++++ .../perl/lib/Collectd/Plugins/Monitorus.pm | 104 + bindings/perl/lib/Collectd/Plugins/OpenVZ.pm | 247 + bindings/perl/lib/Collectd/Unixsock.pm | 678 + bindings/perl/t/00_load.t | 6 + bindings/perl/t/01_methods.t | 57 + bindings/perl/uninstall_mod.pl | 8 + build.sh | 173 + clean.sh | 95 + configure.ac | 7667 +++++++++ contrib/99-storage-collectd.rules | 15 + contrib/GenericJMX.conf | 245 + contrib/README | 118 + contrib/SpamAssassin/Collectd.pm | 218 + contrib/SpamAssassin/example.cf | 5 + contrib/add_rra.sh | 67 + contrib/aix/collectd.spec | 75 + contrib/aix/init.d-collectd | 79 + contrib/collectd2html.pl | 258 + contrib/collectd_network.py | 337 + contrib/collectd_unix_sock.rb | 135 + contrib/collectd_unixsock.py | 243 + contrib/collection.cgi | 3515 +++++ contrib/collection.conf | 3 + contrib/collection3/README | 43 + contrib/collection3/bin/.htaccess | 2 + contrib/collection3/bin/graph.cgi | 334 + contrib/collection3/bin/index.cgi | 502 + contrib/collection3/bin/json.cgi | 108 + contrib/collection3/etc/.htaccess | 1 + contrib/collection3/etc/collection.conf | 733 + contrib/collection3/lib/.htaccess | 1 + contrib/collection3/lib/Collectd/Config.pm | 144 + .../collection3/lib/Collectd/Graph/Common.pm | 840 + .../collection3/lib/Collectd/Graph/Config.pm | 143 + .../collection3/lib/Collectd/Graph/Type.pm | 513 + .../lib/Collectd/Graph/Type/ArcCounts.pm | 110 + .../collection3/lib/Collectd/Graph/Type/Df.pm | 83 + .../lib/Collectd/Graph/Type/GenericIO.pm | 140 + .../lib/Collectd/Graph/Type/GenericStacked.pm | 230 + .../lib/Collectd/Graph/Type/JavaMemory.pm | 162 + .../lib/Collectd/Graph/Type/Load.pm | 69 + .../lib/Collectd/Graph/Type/PsCputime.pm | 97 + .../lib/Collectd/Graph/Type/TableSize.pm | 236 + .../lib/Collectd/Graph/Type/Wirkleistung.pm | 90 + .../lib/Collectd/Graph/TypeLoader.pm | 270 + contrib/collection3/share/.htaccess | 2 + contrib/collection3/share/navigate.js | 299 + contrib/collection3/share/shortcut-icon.png | Bin 0 -> 279 bytes contrib/collection3/share/style.css | 88 + contrib/curl_jolokia/curl_jolokia.conf | 85 + contrib/curl_jolokia/jolokia_2_collectdcfg.py | 671 + contrib/curl_json/php-fpm.conf | 27 + contrib/cussh.pl | 512 + contrib/docker/50docker-apt-conf | 4 + contrib/docker/Dockerfile | 25 + contrib/docker/collectd.conf | 16 + contrib/docker/collectd.conf.d/sample.conf | 4 + contrib/docker/rootfs_prefix/.gitignore | 1 + contrib/docker/rootfs_prefix/Makefile | 2 + contrib/docker/rootfs_prefix/rootfs_prefix.c | 88 + contrib/examples/MyPlugin.pm | 170 + contrib/examples/myplugin.c | 226 + contrib/exec-ksm.sh | 53 + contrib/exec-munin.conf | 6 + contrib/exec-munin.px | 272 + contrib/exec-nagios.conf | 15 + contrib/exec-nagios.px | 529 + contrib/exec-smartctl | 46 + contrib/format.sh | 21 + contrib/iptables/accounting.sh | 29 + contrib/migrate-3-4.px | 387 + contrib/migrate-4-5.px | 253 + contrib/network-proxy.py | 46 + contrib/oracle/create_schema.ddl | 264 + contrib/oracle/db_systat.sql | 55 + contrib/php-collection/browser.js | 790 + contrib/php-collection/config.php | 58 + contrib/php-collection/definitions.local.php | 79 + contrib/php-collection/definitions.php | 2105 +++ contrib/php-collection/functions.php | 841 + contrib/php-collection/graph.php | 217 + contrib/php-collection/index.php | 330 + contrib/postgresql/collectd_insert.sql | 234 + contrib/python/getsigchld.py | 21 + contrib/redhat/collectd.spec | 3279 ++++ contrib/redhat/collection3.conf | 5 + contrib/redhat/init.d-collectd | 106 + contrib/redhat/php-collection.conf | 6 + contrib/rrd_filter.px | 874 ++ contrib/sles10.1/collectd.spec | 231 + contrib/sles10.1/init.d-collectd | 75 + contrib/snmp-data.conf | 524 + contrib/snmp-probe-host.px | 439 + contrib/solaris-smf/README | 331 + contrib/solaris-smf/collectd | 42 + contrib/solaris-smf/collectd.xml | 56 + contrib/systemd.collectd.service | 41 + contrib/upstart.collectd.conf | 51 + contrib/wiki2changelog.pl | 75 + docs/BUILD.dpdkstat.md | 232 + docs/BUILD.java.md | 50 + docs/CONTRIBUTING.md | 85 + docs/README.virt.md | 239 + docs/maintainer_guide.md | 26 + docs/review_comments.md | 96 + docs/review_comments_example.png | Bin 0 -> 19101 bytes m4/.gitignore | 1 + m4/ax_compare_version.m4 | 177 + m4/ax_compiler_vendor.m4 | 87 + proto/collectd.proto | 61 + proto/prometheus.proto | 72 + proto/types.proto | 70 + src/aggregation.c | 745 + src/amqp.c | 1128 ++ src/amqp1.c | 790 + src/apache.c | 565 + src/apcups.c | 448 + src/apple_sensors.c | 193 + src/aquaero.c | 159 + src/ascent.c | 575 + src/barometer.c | 1657 ++ src/battery.c | 776 + src/battery_statefs.c | 122 + src/bind.c | 1587 ++ src/buddyinfo.c | 134 + src/capabilities.c | 419 + src/capabilities_test.c | 283 + src/ceph.c | 1460 ++ src/ceph_test.c | 189 + src/cgroups.c | 224 + src/check_uptime.c | 273 + src/chrony.c | 1038 ++ src/collectd-email.pod | 74 + src/collectd-exec.pod | 315 + src/collectd-java.pod | 702 + src/collectd-lua.pod | 165 + src/collectd-nagios.c | 668 + src/collectd-nagios.pod | 126 + src/collectd-perl.pod | 797 + src/collectd-python.pod | 775 + src/collectd-snmp.pod | 425 + src/collectd-tg.c | 426 + src/collectd-tg.pod | 67 + src/collectd-threshold.pod | 205 + src/collectd-unixsock.pod | 265 + src/collectd.conf.in | 2211 +++ src/collectd.conf.pod | 13041 ++++++++++++++++ src/collectd.pod | 153 + src/collectdctl.c | 604 + src/collectdctl.pod | 162 + src/collectdmon.c | 385 + src/collectdmon.pod | 75 + src/connectivity.c | 1031 ++ src/conntrack.c | 95 + src/contextswitch.c | 138 + src/cpu.c | 914 ++ src/cpufreq.c | 253 + src/cpusleep.c | 75 + src/cpython.h | 196 + src/csv.c | 297 + src/curl.c | 704 + src/curl_jolokia.c | 1057 ++ src/curl_json.c | 1000 ++ src/curl_json_test.c | 148 + src/curl_xml.c | 975 ++ src/daemon/cmd.c | 271 + src/daemon/cmd.h | 41 + src/daemon/cmd_windows.c | 40 + src/daemon/collectd.c | 439 + src/daemon/collectd.h | 254 + src/daemon/configfile.c | 1272 ++ src/daemon/configfile.h | 140 + src/daemon/filter_chain.c | 999 ++ src/daemon/filter_chain.h | 103 + src/daemon/globals.c | 54 + src/daemon/globals.h | 51 + src/daemon/plugin.c | 2756 ++++ src/daemon/plugin.h | 485 + src/daemon/plugin_mock.c | 246 + src/daemon/types_list.c | 183 + src/daemon/types_list.h | 32 + src/daemon/utils_cache.c | 1055 ++ src/daemon/utils_cache.h | 146 + src/daemon/utils_cache_mock.c | 70 + src/daemon/utils_complain.c | 99 + src/daemon/utils_complain.h | 115 + src/daemon/utils_llist.c | 169 + src/daemon/utils_llist.h | 65 + src/daemon/utils_random.c | 97 + src/daemon/utils_random.h | 53 + src/daemon/utils_subst.c | 139 + src/daemon/utils_subst.h | 91 + src/daemon/utils_subst_test.c | 138 + src/daemon/utils_threshold.c | 135 + src/daemon/utils_threshold.h | 63 + src/daemon/utils_time.c | 234 + src/daemon/utils_time.h | 132 + src/daemon/utils_time_test.c | 169 + src/dbi.c | 797 + src/dcpmm.c | 297 + src/df.c | 361 + src/disk.c | 1122 ++ src/dns.c | 401 + src/dpdk_telemetry.c | 397 + src/dpdkevents.c | 704 + src/dpdkstat.c | 523 + src/drbd.c | 151 + src/email.c | 706 + src/entropy.c | 117 + src/ethstat.c | 321 + src/exec.c | 934 ++ src/fhcount.c | 126 + src/filecount.c | 555 + src/fscache.c | 219 + src/gmond.c | 986 ++ src/gps.c | 337 + src/gpu_nvidia.c | 242 + src/grpc.cc | 808 + src/hddtemp.c | 280 + src/hugepages.c | 275 + src/infiniband.c | 349 + src/intel-nvme.h | 74 + src/intel_pmu.c | 806 + src/intel_rdt.c | 1314 ++ src/intel_rdt_test.c | 313 + src/interface.c | 399 + src/ipc.c | 315 + src/ipmi.c | 1327 ++ src/ipstats.c | 238 + src/iptables.c | 442 + src/ipvs.c | 290 + src/irq.c | 230 + src/java.c | 2847 ++++ src/libcollectdclient/client.c | 1039 ++ src/libcollectdclient/collectd/client.h | 93 + .../collectd/lcc_features.h.in | 64 + src/libcollectdclient/collectd/network.h | 80 + .../collectd/network_buffer.h | 58 + .../collectd/network_parse.h | 56 + src/libcollectdclient/collectd/server.h | 88 + src/libcollectdclient/collectd/stdendian.h | 262 + src/libcollectdclient/collectd/types.h | 97 + src/libcollectdclient/libcollectdclient.pc.in | 11 + src/libcollectdclient/network.c | 452 + src/libcollectdclient/network_buffer.c | 790 + src/libcollectdclient/network_parse.c | 632 + src/libcollectdclient/network_parse_test.c | 518 + src/libcollectdclient/server.c | 232 + src/liboconfig/AUTHORS | 0 src/liboconfig/COPYING | 340 + src/liboconfig/ChangeLog | 5 + src/liboconfig/aux_types.h | 16 + src/liboconfig/oconfig.c | 197 + src/liboconfig/oconfig.h | 70 + src/liboconfig/parser.y | 290 + src/liboconfig/scanner.l | 174 + src/load.c | 197 + src/log_logstash.c | 332 + src/logfile.c | 205 + src/logparser.c | 700 + src/logparser_test.c | 448 + src/lpar.c | 243 + src/lua.c | 583 + src/madwifi.c | 893 ++ src/madwifi.h | 304 + src/match_empty_counter.c | 81 + src/match_hashed.c | 168 + src/match_regex.c | 367 + src/match_timediff.c | 143 + src/match_value.c | 318 + src/mbmon.c | 258 + src/mcelog.c | 692 + src/md.c | 191 + src/mdevents.c | 387 + src/mdevents_test.c | 216 + src/memcachec.c | 470 + src/memcached.c | 820 + src/memory.c | 546 + src/mic.c | 365 + src/modbus.c | 1123 ++ src/mqtt.c | 798 + src/msr-index.h | 87 + src/multimeter.c | 219 + src/mysql.c | 967 ++ src/netapp.c | 3084 ++++ src/netlink.c | 1285 ++ src/netlink_test.c | 379 + src/netstat_udp.c | 122 + src/network.c | 3323 ++++ src/network.h | 80 + src/network_test.c | 246 + src/nfs.c | 682 + src/nginx.c | 268 + src/notify_desktop.c | 168 + src/notify_email.c | 313 + src/notify_nagios.c | 149 + src/ntpd.c | 935 ++ src/numa.c | 151 + src/nut.c | 398 + src/nvme.h | 64 + src/olsrd.c | 630 + src/onewire.c | 529 + src/openldap.c | 519 + src/openvpn.c | 586 + src/oracle.c | 712 + src/ovs_events.c | 664 + src/ovs_stats.c | 1425 ++ src/pcie_errors.c | 795 + src/pcie_errors_test.c | 570 + src/perl.c | 2722 ++++ src/pf.c | 123 + src/pinba.c | 667 + src/pinba.proto | 24 + src/ping.c | 694 + src/postgresql.c | 1271 ++ src/postgresql_default.conf | 391 + src/powerdns.c | 944 ++ src/processes.c | 2892 ++++ src/procevent.c | 1303 ++ src/protocols.c | 214 + src/pyconfig.c | 223 + src/python.c | 1506 ++ src/pyvalues.c | 1311 ++ src/redfish.c | 979 ++ src/redfish_test.c | 616 + src/redis.c | 817 + src/routeros.c | 467 + src/rrdcached.c | 513 + src/rrdtool.c | 1083 ++ src/sensors.c | 430 + src/serial.c | 109 + src/sigrok.c | 377 + src/slurm.c | 618 + src/smart.c | 668 + src/smart_test.c | 108 + src/snmp.c | 2261 +++ src/snmp_agent.c | 2354 +++ src/snmp_agent_test.c | 831 + src/statsd.c | 915 ++ src/swap.c | 778 + src/synproxy.c | 112 + src/sysevent.c | 1148 ++ src/syslog.c | 152 + src/table.c | 502 + src/tail.c | 306 + src/tail_csv.c | 581 + src/tape.c | 126 + src/target_notification.c | 264 + src/target_replace.c | 565 + src/target_scale.c | 459 + src/target_set.c | 429 + src/target_v5upgrade.c | 453 + src/tcpconns.c | 1036 ++ src/teamspeak2.c | 721 + src/ted.c | 297 + src/testing.h | 147 + src/thermal.c | 201 + src/threshold.c | 756 + src/tokyotyrant.c | 152 + src/turbostat.c | 1715 ++ src/types.db | 371 + src/types.db.pod | 96 + src/ubi.c | 147 + src/unixsock.c | 401 + src/uptime.c | 203 + src/users.c | 123 + src/utils/avltree/avltree.c | 648 + src/utils/avltree/avltree.h | 169 + src/utils/avltree/avltree_test.c | 180 + src/utils/cmds/cmds.c | 308 + src/utils/cmds/cmds.h | 209 + src/utils/cmds/cmds_test.c | 336 + src/utils/cmds/flush.c | 177 + src/utils/cmds/flush.h | 42 + src/utils/cmds/getthreshold.c | 182 + src/utils/cmds/getthreshold.h | 34 + src/utils/cmds/getval.c | 165 + src/utils/cmds/getval.h | 43 + src/utils/cmds/listval.c | 103 + src/utils/cmds/listval.h | 40 + src/utils/cmds/parse_option.c | 148 + src/utils/cmds/parse_option.h | 33 + src/utils/cmds/putnotif.c | 181 + src/utils/cmds/putnotif.h | 34 + src/utils/cmds/putval.c | 327 + src/utils/cmds/putval.h | 47 + src/utils/common/common.c | 1640 ++ src/utils/common/common.h | 405 + src/utils/common/common_test.c | 390 + src/utils/config_cores/config_cores.c | 372 + src/utils/config_cores/config_cores.h | 136 + src/utils/config_cores/config_cores_test.c | 249 + src/utils/crc32/crc32.c | 107 + src/utils/crc32/crc32.h | 32 + src/utils/curl_stats/curl_stats.c | 252 + src/utils/curl_stats/curl_stats.h | 56 + src/utils/db_query/db_query.c | 1036 ++ src/utils/db_query/db_query.h | 85 + src/utils/deq/deq.h | 214 + src/utils/dmi/dmi.c | 191 + src/utils/dmi/dmi.h | 163 + src/utils/dns/dns.c | 1077 ++ src/utils/dns/dns.h | 90 + src/utils/dpdk/dpdk.c | 886 ++ src/utils/dpdk/dpdk.h | 90 + src/utils/format_graphite/format_graphite.c | 377 + src/utils/format_graphite/format_graphite.h | 42 + .../format_graphite/format_graphite_test.c | 213 + src/utils/format_json/format_json.c | 695 + src/utils/format_json/format_json.h | 48 + src/utils/format_json/format_json_test.c | 184 + src/utils/format_kairosdb/format_kairosdb.c | 358 + src/utils/format_kairosdb/format_kairosdb.h | 49 + .../format_stackdriver/format_stackdriver.c | 773 + .../format_stackdriver/format_stackdriver.h | 79 + .../format_stackdriver_test.c | 82 + src/utils/gce/gce.c | 284 + src/utils/gce/gce.h | 52 + src/utils/heap/heap.c | 207 + src/utils/heap/heap.h | 99 + src/utils/heap/heap_test.c | 78 + src/utils/ignorelist/ignorelist.c | 340 + src/utils/ignorelist/ignorelist.h | 75 + src/utils/latency/latency.c | 344 + src/utils/latency/latency.h | 68 + src/utils/latency/latency_config.c | 158 + src/utils/latency/latency_config.h | 62 + src/utils/latency/latency_test.c | 251 + src/utils/lookup/vl_lookup.c | 630 + src/utils/lookup/vl_lookup.h | 87 + src/utils/lookup/vl_lookup_test.c | 242 + src/utils/match/match.c | 376 + src/utils/match/match.h | 179 + src/utils/message_parser/message_parser.c | 347 + src/utils/message_parser/message_parser.h | 153 + .../message_parser/message_parser_test.c | 451 + src/utils/metadata/meta_data.c | 747 + src/utils/metadata/meta_data.h | 71 + src/utils/metadata/meta_data_test.c | 117 + src/utils/mount/mount.c | 765 + src/utils/mount/mount.h | 186 + src/utils/mount/mount_test.c | 115 + src/utils/oauth/oauth.c | 638 + src/utils/oauth/oauth.h | 66 + src/utils/oauth/oauth_test.c | 157 + src/utils/ovs/ovs.c | 1413 ++ src/utils/ovs/ovs.h | 236 + src/utils/proc_pids/proc_pids.c | 361 + src/utils/proc_pids/proc_pids.h | 231 + src/utils/proc_pids/proc_pids_test.c | 511 + src/utils/rrdcreate/rrdcreate.c | 660 + src/utils/rrdcreate/rrdcreate.h | 53 + src/utils/tail/tail.c | 225 + src/utils/tail/tail.h | 88 + src/utils/taskstats/taskstats.c | 307 + src/utils/taskstats/taskstats.h | 47 + src/utils_fbhash.c | 257 + src/utils_fbhash.h | 50 + src/utils_lua.c | 315 + src/utils_lua.h | 52 + src/utils_tail_match.c | 330 + src/utils_tail_match.h | 140 + src/uuid.c | 208 + src/valgrind.FreeBSD.suppress | 7 + src/valgrind.suppress | 7 + src/varnish.c | 1994 +++ src/virt.c | 3167 ++++ src/virt_test.c | 95 + src/vmem.c | 261 + src/vserver.c | 314 + src/wireless.c | 183 + src/write_graphite.c | 585 + src/write_http.c | 938 ++ src/write_influxdb_udp.c | 670 + src/write_kafka.c | 505 + src/write_log.c | 138 + src/write_mongodb.c | 406 + src/write_prometheus.c | 1013 ++ src/write_redis.c | 276 + src/write_riemann.c | 901 ++ src/write_riemann_threshold.c | 226 + src/write_riemann_threshold.h | 36 + src/write_sensu.c | 1274 ++ src/write_stackdriver.c | 690 + src/write_syslog.c | 639 + src/write_tsdb.c | 648 + src/xencpu.c | 150 + src/xmms.c | 68 + src/zfs_arc.c | 379 + src/zone.c | 189 + src/zookeeper.c | 250 + testwrapper.sh | 30 + version-gen.sh | 13 + 535 files changed, 248999 insertions(+) create mode 100644 .cirrus.yml create mode 100644 .clang-format create mode 100644 .github/issue_template.md create mode 100644 .gitignore create mode 100644 .gitmodules create mode 100644 .mailmap create mode 100644 .travis.yml create mode 100644 AUTHORS create mode 100644 CODEOWNERS create mode 100644 CODE_OF_CONDUCT.md create mode 100644 COPYING create mode 100644 ChangeLog create mode 100644 Makefile.am create mode 100644 README create mode 100644 bindings/java/org/collectd/api/Collectd.java create mode 100644 bindings/java/org/collectd/api/CollectdConfigInterface.java create mode 100644 bindings/java/org/collectd/api/CollectdFlushInterface.java create mode 100644 bindings/java/org/collectd/api/CollectdInitInterface.java create mode 100644 bindings/java/org/collectd/api/CollectdLogInterface.java create mode 100644 bindings/java/org/collectd/api/CollectdMatchFactoryInterface.java create mode 100644 bindings/java/org/collectd/api/CollectdMatchInterface.java create mode 100644 bindings/java/org/collectd/api/CollectdNotificationInterface.java create mode 100644 bindings/java/org/collectd/api/CollectdReadInterface.java create mode 100644 bindings/java/org/collectd/api/CollectdShutdownInterface.java create mode 100644 bindings/java/org/collectd/api/CollectdTargetFactoryInterface.java create mode 100644 bindings/java/org/collectd/api/CollectdTargetInterface.java create mode 100644 bindings/java/org/collectd/api/CollectdWriteInterface.java create mode 100644 bindings/java/org/collectd/api/DataSet.java create mode 100644 bindings/java/org/collectd/api/DataSource.java create mode 100644 bindings/java/org/collectd/api/Notification.java create mode 100644 bindings/java/org/collectd/api/OConfigItem.java create mode 100644 bindings/java/org/collectd/api/OConfigValue.java create mode 100644 bindings/java/org/collectd/api/PluginData.java create mode 100644 bindings/java/org/collectd/api/ValueList.java create mode 100644 bindings/java/org/collectd/java/GenericJMX.java create mode 100644 bindings/java/org/collectd/java/GenericJMXConfConnection.java create mode 100644 bindings/java/org/collectd/java/GenericJMXConfMBean.java create mode 100644 bindings/java/org/collectd/java/GenericJMXConfValue.java create mode 100644 bindings/java/org/collectd/java/JMXMemory.java create mode 100644 bindings/perl/Makefile.PL create mode 100644 bindings/perl/lib/Collectd.pm create mode 100644 bindings/perl/lib/Collectd/MockDaemon.pm create mode 100644 bindings/perl/lib/Collectd/Plugins/Monitorus.pm create mode 100644 bindings/perl/lib/Collectd/Plugins/OpenVZ.pm create mode 100644 bindings/perl/lib/Collectd/Unixsock.pm create mode 100644 bindings/perl/t/00_load.t create mode 100644 bindings/perl/t/01_methods.t create mode 100644 bindings/perl/uninstall_mod.pl create mode 100755 build.sh create mode 100755 clean.sh create mode 100644 configure.ac create mode 100644 contrib/99-storage-collectd.rules create mode 100644 contrib/GenericJMX.conf create mode 100644 contrib/README create mode 100644 contrib/SpamAssassin/Collectd.pm create mode 100644 contrib/SpamAssassin/example.cf create mode 100755 contrib/add_rra.sh create mode 100644 contrib/aix/collectd.spec create mode 100755 contrib/aix/init.d-collectd create mode 100644 contrib/collectd2html.pl create mode 100644 contrib/collectd_network.py create mode 100644 contrib/collectd_unix_sock.rb create mode 100644 contrib/collectd_unixsock.py create mode 100755 contrib/collection.cgi create mode 100644 contrib/collection.conf create mode 100644 contrib/collection3/README create mode 100644 contrib/collection3/bin/.htaccess create mode 100755 contrib/collection3/bin/graph.cgi create mode 100755 contrib/collection3/bin/index.cgi create mode 100755 contrib/collection3/bin/json.cgi create mode 100644 contrib/collection3/etc/.htaccess create mode 100644 contrib/collection3/etc/collection.conf create mode 100644 contrib/collection3/lib/.htaccess create mode 100644 contrib/collection3/lib/Collectd/Config.pm create mode 100644 contrib/collection3/lib/Collectd/Graph/Common.pm create mode 100644 contrib/collection3/lib/Collectd/Graph/Config.pm create mode 100644 contrib/collection3/lib/Collectd/Graph/Type.pm create mode 100644 contrib/collection3/lib/Collectd/Graph/Type/ArcCounts.pm create mode 100644 contrib/collection3/lib/Collectd/Graph/Type/Df.pm create mode 100644 contrib/collection3/lib/Collectd/Graph/Type/GenericIO.pm create mode 100644 contrib/collection3/lib/Collectd/Graph/Type/GenericStacked.pm create mode 100644 contrib/collection3/lib/Collectd/Graph/Type/JavaMemory.pm create mode 100644 contrib/collection3/lib/Collectd/Graph/Type/Load.pm create mode 100644 contrib/collection3/lib/Collectd/Graph/Type/PsCputime.pm create mode 100644 contrib/collection3/lib/Collectd/Graph/Type/TableSize.pm create mode 100644 contrib/collection3/lib/Collectd/Graph/Type/Wirkleistung.pm create mode 100644 contrib/collection3/lib/Collectd/Graph/TypeLoader.pm create mode 100644 contrib/collection3/share/.htaccess create mode 100644 contrib/collection3/share/navigate.js create mode 100644 contrib/collection3/share/shortcut-icon.png create mode 100644 contrib/collection3/share/style.css create mode 100755 contrib/curl_jolokia/curl_jolokia.conf create mode 100755 contrib/curl_jolokia/jolokia_2_collectdcfg.py create mode 100644 contrib/curl_json/php-fpm.conf create mode 100755 contrib/cussh.pl create mode 100644 contrib/docker/50docker-apt-conf create mode 100644 contrib/docker/Dockerfile create mode 100644 contrib/docker/collectd.conf create mode 100644 contrib/docker/collectd.conf.d/sample.conf create mode 100644 contrib/docker/rootfs_prefix/.gitignore create mode 100644 contrib/docker/rootfs_prefix/Makefile create mode 100644 contrib/docker/rootfs_prefix/rootfs_prefix.c create mode 100644 contrib/examples/MyPlugin.pm create mode 100644 contrib/examples/myplugin.c create mode 100755 contrib/exec-ksm.sh create mode 100644 contrib/exec-munin.conf create mode 100755 contrib/exec-munin.px create mode 100644 contrib/exec-nagios.conf create mode 100755 contrib/exec-nagios.px create mode 100755 contrib/exec-smartctl create mode 100755 contrib/format.sh create mode 100755 contrib/iptables/accounting.sh create mode 100755 contrib/migrate-3-4.px create mode 100755 contrib/migrate-4-5.px create mode 100644 contrib/network-proxy.py create mode 100644 contrib/oracle/create_schema.ddl create mode 100644 contrib/oracle/db_systat.sql create mode 100644 contrib/php-collection/browser.js create mode 100644 contrib/php-collection/config.php create mode 100644 contrib/php-collection/definitions.local.php create mode 100644 contrib/php-collection/definitions.php create mode 100644 contrib/php-collection/functions.php create mode 100644 contrib/php-collection/graph.php create mode 100644 contrib/php-collection/index.php create mode 100644 contrib/postgresql/collectd_insert.sql create mode 100644 contrib/python/getsigchld.py create mode 100644 contrib/redhat/collectd.spec create mode 100644 contrib/redhat/collection3.conf create mode 100644 contrib/redhat/init.d-collectd create mode 100644 contrib/redhat/php-collection.conf create mode 100755 contrib/rrd_filter.px create mode 100644 contrib/sles10.1/collectd.spec create mode 100755 contrib/sles10.1/init.d-collectd create mode 100644 contrib/snmp-data.conf create mode 100755 contrib/snmp-probe-host.px create mode 100644 contrib/solaris-smf/README create mode 100755 contrib/solaris-smf/collectd create mode 100644 contrib/solaris-smf/collectd.xml create mode 100644 contrib/systemd.collectd.service create mode 100644 contrib/upstart.collectd.conf create mode 100755 contrib/wiki2changelog.pl create mode 100644 docs/BUILD.dpdkstat.md create mode 100644 docs/BUILD.java.md create mode 100644 docs/CONTRIBUTING.md create mode 100644 docs/README.virt.md create mode 100644 docs/maintainer_guide.md create mode 100644 docs/review_comments.md create mode 100644 docs/review_comments_example.png create mode 100644 m4/.gitignore create mode 100644 m4/ax_compare_version.m4 create mode 100644 m4/ax_compiler_vendor.m4 create mode 100644 proto/collectd.proto create mode 100644 proto/prometheus.proto create mode 100644 proto/types.proto create mode 100644 src/aggregation.c create mode 100644 src/amqp.c create mode 100644 src/amqp1.c create mode 100644 src/apache.c create mode 100644 src/apcups.c create mode 100644 src/apple_sensors.c create mode 100644 src/aquaero.c create mode 100644 src/ascent.c create mode 100644 src/barometer.c create mode 100644 src/battery.c create mode 100644 src/battery_statefs.c create mode 100644 src/bind.c create mode 100644 src/buddyinfo.c create mode 100644 src/capabilities.c create mode 100644 src/capabilities_test.c create mode 100644 src/ceph.c create mode 100644 src/ceph_test.c create mode 100644 src/cgroups.c create mode 100644 src/check_uptime.c create mode 100644 src/chrony.c create mode 100644 src/collectd-email.pod create mode 100644 src/collectd-exec.pod create mode 100644 src/collectd-java.pod create mode 100644 src/collectd-lua.pod create mode 100644 src/collectd-nagios.c create mode 100644 src/collectd-nagios.pod create mode 100644 src/collectd-perl.pod create mode 100644 src/collectd-python.pod create mode 100644 src/collectd-snmp.pod create mode 100644 src/collectd-tg.c create mode 100644 src/collectd-tg.pod create mode 100644 src/collectd-threshold.pod create mode 100644 src/collectd-unixsock.pod create mode 100644 src/collectd.conf.in create mode 100644 src/collectd.conf.pod create mode 100644 src/collectd.pod create mode 100644 src/collectdctl.c create mode 100644 src/collectdctl.pod create mode 100644 src/collectdmon.c create mode 100644 src/collectdmon.pod create mode 100644 src/connectivity.c create mode 100644 src/conntrack.c create mode 100644 src/contextswitch.c create mode 100644 src/cpu.c create mode 100644 src/cpufreq.c create mode 100644 src/cpusleep.c create mode 100644 src/cpython.h create mode 100644 src/csv.c create mode 100644 src/curl.c create mode 100644 src/curl_jolokia.c create mode 100644 src/curl_json.c create mode 100644 src/curl_json_test.c create mode 100644 src/curl_xml.c create mode 100644 src/daemon/cmd.c create mode 100644 src/daemon/cmd.h create mode 100644 src/daemon/cmd_windows.c create mode 100644 src/daemon/collectd.c create mode 100644 src/daemon/collectd.h create mode 100644 src/daemon/configfile.c create mode 100644 src/daemon/configfile.h create mode 100644 src/daemon/filter_chain.c create mode 100644 src/daemon/filter_chain.h create mode 100644 src/daemon/globals.c create mode 100644 src/daemon/globals.h create mode 100644 src/daemon/plugin.c create mode 100644 src/daemon/plugin.h create mode 100644 src/daemon/plugin_mock.c create mode 100644 src/daemon/types_list.c create mode 100644 src/daemon/types_list.h create mode 100644 src/daemon/utils_cache.c create mode 100644 src/daemon/utils_cache.h create mode 100644 src/daemon/utils_cache_mock.c create mode 100644 src/daemon/utils_complain.c create mode 100644 src/daemon/utils_complain.h create mode 100644 src/daemon/utils_llist.c create mode 100644 src/daemon/utils_llist.h create mode 100644 src/daemon/utils_random.c create mode 100644 src/daemon/utils_random.h create mode 100644 src/daemon/utils_subst.c create mode 100644 src/daemon/utils_subst.h create mode 100644 src/daemon/utils_subst_test.c create mode 100644 src/daemon/utils_threshold.c create mode 100644 src/daemon/utils_threshold.h create mode 100644 src/daemon/utils_time.c create mode 100644 src/daemon/utils_time.h create mode 100644 src/daemon/utils_time_test.c create mode 100644 src/dbi.c create mode 100644 src/dcpmm.c create mode 100644 src/df.c create mode 100644 src/disk.c create mode 100644 src/dns.c create mode 100644 src/dpdk_telemetry.c create mode 100644 src/dpdkevents.c create mode 100644 src/dpdkstat.c create mode 100644 src/drbd.c create mode 100644 src/email.c create mode 100644 src/entropy.c create mode 100644 src/ethstat.c create mode 100644 src/exec.c create mode 100644 src/fhcount.c create mode 100644 src/filecount.c create mode 100644 src/fscache.c create mode 100644 src/gmond.c create mode 100644 src/gps.c create mode 100644 src/gpu_nvidia.c create mode 100644 src/grpc.cc create mode 100644 src/hddtemp.c create mode 100644 src/hugepages.c create mode 100644 src/infiniband.c create mode 100644 src/intel-nvme.h create mode 100644 src/intel_pmu.c create mode 100644 src/intel_rdt.c create mode 100644 src/intel_rdt_test.c create mode 100644 src/interface.c create mode 100644 src/ipc.c create mode 100644 src/ipmi.c create mode 100644 src/ipstats.c create mode 100644 src/iptables.c create mode 100644 src/ipvs.c create mode 100644 src/irq.c create mode 100644 src/java.c create mode 100644 src/libcollectdclient/client.c create mode 100644 src/libcollectdclient/collectd/client.h create mode 100644 src/libcollectdclient/collectd/lcc_features.h.in create mode 100644 src/libcollectdclient/collectd/network.h create mode 100644 src/libcollectdclient/collectd/network_buffer.h create mode 100644 src/libcollectdclient/collectd/network_parse.h create mode 100644 src/libcollectdclient/collectd/server.h create mode 100644 src/libcollectdclient/collectd/stdendian.h create mode 100644 src/libcollectdclient/collectd/types.h create mode 100644 src/libcollectdclient/libcollectdclient.pc.in create mode 100644 src/libcollectdclient/network.c create mode 100644 src/libcollectdclient/network_buffer.c create mode 100644 src/libcollectdclient/network_parse.c create mode 100644 src/libcollectdclient/network_parse_test.c create mode 100644 src/libcollectdclient/server.c create mode 100644 src/liboconfig/AUTHORS create mode 100644 src/liboconfig/COPYING create mode 100644 src/liboconfig/ChangeLog create mode 100644 src/liboconfig/aux_types.h create mode 100644 src/liboconfig/oconfig.c create mode 100644 src/liboconfig/oconfig.h create mode 100644 src/liboconfig/parser.y create mode 100644 src/liboconfig/scanner.l create mode 100644 src/load.c create mode 100644 src/log_logstash.c create mode 100644 src/logfile.c create mode 100644 src/logparser.c create mode 100644 src/logparser_test.c create mode 100644 src/lpar.c create mode 100644 src/lua.c create mode 100644 src/madwifi.c create mode 100644 src/madwifi.h create mode 100644 src/match_empty_counter.c create mode 100644 src/match_hashed.c create mode 100644 src/match_regex.c create mode 100644 src/match_timediff.c create mode 100644 src/match_value.c create mode 100644 src/mbmon.c create mode 100644 src/mcelog.c create mode 100644 src/md.c create mode 100644 src/mdevents.c create mode 100644 src/mdevents_test.c create mode 100644 src/memcachec.c create mode 100644 src/memcached.c create mode 100644 src/memory.c create mode 100644 src/mic.c create mode 100644 src/modbus.c create mode 100644 src/mqtt.c create mode 100644 src/msr-index.h create mode 100644 src/multimeter.c create mode 100644 src/mysql.c create mode 100644 src/netapp.c create mode 100644 src/netlink.c create mode 100644 src/netlink_test.c create mode 100644 src/netstat_udp.c create mode 100644 src/network.c create mode 100644 src/network.h create mode 100644 src/network_test.c create mode 100644 src/nfs.c create mode 100644 src/nginx.c create mode 100644 src/notify_desktop.c create mode 100644 src/notify_email.c create mode 100644 src/notify_nagios.c create mode 100644 src/ntpd.c create mode 100644 src/numa.c create mode 100644 src/nut.c create mode 100644 src/nvme.h create mode 100644 src/olsrd.c create mode 100644 src/onewire.c create mode 100644 src/openldap.c create mode 100644 src/openvpn.c create mode 100644 src/oracle.c create mode 100644 src/ovs_events.c create mode 100644 src/ovs_stats.c create mode 100644 src/pcie_errors.c create mode 100644 src/pcie_errors_test.c create mode 100644 src/perl.c create mode 100644 src/pf.c create mode 100644 src/pinba.c create mode 100644 src/pinba.proto create mode 100644 src/ping.c create mode 100644 src/postgresql.c create mode 100644 src/postgresql_default.conf create mode 100644 src/powerdns.c create mode 100644 src/processes.c create mode 100644 src/procevent.c create mode 100644 src/protocols.c create mode 100644 src/pyconfig.c create mode 100644 src/python.c create mode 100644 src/pyvalues.c create mode 100644 src/redfish.c create mode 100644 src/redfish_test.c create mode 100644 src/redis.c create mode 100644 src/routeros.c create mode 100644 src/rrdcached.c create mode 100644 src/rrdtool.c create mode 100644 src/sensors.c create mode 100644 src/serial.c create mode 100644 src/sigrok.c create mode 100644 src/slurm.c create mode 100644 src/smart.c create mode 100644 src/smart_test.c create mode 100644 src/snmp.c create mode 100644 src/snmp_agent.c create mode 100644 src/snmp_agent_test.c create mode 100644 src/statsd.c create mode 100644 src/swap.c create mode 100644 src/synproxy.c create mode 100644 src/sysevent.c create mode 100644 src/syslog.c create mode 100644 src/table.c create mode 100644 src/tail.c create mode 100644 src/tail_csv.c create mode 100644 src/tape.c create mode 100644 src/target_notification.c create mode 100644 src/target_replace.c create mode 100644 src/target_scale.c create mode 100644 src/target_set.c create mode 100644 src/target_v5upgrade.c create mode 100644 src/tcpconns.c create mode 100644 src/teamspeak2.c create mode 100644 src/ted.c create mode 100644 src/testing.h create mode 100644 src/thermal.c create mode 100644 src/threshold.c create mode 100644 src/tokyotyrant.c create mode 100644 src/turbostat.c create mode 100644 src/types.db create mode 100644 src/types.db.pod create mode 100644 src/ubi.c create mode 100644 src/unixsock.c create mode 100644 src/uptime.c create mode 100644 src/users.c create mode 100644 src/utils/avltree/avltree.c create mode 100644 src/utils/avltree/avltree.h create mode 100644 src/utils/avltree/avltree_test.c create mode 100644 src/utils/cmds/cmds.c create mode 100644 src/utils/cmds/cmds.h create mode 100644 src/utils/cmds/cmds_test.c create mode 100644 src/utils/cmds/flush.c create mode 100644 src/utils/cmds/flush.h create mode 100644 src/utils/cmds/getthreshold.c create mode 100644 src/utils/cmds/getthreshold.h create mode 100644 src/utils/cmds/getval.c create mode 100644 src/utils/cmds/getval.h create mode 100644 src/utils/cmds/listval.c create mode 100644 src/utils/cmds/listval.h create mode 100644 src/utils/cmds/parse_option.c create mode 100644 src/utils/cmds/parse_option.h create mode 100644 src/utils/cmds/putnotif.c create mode 100644 src/utils/cmds/putnotif.h create mode 100644 src/utils/cmds/putval.c create mode 100644 src/utils/cmds/putval.h create mode 100644 src/utils/common/common.c create mode 100644 src/utils/common/common.h create mode 100644 src/utils/common/common_test.c create mode 100644 src/utils/config_cores/config_cores.c create mode 100644 src/utils/config_cores/config_cores.h create mode 100644 src/utils/config_cores/config_cores_test.c create mode 100644 src/utils/crc32/crc32.c create mode 100644 src/utils/crc32/crc32.h create mode 100644 src/utils/curl_stats/curl_stats.c create mode 100644 src/utils/curl_stats/curl_stats.h create mode 100644 src/utils/db_query/db_query.c create mode 100644 src/utils/db_query/db_query.h create mode 100644 src/utils/deq/deq.h create mode 100644 src/utils/dmi/dmi.c create mode 100644 src/utils/dmi/dmi.h create mode 100644 src/utils/dns/dns.c create mode 100644 src/utils/dns/dns.h create mode 100644 src/utils/dpdk/dpdk.c create mode 100644 src/utils/dpdk/dpdk.h create mode 100644 src/utils/format_graphite/format_graphite.c create mode 100644 src/utils/format_graphite/format_graphite.h create mode 100644 src/utils/format_graphite/format_graphite_test.c create mode 100644 src/utils/format_json/format_json.c create mode 100644 src/utils/format_json/format_json.h create mode 100644 src/utils/format_json/format_json_test.c create mode 100644 src/utils/format_kairosdb/format_kairosdb.c create mode 100644 src/utils/format_kairosdb/format_kairosdb.h create mode 100644 src/utils/format_stackdriver/format_stackdriver.c create mode 100644 src/utils/format_stackdriver/format_stackdriver.h create mode 100644 src/utils/format_stackdriver/format_stackdriver_test.c create mode 100644 src/utils/gce/gce.c create mode 100644 src/utils/gce/gce.h create mode 100644 src/utils/heap/heap.c create mode 100644 src/utils/heap/heap.h create mode 100644 src/utils/heap/heap_test.c create mode 100644 src/utils/ignorelist/ignorelist.c create mode 100644 src/utils/ignorelist/ignorelist.h create mode 100644 src/utils/latency/latency.c create mode 100644 src/utils/latency/latency.h create mode 100644 src/utils/latency/latency_config.c create mode 100644 src/utils/latency/latency_config.h create mode 100644 src/utils/latency/latency_test.c create mode 100644 src/utils/lookup/vl_lookup.c create mode 100644 src/utils/lookup/vl_lookup.h create mode 100644 src/utils/lookup/vl_lookup_test.c create mode 100644 src/utils/match/match.c create mode 100644 src/utils/match/match.h create mode 100644 src/utils/message_parser/message_parser.c create mode 100644 src/utils/message_parser/message_parser.h create mode 100644 src/utils/message_parser/message_parser_test.c create mode 100644 src/utils/metadata/meta_data.c create mode 100644 src/utils/metadata/meta_data.h create mode 100644 src/utils/metadata/meta_data_test.c create mode 100644 src/utils/mount/mount.c create mode 100644 src/utils/mount/mount.h create mode 100644 src/utils/mount/mount_test.c create mode 100644 src/utils/oauth/oauth.c create mode 100644 src/utils/oauth/oauth.h create mode 100644 src/utils/oauth/oauth_test.c create mode 100644 src/utils/ovs/ovs.c create mode 100644 src/utils/ovs/ovs.h create mode 100644 src/utils/proc_pids/proc_pids.c create mode 100644 src/utils/proc_pids/proc_pids.h create mode 100644 src/utils/proc_pids/proc_pids_test.c create mode 100644 src/utils/rrdcreate/rrdcreate.c create mode 100644 src/utils/rrdcreate/rrdcreate.h create mode 100644 src/utils/tail/tail.c create mode 100644 src/utils/tail/tail.h create mode 100644 src/utils/taskstats/taskstats.c create mode 100644 src/utils/taskstats/taskstats.h create mode 100644 src/utils_fbhash.c create mode 100644 src/utils_fbhash.h create mode 100644 src/utils_lua.c create mode 100644 src/utils_lua.h create mode 100644 src/utils_tail_match.c create mode 100644 src/utils_tail_match.h create mode 100644 src/uuid.c create mode 100644 src/valgrind.FreeBSD.suppress create mode 100644 src/valgrind.suppress create mode 100644 src/varnish.c create mode 100644 src/virt.c create mode 100644 src/virt_test.c create mode 100644 src/vmem.c create mode 100644 src/vserver.c create mode 100644 src/wireless.c create mode 100644 src/write_graphite.c create mode 100644 src/write_http.c create mode 100644 src/write_influxdb_udp.c create mode 100644 src/write_kafka.c create mode 100644 src/write_log.c create mode 100644 src/write_mongodb.c create mode 100644 src/write_prometheus.c create mode 100644 src/write_redis.c create mode 100644 src/write_riemann.c create mode 100644 src/write_riemann_threshold.c create mode 100644 src/write_riemann_threshold.h create mode 100644 src/write_sensu.c create mode 100644 src/write_stackdriver.c create mode 100644 src/write_syslog.c create mode 100644 src/write_tsdb.c create mode 100644 src/xencpu.c create mode 100644 src/xmms.c create mode 100644 src/zfs_arc.c create mode 100644 src/zone.c create mode 100644 src/zookeeper.c create mode 100755 testwrapper.sh create mode 100755 version-gen.sh diff --git a/.cirrus.yml b/.cirrus.yml new file mode 100644 index 0000000..ab88daf --- /dev/null +++ b/.cirrus.yml @@ -0,0 +1,225 @@ +env: + LANG: C + CIRRUS_CLONE_DEPTH: 1 + DEFAULT_CONFIG_OPTS: --enable-debug --without-libstatgrab --disable-dependency-tracking + + +### +# make distcheck and other sanity checks +# +release_ready_task: + container: + image: collectd/ci:stretch_amd64 + lint_script: + - /checks/check-bashisms.sh + - /checks/check-pod.sh + configure_script: + - ./build.sh + - ./configure $DEFAULT_CONFIG_OPTS + checks_script: + - make -j2 -s distcheck DISTCHECK_CONFIGURE_FLAGS="${DEFAULT_CONFIG_OPTS}" + +### +# Default toolchain and build flags used in deb packages, on a range of Debian +# and Ubuntu releases (+ Debian/unstable) +# Most should succeed, and PRs shouldn't break them. +# +debian_default_toolchain_task: + matrix: + - allow_failures: false + container: + image: collectd/ci:jessie_amd64 + - allow_failures: false + container: + image: collectd/ci:stretch_amd64 + - allow_failures: false + container: + image: collectd/ci:stretch_i386 + - allow_failures: false + container: + image: collectd/ci:trusty_amd64 + - allow_failures: false + container: + image: collectd/ci:xenial_amd64 + # debian/unstable is expected to fail + - allow_failures: true + skip_notifications: true + only_if: $CIRRUS_BRANCH == 'master' + container: + image: collectd/ci:sid_amd64 + configure_script: + - ./build.sh + - gcc --version + - > + ./configure CC=gcc $DEFAULT_CONFIG_OPTS + CFLAGS="$(dpkg-buildflags --get CFLAGS)" + CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)" + LDFLAGS="$(dpkg-buildflags --get LDFLAGS)" + build_script: + - make -j2 -sk + tests_script: + - make -j2 -sk check + - /checks/check-built-plugins.sh + +### +# Default toolchain and build flags used in RPM packages, on a range of RedHat +# and Fedora releases (+ Fedora/rawhide) +# Most should succeed, and PRs shouldn't break them. +# +redhat_default_toolchain_task: + matrix: + - allow_failures: false + skip_notifications: false + container: + image: collectd/ci:el6_x86_64 + - allow_failures: true + skip_notifications: true + container: + image: collectd/ci:el7_x86_64 # TODO: fix this platform + - allow_failures: true + skip_notifications: true + container: + image: collectd/ci:fedora28_x86_64 + # fedora/rawhide is expected to fail + - allow_failures: true + skip_notifications: true + only_if: $CIRRUS_BRANCH == 'master' + container: + image: collectd/ci:fedora_rawhide_x86_64 + configure_script: + - ./build.sh + - gcc --version + - ./configure CC=gcc $DEFAULT_CONFIG_OPTS CFLAGS="$(rpm --eval '%optflags')" + build_script: + - make -j2 -sk + tests_script: + - make -j2 -sk check + - /checks/check-built-plugins.sh + + +### +# Misc non-standard build environment & options on most recent released debian +# version. +# Some are expected to fail, others should always pass +non_standard_toolchains_task: + container: + image: collectd/ci:stretch_amd64 + only_if: $CIRRUS_PR == '' + + matrix: + + # build using clang with default build flags, should always pass + - env: + LABEL: clang + allow_failures: true # TODO: fix this platform + skip_notifications: true + configure_script: + - ./build.sh + - clang --version + - > + ./configure CC=clang CXX=clang++ + $DEFAULT_CONFIG_OPTS + CFLAGS="$(dpkg-buildflags --get CFLAGS)" + CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)" + LDFLAGS="$(dpkg-buildflags --get LDFLAGS)" + build_script: + - make -j2 -sk + tests_script: + - make -j2 -sk check + + # build against libstatgrab, should always pass + - env: + LABEL: statgrab + allow_failures: false + skip_notifications: false + configure_script: + - ./build.sh + - gcc --version + - > + ./configure --with-libstatgrab --enable-debug + CFLAGS="$(dpkg-buildflags --get CFLAGS)" + CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)" + LDFLAGS="$(dpkg-buildflags --get LDFLAGS)" + build_script: + - make -j2 -sk + tests_script: + - > + for i in cpu disk interface load memory swap users; do + if ! $(ldd ".libs/${i}.so" 2>/dev/null | grep -q 'libstatgrab.so'); then + echo "plugin $i NOT linked against libstatgrab" + exit 1 + fi + done + + # build using clang with a collection of strict build flags, will most + # probably always fail + - env: + LABEL: clang strict + allow_failures: true + skip_notifications: true + configure_script: + - ./build.sh + - clang --version + - > + ./configure CC=clang CXX=clang++ + $DEFAULT_CONFIG_OPTS + CFLAGS='-Wall + -Wno-error + -Wextra + -Wformat=2 + -Wformat-security + -Wformat-nonliteral + -Wmissing-include-dirs + -Wold-style-definition + -Wpointer-arith + -Winit-self + -Wmissing-prototypes + -Wimplicit-function-declaration + -Wmissing-declarations + -Wstrict-prototypes + -Wmissing-noreturn + -Wshadow + -Wendif-labels + -Wwrite-strings + -Wno-unused-parameter + -Wno-missing-field-initializers + -Wdate-time + -Wnested-externs + -Wno-typedef-redefinition + -Wno-gnu-variable-sized-type-not-at-end' + build_script: + - make -j2 -sk + tests_script: + - make -j2 -sk check + +### +# Build using a range of compilers, available in debian/unstable. NB: might +# fail because of changes to the distro, not the compiler used. +# +bleeding_edge_compilers_task: + container: + image: collectd/ci:sid_amd64 + only_if: $CIRRUS_BRANCH == 'master' + allow_failures: true + skip_notifications: true + env: + matrix: + CC: gcc-7 + CC: gcc-8 + CC: clang-6.0 + CC: clang-7 + CC: clang-8 + CC: clang-9 + configure_script: + - ./build.sh + - $CC --version + - > + ./configure CC=$CC + $DEFAULT_CONFIG_OPTS + CFLAGS="$(dpkg-buildflags --get CFLAGS)" + CPPLAGS="$(dpkg-buildflags --get CPPFLAGS)" + LDFLAGS="$(dpkg-buildflags --get LDFLAGS)" + build_script: + - make -j2 -sk + tests_script: + - make -j2 -sk check diff --git a/.clang-format b/.clang-format new file mode 100644 index 0000000..70f50ad --- /dev/null +++ b/.clang-format @@ -0,0 +1,5 @@ +--- +BasedOnStyle: LLVM +IncludeCategories: + - Regex: '"collectd.h"' + - Priority: -1 diff --git a/.github/issue_template.md b/.github/issue_template.md new file mode 100644 index 0000000..05d2987 --- /dev/null +++ b/.github/issue_template.md @@ -0,0 +1,17 @@ +* Version of collectd: +* Operating system / distribution: +* Kernel version (if applicable): + +## Expected behavior + +(Description of the behavior / output that you expected) + +## Actual behavior + +(Description of the behavior / output that you observed) + +## Steps to reproduce + +* step 1 +* step 2 +* step 3 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..afdbe5c --- /dev/null +++ b/.gitignore @@ -0,0 +1,107 @@ +# build.sh stuff: +Makefile.in +/INSTALL +/aclocal.m4 +/autom4te.cache +/autom4te.cache +/build-aux/ +/compile +/config.guess +/config.sub +/configure +/depcomp +/install-sh +/libltdl/ +/ltmain.sh +/m4/libtool.m4 +/m4/ltargz.m4 +/m4/ltdl.m4 +/m4/lt~obsolete.m4 +/m4/ltoptions.m4 +/m4/ltsugar.m4 +/m4/ltversion.m4 +/missing +/src/config.h.in + +# configure stuff: +Makefile +config.log +config.status +libtool +src/collectd.conf +src/config.h +src/libcollectdclient/libcollectdclient.pc +src/stamp-h1 + +# make stuff: +*.la +*.lo +*.o +.dirstamp +.libs/ +.deps/ +/collectd-nagios +/collectd-tg +/collectdctl +/collectdmon +src/*.1 +src/*.5 +src/.pod2man.tmp.* +src/libcollectdclient/collectd/lcc_features.h + +# patch stuff +*.rej +*.orig + +# lex / yacc stuff: +ylwrap +src/liboconfig/parser.c +src/liboconfig/parser.h +src/liboconfig/scanner.c + +# protobuf stuff: +*.pb-c.[ch] +*.grpc.pb.cc +*.pb.cc +*.pb.h + +# make dist stuff: +/collectd-*.tar.gz +/collectd-*.tar.bz2 + +# perl stuff: +/.perl-directory-stamp +bindings/perl/Collectd/pm_to_blib +bindings/perl/blib/ +bindings/perl/pm_to_blib +/buildperl + +# java stuff +*.jar +/org/collectd/api/*.class +/org/collectd/java/*.class +/bindings/java/java-build-stamp +/classnoinst.stamp + +# python stuff +*.pyc + +# backup stuff +*~ + +# lint stuff +*.ln + +#ide stuff +.vscode + +# cscope stuff +cscope.* + +# Unit tests +test-suite.log +src/tests/ +test_* + +# src/daemon/... +/collectd diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..009ae43 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "gnulib"] + path = gnulib + url = git://git.savannah.gnu.org/gnulib.git diff --git a/.mailmap b/.mailmap new file mode 100644 index 0000000..a39a1d2 --- /dev/null +++ b/.mailmap @@ -0,0 +1,9 @@ +Anthony +Florian Forster +Florian Forster +LuboÅ¡ Staněk +LuboÅ¡ Staněk +Niki W. Waibel +Sebastian Harl +Rodolphe Quiedeville + diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..ca25dee --- /dev/null +++ b/.travis.yml @@ -0,0 +1,146 @@ +# Travis CI configuration file +# https://travis-ci.org/collectd/collectd +language: c + +env: + global: + - MAKEFLAGS="-j 2" + # The next declaration is the encrypted COVERITY_SCAN_TOKEN, created + # via the "travis encrypt" command using the project repo's public key + - secure: "ZdWWp0XX3C4sLIp4lqeQTWC7vt+GsWjmyRiD17T9833NBAW4dddz310I6iyeXe6oX09ZFFiVIN4ogx9ANcNBx9jriGXI2/82nBhpxOJBebet8JCNS5VeTr4rDSfQOKP+Oc+ko5KbbghTuAtO2CFYiH3jZUcn4TdsYbVanf+TwUs=" + +matrix: + include: + - os: osx + osx_image: xcode11.2 + compiler: clang + jdk: openjdk10 + env: + - CXX=clang++ + - PATH="/usr/local/opt/mysql-client/bin:$PATH" + - JAVA_HOME="/Library/Java/JavaVirtualMachines/openjdk-13.jdk/Contents/Home" + - os: linux + dist: bionic + compiler: clang + jdk: openjdk10 + - os: linux + dist: bionic + compiler: gcc + jdk: openjdk10 + +before_install: + # When building the coverity_scan branch, allow only the first job to continue to avoid travis-ci/travis-ci#1975. + - if [[ "${TRAVIS_BRANCH}" == "coverity_scan" && ! "${TRAVIS_JOB_NUMBER}" =~ \.1$ ]]; then exit 0; fi + +before_script: autoreconf -vif + +script: + - if [[ "${TRAVIS_BRANCH}" == "coverity_scan" ]]; then exit 0; fi + - type pkg-config + - pkg-config --list-all | sort -u + - ./configure + - cat config.log + - make distcheck DISTCHECK_CONFIGURE_FLAGS="--disable-dependency-tracking --enable-debug" + +addons: + apt: + packages: + - autotools-dev + - iptables-dev + - libatasmart-dev + - libcap-dev + - libcurl4-gnutls-dev + - libdbi0-dev + - libesmtp-dev + - libganglia1-dev + - libgcrypt11-dev + - libglib2.0-dev + - libgps-dev + - libhiredis-dev + - libi2c-dev + - libldap2-dev + - libltdl-dev + - liblua50-dev + - liblua5.1-0-dev + - liblua5.2-dev + - libmemcached-dev + - libmicrohttpd-dev + - libmnl-dev + - libmodbus-dev + - libmosquitto-dev + - libmysqlclient-dev + - libnotify-dev + - libopenipmi-dev + - liboping-dev + - libow-dev + - libpcap-dev + - libperl-dev + - libpq-dev + - libprotobuf-c0-dev + - librabbitmq-dev + - librdkafka-dev + - libriemann-client-dev + - librrd-dev + - libsensors4-dev + - libsigrok-dev + - libsnmp-dev + - libtokyocabinet-dev + - libtokyotyrant-dev + - libudev-dev + - libupsclient-dev + - libvarnish-dev + - libvirt-dev + - libxen-dev + - libxml2-dev + - libyajl-dev + - linux-libc-dev + - perl + - protobuf-c-compiler + - python3-dev + - python-dev + - xfslibs-dev + coverity_scan: + project: + name: "collectd/collectd" + description: "Build submitted via Travis CI" + notification_email: collectd-changes@verplant.org + build_command_prepend: "./configure; make clean" + build_command: "make -j $(nproc)" + branch_pattern: coverity_scan + homebrew: + packages: + - curl + - glib + - hiredis + - libdbi + - libmemcached + - libmicrohttpd + - libmodbus + - libnotify + - liboping + - libpcap + - librdkafka + - libvirt + - libxml2 + - lua + - mongo-c-driver + - mosquitto + - mysql-client + - net-snmp + - openldap + - perl + - protobuf + - protobuf-c + - python + - qpid-proton + - rabbitmq-c + - riemann-client + - rrdtool + - tokyo-cabinet + - varnish + - yajl + +git: + quiet: true + submodules: false + depth: 1 diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..61a15f7 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,426 @@ +Permanent project members +========================= + +Florian "octo" Forster + - Initial author. + +Marc Fournier + - Various fixes to the varnish plugin. + - RPM specfile maintenance. + - libmnl support in the netlink plugin. + - linux support in the zfs_arc plugin. + - openldap plugin. + - continuous integration system. + +Matthias Runge + - general house keeping. + +Pierre-Yves Ritschard + - Write-Riemann plugin. + - Write-Graphite plugin: Notification support. + - Write-Kafka plugin. + - Log-Logstash plugin. + - Normalization in the CPU plugin. + - Relative values in the Load plugin. + +Ruben Kerkhof + - Bugfixes and enhancements in many places all around the project. + - Fedora and EPEL packages. + +Sebastian "tokkee" Harl + - Bugfixes and enhancements in many places all around the project. + - grpc plugin. + - perl plugin. + - postgresql plugin. + - users plugin. + - vserver plugin. + - Debian package. + + +Contributors (sorted alphabetically) +==================================== + +Adrian Boczkowski + - Logparser plugin. + - Redfish plugin. + +Akkarit Sangpetch + - write_mongodb plugin. + +Alessandro Iurlano + - Initial filecount plugin. + +Alex Deymo + - aquaero plugin. + +Alvaro Barcellos + - Don't-fork patch. + +Amit Gupta + - Multiple servers in the apache plugin. + - curl_xml plugin. + +Andreas Henriksson + - libmnl support in the netlink plugin. + +Andrew Bays + - connectivity plugin. + - procevent plugin. + - sysevent plugin. + - connectivity plugin. + +Andy Parkins + - battery plugin: sysfs code. + +Andy Smith + - AMQP 1.0 plugin. + +Aneesh Puttur + - connectivity plugin. + +Anthony Dewhurst + - zfs_arc plugin. + +Anthony Gialluca + - apcups plugin. + +Antony Dovgal + - memcached plugin. + +Asaf Kahlon + - buddyinfo plugin + +Aurélien Reynaud + - LPAR plugin. + - Various fixes for AIX, HP-UX and Solaris. + +Benjamin Gilbert + - Improvements to the LVM plugin. + +Bert Vermeulen + - sigrok plugin + +Brett Hawn + - write_tsdb plugin for http://opentsdb.net/ + +Bruno Prémont + - BIND plugin. + - Many bug reports and -fixes in various plugins, + especially a nasty bug in the network plugin. + - Wireshark dissector. + +Carlos Peon Costa + - Write_Influxdb_UDP plugin + +Chad Malfait + - LVM plugin. + +Chris Brown + - Zookeeper plugin, add quorum stat. + +Chris Lundquist + - Improvements to the write_mongodb plugin. + +Christophe Kalt + - The version 3 `log' mode. + - Many Solaris related hints and fixes. + +Claudius Zingerli + - chrony plugin. + +Cyril Feraudet + - ethstat plugin. + +Dagobert Michelsen + - zone plugin. + - Many Solaris related hints and fixes. + - Capabilities plugin. + - NFS plugin for BSD + +Dan Berrange + - uuid plugin. + +Dan Ryder + - ceph plugin. + +David Bacher + - serial plugin. + +Denis Pompilio + - Improvements to the write_http plugin. + +Dheeraj Gupta + - Tail_CSV plugin, field separator option + +Doug MacEachern + - The `-T' option (config testing mode). + - OpenVPN plugin. + - jcollectd (two-way JMX integration). + - A few other patches to various plugins. + - curl_json plugin. + +Edgar Fuß + - NFS plugin implementation on NetBSD + +Edward “Koko” Konetzko + - fscache plugin. + +Evan Felix + - mic plugin. + +Fabian Linzberger + - Percentage aggregation for `collectd-nagios'. + +Fabien Wernli + - Solaris improvements in the memory and interfaces plugin. + +Fabrice A. Marie + - write_sensu plugin. + +Flavio Stanchina + - mbmon plugin. + +Franck Lombardi + - UNIX socket code for the memcached plugin. + +Gergely Nagy + - Write-Riemann plugin. + +Hari TG + - dcpmm plugin. + +Jason Pepas + - nfs plugin. + +J. Javier Maestro + - Write-Graphite plugin: UDP support and LogSendErrors flag. + +Jeremy Katz + - percentage reporting in memory and swap plugins. + - zookeeper plugin. + +Jérôme Renard + - varnish plugin. + +Jiri Tyr + - fhcount plugin. + +Julien Ammous + - Lua plugin. + +Kamil Wiatrowski + - Capabilities plugin. + - Logparser plugin. + +Kevin Bowling + - write_tsdb plugin for http://opentsdb.net/ + +Kimo Rosenbaum + - openldap plugin. + +Kris Nielander + - tail_csv plugin. + +Krzysztof Kepka + - Redfish plugin. + +Krzysztof Matczak + - Logparser plugin. + +LuboÅ¡ Staněk + - sensors plugin improvements. + - Time and effort to find a nasty bug in the ntpd-plugin. + +Luke Herberling + - powerdns plugin. + - Initial `tail' subsystem by: + +Lyonel Vincent + - processes plugin. + +Man Singh + - Redfish plugin. + +Manuel Sanmartin + - AIX port of the following plugins: + + cpu + + disk + + interface + + load + + memory + + processes + + swap + - Various AIX-related fixes and hacks. + +Marcin Mozejko + - Logparser plugin. + - Redfish plugin. + +Marco Chiappero + - uptime plugin. + - ip6tables support in the iptables plugin. + - openvpn plugin (support for more status file formats) + +Märt Bakhof + - TLS support for AMQP plugin + +Mathijs Möhlmann + - zone plugin. + +Michael Hanselmann + - md plugin. + +Michael Schenck + - IO time support to disk plugin. + +Michael Stapelberg + - OpenBSD port of the tcpconns plugin. + - cgroups plugin. + +Michal Kobylinski + - Redfish plugin. + +Michał Mirosław + - thermal plugin. + - Streamlines recursive directory traversion. + +Mirko Buffoni + - Port/Socket selection in the MySQL plugin. + +Nicolas Jourden + - gps plugin. + +Niki W. Waibel + - Initial autotools fixes. + - libltdl code. + - getmnt-wizardry. + +Oleg King + - Added support for the statgrab library to + + the cpu plugin, + + the disk plugin, and + + the users plugin. + +Ondrej Zajicek + - madwifi plugin. + +Pablo Llopis + - Slurm plugin + - RestoreAffinityPolicy in turbostat plugin + +Patrik Weiskircher + - Contextswitch plugin. + - Forkrate counter in the processes plugin. + - INode count in the DF plugin. + +Paul Sadauskas + - tokyotyrant plugin. + - `ReportByDevice' option of the df plugin. + - write_http plugin. + +Pavel Rochnyack + - xencpu plugin. + - Bugfixes and enhancements in many places all around the project. + +Peter Holik + - cpufreq plugin. + - multimeter plugin. + - irq plugin. + - Some bugfixes in the exec plugin. + - Notifications in the ipmi plugin. + +Pierre Lebleu + - UBI plugin. + +Phoenix Kayo + - pinba plugin. + +Piotr Hosowicz + - SMF manifest for collectd. + +Radoslaw Jablonski + - Logparser plugin. + +Reshma Pattan + - DPDK Telemetry plugin. + +Richard W. M. Jones + - virt plugin. + - uuid plugin. + +Roman Klesel + - Oracle schema and sample SQL statements to be used with the Oracle plugin. + +Rodolphe Quiédeville + - Lock statistics in the mysql plugin. + +Scott Garrett + - tape plugin. + +Scott Sanders + - Write-Graphite plugin. + +Sebastien Pahl + - AMQP 0.9 plugin. + +Serhiy Pshyk + - intel_pmu plugin + - intel_rdt plugin + - snmp_agent plugin + +Shirly Radco + - write_syslog plugin. + +Simon Kuhnle + - OpenBSD code for the cpu and memory plugins. + +Sjoerd van der Berg + - iptables plugin. + +Stefan Hacker + - teamspeak2 plugin. + +Steven Bell + - nut plugin. + +Sven Trenkel + - netapp plugin. + - python plugin. + +Takuro Ashie + - Network plugin fixes. + +Tim Laszlo + - drbd plugin. + +Thomas Meson + - Graphite support for the AMQP plugin. + +Tomasz Pala + - conntrack plugin. + +Tommie Gannert + - PID-file patch. + +Vincent Bernat + - smart plugin. + +Vincent Brillault + - turbostat plugin, based on Len Brown kernel tool + +Vincent Stehlé + - hddtemp plugin. + +Wilfried Goesgens + - linux support in the zfs_arc plugin. + +Xin Li + - FreeBSD port of the ZFS-ARC plugin. + +Zoltan Szabo + - Redfish plugin. + +collectd is available at: + + +Enjoy :) diff --git a/CODEOWNERS b/CODEOWNERS new file mode 100644 index 0000000..f60ab20 --- /dev/null +++ b/CODEOWNERS @@ -0,0 +1,46 @@ +# Code ownership information. +# See +# https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners +# for details. + +# Order is important; the *last* matching pattern takes precedence. + +# Default +# +# These owners will be the default owners for everything in the repo. Unless a +# later match takes precedence, @collectd/trusted-contributors will be +# requested for review when someone opens a pull request. +* @collectd/trusted-contributors + +# Per-plugin owners +# +# These plugins are owned by subject matter experts and require their review. +/src/intel_pmu.c @collectd/intel +/src/intel_rdt.c @collectd/intel +/src/ipmi.c @collectd/intel +/src/mcelog.c @collectd/intel +/src/virt.c @collectd/intel +# TODO(#2926): Add the following owners: +#/src/redfish.c @collectd/intel + +# Core +# +# The daemon and some plugins with a huge "blast radius" are considered "core" +# to the collectd project and require review form a "core owner". +/CODEOWNERS @collectd/core-maintainers +/src/daemon/ @collectd/core-maintainers +/src/liboconfig/ @collectd/core-maintainers +/src/cpu.c @collectd/core-maintainers +/src/df.c @collectd/core-maintainers +/src/disk.c @collectd/core-maintainers +/src/exec.c @collectd/core-maintainers +/src/interface.c @collectd/core-maintainers +/src/memory.c @collectd/core-maintainers +/src/network.* @collectd/core-maintainers +/src/utils/avltree/ @collectd/core-maintainers +/src/utils/common/ @collectd/core-maintainers +/src/utils_fbhash.* @collectd/core-maintainers +/src/utils/heap/ @collectd/core-maintainers +/src/utils/ignorelist/ @collectd/core-maintainers +/src/utils/metadata/ @collectd/core-maintainers +/src/utils/mount/ @collectd/core-maintainers diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..aca1ed8 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,139 @@ +# Code of Conduct + +Contributor Covenant 2.0 + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement. Currently +responsible are: + +* Florian Forster <octo at collectd.org> +* Kinga Grabarczyk <kinga.grabarczyk at intel.com> +* Nikolay Tsvetkov <n.tsvetkov at cern.ch> +* Sunku Ranganath <sunku.ranganath at intel.com> + +You can reach this group by sending an email to: +<conduct at collectd.org>. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. + diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..191af71 --- /dev/null +++ b/COPYING @@ -0,0 +1,371 @@ +collectd consists of a daemon and numerous plugins. The daemon is licensed +under the "MIT License"; its source files are located at src/daemon/. The +plugins are licenses individually, please check the top of the plugin's source +file(s) to see which license applies. The majority of plugins is licensed +either under the "MIT License" or the "GNU General Public License". + +The "MIT License" and "GNU General Public License" follow. Other licenses, not +included in this file, should be considered "as published by the Open Source +Initiative (OSI)". + +MIT License +=========== +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +GNU General Public License (GPL) +================================ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..074b3c3 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,4497 @@ +2020-09-03, Version 5.12.0 + * varnish plugin: Added varnish 6 support. Thanks to Charly Koza, Ismael + Puerto. #3445 + * amqp1 plugin: New options to limit send queue length has been added. + Thanks to Ryan McCabe. #3432 + * mdevents plugin: New plugin to generate notifications about events in + RAID arrays. Thanks to Krzysztof Kazimierczak, Maciej Fijałkowskii, + Michał Kobyliński. #2841 + * amqp plugin: Updated option to allow multiple hosts to support + failover. Thanks to Märt Bakhoff. #3410 + * mysql plugin: Reporting of the fields Slave_IO_Running and + Slave_SQL_Running has been added. Thanks to Thomas Mieslinger. #3463 + * write_http plugin: libcurl default HTTP response has been moved to a + buffer instead of stdout. Thanks to Duane Waddle. #3263 + * disk plugin: Provided an udev rule with ID_SERIAL based attribute so + disk and partition data don't get mixed incorrectly in udev-based disk + naming. Thanks to Maciej S. Szmigiero. #3441 + * swap plugin: Implementation for NetBSD has been added. Thanks to + HÃ¥vard Eidnes, Edgar Fuß. #3501 + * netstat_udp plugin: New plugin ((currently NetBSD-only) to report UDP + summary statistics has been aded. Thanks to HÃ¥vard Eidnes, Edgar Fuß. + #3502 + * smart plugin: SMART plugin has been extended with NVMe device + functionality. Thanks to Bartłomiej Kotłowski, Paweł Å»ak, + Sławomir Strehlau. #3510 + * infiniband plugin: New plugin to collect metrics about IB ports has + been added. Thanks to Luke Yeager. #3494 + * snmp plugin: Count option was added allowing to gather the number of + table entries (matching given criteria) rather than their values. + Thanks to Edgar Fuß. #3504 + * cpu plugin: Implementation for NetBSD has been added. Thanks to + HÃ¥vard Eidnes, Edgar Fuß. #3496 + * irq plugin: Implementation for NetBSD has been added. Thanks to + HÃ¥vard Eidnes, Edgar Fuß. #3498 + * processes plugin: Implementation for NetBSD has been added. Thanks to + HÃ¥vard Eidnes, Edgar Fuß. #3500 + * entropy plugin: Implementation for NetBSD has been added. Thanks to + HÃ¥vard Eidnes, Edgar Fuß. #3497 + * netlink plugin: VFs statistics and link info has been added. Thanks + to Kamil Wiatrowski. #3487 + * memory plugin: Implementation for NetBSD has been added. Thanks to + HÃ¥vard Eidnes, Edgar Fuß. #3499 + * curl_jolokia plugin: New plugin has been added to integrate jolokia to + fetch jmx counters via HTTP/json. Thanks to Wilfried Goesgens. #2470 + * write_sensu plugin: IncludeSource option has been added. Thanks to + Märt Bakhoff. #3398 + * intel_pmu plugin: Check for libjevents version has been improved. + Thanks to Kamil Wiatrowski. #3407 + * python plugin: Error-handling code of PyType_Ready has been added. + Thanks to Jia Zhouyang. #3402 + * collectd: Updated specfile for EL8. Thanks to Fabien Wernli. #3346 + * openvpn plugin: Parsing of empty fields has been fixed. Thanks to + Pavel Rochnyak. #3425 + * dpdk_telemetry plugin: Build issues has been fixed. Thanks to Fabrice + Fontaine. #3439 + * mqtt plugin: A problem with stuck after 20 (qos=1) messages has been + fixed. Thanks to Viulian. #2730 + * varnish plugin: Target in category for varnish 6 has been added. + Thanks to Charly Koza. #3446 + * mqtt plugin: Resubscribe after a reconnect. Thanks to Maciej + S. Szmigiero. #3452 + * zookeeper plugin: Missing 3.5 mntr fields has been added. Thanks to + Théophane Charbonnier. #3450 + * sensors plugin: The documentation has been improved. Thanks to Florian + Forster. #3443 + * types.db(5): Documentation of metric definitions has been improved. + Thanks to Florian Forster. #3458 + * intel_pmu plugin: The possible crash on plugin init has been fixed. + Thanks to Kamil Wiatrowski. #3480 + * processes plugin: Size of reading buffer for /proc/stat has been + increased. Thanks to Mhumpula. #3479 + * ubi plugin: Data source type has been fixed from counter to gauge. + Thanks to Florian Eckert. #3486 + * intelrdt plugin: NaN values in csv output has been fixed. Thanks to + Michał Aleksiński, Paweł Tomaszewski. #3503 + * capabilities plugin: Conditionalized return type for microhttpd + callback functions. Thanks to José M. Guisado. #3512 + * write_prometheus plugin: fix for libmicrohttpd api change. Thanks to + Bernd Zeimetz. #3514 + * nfs plugin: NetBSD implementation has been fixed, undefined + suppress_warning variable has been removed. Thanks to Edgar Fuß. #3495 + * collection3: Some small titles has been improved from {type_instance} + to {instance}. Thanks to Christian Tacke. #3476 + * slurm plugin: Compatibility with Slurm versions >= 20.02 has been + provided. Thanks to Pablo Llopis. #3518 + * collectd: Build fix: duplicate switch case has been removed. Thanks to + Sebastian Schmidt. #3536 + * infiniband plugin: The build has been fixed by linking with + libignorelist. Thanks to Luke Yeager. #3516 + * curl plugin: Memory leak has been fixed. Thanks to Barbara + Kaczorowska. #3547 + * network plugin: Initialization of sockent_t has been simplified. + Thanks to Florian Forster, Dagobert Michelsen. #3543 + * mysql plugin: Compatibility with MariaDB >=10.5 has been fixed. Thanks + to Alexander Meshcheryakov. #3548 + * zookeeper plugin: Missing mntr fields has been fixed. Thanks to + Théophane Charbonnier. #3449 + * ceph plugin: An incorrect close on file descriptor 0 has been fixed. + Thanks to Florian Forster. #3459 + * snmp_agent plugin: A strncat() truncation warning has been fixed. + Thanks to Florian Forster. #3564 + + +2020-03-15, Version 5.11.0 + * collectd: A Code of Conduct has been added. Thanks to Florian Forster. + #3401 + * text protocol: Support for meta_data in PUTVAL has been added. Thanks + to Rafael Marinheiro, Dagobert Michelsen. #3381, #2726 + * utils_cache: Internal API has changed - exposed meta_data_toc + function. Thanks to Javier Kohen. #3339 + * filter_chain: Auto load matches and targets if AutoLoadPlugin option + is set. Thanks to Manuel Luis Sanmartín Rozada. #1034 + * AMQP plugin: TLS support has been added. Thanks to Märt Bakhoff. + #3391 + * Battery plugin: Read from Linux sysfs charge files has been added. + Thanks to Nimrod Maclomhair. #3190 + * Buddyinfo plugin: New plugin for memory fragmentation info has been + added. Thanks to Asaf Kahlon. #3303 + * capabilities plugin: New plugin to read static platform data has been + added. Thanks to Kamil Wiatrowski, Dagobert Michelsen. #3384, #3292 + * DCPMM plugin: New plugin for Intel Optane DC Presistent Memory (DCPMM) + has been added. Thanks to Hari TG. #3274 + * DF plugin: LogOnce option has been added. Thanks to themylogin. #2910 + * DPDK Telemetry plugin: New plugin to fetch DPDK metrics (with intent + to replace dpdk_stat) has been added. Thanks to Reshma Pattan. #3273 + * Disk plugin: A native (sysctl-based) implementation for NetBSD has + been added. Thanks to Edgar Fuß, Dagobert Michelsen. #3379, #3334 + * GPU_Nvidia‏‎ plugin: Configurable plugin instance by GPU name + and/or GPU index has been added. Thanks to Robert Dietrich. #3264 + * Intel_PMU plugin: Support for uncore multi pmu has been added. Thanks + to Kamil Wiatrowski. #3388 + * Ipstats plugin: New plugin to count incoming, outgoing, forwarded + packets on FreeBSD has been added. Thanks to Marco van Tol. #3187 + * Java plugin: Support boolean input has been added. Thanks to Caden. + #3044 + * Logparser plugin: New plugin for filtering and parsing log messages + has been added. Thanks to Kamil Wiatrowski, Krzysztof Matczak, Marcin + Możejko, Adrian Boczkowski, Radosław Jabłonski. #3045 + * Network plugin: New metadata "network:ip_address" has been added. + Thanks to Takuro Ashie. #3191 + * NFS plugin: An implementation for NetBSD (using sysctl) has been + added. Thanks to Edgar Fuß, Dagobert Michelsen. #3377, #3333 + * NUT plugin: Support for the "output.realpower" value from the ups code + has been added. Thanks to Michael Poetters. #2528 + * Redfish plugin: New read plugin to collect out-of-band sensor data + from Redfish endpoints has been added. Thanks to Marcin Możejko, + Adrian Boczkowski, Michal Kobyliński, Krzysztof Kepka, Man Singh, + Zoltan Szabo. #2926 + * Slurm plugin: The new SLURM plugin gathers metrics from the SLURM + workload manager has been added. Thanks to Pablo Llopis. #3037 + * Tail_CSV plugin: FieldSeparator option has been added. Thanks to + Dheeraj Gupta. #3394 + * UBI plugin: The new "ubifs" plugin reports block state for flash + memory devices with UBIFS filesystem has been added. Thanks to Pierre + Lebleu. #3204 + * Write_HTTP plugin: Ability to configure cURL statistics has been + added. Thanks to Nelson. #3265 + * Write_Influxdb_UDP plugin: New plugin to send values to InfluxDB using + line protocol via udp has been added. Thanks to Carlos Peón Costa. + #3162 + * Zookeeper plugin: 'quorum' stat has been added. Thanks to Chris Brown. + #2991 + * collectd: Missing package in specfile has been fixed. Thanks to Fabien + Wernli. #3399 + * collectd: Factored out read_text_file_contents for reading text files + and used it to fix a potential unterminated string in the thermal + plugin. Thanks to Igor Peshansky. #3359 + * collectd: Error/warning messages has been extended with more + information. Thanks to Dagobert Michelsen. #3386 + * collectd: Regression caused by #3217 has been fixed. Thanks to Pavel + Rochnyak. #3349 + * build: version-gen.sh has been cleaned up. Thanks to William Pursell. + #2635 + * build: Linking with Python 3.8 has been fixed. Thanks to Alexander + Meshcheryakov. #3344 + * build: Avoid $< (implied source) in non-inference rules / Building + grpc with non-GNU make has been fixed. Thanks to Edgar Fuß, Dagobert + Michelsen. #3376, #3330 + * filter_chain: Constant for max plugin name length introduced in #1034 + has been fixed. Thanks to Dagobert Michelsen. #3385 + * ignorelist: Coding style has been fixed. Thanks to Dagobert Michelsen. + #3397 + * match_regex: Accept all data types of meta data. Thanks to Takuro + Ashie. #3231 + * perl unixsock: Made the module robust against socket errors and + disconnects. Thanks to Guillem Jover. #3083 + * tree-wide: Race condition when setting thread names has been fixed. + Thanks to Michael Kaufmann. #2762 + * types.db: ping_droprate range spec has been fixed. Thanks to Yousong + Zhou. #3244 + * utils/format_graphite: Comma sign has been added to the list of + prohibited characters. Thanks to Marat Salimzianov. #2998 + * Aggregation plugin: Unreachable clause where both tmp_plugin and + tmp_plugin_instance are non-empty has been fixed. Thanks to Ling + Huang. #3350 + * AMQP1 plugin: Leaks on error paths has been fixed. Thanks to Ryan + McCabe. #3352 + * Apache plugin: BusyWorkers/IdleWorkers update has been fixed. Thanks + to Christian W. Zuckschwerdt. #3131 + * CPU plugin, Memory plugin, Swap plugin, UUID plugin: Contain use of + sysctl / sysctrlbyname to BSD variants, as deprecated on Linux. Thanks + to Zebity Spring. #3342 + * Exec plugin: Select has been replaced with poll to allow more then + 1024 open file descriptors. Thanks to Kamil Wiatrowski. #3363 + * GPU_Nvidia plugin: Build issues has been fixed. Thanks to Ruben + Kerkhof. #3393 + * Interface plugin: Reorder so that Linux-specific code is actually + executed. Thanks to Dagobert Michelsen. #3378 + * NFS plugin: Condition on existence of libkstat has been fixed. Thanks + to Dagobert Michelsen. #3382 + * Network plugin: Memory leak has been fixed. Thanks to Ryan McCabe. + #3352 + * Processes plugin: Number of running processes has been fixed. Thanks + to Bart De Vos. #3243 + * Write_Riemann plugin: Memory leak has been fixed. Thanks to Fabien + Wernli. #3351 + * Write_Stackdriver plugin: NaN value handing with gauge metrics has + been fixed. Thanks to Jaroslaw Przybylowicz. #3226 + + +2019-10-17, Version 5.10.0 + * turbostat plugin: Power metrics update for recent server CPUs. Thanks + to Chris MacNamara. #3276 + * turbostat plugin: Fix warnings generated by the turbostat plugin. + Thanks to Ryan Mccabe. #3340 + * ZFS ARC plugin: New cache values are now read on Linux. Thanks to + Jan-Philipp Litza. #3247, #2843 + * connectivity plugin: monitor the network interface up/down status via + the netlink library. Thanks to Andrew Bays. #2622 + * sysevent plugin: A new plugin that monitors rsyslog for system events. + Thanks to Andrew Bays. #2624 + * procevent plugin: A new plugin that monitors process starts/stops via + netlink library. Thanks to Andrew Bays. #2623 + * daemon: Check if plugin actually loaded before reporting configuration + issues. Thanks to Pavel Rochnyak. #3217 + * daemon: Recover setlocale() call in src/daemon/collectd.c do_init(). + Thanks to Pavel Rochnyak. #3181, #3214 + * Build System: Only include when needed. Thanks to Ruben + Kerkhof. #3298 + * Build System: Link to libnsl.so if needed for inet_ntop(). Thanks to + Dagobert Michelsen. #3291 + * Build System: Remove double "without" added by commit b781871. Thanks + to Fabrice Fontaine. #3261 + * Build System: fix compile time issues. Thanks to Matthias Runge. + #3179, #3242, #3245 + * Build System: Fix activation of snmp_agent. Thanks to Fabrice + Fontaine. #3241 + * Build System: Fix bug that leads to CPPFLAGS gets overridden with + CFLAGS when libxmms is enabled. Thanks to Dagobert Michelsen. #3207 + * perl module: Collectd::Plugins::Openvz: Fix indentation of some + closing curlies. Thanks to Christian Bartolomäus. #3239 + * tree-wide: Fix a few issues found with LGTM. Thanks to Ruben Kerkhof. + #3252 + * tree-wide: fix ssnprintf wrapper. Thanks to Fabien Wernli. + #3237, #3232, #3235, #3236 + * tree-wide: Fix make check. Thanks to Ruben Kerkhof. #3306 + * CI System: Travis: switch to Bionic. Thanks to Ruben Kerkhof. #3307 + * CI System: Travis improvements for MacOS. Thanks to Ruben Kerkhof. + #3308 + * MySQL plugin: Minor documentation improvements. Thanks to Christian + Bartolomäus. #3288 + * Java plugin: Fix typo in an error message. Thanks to Matthias Runge. + #3285, #3286 + * sysevent plugin: Add a few missing calloc result checks in the + sysevent_init function. Thanks to Andrew Bays. #3282 + * ZFS ARC plugin: A bug that caused the first to values to be skipped + was fixed. Thanks to Jan-Philipp Litza. #3246 + * SysLog plugin: restore previous behaviour: fallback to info for + unsupported level. Thanks to Fabien Wernli. #3236, #3238 + * virt plugin: Fix memory leak with libvirt MetadataXPath enabled. + Thanks to Pavel Rochnyak. #3225, #3228 + * GPU NVidia plugin: Fix build of the plugin. Thanks to Ruben Kerkhof. + #3320 + +2019-10-01, Version 5.9.2 + * syslog plugin: Don't fail if syslog loglevel doesn't match. Thanks to + Fabien Wernli. #3236 #3238 + * collectd: Fix ssnprintf wrapper. Thanks to Fabien Wernli. #3237 + * rdt plugin: Fix compile time issues. Thanks to Matthias Runge. #3245 + +2019-07-24, Version 5.9.1 + * collectd: redhat spec: fix build due to new upstream plugins. Thanks + to Fabien Wernli. #3175 + * collectd: regex match: Fix unexpected match with empty meta data . + Thanks to Takuro Ashie. #3178 + * collectd: Fix return value or loglevel for several plugins. Thanks to + Fabien Wernli. #3182 + * collectd: Add standard include early or _FILE_OFFSET_BITS will have + definition … . Thanks to Dagobert Michelsen. #3193 + * collectd: Use GCC-specific flags only when compiling with GCC. Thanks + to Dagobert Michelsen. #3195 + * Use test_utils_proc_pids only when compiling the plugin that uses it. + Thanks to Dagobert Michelsen. #3197 + * DNS plugin: Do not use headers from glibc. Thanks to Pavel Rochnyak. + #3156, #3145 + * collectd: Add missing definitions for libnetsnmpagent. Thanks to + Dagobert Michelsen. #3203 + * collectd: Move Makefile rules for pid_test inside conditional for + code. Thanks to Dagobert Michelsen. #3206 + * collectd: Recover setlocale() call in src/daemon/collectd.c do_init(). + Thanks to Pavel Rochnyak. #3214, #3181 + * collectd: Add snprintf wrapper for GCC 8.2/3. Thanks to zebity. #3153, + #2895, #3038 + * collectd: Fix bug that leads to CPPFLAGS gets overridden with CFLAGS + when libxmms is enabled. Thanks to Dagobert Michelsen. #3207 + * Write_Riemann plugin: Copy MetaData to Riemann events in + write_riemann. Thanks to Romain Tartière. #3158 + * virt plugin: Fix memory leak with libvirt MetadataXPath enabled. + Thanks to Pavel Rochnyak. #3225, #3230 + +2019-06-13, Version 5.9.0 + * Build System: configure.ac: option "--with-libxml2" has been added. + Thanks to Dimitrios Apostolou, Pavel Rochnyak. #2864 + * Build System: configure.ac: run dpdk build tests only if pkgconfig + fails. Thanks to Luca Boccassi, Pavel Rochnyak. #3015 + * Build System: The "df" plugin is now built when "getmntent_r()" is + available. Thanks to Florian Forster. #3095 + * Build System: The ability to turn on collectd "debug" feature in RPMs + has been added. Thanks to dehotot. #2755 + * collectd: A new "UNKNOWN" state as the initial state of metrics has + been added. Thanks to Luis Fernández Álvarez, Florian Forster. #2976 + * collectd: Base port to Windows. Thanks to Sean Campbell. #2810 + * collectd: Code ownership of five plugins has been handed out to folks + from Intel. Thanks to Florian Forster. #3053 + * collectd: config parser: Improved error reporting on global options. + Thanks to Pavel Rochnyak. #2813 + * collectd: daemon: make plugin_dispatch_multivalue() obey write queue + limits. Thanks to Adam Romanek. #2898 + * collectd: Macros "STRERROR" and "STRERRNO" have been added. Thanks to + Florian Forster. #2519 + * collectd: Plugin name field has been added to plugin context to + improve error reporting. Thanks to Pavel Rochnyak. #2821 + * collectd-tg: Use "CLOCK_REALTIME" for collectd-tg times. Thanks to + Andrew Bays. #2837 + * tree-wide: Don't initialize static pointers to NULL, use "bool" from + "stdbool.h" (instead of "_Bool"). Thanks to Ruben Kerkhof. #2771, + #2772 + * tree-wide: Replace zu with "PRIsz" and llu with "PRIu64". Thanks to + Sean Campbell. #2512 + * tree-wide: Use interval value from plugin context, do not set + "vl->interval" in plugins more. Thanks to Pavel Rochnyak. #2847 + * tree-wide: Utilities and libraries have been moved to "src/utils/". + Thanks to Florian Forster. #2961 + * AMPQ1 plugin: A new plugin to write to amqp1 protocol. Thanks to Andy + Smith. #2618 + * Chrony plugin: Ignoring late responses has been added. Thanks to + Miroslav Lichvar, Pavel Rochnyak. #2896 + * CPUFreq plugin: Read number of p-state transitions and time spent in + each p-state. Thanks to Sexton Rory. #2803 + * cURL, cURL-XML plugins: Option "Interval" has been added. Thanks to + Pavel Rochnyak. #2847 + * Disk plugin: Report number of in progress disk IO requests on FreeBSD. + Thanks to Nathan Huff. #2878 + * Exec plugin: Dynamic allocation of grname buffer has been added. + Thanks to sreedi, Florian Forster. #2937 + * GPU NVML plugin: New plugin to collect NVIDIA GPU stats. Thanks to + Evgeny Naumov. #2923 + * gRPC plugin: The "VerifyPeer" option for servers has been added. + Thanks to Florian Forster. #2593 + * Intel RDT plugin: Support for groups of PIDs has been added. Thanks to + Wojciech Andralojc, Mateusz Starzyk, Michal Aleksinski. #2891 + * IPMI plugin: Config options "SELSensor" and "SELIgnoreSelected" have + been added. Thanks to Mariusz Szafranski. #2796 + * Modbus plugin: Support for 64 bit vals has been added, support for + CDAB endian 32-bit modbus polls has been added. Thanks to Anthony + Vickers, PJ Bostley. #2670, #2660 + * Modbus plugin: The "Scale" and "Shift" metrics have been added. Thanks + to cekstam. #2729 + * Netlink plugin: Handle new counter from Linux kernel version 4.6+. + Thanks to Pavel Rochnyak. #2767 + * Network plugin: Option "BindAddress" has been added. Thanks to Ofir + Hermesh. #2831 + * Ping plugin: An "AddressFamily" configuration option has been added. + Thanks to 依云 lilydjwg. #2961 + * OVS Stats plugin: Extended metrics "ovs-dpdk" have been added. Thanks + to Matteo Croce, Ryan McCabe. #3000 + * OVS Stats plugin: Support of bond interface and a "InterfaceStats" + config option have been added. Thanks to Andrew Bays. #2880 + * PCIe Errors plugin: New plugin to read "PCIe" errors. Thanks to Kamil + Wiatrowski. #2733 + * Processes plugin: Support for Linux Delay Accounting has been added. + Thanks to Florian Forster. #2598 + * Redis plugin: Keyspace "hitratio" metric has been added, metric + "operations_per_second" has been removed, an option for connecting via + UNIX socket has been added. Thanks to Pavel Rochnyak. #2838, #2845, + #2904 + * RouterOS plugin: Support for temperature and voltage data has been + added, use MAC-address when Radio-name is missing. Thanks to Pavel + Rochnyak. #2851, #2854 + * RRDCacheD plugin: Time resolution has been improved to microseconds. + Thanks to Brian T. O'Neill. #3065 + * Sensors plugin: Checks for upper limit of "SENSORS_API_VERSION" have + been removed, support for libsensors older than 3.0.0 has been + dropped. Thanks to Pavel Rochnyak. #3013, #3014 + * SNMP plugin: New options "PluginInstance", "TypeInstance", + "TypeInstanceOID", "PluginInstanceOID", "FilterOID", "FilterValues" + and "FilterIgnoreSelected" have been added. Thanks to Pavel Rochnyak. + #2817, #2819 + * SNMP Agent plugin: Multiple key indexes to snmp table and other new + features have been added, refactoring, coverity scan issues have been + fixed. Thanks to Marcin Mozejko. #2702, #2844 + * Swap plugin: Support for Linux 2.4 has been dropped. Thanks to Pavel + Rochnyak. #2979 + * Turbostat plugin: Configuration option "RestoreAffinityPolicy" has + been added. Thanks to Pablo Llopis. #2627 + * Turbostat plugin: New metrics "P-states", "Turboboost", "Platform + TDP", "Uncore bus ratio" have been added. Thanks to Sexton Rory. #2806 + * Turbostat plugin: Support of reporting GPU power on SKL has been + added. Thanks to Gordon Kelly. #2605 + * virt plugin: Allow read "Hostname" from libvirt metadata. Thanks to + Mehdi ABAAKOUK. #2807 + * virt plugin: Block info statistics for disk devices have been added. + Thanks to Radoslaw Jablonski. #2874 + * Wireless plugin: A "bitrate" metric has been added. Thanks to Florian + Forster. #2950 + * Write Graphite, Write Kafka plugins: Support for Graphite 1.1+ tag has + been added. Thanks to Dan Cech. #2631 + * Write Prometheus plugin: Option "Host" has been added. Thanks to Pavel + Rochnyak. #2969 + * Write Stackdriver plugin: New plugin to write to Google Stackdriver + Monitoring. Thanks to Florian Forster. #2472 + * Write Syslog plugin: "write_syslog" plugin writes values lists as + syslog messages. Thanks to Shirly Radco. #3019 + * Build System: A warning that pkgdatadir and pkglibdir were previously + defined has been fixed, additional plugins have been enabled, + GNULIB_DIR has been added to LDFLAGS in configure.ac on Windows. + Thanks to Sean Campbell. #2907, #2885, #2882 + * Build System: Including "utils/mount/mount.h" has been fixed. Thanks + to Florian Forster. #3097 + * Build System: The amount of output from ./configure has been reduced, + rendering of collectd-lua(5) manpage has been fixed, don't hide errors + when creating manpage. Thanks to Ruben Kerkhof. #3086, #3088, #3092 + * collectd: A bug in "c_avl_iterator_prev" has been fixed. Thanks to + volth. #2917 + * collectd: A stringop compiler warning has been fixed. Thanks to Ruben + Kerkhof, Juan Osorio Robles. #3021 + * collectd: An invalid memory access in the "strjoin()" function has + been fixed. Thanks to Florian Forster. #3063 + * collectd: collectd binary has been refactored. Thanks to Sean + Campbell, Sebastian Harl. #2745 + * collectd: collectdmon cannot exit command line options parse loop has + been fixed. Thanks to takahashi-tsc. #2774 + * collectd: Endianness checks for AIX have been added, gcc issue on Mac + byteorder has been fixed, fallback for endianness conversion has been + added. Thanks to Dagobert Michelsen. #2761, #2741, #2717 + * collectd: Handle failure of simple config callbacks. Thanks to Ruben + Kerkhof. #3085 + * collectd: Include "kstat.h" if available to provide "kstat_ctl_t", + include "kstat.h" when available. Thanks to Dagobert Michelsen. #2716, + #2711 + * collectd: Parsing option for avoiding making BaseDir has been fixed. + Thanks to Mariusz Białończyk. #2856 + * collectd: Remove empty "cmd_listval_t" data structure and related + no-op code. Thanks to Pavel Rochnyak. #2779 + * collectd: src/daemon/plugin.c: Refactor plugin_load_file(), + src/utils_format_json.c: Remove chatty debug messages. Thanks to + Florian Forster. #2558, #2938 + * collectd: Stop poisoning function in debug mode. Thanks to Ruben + Kerkhof. #2804 + * collectd: The number of allocations when parsing types.db has been + reduced. Thanks to Ruben Kerkhof. #3091 + * collectd: The organization of the source repository has been improved. + Thanks to Florian Forster. #2961 + * collectd: Typos have been fixed. Thanks to Florian Forster, Jakub + Jankowski, William Pursell. #2944, #2692, #2643 + * tree-wide: cleanup: cf_util_get* instead of local copy in plugins, + prefixed error reporting. Thanks to Pavel Rochnyak. #2833 + * tree-wide: Some style issues have been fixed. Thanks to Ruben Kerkhof. + #3022 + * tree-wide: "sstrerror()" has been replaced with "STRERRNO". Thanks to + Pavel Rochnyak. #2735 + * AMQP1 plugin: Potential memory leaks found via scan-build have been + fixed, a typo in error log message has been fixed, cleanups. Thanks to + Andy Smith, Andrew Bays, Ruben Kerkhof. #2802, #2876, #2797 + * Barometer plugin: Support to "libi2c-4.0" has been added. Thanks to + Pavel Rochnyak. #2783 + * DBI, Oracle, PostgreSQL plugins: Fixes and improvements. Thanks to + Pavel Rochnyak. #1705 + * Disk plugin: "HAVE_UDEV_H" has been changed to "HAVE_LIBUDEV_H". + Thanks to Dylan Stephano-Shachter. #2668 + * Disk plugin: In linux, reset the disk when it disappears from + "/proc/diskstats". Thanks to Nikita Kozlov, Pavel Rochnyak. #2551 + * DPDK Events, DPDK Stats plugins: Buffer size for parsing lcores has + been increased, a deprecation warning has been fixed, runtime config + file path has been fixed. Thanks to Kevin Laatz. #2722, #2840, #2924 + * DPDK Stats plugin: A compilation issue has been fixed. Thanks to + Volodymyr Mytnyk. #2524 + * GPS plugin: Build with gpsd version 3.18 has been fixed. Thanks to + Baruch Siach. #2947 + * Intel RDT plugin: Compiler warnings have been fixed. Thanks to Ruben + Kerkhof. #3104 + * Log Logstash plugin: Non-portable struct initialization with "{}" has + been fixed. Thanks to Florian Forster. #2988 + * LUA plugin: A memory leak has been fixed. Thanks to Ruben Kerkhof. + #3090 + * MySQL plugin: Properly cleanup dropped MySQL connections. Thanks to + Dhrupad Bhardwaj. #2704 + * Netlink plugin: Truncation warnings have been fixed. Thanks to Ruben + Kerkhof. #2777 + * NFS plugin: Message "Unexpected number of fields for NFSv4 server + statistics: 62" has been fixed. Thanks to Yedidyah Bar David. #2076 + * NFS plugin: Number of fields for "NFSv4" has been fixed. Thanks to + Jan-Philipp Litza. #2915 + * Notify Email plugin: All notification parameters have been included + into email. Thanks to Pavel Rochnyak. #2834 + * NTPd plugin: Don't treat normal peers as refclocks, skip "0.0.0.0" + hosts in ntpd plugin. Thanks to Pavel Rochnyak, Ivan Kurnosov. #2822, + #2376 + * OAuth plugin: src/utils_oauth.c: Renew OAuth tokens 30 seconds before + they expire. Thanks to Florian Forster. #2970 + * OVS Stats plugin: A macro to populate counters list has been added, + value of "OpenFlow" has been corrected. Thanks to Matteo Croce. #2966, + #2963 + * OVS Stats plugin: Code style, cleanup and improvements. Thanks to + Pavel Rochnyak. #3011, #3012 + * OVS Stats, OVS Events plugins: utils_ovs: Avoid potential access of + freed memory, fixes. Thanks to Ciara Loftus, Mark Kavanagh. #2801, + #2731 + * Processes plugin: Compilation has been fixed when ps_delay() is not + used. Thanks to Pavel Rochnyak. #2610 + * Python plugin: A compilation warning with Python 3.7 has been fixed. + Thanks to Manoj Srivastava. #3042 + * Redis plugin: Bugfixes, extended error reporting, persistent + connections and parallel polling, ability to select db for queries has + been fixed. Thanks to Pavel Rochnyak, skob. #2826, #2789 + * Router OS plugin: Unset radio-name showing up as "(null)" has been + fixed. Thanks to melak. #2740 + * RRDCacheD plugin: Cleanup rrdcached plugin a bit. Thanks to Pavel + Rochnyak. #3080 + * RRDTool plugin: Error reporting has been extended. Thanks to Pavel + Rochnyak. #2825 + * Sensors plugin: Support for humidity sensors has been added. Thanks to + Sarah Fischmann. #2913 + * Sensu, OVS Stat, Turbostat, virt, OAuth, Write Prometheus, Intel RDT + plugins: Compiler warnings have been fixed. Thanks to Ruben Kerkhof. + #3093, #3098, #3099, #3100, #3102, #3103, #3104 + * virt plugin: Code "do {} while(0)" around macro has been removed. + Thanks to Florian Forster. #2579 + * virt plugin: Compiler warnings, a segfault in libvirt, typo in error + messages have been fixed. Thanks to Antoine Naud, Ruben Kerkhof, sarah + niuxu18. #2808, #2919, #2957 + * virt plugin: Optional "virDomainGetCPUStats()" has been removed from + main flow, cleanup. Thanks to Pavel Rochnyak. #2972, #2978 + * virt plugin: Tracking of VM state changes has been fixed. Thanks to + Radoslaw Jablonski. #2701 + * Write MongoDB plugin: Plugin dependencies have been fixed. Thanks to + Pavel Rochnyak. #3010 + * Write Prometheus plugin: A compilation issue on Mac OS X has been + fixed. Thanks to Florian Forster. #3059 + * Write Redis plugin: Bug ""max_set_duration" deletes unexpected data" + has been fixed. Thanks to takahashi-tsc. #2773 + * Write Stackdriver plugin: Potential NULL dereference and error + reporting have been fixed. Thanks to Florian Forster. #2960 + * collectd.conf(5): a typo has been fixed, the tail plugin's + documentation has been improved. Thanks to Ruben Kerkhof, Florian + Forster. #3087, #2994 + * collectd.conf.pod: virt: "Instances" option has been documented, a + clarifying example has been added. Thanks to Pavel Rochnyak, Fabien + Wernli. #2990, #2903 + * collectd-python: "Import" configuration option has been documented. + Thanks to Tyler Harper. #2985 + * collectd-snmp.pod: Document thread usage correctly. Thanks to Nathan + Ward. #3078 + * CONTRIBUTING.md: Improve wording around ChangeLog; fix example, + document the new change log requirement / behavior. Thanks to Florian + Forster. #3061, #3054 + * docs/review_comments.md: document with frequent review comments has + been started. Thanks to Florian Forster. #2964 + * README: Include compiler defenses suggestion, do not point users to + non-existing file. Thanks to Kevin Laatz, Ruben Kerkhof. #2721, #2045 + +2018-10-23, Version 5.8.1 + * collectd: Fix "BaseDir" option. Thanks to Mariusz Białończyk and + Pavel Rochnyak. #2857 + * collectd: improve error handling, check return values. Thanks to + Florian Forster. + * Build System: use "kstat.h", when available. Thanks to Dagobert + Michelsen and Pavel Rochnyak. #2784 + * Build System: Fix distcheck on MacOS. Thanks to Ruben Kerkhof. + * Build System: add missing include of ""collectd.h"" to fix builds on + Solaris. Thanks to Pavel Rochnyak. + * Build System: add endianess checks for AIX, fix GCC issue on Mac + byteorder, fix byteorder on Solaris, add fallback for endianess + conversion. Thanks to Dagobert Michelsen (multiple cherry picks from + master). + * Build System: Out-of-tree builds have been fixed. Thanks to Florian + Forster. #2602 + * Configuration: Error handling in the config parsing code has been + improved. Thanks to Florian Forster. + * Documentation: Fix typo in collectd.conf(5). Thanks to Pavel Rochnyak. + #2760 + * Documentation: update note on dpdkstat. Thanks to Maryam Tahhan. #2613 + * Various plugins: Errors found by the static code analysis tool + Coverity were fixed. Thanks to Florian Forster. #2559, #2560, #2561, + #2562, #2563, #2565, #2568, #2575, #2579, #2580, #2588, #2589 + * Ceph plugin: A segfault has been fixed. Thanks to Aleksei Zakharov and + Matthias Runge. #2572 + * DF plugin: fix memory leak in error case. Thanks to Takahashi tsc. + * Exec plugin: check return value of "plugin_thread_create()". Thanks to + Florian Forster. + * Exec plugin: Handling of large groups has been fixed. Thanks to + Sridhar Mallem. #2696 + * Exec plugin: Incorrect use of *putenv(3)* has been fixed. Thanks to + Daniel Vrátil. + * Exec plugin: A deadlock related to setting environment variables after + *fork()* has been fixed. Thanks to Daniel Vrátil. + * Intel PMU plugin: add core groups feature. Thanks to Kamil Wiatrowski. + #2681 + * Intel PMU plugin: fix compatibility issue with collectd 5.8. Thanks to + Kamil Wiatrowski. + * Intel PMU plugin: fix possible "NULL" pointer dereference. Thanks to + Kamil Wiatrowski. #2676 + * IPMI plugin: A segfault caused by a wrong data type has been fixed. + Thanks to Mariusz Szafrański. #2742 + * IPMI plugin: The sensor configuration option has been fixed. Thanks to + Pavel Rochnyak. #2629 + * memcached plugin: A deadlock situation has been fixed. Thanks to Pavel + Rochnyak. #2612 + * NFS plugin: Support for NFSv4 has been fixed. Thanks to Jan-Philipp + Litza. #2076 + * NTPd plugin: A memory leak in the error handling path has been fixed. + Thanks to Ruben Kerkhof. #2942 + * OVS Stats plugin: A deadlock situation has been fixed. Thanks to + Volodymyr Mytnyk. #2590 + * OVS Stats plugin: Fix reconnect after thread terminated. Thanks to + Volodymyr Mytnyk and Maram Tahhan. #2574 + * Perl plugin: A compilation failure has been fixed. Thanks to Pavel + Rochnyak. #2732 + * Perl plugin: Fix exporting notification meta data. Thanks to Florian + Forster. + * RRDtool plugin: Handling of very large "GAUGE" metrics has been fixed. + Thanks to Miroslav Lichvar. #2566 + * Tail plugin: Several regressions have been fixed. Thanks to Pavel + Rochnyak. #2535, #2587, #2611 + * turbostat plugin: A potential segfault due to an incorrect *free()* + has been fixed. Thanks to Ruben Kerkhof. #2948 + * UUID plugin: Fix hostname setting. Thanks to Pavel Rochnyak. #2723 + * virt plugin: A segfault during error handling has been fixed. Thanks + to Ruben Kerkhof. {{Issue|2919]} + * Write Kafka plugin: A build failure due to a deprecated API call has + been fixed. Thanks to Pavel Rochnyak. #2607, #2628, #2640 + * Write Prometheus plugin: Fix "MHD_USE_INTERNAL_POLLING_THREAD" flag in + newer libmicrohttpd. Thanks to Pavel Rochnyak. #2849 + * Write Prometheus plugin: set "SO_REUSEADDRESS" on listening socket. + Thanks to Pavel Rochnyak. #2570, #2673 + * Write Syslog plugin: The new "write_syslog" plugin writes value + lists as syslog messages. Thanks to Shirly Radco. #3019 + +2017-11-17, Version 5.8.0 + * collectd: The core daemon is now completely licensed under the MIT + license. + * collectd: Added daemon option to avoid making BaseDir. Thanks to + Nathaniel Wesley Filardo and Florian Forster. #2422 + * collectd: Global variables have been moved to their own module to make + porting collectd easier. Thanks to Sean Campbell. #2467 + * collectd as well as Apache, memcached, OpenLDAP, Perl, RouterOS, SNMP, + Tail-CSV plugins: Free userdata for "plugin_register_complex_read()". + Thanks to Pavel Rochnyack. #2349 + * Collectd client library: Added parsing and server code. Thanks to + Florian Forster. #2258 + * Build system: Dependency on libltdl has been removed, support for + libtool 1 has been dropped. Thanks to Ruben Kerkhof. #1898 + * Build system: The build system has been switched to non-recursive + make. Thanks to Ruben Kerkhof. #2085 + * APC UPS plugin: The plugin's configuration is now optional. Without a + "" block reasonable defaults will be used. Thanks to Pavel + Rochnyack. #2351 + * Chrony plugin: Several issues found when working with a stratum-1 + server have been fixed. Thanks to Miroslav Lichvar. #2190 + * Ceph plugin: Support for the Ceph version "Luminous" has been added. + Thanks to Aleksei Zakharov. #2464 + * CPU plugin : Linux-specific "guest" states have been added. Thanks to + Xavier G. #2439 + * cURL plugin, cURL-JSON, cURL-XML, DBI, FileCount, memcachec, Oracle, + PostgreSQL, Table, Tail, Tail CSV plugins: The ability to configure + the "plugin" field of generated metrics has been added. Thanks to + Pavel Rochnyack. #1944, #1681, #1558 + * cURL-JSON plugin: Parsing of arrays has been fixed. Thanks to Florian + Forster. #2281 + * DPDKEvents plugin: This new plugin reports link status and keep alive + events. Thanks to Maryam Tahhan, Harry van Haaren, Serhiy Pshyk, + Kim-Marie Jones, Krzysztof Matczak, Przemyslaw Szczerbik, Christian + Ehrhardt and Luca Boccassi. #2157, #2348, #2400, #2405, #2417 + * DPDKStat plugin: The plugin has been refactored to make DPDK related + utility functions reusable. Thanks to Krzysztof Matczak, Przemyslaw + Szczerbik, Christian Ehrhardt and Luca Boccassi. #2130, #2348, #2400, + #2405, #2417 + * DPDKStat plugin: The "LogLevel" and "RteDriverLibPath" config options + have been added. Thanks to Jiri Prokes. #2505 + * Email plugin as well as Exec and Unixsock plugins: Use + "_SC_GETPW_R_SIZE_MAX". Thanks to Florian Forster. #2451 + * FileCount plugin: Custom values for reported plugin, type and type + instance. Thanks to Pavel Rochnyack. #1979 + * GenericJMX plugin: Support for "AtomicInteger" and "AtomicLong" has + been added. Thanks to Pierre Mauduit. #2158 + * gRPC plugin: Support for meta data has been added. Thanks to Taylor + Cramer. #2378 + * IPC plugin: Fixed failed compilation on AIX. Thanks to Pavel + Rochnyack. #2357 + * Intel PMU plugin: This new plugin collects CPU performance metrics + using Intel's Performance Monitoring Unit (PMU). Scaling information + added to metadata. Thanks to Serhiy Pshyk and Roman Korynkevych. + #2276, #2398, #2374 + * Intel RDT plugin: Support for collectd's logging infrastructure has + been added. PQoS monitoring groups are being reset on start-up to fix + potential previous unclean shutdowns. Thanks to Roman Korynkevych. + #2089. + * IPMI plugin: Support for System Event Log (SEL) has been added. Thanks + to Roman Korynkevych. #2091 + * IPMI plugin: Support for remote IPMI controllers has been added. + Thanks to Pavel Rochnyack. #2024 + * LVM plugin: A check for the "CAP_SYS_ADMIN" capability has been added. + This will give users an informative warning when the process is not + running with the required privileges for this plugin. Thanks to + Florian Forster. #2426, #2499 + * mcelog plugin: This new plugin subscribes to Machine Check Exceptions + (MCE) and dispatches notifications. Metadata reset. Thanks to Maryam + Tahhan, Volodymyr Mytnyk, Taras Chornyi, Krzysztof Matczak and Roman + Korynkevych. #2003, #2246, #2380 + * MQTT plugin: Add support for TLS in "Subscriber" blocks. Thanks to + Florian Forster. #2434 + * memcached plugin: Persistent connections have been implemented. Fix + hit ratio reporting, add connections rate report. Thanks to Pavel + Rochnyack. #2388, #2385 + * memcached plugin: The type of the "listen_disabled" metric has been + changed to "total_events". Thanks to Florian Forster. #2386, #2468 + * Netlink plugin: The dropped packets metric has been added. Thanks to + Denys Fedoryshchenko. #2053 + * NFS plugin: Support for NFS 4.2 metrics has been added. Thanks to + Marek Becka. #2369 + * NFS plugin: Config options to ignore specified NFS versions have been + added. Thanks to Christian Bartolomäus. #2430 + * NUT plugin: The "ConnectTimeout", "ForceSSL", "VerifyPeer" and + "CAPath" options have been added. Thanks to Pavel Rochnyack and Steven + Bell. #2145, #2354 + * OpenLDAP plugin: A segfault after a connection failure has been fixed. + Thanks to Pavel Rochnyack. #2377 + * Openvpn plugin: Added support for status files from latest OpenVPN-2.4 + and possible from future versions. Thanks to Pavel Rochnyack. #2352 + * OVS Events plugin: This new plugin reports link state changes from + Open vSwitch (OVS). Thanks to Volodymyr Mytnyk. #1971 + * OVS Stats plugin: This new plugin reports bridge / interface + statistics from Open vSwitch (OVS). Thanks to Volodymyr Mytnyk and + Taras Chornyi. #2137 + * Perl plugin: Bugfix, added check of proper interpreter initialization. + Thanks to Pavel Rochnyack. #2391 + * PostgreSQL plugin: The plugin now sets the "application_name" + parameter when connecting to the database. Thanks to daniacs. #2497 + * Processes plugin: The I/O operations reported for selected processes + has been fixed. The metric "ps_disk_octets" has been renamed to + "io_octets" because it actually contains the number of I/O operation + by the process, not just disk related I/O. Same for "io_ops" + (previously "ps_disk_ops"). The new metric "disk_octets" has been + added and is reporting disk I/O only. Add option to collect the count + of active memory maps for Linux processes. The "CollectFileDescriptor" + and "CollectContextSwitch" options have been added. Thanks to Pavel + Rochnyack and to Wilfried Goesgens. #2232, #2454, #1989 + * Processes and TCPConns plugins: The OpenBSD implementation has been + changed to use "kvm_openfiles" with "KVM_NO_FILES". Thanks to Jeremie + Courreges-Anglas. #2061 + * Python plugin: Extend Notification class to include metadata. Thanks + to Volodymyr Mytnyk. #2135 + * Python plugin: The "CollectdException" class has been added. This + allows to throw an exception without a stack trace being logged. + Thanks to Sven Trenkel. #2330, #2346 + * Sensors plugin: Support for (electrical) current has been added. + Thanks to Clemens Gruber. #2255 + * SNMP plugin: Error handling has been improved: a potential double-free + is now avoided (potentially leaking memory) and handling of + non-failing subtrees has been fixed. Thanks to Pavel Rochnyack. #2449 + * SNMP plugin: The "Timeout" and "Retries" config options have been + added. Thanks to Carlos Vicente. #1472, #2488 + * SNMP Agent plugin: This new plugin implements an SNMP AgentX subagent + that receives and handles queries from SNMP master agent and returns + configured metrics. Thanks to Roman Korynkevych, Serhiy Pshyk and + Pavel Rochnyack. #2105, #2362 + * Synproxy plugin: This new plugin provides statistics for Linux + SYNPROXY. Thanks to Marek Bečka. #2381 + * Tail plugin: Allow the calculation of several distributions in one + "tail" instance through a "bucket" type. Thanks to Pavel Rochnyack. + #2442 + * Turbostat plugin: Import "msr-index.h" header from Linux and better + support for mutliple packages. Thanks to Vincent Brillault. #2445, + #2446 + * Uptime plugin: Changed implementation to read from "/proc/uptime" + instead of "/proc/stat". Update for Linux and AIX, uptime is read + directly using a system call. Update for BSD and Solaris, uptime is + calculated by subtracting boot time from current time. Thanks to Ivan + Kurnosov and Marcin Jurkowski. #2431, #2034 + * UUID plugin: Support for libhal has been removed. Thanks to Ruben + Kerkhof. #2080 + * Varnish plugin: Extended the varnish plugin with varnish-plus + counters. Fixed invalid data source type. Thanks to Denes Matetelki. + #2453, #2463 + * virt plugin: The plugin has been updated to use + "virConnectListAllDomains()". Thanks to Denis Silakov. #2051 + * virt plugin: Support for domain tags has been added. Thanks to + Francesco Romani. #2048 + * virt plugin: Connection handling has been improved. Thanks to + Francesco Romani. #2100, #2101 + * virt plugin: Many metrics have been added, including disk, hypervisor + CPU usage, performance monitoring events, domain state, CPU pinning + (affinity), file system, and job statistics. Thanks to Francesco + Romani and Przemyslaw Szczerbik. #2103, #2175, #2168 + * Write Graphite plugin: Additional tests have been added. Thanks to + Florian Forster. + * Write HTTP plugin: The "Attribute" and "TTL" options for the KairosDB + format have been added. Implementation of "Prefix" option. Thanks to + jaroug, Denis Pompilio and Pavel Rochnyack. #2199, #2252, #2482 + * Write MongoDB plugin: Memory leaks have been fixed. Thanks to + Saikrishna Arcot. #2307 + * Write Prometheus plugin: Label values are now properly escaped. Thanks + to Florian Forster. #2035 + * Write Redis plugin: Add "max_set_duration" to set duration for value. + Thanks to Tomofumi Hayashi. #2440 + * Write Riemann plugin: Export times with microsecond resolution. Thanks + to mcorbin. #2315 + * Write TSDB plugin: The options "ResolveInterval" and "ResolveJitter" + have been added to control DNS lookup behavior. This prevents DNS + flooding in case TSDB is not available. Thanks to Yves Mettier and + Florian Forster. #2059 + * ZFS ARC plugin: Header lines are now ignored in the Linux + implementation. Thanks to YmrDtnJu. #2097 + +2017-06-06, Version 5.7.2 + * Build system: The Notify Email plugin is no longer linked with + indirect dependencies. Thanks to Marc Fournier. + * collectd: A race condition when calculating a metric's rate has been + fixed. Thanks to Florian Forster. #1193 + * AMQP, Exec, UnixSock, Write Kafka plugins: Parsing of the PUTVAL + command with multiple values has been fixed. Thanks to Florian + Forster. #2274 + * AMQP plugin: The "ExchangeType" option is now also valid for + publishers. Thanks to Florian Forster. #2286 + * BIND plugin: Fix parsing of the sample time provided by BIND. + Previously, the time was assumed to be in the local timezone when in + fact it was in UTC. Thanks to Ed Ravin. #1268 + * BIND plugin: Memory leaks have been fixed. Thanks to Ruben Kerkhof. + #2303 + * cURL-JSON plugin: Handling of arrays has been fixed. Thanks to Florian + Forster. #2266 + * DPDKStat plugin: Error handling during initialization has been + improved. Thanks to Ruben Kerkhof. + * DPDKStat plugin: Handling of a number of metrics has been improved, + for example "rx_q0bytes". Thanks to Przemyslaw Szczerbik. #2167 + * Intel RDT plugin: Configuration handling has been changed to be more + graceful. Thanks to Maryam Tahhan. #2165 + * Log Logstash plugin: If writing the log entry fails, print it to + "STDERR" instead. Thanks to Marc Fournier. + * LogFile plugin: If writing to the file fails, print log messages on + "STDERR" instead. Thanks to Marc Fournier. + * memcachec, Tail plugins: A resource leak in the matching + infrastructure has been fixed. Thanks to Krzysztof Matczak. #2192 + * MQTT plugin: Invalid symbols in topic names are now replaced and a + resource leak has been fixed. Thanks to Denys Fedoryshchenko. #2123 + * Network plugin: A potential endless-loop has been fixed. This can be + triggered remotely by sending a signed network packet to a server + which is not set up to check signatures. Thanks to Marcin Kozlowski + and Pavel Rochnyack. #2174, #2233, CVE-2017-7401 + * Perl plugin: A potential double-free has been fixed. Thanks to Florian + Forster. #2278 + * Processes plugin: A compilation error on AIX has been fixed. Thanks to + Pavel Rochnyack. #2210 + * SMART plugin: A check for the "CAP_SYS_RAWIO" capability has been + added. Thanks to Marc Fournier. + * Write Graphite plugin: Error handling in the case that calculating a + metric's rate fails has been improved. Previously, the raw counter + values were sent to Graphite. Thanks to Iain Buclaw. #2209 + * Write Prometheus plugin: An incorrect use of "realloc(3)" has been + fixed. Thanks to Florian Forster. #2275 + +2017-01-23, Version 5.7.1 + * collectd: Handling of boolean configuration options has been unified. + Thanks to Sebastian Harl. #2083, #2098 + * collectd: Reporting of internal statistics has been fixed. Thanks to + Florian Forster. #2108 + * collectd, various plugins: Bugs and issues reported by scan-build and + coverity-scan have been fixed. Thanks to Ruben Kerkhof and Florian + Forster. + * Build system: Parallel build have been fixed. Thanks to Ruben Kerkhof. + #2110 + * DPDKStat plugin: Portability issues and a double-close bug have been + fixed. Thanks to Ruben Kerkhof and Marc Fournier. + * Intel RDT plugin: A check for the libpqos library version has been + added. Thanks to Serhiy Pshyk. + * NetApp plugin: Compilation problems have been corrected. Thanks to + Florian Forster. #2120 + * Write Prometheus plugin: A memory leak has been fixed. Thanks to Ruben + Kerkhof. + +2016-12-12, Version 5.7.0 + * Documentation: The Turbostat plugin section has been improved. Thanks + to Florian Forster + * Documentation: The semantics of the "TypesDB" option have been + improved. Thanks to Florian Forster. + * collectd: A generic interface for parsing the text protocol has been + added. Thanks to Sebastian Harl. #1749 + * collectd: Threads now get named, making them easier to track using + tools such as top, ps, etc. Thanks to Manuel Luis Sanmartín Rozada + and Marc Fournier. #547 + * AMQP plugin, Write Graphite plugin, Write Kafka plugin: The new + "[Graphite]PreserveSeparator" option allows retaining the default dot + separator rather than escaping it. Thanks to Florian Forster. #419 + * Battery plugin: A StateFS backend for gathering statistics has been + added. Thanks to Rinigus. #1795 + * CPU plugin: CPU aggregation on AIX was fixed. Thanks to Chao Yang. + #1957 + * Collectd::Unixsock: Fractional seconds support has been made more + robust. Thanks to Matthias Bethke. #2052 + * DPDKStat plugin: This new plugin collects DPDK interface statistics. + Thanks to Maryam Tahhan, Harry van Haaren, Taras Chornyi and Kim + Jones. #1649 + * gRPC plugin: The "DispatchValues" option has been renamed to + "PutValues". Thanks to Florian Forster. + * HDDTemp plugin: The 32 devices limit has been removed. Thanks to + Benjamin Gilbert. #631 + * Hugepages plugin: This new plugin reports the number of used and free + hugepages on Linux. Thanks to Jaroslav Safka, Maryam Tahhan, Kim Jones + and Florian Forster. #1799 + * Intel RDT plugin: This new plugin collects statistics exposed by + Intel's Resource Director Technology . Thanks to SerhiyX. #1970 + * memcached plugin: The new "Address" option allows connecting to a + different server than specified by the "Host" option. Thanks to Pavel + Rochnyack. #1975 + * nginx plugin: Support for reporting failed connections has been added. + Thanks to Pavel Rochnyack. #1609 + * Perl plugin: Significant internal reworking has been made. The new + "RegisterLegacyFlush" option has been added. Thanks to Pavel + Rochnyack. #1731 + * PostgreSQL plugin: Timestamps are now RFC 3339-formatted local time. + Thanks to Igor Peshansky and Dave Cunningham. #1918 + * Processes plugin: Internal performance improvements have been made. + Thanks to Pavel Rochnyack. #1980, #1981 + * RRDCacheD plugin: The plugin now tries to reconnect upon failed + operations. Thanks to Sebastian Harl. #1959 + * SpamAssassin: The plugin can now run in Perl's "tainted mode" ("-T"). + Thanks to Akos Vandra. #1962 + * Tail plugin: Support for calculating latency distribution of matching + values has been added. Thanks to Pavel Rochnyack and Florian Forster. + #1700 + * Tail plugin: The new "GaugePersist" option has been added. Thanks to + Florian Forster. #2015 + * Target:Set, Target:Replace, Match:RegEx: MetaData support has been + added . Thanks to Igor Peshansky. #1922, #1923, #1930 + * turbostat plugin: The new "LogicalCoreNames" option allows switching + to per-core naming rather than per-CPU. Thanks to Brock Johnson. #2056 + * virt plugin: The new "BlockDeviceFormat" and + "BlockDeviceFormatBasename" options help controlling the names + reported for block-device metrics. Thanks to Deyan Chepishev. #2004 + * Write Graphite plugin: A new "DropDuplicateFields" option has been + added. Thanks to Michael Leinartas. #1915 + * Write Kafka plugin: The "Key Random" setting has been reintroduced. + Thanks to Florian Forster. #1977 + * Write Log plugin: Support for formatting output in JSON has been + added, using the new "Format" configuration option. Thanks to Igor + Peshansky. #1924 + * Write Prometheus plugin: This new plugin publishes values using an + embedded HTTP server, in a format compatible with Prometheus' + collectd_exporter. Thanks to Florian Forster. #1967 + +2017-10-06, Version 5.6.3 + * collectd: support for boolean string config values has been + reintroduced. Thanks to Sebastian Harl. #2083, #2098 + * collectd: The capability checking has been changed to use + "cap_get_proc()". Thanks to Marc Fournier. #2151 + * Documentation: A section documenting ignore lists has been added to + collectd.conf(5). Thanks to Florian Forster. + * AMQP plugin: The "ExchangeType" option is now also valid for + publishers. Thanks to Florian Forster. #2286 + * Apache, Ascent, BIND, cURL, cURL-JSON, cURL-XML, nginx, Write HTTP + plugins: Handling of URLs that redirect elsewhere has been fixed. + Thanks to Pavel Rochnyack. #2328 + * BIND plugin: Fix parsing of the sample time provided by BIND. + Previously, the time was assumed to be in the local time zone when in + fact it was in UTC. Thanks to Ed Ravin. #1268 + * BIND plugin: Memory leaks have been fixed. Thanks to Ruben Kerkhof. + #2303 + * Chrony plugin: Build flags have been fixed. Thanks to Thomas Jost and + Marc Fournier. #2133 + * cURL-JSON plugin: The timeout value has been changed to default to the + collection interval. This fixes a regression. Thanks to Marc Fournier. + * cURL-JSON plugin: Handling of arrays has been fixed. Thanks to Florian + Forster. #2266 + * DBI plugin: Memory leaks at shutdown have been fixes. Thanks to Pavel + Rochnyack and Florian Forster. + * E-Mail, Exec, UnixSock plugins: Group ID lookup on systems with many + groups has been fixed. Thanks to Ruben Kerkhof and Florian Forster. + #2208 + * IPC plugin: A compilation error on AIX has been fixed. Thanks to Pavel + Rochnyack. #2305 + * LogFile plugin: If writing to the file fails, print log messages on + "STDERR" instead. Thanks to Marc Fournier. + * Log Logstash plugin: If writing the log entry fails, print it to + "STDERR" instead. Thanks to Marc Fournier. + * memcachec, Tail plugins: A resource leak in the matching + infrastructure has been fixed. Thanks to Krzysztof Matczak. #2192 + * MQTT plugin: Invalid symbols in topic names are now replaced and a + resource leak has been fixed. Thanks to Denys Fedoryshchenko. #2123 + * Network plugin: A potential endless-loop has been fixed. This can be + triggered remotely by sending a signed network packet to a server + which is not set up to check signatures. Thanks to Marcin Kozlowski + and Pavel Rochnyack. #2174, #2233, CVE-2017-7401 + * Network plugin: A use-after-free has been fixed. Thanks to Pavel + Rochnyack. #2375 + * Notify Email plugin: The plugin is no longer explicitly linked against + libssl and libcrypto, relies on libesmtp being linked correctly. + Thanks to Marc Fournier. Debian#852924 + * NTPd plugin: Calculation of loop offset and error has been fixed. + Thanks to Neil Wilson. #2188 + * OpenLDAP plugin: An incorrect use of the ldap library, leading to a + crash, has been fixed. Thanks to Marc Fournier. #2331 + * Perl plugin: A potential double-free has been fixed. Thanks to Florian + Forster. #2278 + * Perl plugin: Print an error when an incorrect configuration is + encountered. Thanks to Pavel Rochnyack. #927 + * RRDtool plugin: Incorrect handling of the flushes timeout option has + been fixed. Handling of the "RandomTimeout" has been fixed. Thanks to + Pavel Rochnyack. #2363 + * SMART plugin: Some warning messages have been removed and the code has + been cleaned up. Thanks to Florian Forster. #2062 + * SMART plugin: A check for the "CAP_SYS_RAWIO" capability has been + added. Thanks to Marc Fournier. + * SNMP plugin: A double free has been fixed. Thanks to Pavel Rochnyack. + #2291 + * Write Graphite plugin: Error handling in the case that calculating a + metric's rate fails has been improved. Previously, the raw counter + values were sent to Graphite. Thanks to Iain Buclaw. #2209 + * Write Kafka plugin: A 32 bit random number is now used when formatting + a random key. Thanks to Florian Forster. #2074 + + +2016-11-30, Version 5.6.2 + * collectd: A compile error on AIX has been fixed: "MSG_DONTWAIT" is not + available on AIX. Thanks to Chao Yang. + * collectd: The capability checking has been rewritten to be more + portable. Thanks to Florian Forster. #2009 + * collectd.conf(5): Various typos have been fixed. Thanks to Marc + Fournier. + * collectd-tg: Incorrect usage of "nanosleep()" has been fixed which + caused the tool to sleep (almost) indefinitely. Thanks to Florian + Forster. + * Build system: Detection of the Java environment has been made + deterministic to allow for reproducible builds. Thanks to Marc + Fournier. #1523 + * Build system: Detection of the Lua headers has been improved. Thanks + to Ruben Kerkhof. + * APC UPS plugin: Unavailable metrics are now skipped instead of + reported as 0 (zero). Thanks to Florian Forster. #2025 + * Modbus plugin: Build issues on FreeBSD have been fixed. Thanks to + Florian Forster. + * OpenVPN plugin: Gracefully handle empty configurations. Thanks to + Pavel Rochnyack. #1932 + * PowerDNS plugin: The "recursor command" has been fixed so PowerDNS can + correctly parse all requested fields. Thanks to Ruben Kerkhof. + * Write Graphite and AMQP plugins: A bug that could lead to a missing + null-termination has been fixed. Thanks to Markus Linnala. + * Write HTTP plugin: A logic error when checking the correctness of the + data set has been fixed. Thanks to Pavel Rochnyack. #1996 + * Write Kafka plugin: The "Key Random" config option has been fixed. + Thanks to Florian Forster. #1977 + * Write Kafka plugin: Support for librdkafka 0.9.0 has been added. + Thanks to Florian Forster. + * Write Riemann plugin: Build issues on Solaris have been fixed. Thanks + to Florian Forster. + * ZFS ARC plugin: A duplicate metric has been removed. Thanks to Ruben + Kerkhof. #1963 + +2016-10-07, Version 5.6.1 + * Build system: Unnecessary linking of the Write Graphite plugin with + libyajl has been removed. Thanks to Marc Fournier. + Debian#839771, #1976 + * collectd: A bug in the "FlushInterval" option that caused a + segmentation fault in the Write HTTP plugin has been fixed. Thanks to + Florian Forster. #1954 + * Apache plugin: A syntax error has been fixed. Thanks to Florian + Forster. + * cURL-JSON plugin: A segmentation fault that occurred when handling + JSON with unexpected structure has been fixed. Thanks to Florian + Forster. #1896 + * PostgreSQL plugin: Handling of "NULL" values in the "query_plans" and + "query_plans_by_table" queries has been fixed. Thanks to Bernd + Zeimetz. #1905 + * RRDCacheD plugin: Reconnection behavior has been added. Thanks to + Sebastian Harl. Debian#657877 + * VServer plugin: Use of a deprecated API ("readdir_r()") has been + fixed. Thanks to Sebastian Harl. + * Write Graphite plugin: Make default values configurable at compile + time again. Thanks to Florian Forster. #1953 + * Write HTTP plugin: A bug has been fixed that lead to flush callbacks + being registered twice. Thanks to Florian Forster. #1955 + +2016-09-11, Version 5.6.0 + * Build system: An option to to avoid building the DF plugin against XFS + has been added. Thanks to Ruben Kerkhof. #1878 + * Build system: Autoconf ≥ 2.60, a C99-capable compiler and pkg-config + are now required. Thanks to Ruben Kerkhof. + * Build system: Building with "-Werror" is now optional. Thanks to Ruben + Kerkhof. #1222 + * Build system: Many compilation issues on non-Linux platforms have been + fixed, leading to wider plugin support. Thanks to Ruben Kerkhof, + Dagobert Michelsen, Havard Eidnes and Robert Viduya. + * Build system: The configuration summary now also ends up in + config.log. Thanks to Sebastian Harl. + * collectd: All command-line options now override global options from + the config file. Thanks to Sebastian Harl. #366 + * collectd: A number of unit tests for commonly used functions have been + added. Thanks to Florian Forster. + * collectd: Plugins start up and read timeouts are now logged. Thanks to + Marc Fournier. #1293, #1254 + * collectd: Support for a timeout has been added to "FLUSH" callbacks. + Thanks to Manuel Luis Sanmartín Rozada. + * collectd: The "-T" command line switch now reports more errors. Thanks + to Corey Kosak. #1642 + * collectd: The max size of value list elements ("DATA_MAX_NAME_LEN") + has been doubled and is now configurable at build time. Thanks to Amy + Lin, Florian Forster and Radu Brumariu. #1120 + * Set target: The "MetaData" option has been added. Thanks to Yves + Mettier and Kevin Bowling. #1106, #1656, #1913 + * AMQP, Write_HTTP, Write_Kafka plugins: Support for libyajl < 2 has + been added. Thanks to Florian Forster. + * APC UPS plugin: Parsing of end markers has been fixed. Thanks to + Florian Forster #617 + * APC UPS plugin: The "PersistentConnection" option has been added. + Thanks to Florian Forster #617 + * ceph, DNS, Exec, IPTables, Ping, turbostat plugins: When running + unprivileged, these plugins will now warn about insuffiscient + permissions or capabilities(7). Thanks to Marc Fournier. #1530 + * Chrony plugin: This new plugin collects NTP data from the chrony NTP + server. Thanks to Claudius Zingerli. #1548 + * cpusleep plugin: This new plugin measures time spent by CPU in deep + sleep mode. Thanks to Rinigus. #1826 + * CPU plugin: The "ReportNumCpu" option has been added. Thanks to Fabien + Wernli. + * cURL, cURL-JSON, cURL-XML plugins: The new "Statistics" reports + various per-HTTP connection timers. Thanks to Sebastian Harl. #1004 + * DBI plugin: The "Interval" option has been added to "Database" blocks. + Thanks to Michal Bebjak. + * Disk plugin: Support for FreeBSD has been added. Thanks to Xin Li, + Brad Davis, Ruben Kerfhof and Kevin Bowling. + * Empty Counter match: Support for derives has been implemented. Thanks + to Florian Forster. #1813 + * GenericJMX plugin: Support for TabularData and the "PluginName" option + have been added. Thanks to David Crane. #1290, #1291 + * GPS plugin: This new plugin reports the number of sattelites seen by + and precision of a GPS receiver. Thanks to Nicolas Jourden. #1346 + * gRPC plugin: This new client and server plugin allows sending and + receiving metrics using the gRPC protocol. Comparable to the UnixSock + plugin, but using TCP and TLS. Thanks to Sebastian Harl and Florian + Forster. + * Interface plugin: Reporting dropped packets has been added. Thanks to + Marc Falzon. #1555 + * Interface plugin: The "ReportInactive" has been added, letting users + skip inactive network interfaces. Thanks to Rinigus. #1791 + * Interface plugin: The new, Solaris-only "UniqueName" option has been + added. Thanks to Yoga Ramalingam. #1416 + * Lua plugin: This new language binding allows writing plugins using the + Lua programming language. Thanks to Julien Ammous, Florian Forster and + Ruben Kerkhof. + * Memory plugin: Reporting of ARC memory on Solaris has been added. + Thanks to Brian ONeill. + * MQTT plugin: This new plugin sends metrics to and/or receives metrics + from an MQTT broker. Thanks to Marc Falzon, Jan-Piet Mens, Nicholas + Humfrey and Florian Forster. #805, #1124 + * MySQL plugin: Connection to the database server can now be done over + SSL. Thanks to Brian Lalor. #1256 + * MySQL plugin: Monitoring slow queries has been added. Thanks to skob. + #1773 + * MySQL plugin: mysql_bpool_pages-flushed has been renamed to + mysql_bpool_counters-pages_flushed because the value is cumulative. + Thanks to Marek Becka. + * MySQL plugin: Support for Galera statistics has been added. Thanks to + Rachid Zarouali. #1849 + * MySQL plugin: Support for InnoDB metrics was improved. Thanks to Aman + Gupta. #1111 + * MySQL plugin: The "mysql_sort" type has been split into 3 different + types. Thanks to Pavel Rochnyack. #1592 + * Network plugin: Decryption error logging has been improved. Thanks to + Pavel Rochnyack. #1735 + * Notify Nagios plugin: This new plugin sends notifications to Nagios as + a passive check result. Thanks to Florian Forster. + * NTPd plugin: The plugin now detects if the ntp daemon reports + nanoseconds instead of microseconds. Thanks to Matwey V. Kornilov. + #1783 + * OpenLDAP plugin: Several connection-related improvements have been + made. Thanks to Marc Fournier. #1308 + * OpenLDAP plugin: Support for "simple authentication" has been added. + Thanks to Marek Becka. #1087 + * Ping plugin: The "Size" option has been added, allowing the ICMP data + payload size to be configured. Thanks to Witold Baryluk. #1395 + * PostgreSQL, DBI, Oracle plugins: The new "PluginInstanceFrom" option + has been added. Thanks to Pavel Rochnyack. #1707 + * PowerDNS plugin: The recursor metrics have been updated to 3.7.3 and + missing rr types have been added. Thanks to Ruben Kerkhof. + * Processes plugin: Counting of context switches was added for Linux. + Thanks to Manuel Luis Sanmartín Rozada. #1036 + * Processes plugin: Improve reliability of thread counts on Linux. + Thanks to Manuel Luis Sanmartín Rozada. + * Python plugin: Minimal Python version requirement has been bumped to + 2.6. Thanks to Ruben Kerkhof. #1864 + * Redis plugin: Several additional metrics are now collected. Thanks to + Marc Falzon and Matteo Contrini. #1807, #1483 + * Sensors plugin: The "UseLabels" option has been added. Thanks to + Christian Fetzer. + * SMART plugin: The new "IgnoreSleepMode" option has been added. Thanks + to Scott Talbert. #1770 + * SMART plugin: The new "UseSerial" option allows identifying devices in + a stable way. Thanks to Scott Talbert. #1794 + * SNMP plugin: The "IpAddress" can now be used for instances. Thanks to + Vincent Bernat. #1397 + * StatsD plugin: Latency calculation histogram is now able to shrink + automatically to optimal size. Thanks to Pavel Rochnyack. #1622 + * StatsD plugin: The "CounterSum" option has been added. Thanks to + Florian Forster. #929, #1282, #1311 + * UUID plugin: The plugin now also looks in in smbios system table and + "/sys/class/dmi". Thanks to Ruben Kerkhof. #1490 + * virt plugin: The "PluginInstanceFormat" option has been added. Thanks + to Ruben Kerkhof. #1100 + * Write Graphite plugin: The "ReconnectInterval" option has been added. + Thanks to Toni Moreno and Florian Forster. + * Write HTTP plugin: A KairosDB formatter has been added. Thanks to + Aurélien Rougemont. #1809 + * Write HTTP plugin: Notifications are now handled by this plugin. + Thanks to Florian Forster. + * Write HTTP plugin: The "LogHttpError" option has been added. Thanks to + vzubko. + * Write HTTP plugin: The new "Headers" option allows setting custom HTTP + headers in outgoing requests. Thanks to Brandon Arp. #1634 + * Write Kafka plugin: Key handling has been made more comprehensive and + reliable. Thanks to Florian Forster, Pierre-Yves Ritschard and Vincent + Bernat. #1765, #1695, #1393 + * Write Redis plugin: The "Database", "MaxSetSize", "Prefix" and + "StoreRates" options have been added. Thanks to Brian Kelly and + Sebastian Pfahl. + * Write Riemann plugin: The new "BatchFlushTimeout" and "Timeout" option + have been added. Thanks to Pierre-Yves Ritschard and Gergely Nagy. + * Write Riemann plugin: This plugin now requires the riemann-c-client + library, version 1.6.0+. This adds support for submitting values to + Riemann over TLS. Thanks to Gergely Nagy. #986 + * Write TSDB, Write Sensu, Write Riemann, Write Graphite, Write TSDB + plugin: TCP keepalive is now enabled, helping graceful recovery from + unclean network disconnections. Thanks to Marc Fournier. #1549 + * XenCPU plugin: This new plugin collects XEN Hypervisor CPU stats. + Thanks to Pavel Rochnyack. #1608 + * ZFS ARC plugin: Several new statistics have been added and a couple of + obsolete ones removed. Thanks to Brad Davis, Brian ONeill and Ruben + Kerkhof. + * Zone plugin: This new plugin reads per-zone CPU usage on Solaris. + Thanks to Mathijs Mohlmann and Dagobert Michelsen. + +2016-11-28, Version 5.5.3 + * collectd: Write threads are stopped before shutdown callbacks are + called. Thanks to Florian Forster. #1110 + * collectd: A compile error on AIX has been fixed: "MSG_DONTWAIT" is not + available on AIX. Thanks to Chao Yang. + * libcollectdclient: Lines printed to "STDERR" are now guarded by the + environment variable "COLLECTD_TRACE". Thanks to Florian Forster. #105 + * collectd.conf(5): Various typos have been fixed. Thanks to Marc + Fournier. + * Build system: Detection of the Java environment has been made + deterministic to allow for reproducible builds. Thanks to Marc + Fournier. #1523 + * APC UPS plugin: Unavailable metrics are now skipped instead of + reported as 0 (zero). Thanks to Florian Forster. #2025 + * Battery plugin: The minimum value has been removed from the power type + to allow the plugin to report discharging batteries as negative power. + Thanks to Florian Forster. + * DBI, Oracle and PostgreSQL plugins: An error message when the type + instance is truncated has been added. Thanks to Florian Forster. #4 + * cURL-JSON plugin: A possible segmentation fault when parsing + unexpected JSON has been fixed. Thanks to Florian Forster. #1896 + * DF plugin: Compilation with xfsprogs ≥ 4.7.0 has been fixed. Thanks + to Thomas Deutschmann. #1877 + * Modbus plugin: Build issues on FreeBSD have been fixed. Thanks to + Florian Forster. + * Network plugin: An error message has been corrected. Thanks to Florian + Forster. + * Network plugin: Handling of errors form secure memory initialization + has been improved: the plugin fails gracefully now instead of calling + "abort()". Thanks to Sebastian Harl. + * Network plugin: The gcrypt library is only initialized when it is + actually required due to the network plugin's configuration. Thanks to + Florian Forster. #1902 + * Ping plugin: The init callback has been changed to be idempotent, + fixing errors being reported on Solaris. Thanks to Florian Forster. + #869 + * PostgreSQL plugin: The query_plans and query_plans_by_table queries + have been improved to return 0 (zero) instead of "NULL" when not + available. Thanks to Bernd Zeimetz. #1905 + * PowerDNS plugin: The "recursor command" has been fixed so PowerDNS can + correctly parse all requested fields. Thanks to Ruben Kerkhof. + * Python plugin: Handling of data sets with multiple data sources of + different type has been fixed. Thanks to Sebastian Harl. + * RRDCacheD plugin: Reconnection behavior after failed operations has + been added. Thanks to Sebastian Harl. Debian#657877 + * Write Graphite and AMQP plugins: A bug that could lead to a missing + null-termination has been fixed. Thanks to Markus Linnala. + * Write Kafka plugin: Support for librdkafka 0.9.0 has been added. + Thanks to Florian Forster. + * Write Riemann plugin: Build issues on Solaris have been fixed. Thanks + to Florian Forster. + +2016-07-25, Version 5.5.2 + * collectd: A division by zero has been fixed in the + "plugin_dispatch_multivalue()" function. Thanks to Corey Kosak. + * collectd: The address of the Free Software Foundation has been fixed + in GPL license headers. Thanks to Ruben Kerkhof. + * Build system: Detection and handling of librrd 1.6 and later has been + fixed. Thanks to Ruben Kerkof. + * Apache plugin: A warning about a possible misconfiguration has been + added. Thanks to Marc Fournier. + * cURL, cURL-JSON and cURL-XML plugins: A memory leak when allocating + more memory fails has been fixed. Thanks to Brandon Arp. + * DF plugin: A build issue on DragonFlyBSD has been fixed. Thanks to + Ruben Kerkhof. #1575 + * Ethstat plugin: Code to strip leading whitespace from device names. + This works around an issue in the VMXNet3 driver. Thanks to Thomas + Guthmann. #1059 + * Exec plugin: A problem in the error handling of an fdopen() failure + has been fixed. Thanks to @ciomaire. + * Modbus plugin: The debug output has been disabled by default. It is + now only enabled when building with "--enable-debug". Thanks to Eric + Sandeen and Marc Fournier. + * Network plugin: A check for the initialization of secure memory has + been added. Previously, failure to initialize this memory was + ignored. Thanks to @yujokang. #1665 + * Network plugin: A heap overflow has been fixed in the server code. + This issue can be triggered remotely and is potentially exploitable. + Thanks to Emilien Gaspar. CVE-2016-6254 + * Perl plugin: Init callbacks have been changed to run essentially + single-threaded to avoid race conditions by init functions which + create additional threads. Thanks to Pavel Rochnyack. #1706 + * Processes plugin: A warning about too long process names has been + added. Thanks to Marc Fournier. #1284 + * Redis plugin: A memory leak in an error handling code path has been + fixed. Thanks to Andrés J. Díaz. + * Redis plugin: The data source type of the expired_keys metric has been + corrected to "DERIVE". Thanks to Marc Falzon and Marc Fournier. #1483. + * SMART plugin: A build dependency on libudev has been added. Thanks to + Pavel Rochnyack. #1724 + * StatsD plugin: A deadlock on plugin shutdown has been fixed. Thanks to + Pavel Rochnyack #1703 + * Write HTTP plugin: Freeing of memory holding HTTP headers during + shutdown has been fixed. Thanks to Tolga Ceylan. + * Write Sensu plugin: A segfault when the Tag was unset has been fixed. + Thanks to Marc Fournier. + * ZFS ARC plugin: The cache_operation-stolen metric has been removed for + FreeBSD 10.2 and later. Thanks to Ruben Kerkhof. #1580 + +2016-01-22, Version 5.5.1 + * Build system: Compilation errors have been avoided by correctly + defining package name and version used by autoconf. Thanks to Nathan + Berkley. #1063 + * Build system: Dependency ordering was fixed to ensure parallel builds + work reliably. Thanks to Gustavo Zacarias. #1125 + * Build system: Error messages have been improved and building the unit + tests has been fixed on Solaris. Thanks to Florian Forster and + Dagobert Michelsen. #1077 + * Build system: The move of the "utils_ignorelist" functions has been + reverted. This fixes build issues of numerous plugins. Thanks to + Benjamin Drung;. #1323 + * Build system: The fhcount plugin has been restricted to Linux. Thanks + to Ruben Kerkhof. #1195 + * Build system: Detection of header files for the turbostat plugin has + been fixed. Thanks to Marc Fournier. #1075 + * collectd: The "LC_NUMERIC" locale is now forced, to prevent issues + with some plugins on environments using a comma as decimal separator. + Thanks to Florian Forster. #1237 + * Documentation: Some precisions related to the virt plugin have beed + added. Thanks to Wojtek Bocer and Ruben Kerkhof. + * Documentation: The CollectdInternalStats documentation has been + improved. Thanks to Yves Mettier and Florian Forster. + * Battery plugin: A missing Type has been added. Thanks to Marc + Fournier. #1338 + * Bind plugin: An off-by-one error has been fixed: an index was checked + against a wrong variable, which may lead to an out-of-bounds read. + Thanks to Michal Humpula. #1123 + * Ceph plugin: JSON parsing has been refactored to support ceph 10.0.0 + and fixes several buffer overflows. Thanks to Florian Forster. #1350 + * CPU plugin: A Mac OS X specific bug has been fixed: the plugin + expected an incorrect number of CPU states, resulting in failing read + callbacks. This regression was introduced in 5.5.0. Thanks to Robert + Viduya. + * Disk plugin: Support for Mac OS X 10.10 has been added. Thanks to + Robert Viduya. #1065 + * IPC plugin: Support for building with musl-libc has been added. Thanks + to Natanael Copa. #1147 + * Log Logstash plugin: A segfault when using libyajl, version 1 was + fixed. Thanks to Vincent Bernat. #1190 + * Log Logstash plugin: The timestamp is now ISO 8601 compliant. Thanks + to Marc Fournier. #1132 + * memcached plugin: The Type of the listen-disabled metric was fixed. + Thanks to Florian Forster. #1356 + * MySQL plugin: The Type used by Innodb_buffer_pool_pages_flushed was + fixed. Thanks to Marek Becka. #1085 + * OpenLDAP plugin: A crash when using LDAPI (LDAP-over-IPC) got fixed. + Thanks to Marek Becka. #1080 + * OpenLDAP plugin: Support for Mac OS X has been added. Thanks to Ruben + Kerkhof. #1489 + * SMART plugin: A memory leak has been fixed. Thanks to Florian + Schüller and Pierre-Yves Ritschard. #1076 + * Swap plugin: A regression that would lead to swap usage being reported + in kilobytes (instead of bytes) has been fixed. Thanks to Marek Becka. + #1071 + * Varnish plugin: Support for FreeBSD has been added. Thanks to Ruben + Kerkhof. #1182 + * Varnish plugin: Support for versions 3 and 4 has been made more + tolerant to minor changes in Varnish point releases. Thanks to Marc + Fournier. #1302 + * virt plugin: A copy-and-paste mistake in an error message has been + fixed. Thanks to Ruben Kerkhof. #1101 + * Write Kafka plugin: Support for Solaris has been added. Thanks to + Shahul Hameed. #1171 + * Write Redis plugin: Dead code has been removed. Thanks to Brian Kelly. + #1143 + * 27 patches have been applied to numerous plugins and core components, + fixing various programming errors which were reported by scan-build, + libasan, FBInfer, coverity-scan and clang: Thanks to Ruben Kerkhof, + Florian Forster and Marek Becka. + * Collectd::Unixsock: A Perl error got corrected. Thanks to Ciaran Mac + An Iomaire. #1295 + +2015-05-27, Version 5.5.0 + * Build system: Ability to make out-of-tree builds has been fixed. + Thanks to Vincent Bernat. #792 + * Build system, Disk and Users plugins: Detection and use of libstatgrab + ≧ 0.90 has been added. Thanks to Vincent Bernat. #445, #795, #806, + #807, #908 + * Build system, Memory, CPU, TCPConns and Processes plugins: Numerous + fixes related to OpenBSD support have been added. Thanks to Landry + Breuil. #777, #778, #779, #808 + * Build system: Plugins now only export "module_register()". Thanks to + Florian Forster. + * Build system: Various cleanups and improvements have been done. Thanks + to Marc Fournier. + * collectd: Numerous internal changes and improvements to the daemon and + the plugin API have been make. Thanks to Florian Forster, Pierre-Yves + Ritschard and Alex Petrov. #512, #727 + * collectd: Numerous spelling mistakes have been corrected in comments + and documentation and several error messages have been improved. + Thanks to Ruben Kerkhof, Abhinav Upadhyay, Olivier Bazoud, Pierre-Yves + Ritschard, Tim Smith, Moshe Zada, Katelyn Perry and Marc Fournier. + * collectd: Rules/Targets can now be appended to existing Filter Chains. + Thanks to Marc Falzon. #444 + * collectd: Failing Filter Chains destinations will now log the list of + available write targets. Thanks to Wilfried Goesgens. #650, #1043 + * collectd: Support for process signaling and management by upstart and + systemd has been implemented for the Linux platform. Thanks to + Pierre-Yves Ritschard and Marc Fournier. #798, #811, #814 + * collectd: The "CollectInternalStats" option has been added. Thanks to + Yves Mettier. #691 + * collectd: The daemon source code and dependencies have moved to the + "src/daemon/" directory. Thanks to Florian Forster. + * collectd: The new "MaxReadInterval" option allows to cap the + exponential retry interval of plugins read errors. Thanks to Alexey + Remizov and Florian Forster. #713 + * collectd: The "-P" command-line option now has precedence over the + "PIDFile" option. Thanks to Thomas D. #553 + * collection.cgi: Various data-source related adjustments have been + made. Thanks to Fabiano Pires and Sebastian Harl. + * libcollectdclient: Now propagates errors when signing / encrypting + network packets. Thanks to Florian Forster. + * Configuration: Support for unquoted IPv6 addresses has been added. + Thanks to Sebastian Harl. #489 + * Documentation: Various improvements have been done. Thanks to Florian + Forster and Marc Fournier. + * Examples: the sample C plugin has been updated to the current plugin + API. Thanks to Sebastian Harl. + * Licensing: The following components have been relicensed to the MIT + license: the Apple Sensors, Ascent, DBI, E-Mail, Entropy, GenericJMX, + gmond, LogFile, nginx, Notify Desktop, NTPd, NUT, olsrd, Perl, Ping, + PostgreSQL, Protocols, RouterOS, RRDCacheD, SNMP, StatsD, SysLog, + Table, Tail, UnixSock, vmem, VServer, Wireless, Write Riemann and XMMS + plugins, the core collectd daemon, the collectdmon, collectd-nagios + and collectd-tg utilities, all the Targets and Matches, liboconfig, + most of the "utils_*" files and the plugin API. + * Tests: A test suite has been added. Thanks to Florian Forster. + * Threshold: The hysteresis calculation has been made more reliable. + Thanks to Jan Kundrát. #581 + * Threshold: Various fixes and improvements have been made. Thanks to + Manuel Luis Sanmartín Rozada. #649, #644 + * AMQP plugin: The "ConnectionRetryDelay" option has been added, + allowing to delay reconnection. Thanks to Yoga Ramalingam and Marc + Fournier. #833 + * AMQP plugin: The "QueueDurable" and "QueueAutoDelete" options have + been added, giving control over queue creation and deletion. Thanks to + David Blundell and Marc Fournier. #623 + * Apache, Ascent, BIND, cURL, cURL-JSON, cURL-XML, nginx and Write HTTP + plugins: Customizing the "User-Agent" field is now possible at + compile-time. Thanks to Jeremy Katz. #440 + * Apache, Ascent, BIND, cURL, cURL-JSON, cURL-XML, nginx plugins: The + connection will be reset if it hasn't completed within the configured + "Interval". The new "Timeout" option gives control over this behavior. + Thanks to Jan Kundrát and Marc Fournier. #982, #983, #993 + * Apache, Ascent, cURL, cURL-JSON, cURL-XML, nginx, Write HTTP plugins: + Allow usernames and passwords to contain colons if built against + libcurl ≧ 7.19.1. Thanks to Marc Fournier. #695, #947 + * Apache plugin: The "SSLCiphers" option gives control over the + encryption algorithms to use with TLS connections. Thanks to Toni + Moreno. #946 + * Barometer plugin: This new plugin reads sensor data from various + Freescale and Bosch digital barometers. Thanks to Tomas Menzl. #69, + #693 + * Battery plugin: Reporting values as percentages and reporting degraded + batteries has been added. Thanks to Florian Forster. + * Battery plugin: Support for reading values from sysfs on Linux has + been added. Thanks to Andy Parkins, Nicholas Humfrey, Peter Wu and + Florian Forster. #725, #810, #998 + * Battery plugin: The value for current is no longer supplied unless the + battery provides this information. Thanks to Florian Forster. + * BIND plugin: Bind's XML v3 API is now supported; Thanks to Victor + Berger, Bruno Prémont and Michal Humpula. #742, #847 + * Ceph plugin: This new plugin collects statistics from the Ceph + distributed storage system. Thanks to Dan Ryder, Dennis Zou, Colin + McCabe, Sage Weil. #522, #598 + * ConnTrack plugin: Support for reporting values as percentages as well + as legacy conntrack files in "/proc" has been added. Thanks to + Pierre-Yves Ritschard. #497, #680 + * CPU plugin: The plugin is now able to report values as percentages and + aggregate values per-state and per-CPU. Thanks to Pierre-Yves + Ritschard, Florian Forster, Fabien Wernli, Nicholas Humfrey and + Wilfried Goesgens. #499, #516, #639 #734, #812, #802 + * cURL-JSON plugin: Extracting values from complex JSON structures has + been enhanced. Thanks to Jim Radford. #408, #411 + * cURL-JSON plugin: Intervals can now be configured on a per-URL basis. + Thanks to Stan Sawa. #685 + * cURL-JSON, cURL-XML, Write HTTP plugins: These plugins now also follow + HTTP redirects. Thanks to Marc Fournier. + * cURL, cURL-JSON, cURL-XML plugins: HTTP Digest authentication has been + implemented. Thanks to Frank Cornelis. #482 + * DBI, Oracle, PostgreSQL plugins: A "MetadataFrom" parameter has been + added which allows to set metadata from database columns. Thanks to + Mark Wong. #317, #321 + * DBI plugin: Querying several databases in parallel is now possible. + Thanks to Vincent Bernat. #453 + * Disk plugin: On the Linux platform, disk names can now get looked up + in udev with the "UdevNameAttr" option. Thanks to Patrick Mooney. #537 + * Disk plugin: This plugin now collects several additional I/O-related + metrics on the Linux platform. Thanks to Florian Forster and Michael + Schenck. #705, #759 + * DRBD plugin: This new plugin reads Linux's Distributed Replicated + Block Device (DRBD) statistics. Thanks to Tim Laszlo. #566, #700 + * Exec, UnixSock plugins: The "PUTNOTIF" command now allows to set + metadata on notifications. Thanks to John-John Tedro. #416 + * fhcount plugin: This new plugin reports the number of used file + handles. Thanks to Jiri Tyr. #1009 + * GenericJMX plugin: A Class Loader for "JMXConnectorFactory" has been + added, allowing the plugin to work with JBOSS > 7. Thanks to Alexandre + Moutot. #452 + * IPC plugin: This new plugin collects information related to shared + memory. Thanks to Andrés J. Díaz. #925 + * Java plugin: Now uses the hostname defined in the configuration file. + Thanks to Pierre-Yves Ritschard. #530, #681 + * Load plugin: The plugin is now able to report values as percentages. + Thanks to Vedran Bartonicek and Pierre-Yves Ritschard. #344, #498 + * Log Logstash plugin: This new plugin writes collectd logs and events + as Logstash JSON formatted events. Thanks to Pierre-Yves Ritschard. + #360 + * LVM plugin: The plugin collects thin pool data volumes size, and no + longer reports virtual volumes. Thanks to Benjamin Gilbert. #603 + * memcached plugin: "listen_disabled_num" are now also reported. Thanks + to Matt Cottingham. #622 + * Memory plugin: Slab memory reporting on the Linux platform has been + added. Thanks to Manuel CISSÉ and Marc Fournier. #560, #697 + * Memory plugin: The plugin is now able to report values as percentages. + Thanks to Jeremy Katz, Florian Forster and Manuel CISSÉ. #501, #511, + #559 + * Modbus plugin: Selecting between holding and input registers is now + possible. Thanks to Jan Vitek. #338 + * Modbus plugin: Support for accessing devices through an RS-485 serial + port has been added. Thanks to Eric Sandeen. + * Multimeter plugin: This plugin isn't built by default on the AIX + platform anymore. Thanks to Manuel Luis Sanmartin Rozada. #549, #684 + * MySQL and PostgreSQL plugins: Passing "127.0.0.1" as a host will now + result in the global Hostname being used in metric names. Thanks to + Jeremy Katz. #441 + * MySQL plugin: InnoDB, Select and Sort statistics collection has been + added. Thanks to Wilson Felipe, Marek Becka and Pierre-Yves Ritschard. + #248, #621, #699, #824 + * MySQL plugin: The "Alias" and "ConnectTimeout" options have been + added. Thanks to William Tisäter. + * Netlink plugin: Support for 64bit netlink counters has been added. + Thanks to Marek Becka. #435 + * Network plugin: The "ReconnectInterval" configuration option has been + added. Thanks to John Ferlito. #732 + * NFS plugin: Support for NFSv4.0 has been implemented. Thanks to Marek + Becka. #550 + * OneWire plugin: Support for more temperature-providing sensor families + has been added. Thanks to Tomasz Torcz. #672 + * OneWire plugin: Support for full OWFS path and more device families + has been implemented. Thanks to Tomas Menzl. #68 + * OpenLDAP plugin: This new plugin reads monitoring information from + OpenLDAP's "cn=Monitor" subtree. Thanks to Kimo Rosenbaum, Marc + Fournier and Nicholas Humfrey. #719 + * OpenVPN plugin: Support for OpenVPN 2.3.0 has been implemented. Thanks + to Ed Okerson. #252 + * OpenVZ plugin: Various improvements have been made, making the plugin + report values like the other collectd plugins do. Thanks to Chris + Lundquist. #264 + * Perl plugin: A new "listval_filter" method has been added, various + internal cleanups and improvements have been made and a test suite has + been added. Thanks to Matthias Bethke. #728 + * PostgreSQL plugin: The new "ExpireDelay" option allows skipping older + values pending write when the database slows down. Thanks to Stephen + O'Dor. #593 + * PowerDNS plugin: The plugin was updated for stats from pdns 3.4.3. + Thanks to Ruben Kerkhof. #965 + * Processes plugin: A memory-usage related optimization for low-profile + systems has been added. Thanks to Florian Forster. #652 + * Python plugin: Support for Python3 has been improved, "ModulePath" is + now prepended to "sys.path", and the "get_dataset()" function has been + added to the Python API. Thanks to Sven Trenkel and Patrick Browne. + #890, #751, #771 + * Redis and Write_Redis plugins: The support library has been switched + from credis to hiredis. Thanks to Andrés J. Díaz, Victor Seva, Marc + Fournier, Johan Bergström, Michael Spiegle and brianpkelly. #296, + #464, #475, #799, #1030 + * Redis plugin: Custom commands can now be used to fetch values stored + in Redis. Thanks to Pierre-Yves Ritschard. #816 + * Redis plugin: Support for passwords up to 512 characters long has been + added. Thanks to Jeremy Katz. #532 + * Sensors plugin: Support for lm_sensors' power sensors has been added. + Thanks to Jan Kundrát. #571 + * SMART plugin: This new plugin collects SMART statistics from disk + drives. Thanks to Vincent Bernat. #797 + * SNMP plugin: A blacklist/whitelist feature can now be used to filter + which OIDs to collect. Thanks to Christophe Courtaut. #414 + * SNMP plugin: SNMPv3 authentication and encryption support has been + implemented. Thanks to Michael Pilat. #362 + * SNMP plugin: Two error messages have been disambiguated. Thanks to + Sergey. #939, #952 + * Swap plugin: The plugin is now able to report values as percentages. + Thanks to Jeremy Katz and Florian Forster. #500, #510 + * Swap plugin: The plugin no longer fails on Linux systems where + "SwapCached" isn't exposed by the kernel. Thanks to Florian Forster. + #733 + * Tail plugin: "GaugeInc" and "GaugeAdd" options have been implemented. + Thanks to Andre Ferraz. #673 + * Tail plugin: Intervals can now be configured on a per-File basis. + Thanks to Tom Leaman. #446 + * TCPConns plugin: The "AllPortsSummary" option, allowing to summarize + all connections, has been added. Thanks to Marek Becka. #488 + * TCPConns plugin: Three metrics were renamed on the AIX platform, for + the sake of consistency. Thanks to Manuel Luis Sanmartín Rozada. #546 + * Turbostat plugin: This new plugin reads CPU frequency and C-state + residency on modern Intel turbo-capable processors. Thanks to Vincent + Brillault, Jean Delvare and Nicolas Iooss. #651 + * UnixSock plugin: The "GETTHRESHOLD" command has been re-added. Thanks + to Manuel Luis Sanmartín Rozada. #674 + * Varnish plugin: Varnish 4 support has been added, as well as as + monitoring metrics only available in Varnish 4. Thanks to Marc + Fournier. #618, #783 + * virt plugin: Guests memory usage is now also collected. Thanks to + Tiago Carvalho, jazzmes and Zollner Robert. + * virt plugin: It is now possible to chose between using guests' name or + UUID as plugin_instance. Thanks to Remi Ferrand. #385 + * virt plugin: The libvirt plugin has been renamed to virt. Thanks to + Florian Forster. + * Write Graphite plugin: When the connection to graphite fails, + reconnection attempts are now limited to once per second. Thanks to + Florian Forster. #625 + * Write HTTP plugin: Multi-instance support of this plugin has been + improved. The "" block has been deprecated in favor of + "". Thanks to Marc Fournier. #902 + * Write HTTP plugin: Several TLS-related configuration options have been + added. Thanks to Ingmar Runge. #666 + * Write HTTP plugin: The "LowSpeedLimit" and "Timeout" options allow to + reset slow/stalled network connections. Thanks to loginator17 and Marc + Fournier. #752, #985 + * Write HTTP plugin: The size of the payload posted to the HTTP server + can now be controlled with the "BufferSize" option. Thanks to Florian + Forster. #722 + * Write Kafka plugin: This new plugin sends data to Apache Kafka, a + distributed messaging queue. Thanks to Pierre-Yves Ritschard, + ciomaire, Vincent Bernat, Marc Fournier. #670, #694, #794, #853, #014 + * Write Log plugin: This new plugin dispatches collected values to the + configured log destination(s). Thanks to Pierre-Yves Ritschard. #886 + * Write Riemann plugin: Extra meta strings are now added as attributes + in notifications. Thanks to John-John Tedro. #417 + * Write Riemann plugin: Notification message are now sent to the Riemann + server via the description field. Thanks to Adrian Miron. #575 + * Write Riemann plugin: Support for custom attributes has been added. + Thanks to Pierre-Yves Ritschard. #459 + * Write Riemann plugin: Support had been implemented for sending events + to Riemann in batches (when using TCP), and is enabled by default. + Thanks to Pierre-Yves Ritschard. #800 + * Write Riemann plugin: The "EventServicePrefix" option has been added, + which adds a prefix to event service names. Thanks to Moshe Zada. #706 + * Write Riemann plugin: Threshold checks can now be passed down to the + Riemann server. Thanks to Pierre-Yves Ritschard. #518 + * Write Sensu plugin: This new plugin submits values to Sensu, a stream + processing and monitoring system. Thanks to Fabrice A. Marie and Marc + Fournier. #912, #1001, #1016 + * Write TSDB plugin: This new plugin sends data to OpenTSDB, a scalable + time series database. Thanks to Kevin Bowling, Florian Forster, Dallin + Young, Michael Schenck and Pierre-Yves Ritschard. #703, #772, #945 + * ZFS ARC plugin: Support for ZFS-on-Linux has been added. Thanks to + Marc Fournier and Wilfried Goesgens. #552 + * Zookeeper plugin: This new plugin reads data from the Apache Zookeeper + "MNTR" command. Thanks to Jeremy Katz. #826 + +2016-07-26, Version 5.4.3 + * Build system: A deprecation warning has been removed. Thanks to + Florian Forster. + * Build system: An ordering issue when build the AMQP plugin was + corrected. Thanks to Shahul Hameed. + * Build system: Building the gmond plugin against recent libganglia + versions has been added. Thanks to Marc Fournier. #1129 + * Build system: "collectd-tg" now builds on AIX. Thanks to Manuel Luis + Sanmartín Rozada. #542 + * Build system: "version-gen.sh" portablility was improved. Thanks to + Marc Fournier and Ruben Kerkhof. + * Build system: Compiling utils_dns.c on Solaris has beed fixed. Thanks + to Yves Mettier, Dagobert Michelsen and Florian Forster. #348 + * Build system: Default JDK detection got improved. Thanks to Ruben + Kerkhof and Marc Fournier. + * Build system: Detection and handling of librrd 1.6 and later has been + fixed. Thanks to Ruben Kerkhof. + * Build system: notify_email build options got corrected to make it + build on non-GNU libc systems. Thanks to Marc Fournier. + * Build system: Protobuf building and logging has been improved. Thanks + to Ruben Kerkhof. + * Build system: The "make distcheck" target was fixed to properly handle + java build artifacts. Thanks to Florian Forster. + * Build system: The configure script got fixed to work properly when + called with "CC="gcc -Wall -Werror"" . Thanks to Marc Fournier. + * Build system: The configure script will now fail if pkg-config isn't + available. Thanks to Ruben Kerkhof. + * Build system: The users plugin now builds properly on Solaris when + libstatgrab is available. Thanks to Dagobert Michelsen. #1061 + * Build system: Various fixes have been done to improve library + detection on FreeBSD. Thanks to Ruben Kerkhof. + * collectd2html: Several perl errors have been corrected. Thanks to Ruud + van Melick. #1103 + * collectd: A global gauge format-string is now used to avoid loss of + precision. Thanks to Florian Forster. #1039 + * collectd: A race condition at plugin initialization time was fixed. + Thanks to Jan Andres. #1316 + * collectd: Autoloading now properly sets plugin context, allowing + plugins to determine the interval. Thanks to Florian Forster. #1069 + * collectd: Empty "Plugin" blocks are now supported by the configuration + file parser. Thanks to Manuel Luis Sanmartín Rozada. #1035 + * collectd: The address of the Free Software Foundation has been fixed + in GPL license headers. Thanks to Ruben Kerkhof. + * collectd: Writing to a closed TCP socket is now properly handled. + Thanks to Tamás Földesi. #1104 + * Documentation: iptables plugin: IPv6 configuration option has been + added to the collectd.conf(5) manpage. Thanks to 'Marc Fournier''. + #1496 + * AMQP plugin: The plugin was fixed to build against librabbitmq 0.6.0. + Thanks to Remi Collet. #1008 + * Apache plugin: A warning about a possible misconfiguration has been + added. Thanks to Marc Fournier. + * Apache plugin: The plugin was extended to parse the whole response, + required to support Apache versions greater than 2.4.17. Thanks to + Marc Fournier and Florian Forster. #1170, #1343 + * APC UPS plugin: Log messages are now prefixed with the plugin name. + Thanks to Sergey. #1329 + * Bind plugin: The type_instance now gets properly sanitized. Thanks to + Thomas Kho. #992 + * CPU plugin: Error messages on MacOSX have been improved. Thanks to + Florian Forster. #22 + * cURL plugin: A typo in an error message got corrected. Thanks to Marc + Fournier. + * cURL, cURL-JSON and cURL-XML plugins: A memory leak when allocating + more memory fails has been fixed. Thanks to Brandon Arp. + * DF plugin: An bug preventing filesystems which don't report inodes + such as btrfs has been corrected. Thanks to Marek Becka. #1096 + * DF plugin: Duplicate entries are no longer reported twice. Thanks to + Stefan Brüns and Florian Forster. #1402 + * DF plugin: Legacy code for skipping "rootfs" mount points has been + removed. Thanks to Marc Fournier. #1402 + * DF plugin: Legacy references to the "ReportReserved" option have been + removed. Thanks to Marc Fournier. + * DF plugin: Reading the mtab now uses a reentrant function when + possible. Thanks to Ruben Kerkhof. #1163 + * Ethstat plugin: Code to strip leading whitespace from device names. + This works around an issue in the VMXNet3 driver. Thanks to Thomas + Guthmann. #1059 + * Exec plugin: A file descriptor leak when the plugin is configured to + run as a non-existing user was corrected. Thanks to Gautam BT and Marc + Fournier. #762 + * Exec plugin: A problem in the error handling of an fdopen() failure + has been fixed. Thanks to @ciomaire. + * Interface plugin: Documentation about regular expressions in the + ignore list has been added. Thanks to Jakub Jankowski. + * IRQ plugin: The "FIQ" line is now skipped as it doesn't contain any + counter. Thanks to Ruben Kerkhof. #971 + * Modbus plugin: The debug output has been disabled by default. It is + now only enabled when building with "--enable-debug". Thanks to Eric + Sandeen and Marc Fournier. + * MongoDB plugin: A memory leak has been fixed and some adaptations to + the current API of the mongo-c-driver have been made. Thanks to + Florian Forster. #956 + * Network plugin: A check for the initialization of secure memory has + been added. Previously, failure to initialize this memory was ignored. + Thanks to @yujokang. #1665 + * Network plugin: A heap overflow has been fixed in the server code. + This issue can be triggered remotely and is potentially exploitable. + Thanks to Emilien Gaspar. CVE-2016-6254 + * Network plugin: The TimeToLive option handling was made more robust. + Thanks to Tim Laszlo. #654 + * NTPd plugin: Documentation about the required "mode 7" has been added. + Thanks to Jakub Jankowski. + * NTPd plugin: Reporting of "time_offset-loop" was corrected to match + the values from ntpq/ntpdc. Thanks to Pierre Fersing and Florian + Forster. #1300 + * OpenVPN plugin: The plugin was fixe to avoid signaling an error when + no clients were connected. Thanks to Florian Forster. #731 + * Perl plugin: Init callbacks have been changed to run essentially + single-threaded to avoid race conditions by init functions which + create additional threads. Thanks to Pavel Rochnyack. #1706 + * PF plugin and DNS plugin: These plugins have been fixed to build + properly on OpenBSD again. Thanks to Ruben Kerkhof. + * Processes plugin: A compilation error on systems without "regex.h" has + been fixed. Thanks to Corey Kosak. + * Processes plugin: A memory leak on Solaris has been fixed. Thanks to + Jim Quinn. + * Processes plugin and Swap plugin: These plugins have been corrected to + also work inside FreeBSD jails. Thanks to biancalana. #1019 + * Processes plugin: A warning about too long process names has been + added. Thanks to Marc Fournier. #1284 + * Processes plugin: Process counting on the FreeBSD and OpenBSD + platforms has been fixed. Thanks to Herve COMMOWICK. #1298 + * Processes plugin: The plugin was fixed to work properly on Solaris. + Thanks to Jan Andres. #919 + * Python plugin: A double-free bug got fixed. Thanks to Sven Trenkel. + #1285 + * RRDtool plugin: A race condition leading to corrupt RRD file creation + has been fixed. Thanks to Manuel Luis Sanmartín Rozada. #1031 + * SNMP plugin: The "Gauge32" signedness was corrected to match RFC1902. + Thanks to Nathan Ward. #1325 + * StatsD plugin: A deadlock on plugin shutdown has been fixed. Thanks to + Pavel Rochnyack #1703 + * StatsD plugin: A memory leak was corrected. Thanks to Florian Forster. + #997 + * StatsD plugin: A symbol lookup error was fixed by properly linking the + plugin against libm. Thanks to Florian Forster. + * StatsD plugin: "utils_latency": Support for including values above + 1000 in percentile calculation has been added. Thanks to Yoga + Ramalingam. #401 + * StatsD plugin: "utils_latency": Two division by zero error conditions + have been corrected. Thanks to Wilfried Goesgens. #655 + * StatsD plugin: Counters absolute counts are now also reported. Thanks + to Pierre-Yves Ritschard. #1311 + * StatsD plugin: The plugin now emits NaN values when no timer event is + recorded. Thanks to Florian Forster. #1038, #1039 + * StatsD plugin: The plugin was corrected to avoid crashing when + negative timer values are submitted. Thanks to Florian Forster. #1131 + * Tail CSV plugin: The plugin was fixed to work properly with multiple + "Collect" options and a bug got fixed when no "TimeFrom" is specified. + Thanks to Manuel Luis Sanmartín Rozada and Florian Forster. #1032 + * TCPConns plugin: A memory leak was fixed. Thanks to Florian Forster. + #1074 + * TCPConns plugin: An bug causing collectd to enter an inifinite loop on + OpenBSD was fixed. Thanks to Landry Breuil. #1094 + * Threshold plugin: Threshold configuration blocks can now be defined in + different files. Thanks to Michael Salmon. #551 + * vmem plugin: Support for pgsteal in recent Linux kernels has been + added. Thanks to Jakub Jankowski. #1307 + * vmem plugin: The DSType for nr_dirtied and nr_written was corrected to + report a derive. Thanks to Marek Becka. #1072 + * Write Graphite plugin: Error handling when submitting metrics to the + server is now more robust. Thanks to Sam Pointer. #1364 + * Write HTTP plugin: Freeing of memory holding HTTP headers during + shutdown has been fixed. Thanks to Tolga Ceylan. + * Write Redis plugin: Multi-Valued key was made easier to parse by + adding a "|" character as a delimiter. Thanks to brianpkelly and + Florian Forster. #1070 + * Write Redis plugin: The timestamp format was corrected. Thanks to + Florian Forster. + * ZFS ARC plugin: The plugin was will not emit warning about missing + "l2_size" stats anymore. Thanks to Jan Andres. #919 + * 152 patches have been applied to numerous plugins and core components, + fixing various programming errors which were reported by scan-build, + libasan, FBInfer, coverity-scan, clang and gcc-6: Thanks to Ruben + Kerkhof, Florian Forster, Marc Fournier, Corey Kosak, Laurent, + Claudius Zingerli and Fabien Wernli. + +2015-02-26, Version 5.4.2 + * Build system: Numerous fixes. Thanks to Bjørn Nordbø, Jim Radford, + KOMEDA Shinji, Lauri Tirkkonen, Manuel Luis Sanmartin Rozada, Marc + Fournier, Rainer Müller, Yoga Ramalingam and Yves Mettier. #326, + #373, #653, #828 + * collectd: A use-after-free has been fixed in the "parse_value()" + function. Thanks to Matthias Urlichs. + * collectd: Fix carriage return sign in types_list Thanks to Marc + Fournier and @NsLib. + * collectd: Fix programming error in src/configfile.c. Thanks to + Wilfried Goesgens. + * collectd: An off-by-one error has been fixed in the + "strstripnewline()" function. Patch by Florian Forster. + * collectd: Use the complain mechanism to report filter chain write + failures. Thanks to Sebastian Harl. + * collectd: Spelling and grammar of error messages have been fixed. + Thanks to Katelyn Perry and Tim Laszlo. + * collectdctl: Fixed buffering issues which caused trouble on AIX and + Solaris. Thanks to Yoga Ramalingam. + * Documentation: Details and example about multi-instance filterchain + targets have been added. Thanks to Marc Fournier. + * Documentation: The "CollectStatistics" option of the rrdcached has + been documented. Thanks to Micha Krause. #907 + * Documentation: The write_redis has been documented. Thanks to Marc + Fournier. + * Documentation: The "GraphiteSeparateInstances" and + "GraphiteAlwaysAppendDS" options of the amqp have been documented. + Thanks to Marc Fournier. + * Documentation: Documentation of the "AutoLoadPlugin" option has been + improved. Thanks to Florian Forster. #715 + * aggregation: "utils_vl_lookup": A race when creating user objects + has been fixed. Thanks to Sebastian Harl. #535 + * cpu: Temperature code for Mac OS X has been removed. + Thanks to Florian Forster and Marc Fournier. #22 + * cURL, cURL-JSON, cURL-XML and Write HTTP plugins: Call + "curl_global_init()" in the plugins' "init()" callback. Thanks to + Jeremy Katz. + * cURL and memcachec plugins: Fix calculation of gauge, average, + minimum and maximum. Previously, they were calculated from the start + of the daemon, which is not the documented behavior. Thanks to + Florian Forster. #663 + * curl-json: A bug, which triggered when two URLs with a long common + prefix were configured, was fixed. Thanks to Marc Fournier. #582 + * dbi: Compatibility with new versions of libdbi has been restored. + Thanks to Florian Forster. #950 + * Exec, UnixSock plugins: Fix parsing of the "time" option of the + "PUTNOTIF" command. Thanks to Adrian Miron. #477 + * ipmi: A conflict with the java over the "SIGUSR2" signal has been + fixed. Thanks to Vincent Bernat. #114 + * java: Conversion from Java's time representation to collectd's + representation has been fixed. Thanks to Manuel Luis Sanmartín + Rozada. + * java: Make sure "cjni_thread_detach()" is called on all paths. + Thanks to Florian Forster. + * LogFile and SysLog plugins: Avoid total silence in case of a + misconfiguration. Thanks to Marc Fournier and Wilfried Goesgens. + * network: Support for recent versions of gcrypt has been added. + Thanks to Vincent Bernat. #632 + * network: Robustness of the client connecting behavior has been + improved. Thanks to Florian Forster. #627 + * python: Don't create empty "meta_data_t" objects. Thanks to Florian + Forster. #716 + * python: Fix Py list length check in "cpy_build_meta()". Thanks to + Yoga Ramalingam. + * python: The "interval" member was fixed to export seconds as a + double. Thanks to Justin Burnham. + * RRDtool and RRDCacheD plugins: A memory leak when creating RRD files + has been fixed. Thanks to Yves Mettier. #661 + * snmp: Fix a memory leak. Thanks to Marc Fournier and Pierre-Yves + Ritschard. #610, #804 + * statsd: Support for samplerates in timer metrics was added. Thanks + to John Leach. #461 + * swap: Fix behavior under OpenVZ by making "cached" optional. Thanks + to Florian Forster. #733 + * threshold: Population of the "time" field in notifications has been + added. Thanks to Manuel Luis Sanmartín Rozada. + * libvirt: Only gather stats for running domains. Thanks to Ruben + Kerkhof. + * lvm: An issue with Volume Groups (VGs) without Logical Volumes (LVs) + has been fixed. Thanks to Jan Kundrát. + * write_graphite: Escape characters not supported by Graphite. Thanks + to Pierre-Yves Ritschard and Marc Fournier. + * write_http: Make callback names context-dependent. Thanks to Marc + Fournier. #821 + * write_redis: A formatting bug, which resulted in totally unusable + numbers being transmitted to Redis, was fixed. Thanks to Marc + Fournier. + * write_riemann: Receive acknowledge message when using TCP. Thanks to + John-John Tedro. + +2014-01-26, Version 5.4.1 + * amqp plugin: Add support for RabbitMQ 0.4.x to avoid compiler + warnings. Thanks to Sebastian Harl for implementing this. + * apache / network plugins: Improved initialization order hopefully + resolved gcrypt initialization problems. + * aquaero plugin: The type used to submit fan utilization was fixed. + Thanks to Alex Deymo for the patch. + * cgroups plugin: A small memory leak was fixed. Checking the existence + of a mount option without a value was fixed. More permissive parsing + of the cpuacct.stats file fixes support for some versions of Linux. + Thanks to Marc Fournier for bug reports and patches. + * curl plugin: Fix blocks without an instance. Thanks to + Alexander Golovko for reporting and Sebastian Harl for fixing this. + * curl_json plugin: Potentially invalid memory access has been + sanitized. Thanks to Jim Radford for his patch. + * interface plugin: Fix behavior under FreeBSD 10: Reporting of + per-address statistics caused duplicate updates to the same metric. + Thanks to demon / @trtrmitya for the patch. + * write_graphite plugin: Use TCP to connect to Graphite by default. The + default changed from TCP to UDP between 5.3.1 and 5.4.0, which is a + regression. Thanks to Marc Fournier for fixing this. Reconnect + behavior was improved. Thanks to Michael Hart for his patch. + * zfs_arc plugin: Collect "allocated" and "stolen" on FreeBSD only. + +2013-08-18, Version 5.4.0 + * collectd: The "LoadPlugin" config option no longer attempts to load + plugins twice. If more than one "LoadPlugin" statement or block is + encountered, only the first will have any effect. + * collectd: The "AutoLoadPlugin" option allows to automatically load + plugins for which a configuration is found. + * collectd: The "WriteQueueLimitHigh" and "WriteQueueLimitLow" options + allow collectd to drop values when under stress, to avoid running out + of memory. Thanks to Yves Mettier for his patch. + * amqp plugin: The "GraphiteSeparateInstances" and + "GraphiteAlwaysAppendDS" options have been added. Thanks to Laurent + for the patch. + * aquaero plugin: This new plugin reads various metrics, e.g. fan + speeds and temperatures, from Aquaero 5, a fan and water cooling + control panel. Thanks to Alex Deymo for his patch. + * curl plugin: The "MeasureResponseCode" option has been added. Thanks + to Jan Matějka for his patch. + * curl_json plugin: Support for UNIX domain sockets and array wildcards + has been added. Thanks to Jim Radford for his patch. + * curl_xml plugin: Support for long URLs has been improved. + * cgroups plugin: This new plugin collects CPU accounting information + for processes in a cgroup. Thanks to Michael Stapelberg for his patch. + * df plugin: The "ValuesAbsolute" and "ValuesPercentage" options have + been added. Thanks to Vedran Bartonicek for the patch. + * exec plugin: Do UID / GID lookups before forking. This should prevent + a race condition in the NSS library. Thanks to Ceri Storey for the + patch. + * lvm plugin: This new plugin collects size information from Linux' + Logical Volume Manager (LVM). Thanks to Chad Malfait for his work. + * memcached plugin: Support for increment and decrement counts has been + added. Thanks to Blake Matheny for the patch. + * mic plugin: This new plugin collects CPU and memory usage, power + consumption and temperatures of Intel's Many-Integrated-Core (MIC) + architecture, such as Xeon Phi cards. Thanks to Evan Felix for his + work. + * netlink plugin: This plugin has been converted to use the supported + "libmnl" library. Thanks to Andreas Henriksson for his patch. + * nginx plugin: Collection of accepted and handled connections has been + added. Thanks to Patrick Shan for his patch. + * sigrok plugin: This new plugin collects metrics from sigrok, a signal + processing framework reading various hardware devices, from light + meters to spectrum analyzers. Thanks to Bert Vermeulen for his patch. + * statsd plugin: This new plugin listens to a UDP socket and reads + metrics in the StatsD format. + * varnish plugin: Many additional metrics have been added. Thanks to + Nick Stenning for his patch. + * write_graphite plugin: Support for "UDP" has been added. Thanks to + Javier Maestro for his patch. + * write_riemann plugin: The "TTLFactor" option has been added. + * zfs_arc plugin: Support for FreeBSD has been added. Thanks to Xin Li + for his patch. + +2015-02-26, Version 5.3.2 + * Build system: Numerous fixes. Thanks to Bjørn Nordbø, Jim Radford, + KOMEDA Shinji, Lauri Tirkkonen, Manuel Luis Sanmartin Rozada, Marc + Fournier, Rainer Müller, Yoga Ramalingam and Yves Mettier. #326, + #373, #653, #828 + * collectd: A use-after-free has been fixed in the "parse_value()" + function. Thanks to Matthias Urlichs. + * collectd: Fix carriage return sign in types_list Thanks to Marc + Fournier and @NsLib. + * collectd: Fix programming error in src/configfile.c Thanks to + Wilfried Goesgens. + * collectd: An off-by-one error has been fixed in the + "strstripnewline()" function. Patch by Florian Forster. + * collectd: Use the complain mechanism to report filter chain write + failures. Thanks to Sebastian Harl. + * collectd: Spelling and grammar of error messages have been fixed. + Thanks to Katelyn Perry and Tim Laszlo. + * collectdctl: Fixed buffering issues which caused trouble on AIX and + Solaris. Thanks to Yoga Ramalingam. + * Documentation: Details and example about multi-instance filterchain + targets have been added. Thanks to Marc Fournier. + * Documentation: The "CollectStatistics" option of the rrdcached has + been documented. Thanks to Micha Krause. #907 + * Documentation: The write_redis has been documented. Thanks to Marc + Fournier. + * Documentation: The synopsis of the threshold has been fixed. Thanks + to Fabien Wernli. + * Documentation: The "GraphiteSeparateInstances" and + "GraphiteAlwaysAppendDS" options of the amqp have been documented. + Thanks to Marc Fournier. + * aggregation: "utils_vl_lookup": A race when creating user objects + has been fixed. Thanks to Sebastian Harl. #535 + * cpu: Temperature code for Mac OS X has been removed. + Thanks to Florian Forster and Marc Fournier. #22 + * csv: A regression which would lead to the "DataDir" option to be + ignored has been fixed. Thanks to Manuel Luis Sanmartin Rozada. + * curl, curl-json, curl-xml and write_http plugins: Call + "curl_global_init()" in the plugins' "init()" callback. Thanks to + Jeremy Katz. + * curl and memcachec plugins: Fix calculation of gauge, average, + minimum and maximum. Previously, they were calculated from the start + of the daemon, which is not the documented behavior. Thanks to + Florian Forster. #663 + * dbi plugin: Compatibility with new versions of libdbi has been + restored. Thanks to Florian Forster. #950 + * exec, unixsock plugins: Fix parsing of the "time" option of the + "PUTNOTIF" command. Thanks to Adrian Miron. #477 + * java: Conversion from Java's time representation to collectd's + representation has been fixed. Thanks to Manuel Luis Sanmartín + Rozada. + * ipmi: A conflict with the java over the "SIGUSR2" signal has been + fixed. Thanks to Vincent Bernat. #114 + * java: Make sure "cjni_thread_detach()" is called on all paths. + Thanks to Florian Forster. + * logfile and syslog plugins: Avoid total silence in case of a + misconfiguration. Thanks to Marc Fournier and Wilfried Goesgens. + * memcached: Connecting to a UNIX socket has been fixed. Thanks to Jim + Radford. + * network: Support for recent versions of gcrypt has been added. + Thanks to Vincent Bernat. #632 + * network: Robustness of the client connecting behavior has been + improved. Thanks to Florian Forster. #627 + * python: Don't create empty "meta_data_t" objects. Thanks to Florian + Forster. #716 + * python: Fix Py list length check in "cpy_build_meta()". Thanks to + Yoga Ramalingam. + * python: The "interval" member was fixed to export seconds as a + double. Thanks to Justin Burnham. + * replace and set targets: Fix error message. Thanks to Marc Fournier. + #448 + * rrdtool and rrdcached plugins: Honor the "DataDir" config option; + this fixes a regression. Thanks to Florian Forster. #380 + * rrdtool and rrdcached plugins: A memory leak when creating RRD files + has been fixed. Thanks to Yves Mettier. #661 + * snmp: Fix a memory leak. Thanks to Marc Fournier and Pierre-Yves + Ritschard. #610, #804 + * swap: Fix behavior under OpenVZ by making "cached" optional. Thanks + to Florian Forster. #733 + * threshold: Population of the "time" field in notifications has been + added. Thanks to Manuel Luis Sanmartín Rozada. + * libvirt: Only gather stats for running domains. Thanks to Ruben + Kerkhof. + * write_graphite: Escape characters not supported by Graphite. Thanks + to Pierre-Yves Ritschard and Marc Fournier. + * write_http: Make callback names context-dependent. Thanks to Marc + Fournier. #821 + * write_riemann: Receive acknowledge message when using TCP. Thanks to + John-John Tedro. + +2013-07-13, Version 5.3.1 + * Documentation: Various fixes. + * Configuration: Fix error handling: Errors in included files were + ignored, causing configuration mistakes to go unnoticed. + * dns plugin: Don't abort when PCAP returns an error. + * modbus plugin: The reconnection strategy was improved, fixing a + segfault in the libmodbud library. Thanks to Stefan Nickl and + Fabien Wernli for their patches. + * mysql plugin: The notification about a newly running MySQL slave + thread has been fixed. Thanks to Joaquín Cuenca Abela for the patch. + * snmp plugin: A build issue has been fixed (C99 mixed declaration). + The end-of-tree check has been improved by Pierre-Yves Ritschard. + * threshold plugin: Handling of the "Interesting" configuration option + has been fixed. Thanks to Björn for the patch. + * write_riemann plugin: A memory leak has been fixed. Thanks to Dave + Cottlehuber for reporting it. + +2013-04-09, Version 5.3.0 + * collectd: The "Include" statements can now be limited to include + only matching files in a directory. Thanks to Sebastian Harl for his + patch. + * collectd: Dispatches / writes are now handled by a thread pool. This + improves reliability and throughput for instances configured to act + as a "server". Thanks to Sebastian Harl and Dan Fandrich for + reviewing this change and fixing bugs. + * aggregation plugin: Selection of value lists is now possible using + regular expressions. Parts of the identifier of the resulting metric + can now be set via the configuration file. + * apcups plugin: The "ReportSeconds" option has been implemented. + * curl* plugins: Support for POST requests and custom request headers + has been added. Thanks to Dan Fandrich for his patch. + * curl_xml plugin: Support for XML namespaces has been added. Thanks + to Dan Fandrich for his patch. + * dbi plugin: Support for numeric options has been added. The + "Host" option has been added. Thanks to Daniel Hilst for his patch. + * disk plugin: Support for systems with >256 has been fixed. Thanks to + Greg Mason for his patch. + * libvirt plugin: Support for memory allocation has been added. Thanks + to Johan Wirén for his patch. + * netapp plugin: Support for "SnapVault", "VFiler" and deduplication / + compression and quota metrics. Thanks to Sebastian Harl for his + patches and teamix GmbH for sponsoring this work. + * postgresql plugin: The reconnection logic has been improved. Thanks + to Sebastian Harl for his patches. + * rrdtool, rrdcached plugins: The "CreateFilesAsync" option has been + implemented. When enabled, new RRD files will be created + asynchronously, which improved throughput of "server" instances. + Many thanks to Yves Mettier for all his input and code. + * tail_csv plugin: This new plugins allows to read metrics from CSV + files, such as Snort's statistics file. Thanks to Kris Nielander for + his patch. + * write_mongodb plugin: Authentication options have been added. + * write_riemann plugin: This new plugin allows sending metrics to + Riemann, a stream processing and alerting tool. Big thanks to + Pierre-Yves Ritschard for his work. + +2013-04-08, Version 5.2.2 + * Build system: A bad interaction between the Java detection code and + libltdl has been fixed. Thanks to Dave Cottlehuber for his patch. + Installation of the Perl bindings has been improved / fixed. Thanks + to Sebastian Harl for his patch. + * collectd: Fixed read callback scheduling at startup. + * apache, ascent, bind, curl, curl_json, curl_xml, nginx and + write_http plugins: Portability fixes, protection from infinite + redirect loops, improved error handling and incorrect dereferences + have been fixed. Most of these are related to the cURL library. + Thanks to Dan Fandrich for his patches. + * logfile plugin: Flush the output file handle. This works around + caching when logging to STDOUT and redirecting into a file. Thanks + to Nathan Huff for the patch. + * mysql plugin: Fix a memory leak in the error handling. Thanks to + Tomas Doran for his patch. + * netapp plugin: Fix the interval with which values are dispatched. + * network plugin: Build issues under FreeBSD and initialization have + been fixed. Thanks to Ed Schouten for his patch. + * nfs plugin: A compilation problem has been fixed. + * notify_email plugin: Add a character set to the mail header. Thanks + to Manuel Cissé for his patch. + * pf plugin: Build issues have been fixed. + * postgresql plugin: Build issues have been fixed. + * rrdcached plugin: Connect to the daemon from the read callback. + * snmp plugin: Matching of SNMP subtrees has been improved. Thanks to + "jkrabbe" for the patch. + * thermal plugin: The initialization of dispatched value lists has + been fixed. Thanks to Markus Knetschke for his patch. + * unixsock plugin: Parsing of options with an underscore, e.g. + "plugin_instance" has been fixed. Thanks to Tommie Gannert for his + patch. + +2013-01-27, Version 5.2.1 + * Build system: "make distcheck" has been fixed. Build fixes Solaris + and systems without gcrypt. Thanks to Yves Mettier for his patches. + * collectd: The complaint mechanism was fixed. It reported messages + more frequently than intended. + * collectd-tg: A manual page has been added. + * dns plugin: Build issues on FreeBSD have been fixed. Thanks to + Ed Schouten for his patch. + * ethstat plugin: Fix the "Map" config option. An incorrectly used + character pointer may lead to a segmentation fault. + * network plugin: Build issues on FreeBSD have been fixed. Thanks to + Ed Schouten for his patch. + * postgresql plugin: A memory leak in the writing code has been fixed. + A use-after-free issue that happened when more than one database was + configured was fixed. Thanks to Sebastian Harl for fixing these + problems. + * redis plugin: A build failure has been fixed. Thanks to Pierre-Yves + Ritschard for his patch. + * varnish plugin: Fix a problem with instances without name. + * write_graphite plugin: A regression which rendered the + "SeparateInstances" and "AlwaysAppendDS" options unusable has been + fixed. A failed assertion when using types with many data sources + has been fixed. Improve reporting of connection errors to not spam + log files too much. Thanks to Pierre-Yves Ritschard for reporting + the logging problem. + * zfs_arc plugin: Fix the type used for mutex misses. Thanks to Yves + Mettier for reporting this bug. + +2012-11-17, Version 5.2.0 + * collectd: The performance of the LISTVAL command has been improved. + Thanks to Yves Mettier for the patch. + * collectd: The possibility to configure the collection interval on a + per-plugin basis has been added. Huge thanks to Sebastian Harl for + his work. + * collectd-tg: This new binary allows to generate random but real + looking collectd network traffic. This can be used to load-test new + plugin, for example. + * libcollectdclient: Code for constructing and sending network packets + in the binary format has been added. + * aggregation plugin: This new plugin allows to aggregate multiple + value lists into one. + * amqp and write_http plugins: Meta data is now included in the JSON + output format. Thanks to Mark Wong for the patch. + * amqp plugin: Support for "Graphite" output has been added. Thanks to + Thomas Meson for the patch. + * contextswitch plugin: Support for AIX has been added. Thanks to + Manuel Rozada for his patch. + * disk plugin: The "UseBSDName" config option has been added to the + Mac OS X version. + * GenericJMX plugin: Automatically determine the host name if it isn't + configured. + * libvirt plugin: The "number" interface format has been added. Thanks + to "Davide Guerri" for the patch. + * memcached plugin: Support for multiple connections has been added. + Thanks to Nicolas Szalay for the patch. + * ntpd plugin: The "IncludeUnitID" config option has been added. The + behavior when a peer is unreachable has been improved. Thanks to + Johan Kiviniemi for the patches. + * oracle plugin: The "Host" config option has been added. + * pf plugin: This new plugin allows to collect statistics from BSD's + packet filter "pf". Thanks to Pierre-Yves Ritschard and Stefan Rinkes + for their work. + * postgresql plugin: The "Instance" config option has been added. + Support for writing values to a PostgreSQL database has been added. + Thanks to Sebastian Harl for the patches. + * processes plugin: Support for Solaris has been added. Thanks to + Cosmin Ioiart for the patch. + * redis plugin: Support for authenticating via password has been added. + Thanks to biancalana for the patch. + * rrdcached plugin: The "HeartBeat", "RRARows", "RRATimespan", + "StepSize" and "XFF" config options have been added. + * swap plugin: The "ReportBytes" config option has been added. The AIX + version now also exports "reserved" pages and swap-in / swap-out + "traffic". Thanks to Manuel Rozada for the patch. + * tcpconns plugin: Use a netlink socket rather than reading from /proc + for improved performance. Thanks to Michael Stapelberg for the patch. + +2013-04-08, Version 5.1.3 + * Build system: A bad interaction between the Java detection code and + libltdl has been fixed. Thanks to Dave Cottlehuber for his patch. + * collectd: Fixed read callback scheduling at startup. + * apache, ascent, bind, curl, curl_json, curl_xml, nginx and + write_http plugins: Portability fixes, protection from infinite + redirect loops, improved error handling and incorrect dereferences + have been fixed. Most of these are related to the cURL library. + Thanks to Dan Fandrich for his patches. + * logfile plugin: Flush the output file handle. This works around + caching when logging to STDOUT and redirecting into a file. Thanks + to Nathan Huff for the patch. + * mysql plugin: Fix a memory leak in the error handling. Thanks to + Tomas Doran for his patch. + * netapp plugin: Fix the interval with which values are dispatched. + * network plugin: Build issues under FreeBSD and initialization have + been fixed. Thanks to Ed Schouten for his patch. + * nfs plugin: A compilation problem has been fixed. + * notify_email plugin: Add a character set to the mail header. Thanks + to Manuel Cissé for his patch. + * rrdcached plugin: Connect to the daemon from the read callback. + * snmp plugin: Matching of SNMP subtrees has been improved. Thanks to + "jkrabbe" for the patch. + * thermal plugin: The initialization of dispatched value lists has + been fixed. Thanks to Markus Knetschke for his patch. + * unixsock plugin: Parsing of options with an underscore, e.g. + "plugin_instance" has been fixed. Thanks to Tommie Gannert for his + patch. + +2013-01-25, Version 5.1.2 + * Build system: "make distcheck" has been fixed. Thanks to Yves + Mettier for his patches. + * collectd: The complaint mechanism was fixed. It reported messages + more frequently than intended. + * dns plugin: Build issues on FreeBSD have been fixed. Thanks to + Ed Schouten for his patch. + * ethstat plugin: Fix the "Map" config option. An incorrectly used + character pointer may lead to a segmentation fault. + * network plugin: Build issues on FreeBSD have been fixed. Thanks to + Ed Schouten for his patch. + * varnish plugin: Fix a problem with instances without name. + * write_graphite: Improve reporting of connection errors to not spam + log files too much. Thanks to Pierre-Yves Ritschard for reporting + this problem. + * zfs_arc plugin: Fix the type used for mutex misses. Thanks to Yves + Mettier for reporting this bug. + +2012-11-11, Version 5.1.1 + * collectd: Create new directories with mode 0777 and let umask remove + unwanted permission bits. + * collectd: Build issues have been fixed. + * collectd: An incorrect assertion has been fixed in some common code + for Solaris. This should resolve pseudo-random assertion failures + under Solaris. Thanks to Jeff Blane for his help debugging this. + * collectd: A couple of memory leaks through PThread thread attributes + have been fixed. Thanks to Gerrie Roos for fixing these. + * collectdctl: Fix PUTVAL for data sets with multiple data sources. + Thanks to Cyril Feraudet for reporting this problem. + * contrib/migrate-4-5.px: Handle to "df" to "df_complex" conversion + correctly. + * apcups plugin: Improve the reconnect behavior. + * curl_xml plugin: The "Host" setting was silently ignored. Thanks to + Fabien Wernli for fixing this. + * df plugin: Ignore "rootfs" devices under Linux to avoid having them + reported twice. Thanks to Brune Prémont for fixing this. + * disk plugin: Fix incorrect computation of read and write latency (the + "disk_time" type). Previously, the numbers reported where too small + by a factor of "interval", e.g. when the interval is set to 10 + seconds, the values were too low by a factor of 10. Thanks to Manuel + Sanmartin for reporting this problem. + * dns plugin: A build issue under Solaris has been fixed. A erroneous + define that could lead to the reporting of bad data has been fixed by + Daniel Sutto. + * ethstat plugin: An off-by-one error and potential use of + uninitialized memory has been fixed. Thanks to Mark Voelker for + reporting these problems. + * memcachec plugin: A bug in the configuration handling has been fixed. + Thanks to Pascal Hofmann for fixing this issue. + * mysql plugin: Fix a bug when registering multiple databases. Thanks + to Sebastian Harl for fixing this. + * netapp plugin: Correctly close the connection on communication + errors. + * netlink plugin: The function used to query statistics has been + changed to be more in line with iproute2's behavior. Thanks to + "KIvosak" for the patch. + * network plugin: Initialization of libgcrypt has been fixed. Thanks to + Chris Lundquist for his patch. + * oracle plugin: Error messages have been improved. + * ping plugin: Don't enter the exponential back-off mode when + ping_send() fails. This should make recovery after a network failure + much faster. + * python plugin: Memory leaks have been fixed. Thanks to Tommie Gannert + and Sven Trenkel for fixing this. + * redis plugin: Fix a compilation problem on FreeBSD. Thanks to + "biancalana" for the fix. + * rrdtool plugin: Fix an out-of-bounds array access when printing a + warning message. Thanks to Will Hawkins for fixing this bug. + * snmp plugin: Support for the SNMP_ENDOFMIBVIEW return value has been + added. Support for more complex / unusual MIBs / subtrees has been + added. Thanks to Mark Juric to test the changes and point out these + problems. + * varnish plugin: Support for multiple instances of Varnish 3 has been + fixed. Thanks to Jonathan Huot for the patch. + * write_mongodb plugin: Add compatibility with libmongo 0.6.0 and + later. Thanks to Chris Lundquist for this patch. + +2012-04-01, Version 5.1.0 + * Build system, iptables plugin: The shipped version of libiptc has + been removed. + * collectd-nagios: A list of value lists can now be queried using + "-n LIST". Thanks to Sebastian Harl for his patches. + * bind plugin: The "ParseTime" option has been added. It allows to use + the system time rather than the time reported by BIND. + * curl, memcachec, tail plugins: The "ExcludeRegexp" option has been + added. Thanks to Peter Warasin for his initial patch. + * ethstat plugin: The new "ethstat" plugin reads performance statistics + directly from ethernet cards. Thanks to Cyril Feraudet for his patch. + * GenericJMX plugin: Support for querying MBean "Operations" (in + addition to "Attributes") has been added. Thanks to Pierre-Yves + Ritschard for his patch. + * irq plugin: The selection / ignore code now uses the default + ignorelist infrastructure, providing the standard feature set, e.g. + regex matching. + * md plugin: The new "md" plugin reports the number of disks in various + states in Linux software RAID devices. Thanks to Michael Hanselmann + for his patch. + * modbus plugin: Support for signed integer register types has been + added. + * nfs plugin: Support for Solaris has been added. Thanks to Cosmin + Ioiart for his patch. + * numa plugin: The new "numa" plugin reports statistics of the + Non-Uniform Memory Access (NUMA) subsystem of Linux. + * processes plugin: Various fixes for the FreeBSD implementation. + Thanks to Phil Kulin for his patch. + * rrdcached plugin: Passing flushes to the caching daemon has been + added. + * sensors plugin: The initialization code has been improved. Thanks to + Henrique de Moraes Holschuh for his patch. + * swap plugin: The "ReportByDevice" option has been added. + * syslog plugin: Support for writing notifications has been added. + Thanks to Fabien Wernli for his patch. + * tcpconns plugin: Support for AIX has been added. Thanks to Manuel + Luis Sanmartín Rozada for his patch. + * threshold plugin: The "PersistOK" option has been added. Thanks to + Aaron Brady for his patch. + * varnish plugin: Support for Varnish 3.0 has been added. Thanks to + Jérôme Renard for his patches. + * write_mongodb plugin: The new "write_mongodb" plugin writes value + lists to MongoDB, a shema-less database. Thanks to Akkarit Sangpetch + and Chris Lundquist for their work. + * write_graphite plugin: The new "write_graphite" plugin writes value + lists to Carbon, the storage layer of the Graphite time-series + database. Thanks to Scott Sanders and Pierre-Yves Ritschard for their + work. + * zfs_arc plugin: Several new statistics have been added. Thanks to + Aurelien Rougemont for his patches. + * scale target: Support for scaling specific data sources only has been + added. Thanks to Gerrie Roos for his patch. + +2012-11-11, Version 5.0.5 + * collectd: Create new directories with mode 0777 and let umask remove + unwanted permission bits. + * collectd: Build issues have been fixed. + * collectd: An incorrect assertion has been fixed in some common code + for Solaris. This should resolve pseudo-random assertion failures + under Solaris. Thanks to Jeff Blane for his help debugging this. + * collectd: A couple of memory leaks through PThread thread attributes + have been fixed. Thanks to Gerrie Roos for fixing these. + * collectdctl: Fix PUTVAL for data sets with multiple data sources. + Thanks to Cyril Feraudet for reporting this problem. + * contrib/migrate-4-5.px: Handle to "df" to "df_complex" conversion + correctly. + * apcups plugin: Improve the reconnect behavior. + * curl_xml plugin: The "Host" setting was silently ignored. Thanks to + Fabien Wernli for fixing this. + * df plugin: Ignore "rootfs" devices under Linux to avoid having them + reported twice. Thanks to Brune Prémont for fixing this. + * disk plugin: Fix incorrect computation of read and write latency (the + "disk_time" type). Previously, the numbers reported where too small + by a factor of "interval", e.g. when the interval is set to 10 + seconds, the values were too low by a factor of 10. Thanks to Manuel + Sanmartin for reporting this problem. + * dns plugin: A build issue under Solaris has been fixed. A erroneous + define that could lead to the reporting of bad data has been fixed by + Daniel Sutto. + * memcachec plugin: A bug in the configuration handling has been fixed. + Thanks to Pascal Hofmann for fixing this issue. + * mysql plugin: Fix a bug when registering multiple databases. Thanks + to Sebastian Harl for fixing this. + * netapp plugin: Correctly close the connection on communication + errors. + * netlink plugin: The function used to query statistics has been + changed to be more in line with iproute2's behavior. Thanks to + "KIvosak" for the patch. + * network plugin: Initialization of libgcrypt has been fixed. Thanks to + Chris Lundquist for his patch. + * oracle plugin: Error messages have been improved. + * ping plugin: Don't enter the exponential back-off mode when + ping_send() fails. This should make recovery after a network failure + much faster. + * python plugin: Memory leaks have been fixed. Thanks to Tommie Gannert + and Sven Trenkel for fixing this. + * redis plugin: Fix a compilation problem on FreeBSD. Thanks to + "biancalana" for the fix. + * rrdtool plugin: Fix an out-of-bounds array access when printing a + warning message. Thanks to Will Hawkins for fixing this bug. + * snmp plugin: Support for the SNMP_ENDOFMIBVIEW return value has been + added. Support for more complex / unusual MIBs / subtrees has been + added. Thanks to Mark Juric to test the changes and point out these + problems. + +2012-04-01, Version 5.0.4 + * Build system: Fix the use of a libltdl macro. Thanks to Clemens Lang + for fixing this. Adresses some issues with building the iptables + plugin under Gentoo. + * libcollectdclient: A memory leak in the lcc_getval() function has + been fixed. Thanks to Jason Schmidlapp for finding and fixing this + issue. + * bind plugin: The use of 'QType" types has been fixed. + * df plugin: Fixed compiler issue under Mac OS X 10.7. + * conntrack plugin: Support zero as legitimate value. Thanks to Louis + Opter for his patch. + * memcached plugin: Increased the size of a static buffer, which was + truncating status messages form memcached. Thanks to Timon for the + patch. + * network plugin: Forwarding of notifications has been disabled. This + was a contition not checked for before, which may retult in an + endless loop. + * processes plugin: Support for process names with spaces has been + added to the Linux implementation. Thanks to Darrell Bishop for his + patch. + * perl plugin: A race condition in several callbacks, including log and + write callbacks, has been fixed. Thanks to "Rrpv" for reporting this + bug. + * snmp plugin: A bug when casting unsigned integers to gauge values has + been fixed: Unsigned integers would be cast to a signed integer and + then to a gauge, possibly resulting in a negative value. + * tcpconns plugin: Compilation with newer versions of the FreeBSD + runtime has been fixed. + +2012-02-19, Version 5.0.3 + * Build system: Fix problems when building the ipvs and iptables + plugins. Thanks to Sebastian Harl for his patch. A bashism in the + version-gen.sh script has been fixed. Thanks to Jo-Philipp Wich for + his patch. + * csv and rrdtool plugins: Print a more helpful error message when the + DataDir is a symlink pointing to a non-existing location. Thanks to + Jonathan Nieder for his patch. + * exec plugin: Fix a problem when using select(2) to read from file + handles. Thanks to Gerrie Roos for his patch. + * network plugin: An incorrect error message in the handling of the + "Interface" configuration option has been fixed. Thanks to Gerrie + Roos for his patch. + * oracle plugin: A potential endless loop in the error handling has + been fixed. + * python plugin: A crash bug in the configuration handling has been + fixed. Thanks to Sven Trenkel for his patch. + * interfaces plugin: The change which was supposed to ignore "bogus" + interfaces has been reverted, since it ignored legit interfaces, such + as bonding pseudo-devices as well. + +2012-01-21, Version 5.0.2 + * curl_xml plugin: Fix handling of file:// and other URLs (which don't + follow HTTP status codes). Thanks to Fabien Wernli for his patch! + * df plugin: Fix handling of negative "available" counts. This can + occur with some file systems, for example UFS. Thanks to Toni Ylenius + for his patch. + * interface plugin: "mac" interfaces are now ignored on Solaris. These + pseudo-interfaces occur multiple times, causing warnings. Also switch + to 64-bit counters on Solaris, improving overflow behavior for + high-speed interfaces. Thanks to Eddy Geez and Fabien Wernli for + their patches. + * memory plugin: Account kernel and unused memory under Solaris. Thanks + to Fabien Wernli for his patch. + * network plugin: A bug in the interaction between the Network plugin + and filter chains has been fixed: When a filter modified a field such + as the hostname, subsequent values in the same network packets could + have ended up using the modified name rather than the original name. + Thanks to Sebastian Harl for identifying the problem. + * oracle plugin: A memory leak has been fixed in the parameter handling. + * python plugin: A memory leak has been fixed. Thanks to Sven Trenkel + for fixing this bug! + +2011-10-07, Version 5.0.1 + * collectd: A mutex leak has been fixed in the meta data code. Thanks + to Rafal Lesniak for his patch. + * collectd: Compatibility fixes for GCC 4.6 have been applied. Thanks + to Peter Green for his patch. + * csv plugin: The line buffer size has been increased. Thanks to Colin + McCabe for the patch. + * curl_json plugin: Don't use the "parent" node to build the type + instance, if it is empty. Compatibility with libyajl 2 has been + added. Thanks to "spupykin" of the Arch Linux project for the initial + code. Formatting of time has been fixed in the JSON module. + * exec plugin: Fix the timestamp value passed to notification scripts. + Thanks to Alexander Kovalenko for fixing this. + * iptables plugin: Fix linking with some versions of libiptc. + * irq plugin: Fix support for interrupts under Linux. The old code + assumed that interrupts have a numeric value -- this is no longer + true for Linux. Thanks to Bostjan Skufca for implementing this. + * notify_desktop plugin: Compatibility with libnotify 0.7 has been + added. Thanks to Samuli Suominen for his patch. + * processes plugin: Fix handling of regular expressions containing + spaces. Thanks for Sebastian Harl for fixing this. + * rrdtool, rrdcached plugins: Improve precision of the XFF parameter. + Previously, values like 0.999 would have been rounded to 1.0. Thanks + to Francois-Xavier Bourlet for fixing this. + * varnish plugin: Fix data type handling of some metrics. Some values + were submitted as gauge even though they were derives. + * Various plugin: Set a multi-threading flag in libcurl. Thanks to Mike + Flisher for the fix. + +2011-03-28, Version 5.0.0 + * collectd: The "FQDNLookup" option is now enabled by default. + * collectd: The internal representation of time has been changed to + allow a higher accuracy than one second. + * collectdcmd: This new command line utility can send various commands + to collectd using the UnixSock plugin. Thanks to HÃ¥kon Dugstad + Johnsen and Sebastian Harl for their code. + * collectd-nagios: The "-m" option has been implemented (treat NaNs as + critical). + * collectd-tg: Traffic generator creating bogus network traffic + compatible to the Network plugin. This utility can be used to + stress-test new write plugins and collectd in general. + * libcollectdclient: Creating and sending network packets has been + added to the collectd client library. + * All data sets: The data source name of all data sets with exactly + one data source has been changed to "value". + * All plugins: All "counter" data sources have been converted to + "derive" data sources. All plugins now use "derive" by default, but + plugins such as the network plugin can still handle "counter", of + course. The minimum value of all derive data sources is zero, the + maximum value is unspecified. + * amqp plugin: The new AMQP plugin can send data to and receive data + from an AMQP broker. Thanks to Sebastien Pahl for his code. + * apache plugin: Backwards compatibility code has been removed. + Support for the IBM HTTP Server has been added. Thanks to Manuel + Luis Sanmartín Rozada for his patch. + * contextswitch plugin: Support for sysctlbyname(3) has been added. + Thanks to Kimo Rosenbaum for his patch. + * df plugin: The default behavior has been changed to be equivalent to + the "ReportReserved" behavior of v4. + * dns plugin: Improved RFC 1035 name parsing has been imported from + "dnstop". + * exec plugin: Backwards compatibility code has been removed. + * GenericJMX plugin: The "InstancePrefix" option has been added to + "Connection" blocks. + * hddtemp plugin: The "TranslateDevicename" config option has been + removed. + * interface plugin: Use the "plugin instance" to store the interface + value. + * libvirt plugin: The "InterfaceFormat" option has been added. Thanks + to Ruben Kerkhof for his patch. + * lpar plugin: New plugins for "logical partitions", a virtualization + technique of POWER CPUs. Thanks to Aurélien Reynaud for his code and + patience. + * modbus plugin: Support for libmodbus 2.9.2 has been added and the + license has been changed to LGPLv2.1. + * mysql plugin: Backwards compatibility code has been removed. The + data sets used have been improved. + * network plugin: The default buffer size has been increased to + 1452 bytes. + * perl plugin: Backwards compatibility code has been removed. + * postgresql plugin: Backwards compatibility code has been removed. + * redis plugin: Plugin for collecting statistics from Redis, a key- + value store, has been added. Thanks to Andres J. Diaz for his code. + * swap plugin: Implement collection of physical and virtual memory + statistics under Solaris. The new default is collecting physical + memory. Thanks to Aurélien Reynaud for his patches. + * threshold plugin: The threshold configuration has been moved into + this separate plugin. + * unixsock plugin: The "DeleteSocket" option has been added. + * varnish plugin: The new Varnish plugin reads statistics from + Varnish, a web accelerator. Thanks to Jérôme Renard and Marc + Fournier for their contributions. + * write_redis: New plugin for writing data to Redis, a key-value + store. + * zfs_arc plugin: The data sets have been replaced by more elegant + alternatives. + * v5upgrade target: Target for converting v4 data sets to the v5 + schema. + +2013-04-07, Version 4.10.9 + * Build system: A bad interaction between the Java detection code and + libltdl has been fixed. Thanks to Dave Cottlehuber for his patch. + * apache, ascent, bind, curl, curl_json, curl_xml, nginx and + write_http plugins: Portability fixes, protection from infinite + redirect loops, improved error handling and incorrect dereferences + have been fixed. Most of these are related to the cURL library. + Thanks to Dan Fandrich for his patches. + * logfile plugin: Flush the output file handle. This works around + caching when logging to STDOUT and redirecting into a file. Thanks + to Nathan Huff for the patch. + * network plugin: Build issues under FreeBSD and initialization have + been fixed. Thanks to Ed Schouten for his patch. + * mysql plugin: Fix a memory leak in the error handling. Thanks to + Tomas Doran for his patch. + * thermal plugin: The initialization of dispatched value lists has + been fixed. Thanks to Markus Knetschke for his patch. + * unixsock plugin: Parsing of options with an underscore, e.g. + "plugin_instance" has been fixed. Thanks to Tommie Gannert for his + patch. + +2012-11-11, Version 4.10.8 + * collectd: Create new directories with mode 0777 and let umask remove + unwanted permission bits. + * collectd: Build issues have been fixed. + * collectd: An incorrect assertion has been fixed in some common code + for Solaris. This should resolve pseudo-random assertion failures + under Solaris. Thanks to Jeff Blane for his help debugging this. + * collectd: A couple of memory leaks through PThread thread attributes + have been fixed. Thanks to Gerrie Roos for fixing these. + * apcups plugin: Improve the reconnect behavior. + * df plugin: Ignore "rootfs" devices under Linux to avoid having them + reported twice. Thanks to Brune Prémont for fixing this. + * disk plugin: Fix incorrect computation of read and write latency (the + "disk_time" type). Previously, the numbers reported where too small + by a factor of "interval", e.g. when the interval is set to 10 + seconds, the values were too low by a factor of 10. Thanks to Manuel + Sanmartin for reporting this problem. + * dns plugin: A build issue under Solaris has been fixed. A erroneous + define that could lead to the reporting of bad data has been fixed by + Daniel Sutto. + * memcachec plugin: A bug in the configuration handling has been fixed. + Thanks to Pascal Hofmann for fixing this issue. + * netapp plugin: Correctly close the connection on communication + errors. + * netlink plugin: The function used to query statistics has been + changed to be more in line with iproute2's behavior. Thanks to + "KIvosak" for the patch. + * network plugin: Initialization of libgcrypt has been fixed. Thanks to + Chris Lundquist for his patch. + * oracle plugin: Error messages have been improved. + * ping plugin: Don't enter the exponential back-off mode when + ping_send() fails. This should make recovery after a network failure + much faster. + * python plugin: Memory leaks have been fixed. Thanks to Tommie Gannert + and Sven Trenkel for fixing this. + * rrdtool plugin: Fix an out-of-bounds array access when printing a + warning message. Thanks to Will Hawkins for fixing this bug. + * snmp plugin: Support for the SNMP_ENDOFMIBVIEW return value has been + added. Support for more complex / unusual MIBs / subtrees has been + added. Thanks to Mark Juric to test the changes and point out these + problems. + +2012-04-01, Version 4.10.7 + * Build system: Fix the use of a libltdl macro. Thanks to Clemens Lang + for fixing this. Adresses some issues with building the iptables + plugin under Gentoo. + * libcollectdclient: A memory leak in the lcc_getval() function has + been fixed. Thanks to Jason Schmidlapp for finding and fixing this + issue. + * bind plugin: The use of 'QType" types has been fixed. + * df plugin: Fixed compiler issue under Mac OS X 10.7. + * conntrack plugin: Support zero as legitimate value. Thanks to Louis + Opter for his patch. + * memcached plugin: Increased the size of a static buffer, which was + truncating status messages form memcached. Thanks to Timon for the + patch. + * network plugin: Forwarding of notifications has been disabled. This + was a contition not checked for before, which may retult in an + endless loop. + * processes plugin: Support for process names with spaces has been + added to the Linux implementation. Thanks to Darrell Bishop for his + patch. + * perl plugin: A race condition in several callbacks, including log and + write callbacks, has been fixed. Thanks to "Rrpv" for reporting this + bug. + * snmp plugin: A bug when casting unsigned integers to gauge values has + been fixed: Unsigned integers would be cast to a signed integer and + then to a gauge, possibly resulting in a negative value. + * tcpconns plugin: Compilation with newer versions of the FreeBSD + runtime has been fixed. + +2012-02-19, Version 4.10.6 + * Build system: Fix problems when building the ipvs and iptables + plugins. Thanks to Sebastian Harl for his patch. A bashism in the + version-gen.sh script has been fixed. Thanks to Jo-Philipp Wich for + his patch. + * csv and rrdtool plugins: Print a more helpful error message when the + DataDir is a symlink pointing to a non-existing location. Thanks to + Jonathan Nieder for his patch. + * exec plugin: Fix a problem when using select(2) to read from file + handles. Thanks to Gerrie Roos for his patch. + * network plugin: An incorrect error message in the handling of the + "Interface" configuration option has been fixed. Thanks to Gerrie + Roos for his patch. + * oracle plugin: A potential endless loop in the error handling has + been fixed. + * python plugin: A crash bug in the configuration handling has been + fixed. Thanks to Sven Trenkel for his patch. + * interfaces plugin: The change which was supposed to ignore "bogus" + interfaces has been reverted, since it ignored legit interfaces, such + as bonding pseudo-devices as well. + +2012-01-21, Version 4.10.5 + * curl_xml plugin: Fix handling of file:// and other URLs (which don't + follow HTTP status codes). Thanks to Fabien Wernli for his patch! + * df plugin: Fix handling of negative "available" counts. This can + occur with some file systems, for example UFS. Thanks to Toni Ylenius + for his patch. + * interface plugin: "mac" interfaces are now ignored on Solaris. These + pseudo-interfaces occur multiple times, causing warnings. Also switch + to 64-bit counters on Solaris, improving overflow behavior for + high-speed interfaces. Thanks to Eddy Geez and Fabien Wernli for + their patches. + * memory plugin: Account kernel and unused memory under Solaris. Thanks + to Fabien Wernli for his patch. + * network plugin: A bug in the interaction between the Network plugin + and filter chains has been fixed: When a filter modified a field such + as the hostname, subsequent values in the same network packets could + have ended up using the modified name rather than the original name. + Thanks to Sebastian Harl for identifying the problem. + * oracle plugin: A memory leak has been fixed in the parameter handling. + * python plugin: A memory leak has been fixed. Thanks to Sven Trenkel + for fixing this bug! + +2011-10-14, Version 4.10.4 + * collectd: A mutex leak has been fixed in the meta data code. Thanks + to Rafal Lesniak for his patch. + * collectd: Compatibility fixes for GCC 4.6 have been applied. Thanks + to Peter Green for his patch. + * csv plugin: The line buffer size has been increased. Thanks to Colin + McCabe for the patch. + * curl_json plugin: Don't use the "parent" node to build the type + instance, if it is empty. Compatibility with libyajl 2 has been + added. Thanks to "spupykin" of the Arch Linux project for the initial + code. + * iptables plugin: Fix linking with some versions of libiptc. + * irq plugin: Fix support for interrupts under Linux. The old code + assumed that interrupts have a numeric value -- this is no longer + true for Linux. Thanks to Bostjan Skufca for implementing this. + * notify_desktop plugin: Compatibility with libnotify 0.7 has been + added. Thanks to Samuli Suominen for his patch. + * processes plugin: Fix handling of regular expressions containing + spaces. Thanks for Sebastian Harl for fixing this. + * rrdtool, rrdcached plugins: Improve precision of the XFF parameter. + Previously, values like 0.999 would have been rounded to 1.0. Thanks + to Francois-Xavier Bourlet for fixing this. + * Various plugin: Set a multi-threading flag in libcurl. Thanks to Mike + Flisher for the fix. + +2011-03-26, Version 4.10.3 + * Documentation: Several updates and additions. Thanks to Sebastian Harl. + * collectd: Build issues (compiler warnings) have been fixed. Thanks to + Bruno Prémont. + * collectd: Threshold subsection: Handling of NAN values in the + percentage calculation has been fixed. + * collectd, java plugin, ntpd plugin: Several diagnostic messages have + been improved. + * curl_json plugin: Handling of arrays has been fixed. + * libvirt plugin: A bug in reading the virtual CPU statistics has been + fixed. Thanks to “JLPC” for reporting this problem. + * modbus plugin: Compatibility with libmodbus 2.0.3 has been restored. + * processes plugin: Potentially erroneous behavior has been fixed in an + error handling case. + * python plugin: Fix dispatching of values from Python scripts to + collectd. Thanks to Gregory Szorc for finding and fixing this + problem. + +2010-11-27, Version 4.10.2 + * Documentation: Various documentation fixes. + * collectd: If including one configuration file fails, continue with + the rest of the configuration if possible. + * collectd: Fix a bug in the read function scheduling. In rare cases + read functions may not have been called as often as requested. + * collectd: Concurrency issues with errno(3) under AIX have been + fixed: A thread-safe version of errno has to be requested under AIX. + Thanks to Aurélien Reynaud for his patch. + * collectd: A left-over hard-coded 2 has been replaced by the + configurable timeout value. + * curl, memcachec, tail plugins: Fix handling of "DERIVE" data + sources. Matching the end of a string has been improved; thanks to + Sebastian Harl for the patch. + * curl_json plugin: Fix a problem when parsing 64bit integers. Reading + JSON data from non-HTTP sources has been fixed. + * netapp plugin: Pass the interval setting to the dispatch function. + Restore compatibility to NetApp Release 7.3. Thanks to Sven Trenkel + for the patch. + * network plugin: Be less verbose about unchecked signatures, in order + to prevent spamming the logs. + * notify_email plugin: Concurrency problems have been fixed. + * python plugin: Set "sys.argv", since many scripts don't expect that + it may not be set. Thanks to Sven Trenkel for the patch. + * rrdtool, rrdcached plugin: Fix a too strict assertion when creating + RRD files. + * swap plugin: A bug which lead to incorrect I/O values has been + fixed. + * value match: A minor memory leak has been fixed. Thanks to Sven + Trenkel for the patch. + +2010-07-09, Version 4.10.1 + * Build system: Checking for "strtok_r" under Solaris has been fixed. + * Portability: Fixes for Solaris 8 have been applied. Thanks to + Alexander Wuerstlein for his patch. + * collectd: The shutdown speed when terminating the read threads has + been improved. + * libcollectdclient: A format error in the PUTVAL command has been + removed. Thanks to Johan Van den Brande for fixing this. + * df plugin: An error message shown when "cu_mount_getlist" fails has + been added. + * processes plugin: Missing initialization code for IO members of a + struct has been added. Thanks to Aurélien Reynaud for fixing this. + * python plugin: Memory leaks in the write and notification callbacks + have been fixed. A possible crash when the plugin was loaded but not + configured has been fixed. Thanks to Sven Trenkel for his patches. + * snmp plugin: Verbosity with regard to unknown ASN types has been + increased. A build problem on PowerPC and ARM processors has been + fixed by Aurélien Reynaud; thanks! + * powerdns plugin: Compatibility changes for PowerDNS 2.9.22 and above + have been applied. Thanks to Luke Heberling for his changes. + +2010-05-01, Version 4.10.0 + * collectd: JSON output now includes the "dstypes" and "dsnames" + fields. This makes it easier for external applications to interpret + the data. Thanks to Chris Buben for his work. + * collectd: The new "Timeout" option can be used to specify a + "timeout" for missing values. This is used in the threshold checking + code to detect missing values. Thanks to Andrés J. Díaz for the + patch. + * apache plugin: Support for "IdleWorkers" (Apache 1.*: "IdleServers") + has been added. + * curl plugin: The new "ExcludeRegex" allows to easily exclude certain + lines from the match. + * curl_xml plugin: This new plugin allows to read XML files using cURL + and extract metrics included in the files. Thanks to Amit Gupta for + his work. + * filecount plugin: The new "IncludeHidden" option allows to include + "hidden" files and directories in the statistics. Thanks to Vaclav + Malek for the patch. + * logfile plugin: The new "PrintSeverity" option allows to include the + severity of a message in the output. Thanks to Clément Stenac for + his patch. + * memcachec plugin: The new "ExcludeRegex" allows to easily exclude + certain lines from the match. + * modbus plugin: This new plugin allows to read registers from + Modbus-TCP enabled devices. + * network plugin: The new "Interface" option allows to set the + interface to be used for multicast and, if supported, unicast + traffic. Thanks to Max Henkel for his work. + * openvpn plugin: The "CollectUserCount" and "CollectIndividualUsers" + options allow more detailed control over how to report sessions of + multiple users. Thanks to Fabian Schuh for his work. + * pinba plugin: This new plugin receives timing information from the + Pinba PHP extension, which can be used for profiling PHP code and + webserver performance. Thanks to Phoenix Kayo for his work. + * ping plugin: The new "MaxMissed" allows to re-resolve a hosts + address when it doesn't reply to a number of ping requests. Thanks + to Stefan Völkel for the patch. + * postgresql plugin: The "Interval" config option has been added. The + plugin has been relicensed under the 2-clause BSD license. Thanks to + Sebastian Harl for his work. + * processes plugin: Support for "code" and "data" virtual memory sizes + has been added. Thanks to Clément Stenac for his patch. + * python plugin: Support for Python 3 has been implemented. Thanks to + Sven Trenkel for his work. + * routeros plugin: Support for collecting CPU load, memory usage, used + and free disk space, sectors written and number of bad blocks from + MikroTik devices has been added. + * swap plugin: Support for Linux < 2.6 has been added. Thanks to Lorin + Scraba for his patch. + * tail plugin: The new "ExcludeRegex" allows to easily exclude certain + lines from the match. Thanks to Peter Warasin for his patch. + * write_http plugin: The "StoreRates" option has been added. Thanks to + Paul Sadauskas for his patch. + * regex match: The "Invert" option has been added. Thanks to Julien + Ammous for his patch. + +2011-03-26, Version 4.9.5 + * Documentation: Several updates and additions. Thanks to Sebastian Harl. + * collectd: Build issues (compiler warnings) have been fixed. Thanks to + Bruno Prémont. + * collectd: Threshold subsection: Handling of NAN values in the + percentage calculation has been fixed. + * collectd, java plugin, ntpd plugin: Several diagnostic messages have + been improved. + * libvirt plugin: A bug in reading the virtual CPU statistics has been + fixed. Thanks to “JLPC” for reporting this problem. + * processes plugin: Potentially erroneous behavior has been fixed in an + error handling case. + * python plugin: Fix dispatching of values from Python scripts to + collectd. Thanks to Gregory Szorc for finding and fixing this + problem. + +2010-11-27, Version 4.9.4 + * Documentation: Various documentation fixes. + * collectd: If including one configuration file fails, continue with + the rest of the configuration if possible. + * collectd: Fix a bug in the read function scheduling. In rare cases + read functions may not have been called as often as requested. + * collectd: Concurrency issues with errno(3) under AIX have been + fixed: A thread-safe version of errno has to be requested under AIX. + Thanks to Aurélien Reynaud for his patch. + * curl, memcachec, tail plugins: Fix handling of "DERIVE" data + sources. Matching the end of a string has been improved; thanks to + Sebastian Harl for the patch. + * curl_json plugin: Fix a problem when parsing 64bit integers. Reading + JSON data from non-HTTP sources has been fixed. + * netapp plugin: Pass the interval setting to the dispatch function. + Restore compatibility to NetApp Release 7.3. Thanks to Sven Trenkel + for the patch. + * network plugin: Be less verbose about unchecked signatures, in order + to prevent spamming the logs. + * notify_email plugin: Concurrency problems have been fixed. + * python plugin: Set "sys.argv", since many scripts don't expect that + it may not be set. Thanks to Sven Trenkel for the patch. + * rrdtool, rrdcached plugin: Fix a too strict assertion when creating + RRD files. + * value match: A minor memory leak has been fixed. Thanks to Sven + Trenkel for the patch. + +2010-07-09, Version 4.9.3 + * Build system: Checking for "strtok_r" under Solaris has been fixed. + * Portability: Fixes for Solaris 8 have been applied. Thanks to + Aurélien Reynaud and Alexander Wuerstlein for their patches. + * collectd: The shutdown speed when terminating the read threads has + been improved. + * collectd-nagios: The format of the performance data has been fixed. + * libcollectdclient: A format error in the PUTVAL command has been + removed. Thanks to Johan Van den Brande for fixing this. + * df plugin: An error message shown when "cu_mount_getlist" fails has + been added. + * processes plugin: Missing initialization code for IO members of a + struct has been added. Thanks to Aurélien Reynaud for fixing this. + * python plugin: Memory leaks in the write and notification callbacks + have been fixed. A possible crash when the plugin was loaded but not + configured has been fixed. Thanks to Sven Trenkel for his patches. + * rrdcached plugin: A build issue has been resolved. Thanks to + Thorsten von Eicken for the patch. + * snmp plugin: Verbosity with regard to unknown ASN types has been + increased. A build problem on PowerPC and ARM processors has been + fixed by Aurélien Reynaud; thanks! + * powerdns plugin: Compatibility changes for PowerDNS 2.9.22 and above + have been applied. Thanks to Luke Heberling for his changes. + +2010-04-22, Version 4.9.2 + * Build system, various plugins: Fixes for AIX compatibility have been + added. Thanks to Manuel Sanmartin for his patches. + * Build system: Checking for "nanosleep" on old Solaris machines has + been fixed. Thanks to Vincent McIntyre and Sebastian Harl for + figuring out a way to make this work. + * collectd: Append a newline to messages written to STDERR. + * collectd: Serialization of NANs in JSON format has been fixed. + Thanks to Chris Buben for pointing out the resulting syntax error. + * collectd: Checks whether a "sleep" returned early have been added; + the cases are now handled correctly. Thanks to Michael Stapelberg + for the patch. + * collectd: Continue reading files in a directory when parsing one + file fails. + * apache plugin: Collection of the number of active connections has + been fixed for Apache 2.*. + * contextswitch plugin: Handle large counter/derive values correctly. + Thanks to Martin Merkel for reporting the bug. + * exec plugin: Error messages have been improved. The "running" flag + is now cleared correctly when forking a child fails. + * iptables plugin: Fix a violation of aliasing rules. This resolves a + warning / error with new GCC versions. Thanks to Jan Engelhardt for + the work-around. + * java plugin: The Java API files are now packaged into a .jar file. + Thanks to Amit Gupta for his patch. + * network plugin: Fix a segmentation fault when receiving packets with + an unknown data source type. + * network plugin: A memory leak when receiving encrypted network + packets has been fixed. + * openvpn plugin: Fix naming schema when reading "MULTI1" type status + files. + * oracle plugin: Fix checking for lost connections and reconnect in + this case. Thanks to Sven Trenkel for pointing out the problem. + * unixsock plugin: A memory leak in the "LISTVAL" command has been + fixed. Thanks to Peter Warasin for pointing it out. + * write_http plugin: Use the "any" authentication schema. This used to + be "digest". Thanks to Paul Sadauskas for the patch. + +2010-01-14, Version 4.9.1 + * Documentation: Some manpage fixes. + * Default config: Added sample configuration for missing plugins. + * apache plugin: Fix a segmentation fault in the config handling of + VerifyPeer / VerifyHost. Thanks to "plazmus" for his or her patch. + * processes plugin: Fix handling of derive data sources. + * rrdtool plugin: Fix a bug with random write timeouts. Due to an + incorrect initialization some files may be suspended basically + indefinitely. After flushing the files they were written regularly + again. + * routeros plugin: Use the node name for the "host" field. + * Monitorus.pm: Put the plugin into the "Collectd::Plugins" namespace. + * Perl bindings: Fix a warning that was printed when building + debugging output. + +2009-12-21, Version 4.9.0 + * contextswitch plugin: The new ContextSwitch plugin gathers the + number of context switches done by the CPU. Thanks to Patrik + Weiskircher for the patch. + * cpu plugin: Support for SMP (multiple processors) under FreeBSD has + been added. Thanks to Doug MacEachern for the patch. + * curl plugin: The “MeasureResponseTime” option has been added. Thanks + to Aman Gupta for the patch. + * df plugin: Collecting the inode count and reserved space has been + added. Thanks to Patrik Weiskircher for the patch. + * exec plugin: The environment variables “COLLECTD_INTERVAL” and + “COLLECTD_HOSTNAME” are now set before executing the application. + * Monitorus plugin: This Perl-based plugin to query statistics from + mon.itor.us has been added. Thanks to Jeff Green for the patch. + * netapp plugin: New plugin to collect statistics from NetApp filers. + Thanks to Sven Trenkel of the noris network AG for the patch. + * network plugin: Statistics collection about the plugin itself has + been implemented. + * openvpn plugin: Add support for more versions of the “status file”. + Thanks to Marco Chiappero for the patch. + * OpenVZ plugin: This Perl-based plugin to gather OpenVZ statistics + has been added. Thanks to Jonathan Kolb for the patch. + * ping plugin: The config options "SourceAddress" and "Device" + have been added. Thanks to Sebastian Harl for the patch. + * processes plugin: Collection of IO-metrics has been added. Thanks to + Andrés J. Díaz for the patch. + * python plugin: The new Python plugin integrates a Python interpreter + into collectd and allows to execute plugins written in the scripting + language. Thanks to Sven Trenkel for his work. + * routeros plugin: The new RouterOS plugin queries interface and + wireless registration statistics from RouterOS. + * Various plugins: AIX support has been added to the cpu, disk, + interface, load, memory, processes, and swap plugins. Thanks to + Manuel Sanmartin for his patches. + * hashed match: This match for simple load balancing and redundant + storage has been added. + * scale target: This target to scale (multiply) values by an arbitrary + value has been added. + +2010-04-22, Version 4.8.5 + * collectd: Append a newline to messages written to STDERR. + * network plugin: Fix a segmentation fault when receiving packets with + an unknown data source type. + +2010-04-07, Version 4.8.4 + * Build system, various plugins: Fixes for AIX compatibility have been + added. Thanks to Manuel Sanmartin for his patches. + * Build system: Checking for "nanosleep" on old Solaris machines has + been fixed. Thanks to Vincent McIntyre and Sebastian Harl for + figuring out a way to make this work. + * collectd: Serialization of NANs in JSON format has been fixed. + Thanks to Chris Buben for pointing out the resulting syntax error. + * collectd: Checks whether a "sleep" returned early have been added; + the cases are now handled correctly. Thanks to Michael Stapelberg + for the patch. + * collectd: Continue reading files in a directory when parsing one + file fails. + * apache plugin: Collection of the number of active connections has + been fixed for Apache 2.*. + * exec plugin: Error messages have been improved. The "running" flag + is now cleared correctly when forking a child fails. + * iptables plugin: Fix a violation of aliasing rules. This resolves a + warning / error with new GCC versions. Thanks to Jan Engelhardt for + the work-around. + * java plugin: The Java API files are now packaged into a .jar file. + Thanks to Amit Gupta for his patch. + * network plugin: A memory leak when receiving encrypted network + packets has been fixed. + * oracle plugin: Fix checking for lost connections and reconnect in + this case. Thanks to Sven Trenkel for pointing out the problem. + * unixsock plugin: A memory leak in the "LISTVAL" command has been + fixed. Thanks to Peter Warasin for pointing it out. + * write_http plugin: Use the "any" authentication schema. This used to + be "digest". Thanks to Paul Sadauskas for the patch. + +2010-01-14, Version 4.8.3 + * Documentation: Some manpage fixes. + * rrdtool plugin: Fix a bug with random write timeouts. Due to an + incorrect initialization some files may be suspended basically + indefinitely. After flushing the files they were written regularly + again. + +2009-12-18, Version 4.8.2 + * Build system, java plugin: Don't use “find -L” to search for Java + headers, because it's a GNU extension. + * Build system: Support for parallel builds has been improved. Thanks + Sebastian Harl and Stefan Völkel for looking into this. + * collectd: Print error messages to STDERR if no log plugin has been + loaded. + * genericjmx plugin: Close and re-open the connection upon I/O-errors. + * gmond plugin: Fix typos which caused syntax errors. + * memory plugin: Handling of >4 Gbyte of memory has been fixed. + * network plugin: The license has been changed to LGPL 2.1. + * oracle plugin: Reconnect to the database if the connection dies. + * rrdcached plugin: Work-around for a bug in RRDtool 1.4rc2 has been + added. + * snmp plugin: Handling of negative values has been fixed. Strings + containing control characters are now interpreted as hex-strings. + * unixsock plugin: A memory leak in the LISTVAL command has been + fixed. Thanks to Ben Knight for his patch. + +2009-10-04, Version 4.8.1 + * Build system: Issues when building the iptables plugin have been + fixed. + * exec plugin: Clear the signal block mask before calling exec(2). + * perl plugin: Declare the “environ” variable. This solves build + issues on some platforms. + * processes plugin: Remove unnecessary call of realloc(3). Thanks to + Andrés J. Díaz for the patch. + * unixsock plugin: Fix a (well hidden) race condition related to file + descriptor handling. + +2009-09-13, Version 4.8.0 + * collectd: Two new data source types, “DERIVE” and “ABSOLUTE”, have + been added. “DERIVE” can be used for counters that are reset + occasionally. Thanks to Mariusz Gronczewski for implementing this. + * thresholds: The advanced threshold options “Percentage”, “Hits”, and + “Hysteresis” have been added. Thanks to Andrés J. Díaz for his + patches. + * curl_json plugin: The new cURL-JSON plugin reads JSON files using + the cURL library and parses the contents according to user + specification. Among other things, this allows to read statistics + from a CouchDB instance. Thanks to Doug MacEachern for the patch. + * df plugin: Using the new “ReportByDevice” option the device rather + than the mount point can be used to identify partitions. Thanks to + Paul Sadauskas for the patch. + * dns plugin: The possibility to ignore numeric QTypes has been added. + Thanks to Mirko Buffoni for the patch. + * GenericJMX plugin: The new, Java-based GenericJMX plugin allows to + query arbitrary data from a Java process using the “Java Management + Extensions” (JMX). + * madwifi plugin: The new MadWifi plugin collects information about + Atheros wireless LAN chipsets from the MadWifi driver. Thanks to + Ondrej Zajicek for his patches. + * network plugin: The receive- and send-buffer-sizes have been made + configurable, allowing for bigger and smaller packets. Thanks to + Aman Gupta for the patch. + * olsrd plugin: The new OLSRd plugin queries routing information from + the “Optimized Link State Routing” daemon. + * rrdtool plugin: A new configuration option allows to define a random + write delay when writing RRD files. This spreads the load created by + writing RRD files more evenly. Thanks to Mariusz Gronczewski for the + patch. + * swap plugin: The possibility to collect swapped in/out pages has + been added to the Swap plugin. Thanks to Stefan Völkel for the + patch. + * tokyotyrant plugin: The new TokyoTyrant plugin reads the number of + records and file size from a running Tokyo Tyrant server. Thanks to + Paul Sadauskas for the patch. + * unixsock plugin: Add the “GETTHRESHOLD” command. This command can be + used to query the thresholds configured for a particular identifier. + * write_http plugin: The new Write HTTP plugin sends the values + collected by collectd to a web-server using HTTP POST requests. + Thanks to Paul Sadauskas for the patch. + * zfs_arc plugin: The new ZFS ARC plugin collects information about + the “Adaptive Replacement Cache” (ARC) of the “Zeta File-System” + (ZFS). Thanks to Anthony Dewhurst for the patch. + * empty_counter match: The new Empty Counter match matches value + lists, where at least one data source is of type COUNTER and the + counter value of all counter data sources is zero. + +2009-12-18, Version 4.7.5 + * Build system, java plugin: Don't use “find -L” to search for Java + headers, because it's a GNU extension. + * Build system: Support for parallel builds has been improved. Thanks + Sebastian Harl and Stefan Völkel for looking into this. + * collectd: Print error messages to STDERR if no log plugin has been + loaded. + * memory plugin: Handling of >4 Gbyte of memory has been fixed. + * network plugin: The license has been changed to LGPL 2.1. + * oracle plugin: Reconnect to the database if the connection dies. + * rrdcached plugin: Work-around for a bug in RRDtool 1.4rc2 has been + added. + * snmp plugin: Handling of negative values has been fixed. Strings + containing control characters are now interpreted as hex-strings. + * unixsock plugin: A memory leak in the LISTVAL command has been + fixed. Thanks to Ben Knight for his patch. + +2009-10-03, Version 4.7.4 + * Build system: Issues when building the iptables plugin have been + fixed. + * exec plugin: Clear the signal block mask before calling exec(2). + * perl plugin: Declare the “environ” variable. This solves build + issues on some platforms. + * processes plugin: Remove unnecessary call of realloc(3). Thanks to + Andrés J. Díaz for the patch. + * unixsock plugin: Fix a (well hidden) race condition related to file + descriptor handling. + +2009-09-13, Version 4.7.3 + * collectd: Fix a possible but very rare invalid “free” in the caching + code. Thanks to Sebastian Harl for the patch. + * collectd: Remove old values when a cache entry is marked as missing. + This way the “GETVAL” command of the UnixSock plugin doesn't return + old, no longer valid values when this happens. Thanks to Andrés J. + Díaz for the patch. + * collectd: The “plugin_unregister_read” function has been fixed. + * apache, ascent, bind, curl, nginx plugins: Advise the cURL library + to follow redirects. Thanks to Joey Hess for reporting this bug. + * df plugin: Check the ignorelist before stating the file system, + possibly reducing the number of stats considerably. Thanks to Joey + Hess for reporting this bug. + * iptables plugin: Support for the new libiptc API has been added. + Thanks to Sebastian Harl for the patch. The build system has been + updated to the plugin only includes the shipped header files when it + is linked with the shipped library, too. + * java plugin: Delay creating the JVM until after the daemon has + forked. The JVM internally creates threads that are lost when + forking. This means that Java-based plugins are now configured + during the init-phase, i. e. later than other plugins. + * libvirt plugin: Re-connect to libvirtd if connecting fails. Thanks + to Alan Pevec for the patch. + * network plugin: Fix the handling of the “CacheFlush” option: The + value was assigned to a wrong variable. The initialization of the + gcrypt library, which is used for signing / encrypting traffic, has + been fixed. Thanks to Luke Heberling for the patch. + * powerdns plugin: Set a timeout when reading data from the datagram + socket. Handling of the “LocalSocket” option has been fixed. An + incorrectly used “type” has been corrected. Thanks to Luke Heberling + for his patches. + +2009-07-19, Version 4.7.2 + * Build system: Support for `DESTDIR' has been fixed in the Java + bindings. + * collectd: Okay-notifications have been fixed. Thanks to Andrés J. + Díaz for fixing this bug. + * collectd: A programming error has been fixed in the notification + code. The bug may result in an assertion failure. + * memcached plugin: Portability fix for Solaris. Thanks to Amit Gupta + for reporting the bug. + * ping plugin: Link the plugin with libm. + +2009-06-02, Version 4.7.1 + * Build system: Detection of Java has been improved and missing + details have been added to the configuration summary. Support for + libtool 2.2 has been added. + * collectd: Two bugs with the threshold checking have been fixed. The + first one prevented thresholds to be checked at all, the second one + caused wrong behavior with the persistency option. Thanks to Andrés + J. Díaz for fixing these problems. + * collectd: Handling of the `Include' configuration option has been + fixed. + * rrdtool plugin: Make sure initialization is run only once. This + resolves problems under Solaris and potentially other systems. + Thanks to Amit Gupta for reporting this bug. + * java plugin: Make it possible to use dots ('.') instead of slashes + ('/') as the class separator. Thanks to Randy Rizun for pointing + this out. + * swap plugin: A work-around for 32-bit Solaris has been added. Thanks + to Doug MacEachern for the patch. + +2009-05-11, Version 4.7.0 + * apache plugin: Support to query multiple servers has been added. + Thanks to Amit Gupta for the patch. + * apache plugin: Handling of lighttpd's scoreboard statistics has been + improved. Thanks to Amit Gupta for the patch. + * conntrack plugin: The new conntrack plugin collects the connection + tracking table size. Thanks to Tomasz Pala for the patch. + * fscache plugin: The new fscache plugin collects statistics about + Linux' file-system based caching framework. Thanks to Edward + Konetzko for the patch. + * gmond plugin: The new gmond plugin can receive and interpret + multicast traffic from Ganglia's gmond daemon. + * java plugin: The new java plugin exports the collectd API to Java, + making it possible to write extensions to collectd in Java. + * memcachec plugin: The new memcachec plugin queries data from a + memcached daemon and parses it similar to the cURL plugin. Thanks to + Doug MacEachern for the initial code. + * memcached plugin: Support for connections over UNIX domain sockets + has been added. Thanks to Franck Lombardi for the patch. + * memory plugin: Support for OpenBSD and possibly other *BSDs has been + added. Thanks to Simon Kuhnle for the patch. + * mysql plugin: Support to query multiple databases has been added. + Thanks to Doug MacEachern for the patch. + * mysql plugin: Master/slave statistics have been added. + * mysql plugin: Lock statistics have been added. Thanks to Rodolphe + Quiédeville for the patch. + * network plugin: The possibility to sign or encrypt network traffic + has been added. + * protocols plugin: The new protocols plugin provides information + about network protocols, such as IP, TCP and UDP. + * snmp plugin: The intervals given in the configuration of the SNMP + plugin must no longer be a multiple of the global interval. + * table plugin: The new Table plugin provides parsing for table-like + structured files, such as many files beneath /proc. + * ted plugin: The new TED plugin reads power consumption measurements + from “The Energy Detective” (TED). Thanks to Eric Reed for this + plugin. + * onewire plugin: The new `Interval' option allows collecting + information from OneWire sensors at arbitrary intervals. + * ping plugin: Support for collecting the drop rate and standard + deviation of round-trip times has been added. + * uptime plugin: The new uptime plugin can collect the server's + uptime. Thanks to Marco Chiappero for the patch. + +2009-09-10, Version 4.6.5 + * collectd: Remove old values when a cache entry is marked as missing. + This way the “GETVAL” command of the UnixSock plugin doesn't return + old, no longer valid values when this happens. Thanks to Andrés J. + Díaz for the patch. + * apache, ascent, bind, curl, nginx plugins: Advise the cURL library + to follow redirects. Thanks to Joey Hess for reporting this bug. + * df plugin: Check the ignorelist before stating the file system, + possibly reducing the number of stats considerably. Thanks to Joey + Hess for reporting this bug. + * iptables plugin: Support for the new libiptc API has been added. + Thanks to Sebastian Harl for the patch. The build system has been + updated to the plugin only includes the shipped header files when it + is linked with the shipped library, too. + * libvirt plugin: Re-connect to libvirtd if connecting fails. Thanks + to Alan Pevec for the patch. + * powerdns plugin: Set a timeout when reading data from the datagram + socket. Handling of the “LocalSocket” option has been fixed. An + incorrectly used “type” has been corrected. Thanks to Luke Heberling + for his patches. + +2009-07-18, Version 4.6.4 + * collectd: Okay-notifications have been fixed. Thanks to Andrés J. + Díaz for fixing this bug. + * collectd: A programming error has been fixed in the notification + code. The bug may result in an assertion failure. + * memcached plugin: Portability fix for Solaris. Thanks to Amit Gupta + for reporting the bug. + +2009-06-02, Version 4.6.3 + * Build system, various plugins: Many build fixes for FreeBSD, + OpenBSD, NetBSD, Solaris and Mac OS X. Big thanks to Doug MacEachern + for many fixes and providing a build system for many platforms, + Ulf Zimmermann for providing a FreeBSD system and Simon Kuhnle for + providing an OpenBSD system. + * collectd: Two bugs with the threshold checking have been fixed. The + first one prevented thresholds to be checked at all, the second one + caused wrong behavior with the persistency option. Thanks to Andrés + J. Díaz for fixing these problems. + * collectd: Handling of the `Include' configuration option has been + fixed. + * battery plugin: Don't complain about a missing directory every + interval. + * exec plugin: Allow executed programs to close STDERR. Thanks to + Thorsten von Eicken for reporting this problem. + * irq plugin: Fix handling of overflowing 32-bit counters. Thanks to + Tomasz Pala for the patch. + * perl plugin: Portability build-fixes. Thanks to Doug MacEachern for + the patch. + * memory plugin: Fix a potential problem under Solaris. + * swap plugin: A work-around for 32-bit Solaris has been added. Thanks + to Doug MacEachern for the patch. + +2009-03-18, Version 4.6.2 + * collectd: Some Solaris utility code has been improved. + * filter subsystem: Allow `Chains' without default targets. + * liboping: A patch to comply with strict aliasing rules has been + added. + * timediff match: Fix a typo: The match was registered with a wrong + name which prevented this match to be used as documented. Thanks to + Bruno Prémont for finding this problem. + * bind plugin: Fix collection of the cached RR sets. The number of RR + sets currently in the cache was collected as a counter value, which + is nonsense. Thanks to Bruno Prémont for implementing this. + * dns plugin: Don't pass NULL to `pcap_open_live': Some systems, + primarily BSDs, don't take it well and crash. + * oracle plugin: Portability to 64 bit systems has been improved. + * postgresql plugin: The default configuration has been improved. + * rrdtool plugin: Fix a possible race condition: If the network plugin + is brought and dispatches a value before the rrdtool plugin is + initialized, the daemon may crash. + +2009-02-22, Version 4.6.1 + * collectd: Many documentation fixes. + * Collectd::Unixsock: Error handling has been improved. + * regex match: Don't link with the PCRE library. + * bind plugin: Various bugs have been fixed. Thanks to Bruno Prémont + for finding and fixing most of them. + * ipmi plugin: Fix an off-by-one error which could cause segmentation + faults. Thanks to Peter Holik for his patch. + +2009-02-16, Version 4.6.0 + * collectd: Added the `filter chain' infrastructure, which allows the + user to use `matches' and `targets' to control value processing. + * collectd: The new `-T' command line argument allows more in-depth + testing of a configuration. Thanks to Doug MacEachern for the patch. + * collectd-nagios: The Nagios integration command has been updated to + use libcollectdclient. The `percentage' aggregation function has + been added. Thanks to Fabian Linzberger for the patch. + * libcollectdclient: A library which abstracts communication with the + unixsock plugin for clients has been added. + * regex match: Match values by their identifies using regular + expressions. + * timediff match: Match for values with an invalid timestamp. + * value match: Select values by their data sources' values. + * notification target: Create and dispatch a notification. + * replace target: Replace parts of an identifier using regular + expressions. + * set target: Set (overwrite) entire parts of an identifier. + * bind plugin: This new plugin uses the new HTTP/XML interface to BIND + statistics, allowing very detailed name server statistics. Thanks to + Bruno Prémont for this plugin. + * cpu plugin: Report `interrupt' separately when using + sysctlbyname(3) (used under *BSD). Support for sysctl(3), for + example for native OpenBSD support, has been added. Thanks to Simon + Kuhnle for the patch. + * csv plugin: Make it possible to write values to STDOUT instead of + files. This is meant for testing purposes mostly. The output written + to STDOUT is compatible with the exec plugin. Thanks to Doug + MacEachern for the patch. + * curl plugin: This new plugin can be used to read web pages and parse + them using the same mechanism that's used in the tail plugin. + * dbi plugin: This new plugin allows you to connect to a variety of + relational databases and use SQL to gather custom statistics from + it. It is similar to the already existing PostgreSQL plugin but uses + libdbi to communicate with the database(s). + * interface plugin: Use the ignorelist framework when selecting / + ignoring interfaces. This allows one to use regular expressions to + select interfaces, too. + * ipmi plugin: Handle temporary IPMI error conditions more gracefully. + Thanks to Bruno Prémont for this patch. + * memcached plugin: Add hit-ratio metric. Thanks to Doug MacEachern + for the patch. + * mysql plugin: Allow connecting to a database via the UNIX domain + socket, too. Thanks to Mirko Buffoni for the patch. + * network plugin: Further performance improvements for the receive + code. This hopefully will help very large setups. + * openvpn plugin: This new plugin collects statistics provided by the + OpenVPN daemon. Thanks to Doug MacEachern for the patch. + * oracle plugin: This new plugin allows you to connect to an Oracle + database and use SQL to gather custom statistics from it. It is + similar to the already existing PostgreSQL plugin. + * perl plugin: Compatibility fixes for broken versions of Perl 5.10 + have been added. + * perl plugin: Export the newly added plugin_write() to Perl plugins. + * perl plugin: Added support for `notification meta data'. + * perl plugin: Added support for the `filter chain' infrastructure by + allowing plugins to register `matches' and `targets'. + * postgresql plugin: The preferred configuration syntax has been + updated to be in line with the syntax used by the new dbi and oracle + plugins. The compatibility code for the old syntax is present. + Support for the new `Result' blocks and the interval parameter has + been added. + * processes plugin: Stacksize and virtual memory usage statistics have + been added. Portability fixes. + * rrdcached plugin: This new plugin uses the (still in development) + RRD accelerator daemon, rrdcached. This daemon works very similar to + the original rrdtool plugin of collectd, but adds some more nice + features. + * swap plugin: Code for OpenBSD (and possibly other *BSDs) has been + added. + +2009-05-09, Version 4.5.4 + * Build system, various plugins: Many build fixes for FreeBSD, + OpenBSD, NetBSD, Solaris and Mac OS X. Big thanks to Doug MacEachern + for many fixes and providing a build system for many platforms, + Ulf Zimmermann for providing a FreeBSD system and Simon Kuhnle for + providing an OpenBSD system. + * collectd: Fix a potential race condition when creating directories. + * battery plugin: Don't complain about a missing directory every + interval. + * dns plugin: Slight portability fixes. + * exec plugin: Allow executed programs to close STDERR. Thanks to + Thorsten von Eicken for reporting this problem. + * irq plugin: Fix handling of overflowing 32-bit counters. Thanks to + Tomasz Pala for the patch. + * perl plugin: Portability build-fixes. Thanks to Doug MacEachern for + the patch. + * rrdtool plugin: Fix a possible race condition: If the network plugin + is initialized and dispatches a value before the rrdtool plugin is + initialized, the daemon may crash. + * memory plugin: Fix a potential problem under Solaris. + +2009-02-22, Version 4.5.3 + * build system: The check for libupsclient even when `pkg-config' is + not available. + * collectd: Fix error handling in the global cache. + * Collectd::Unixsock: Error handling has been improved. + * ascent plugin: Fix a memory leak. Thanks to Bruno Prémont for his + patch. + * ipmi plugin: Fix an off-by-one error which could cause segmentation + faults. Thanks to Peter Holik for his patch. + * tcpconns plugin: An endianness problem has been fixed in the *BSD + code. Thanks to "thated" for reporting this. + +2009-01-02, Version 4.5.2 + * build system: Check for `mysql.h' and `mysql/mysql.h', since the + file may be in both locations, especially when the database was + installed in a non-standard path. Thanks to Dusty Doris for + reporting this. + * build system: Handle the _POSIX_PTHREAD_SEMANTICS defined, needed by + Solaris, in the configure script automatically. + * build system, tcpconns plugin: Check for `kvm_nlist' and + `kvm_openfiles' before enabling the plugin: Solaris provides a KVM + library with similar functions to the BSD variant, but doesn't + provide these necessary functions. + * collectd.conf(5): Various fixes and clarifications. + * collectd: Remove a GNUism (unnamed unions), thus improving + portability. + * collectd, apcups plugin: Include "collectd.h" before . + This solves portability problems, especially for Solaris. + * dns plugin: Fix a portability problem with NetBSD. + * filecount plugin: Fix an off-by-one error. This error may cause a + segmentation fault. + * network plugin: Fix the handling of `type' in the network protocol. + Due to a programming mistake, only 4 or 8 bytes would be copied to a + much larger buffer. This caused the `type' to be transferred much + more often than necessary. In some cases, e. g. the `cpu' and + `cpufreq' plugins being used at the same time, data may be corrupted + in those files. Thanks to Bruno Prémont for debugging and reporting + this issue. + * processes plugin: Fix a possible segmentation fault when specifying + invalid configuration options. + * unixsock plugin: Make sure the initialization function is run only + once. This resolves a file descriptor leak under systems which run + the initialization more than once, such as Solaris. + +2008-10-16, Version 4.5.1 + * build system: Change `--enable-' to abort with an error if + dependencies are not met. Thanks to Bruno Prémont for the patch. + Also, the poisoning of various string functions has been restricted + to debug builds. + * collectd: Fix a memory leak in the global value cache. With every + *missing* value a couple of bytes would be leaked. Another memory + leak in the configuration handling code has been fixed. Thanks to + Niraj Tolia for reporting these issues. + * collectd: Fix an off-by-one error in the ignorelist functionality. + When using regular expressions, the last character would be missing, + possibly matching differently from what one would expect. + * collectdmon: Don't block SIGCHLD. This fixes a potential portability + problem. + * collectd-nagios: Fix handling of the `-d' option. Thanks to Fabian + Linzberger for reporting the bug. + * iptables plugin: Fix an off-by-one error. If a string was just one + character too long, it was truncated instead of reporting an error. + * network plugin: Fix a memory leak in the configuration handling + code. Thanks to Niraj Tolia for reporting this issue. + * perl plugin: Log an error message if bootstrapping `Collectd' fails. + * postgresql plugin: Don't reopen connection during reinitialization. + This fixes a bug under Solaris and potentially other platforms. + Missing calls to `PQclear' have been added, too. This fixes memory + leaks. Thanks to ``Admin'' for reporting these bugs. + * snmp plugin: Don't expect null-terminated strings from the Net-SNMP + library. + * tail plugin: Call `clearerr(3)' after reading an EOF. This fixes + problems with some `libc's. Thanks to Matthias Lay for reporting the + bug. + +2008-09-04, Version 4.5.0 + * collectd: Added the ability to flush certain identifiers. + * collectd: The concept of `notification meta data' has been + introduced. + * filecount plugin: The new filecount plugin counts the number of + files in a directory and its subdirectories. + * ipmi plugin: Sensor names have been changed to ensure unique names. + Notifications upon added and removed sensors can now be generated. + * notify_desktop plugin: This new plugin sends notifications to the + X desktop using the structure defined in the `Desktop Notification + Specification'. + * notify_email plugin: This new plugin sends out notifications via + email, using the `esmtp' library. + * onewire plugin: The new experimental(!) onewire plugin reads values, + such as temperatures, from sensors connected to the computer via the + onewire bus. + * perl plugin: Improved synchronized access to internal data structures + and fixed a possible dead-lock. + * perl plugin: Added the ability to flush certain identifiers and marked + plugin_flush_all() and plugin_flush_one() as deprecated in favor of + plugin_flush(). + * perl plugin: Added the ability to configure Perl plugins. + * postgresql plugin: The new postgresql plugin collects statistics + about or from a PostgreSQL database. + * processes plugin: The `ProcessMatch' option has been added. + * rrdtool plugin: Implement throttling of the `update queue' to lessen + IO load. + * tcpconns plugin: This plugin has been ported to OpenBSD. + * thermal plugin: The new thermal plugin collects system temperatures + using Linux ACPI thermal zone data. + +2009-01-02, Version 4.4.5 + * build system: Check for `mysql.h' and `mysql/mysql.h', since the + file may be in both locations, especially when the database was + installed in a non-standard path. Thanks to Dusty Doris for + reporting this. + * build system: Handle the _POSIX_PTHREAD_SEMANTICS defined, needed by + Solaris, in the configure script automatically. + * collectd.conf(5): Various fixes and clarifications. + * apcups plugin: Include "collectd.h" before . This solves + portability problems, especially for Solaris. + * dns plugin: Fix a portability problem with NetBSD. + * network plugin: Fix the handling of `type' in the network protocol. + Due to a programming mistake, only 4 or 8 bytes would be copied to a + much larger buffer. This caused the `type' to be transferred much + more often than necessary. In some cases, e. g. the `cpu' and + `cpufreq' plugins being used at the same time, data may be corrupted + in those files. Thanks to Bruno Prémont for debugging and reporting + this issue. + * unixsock plugin: Make sure the initialization function is run only + once. This resolves a file descriptor leak under systems which run + the initialization more than once, such as Solaris. + +2008-10-16, Version 4.4.4 + * build system: Change `--enable-' to abort with an error if + dependencies are not met. Thanks to Bruno Prémont for the patch. + Also, the poisoning of various string functions has been restricted + to debug builds. + * collectd: Fix a memory leak in the global value cache. With every + *missing* value a couple of bytes would be leaked. Another memory + leak in the configuration handling code has been fixed. Thanks to + Niraj Tolia for reporting these issues. + * collectd: Fix an off-by-one error in the ignorelist functionality. + When using regular expressions, the last character would be missing, + possibly matching differently from what one would expect. + * collectdmon: Don't block SIGCHLD. This fixes a potential portability + problem. + * collectd-nagios: Fix handling of the `-d' option. Thanks to Fabian + Linzberger for reporting the bug. + * network plugin: Fix a memory leak in the configuration handling + code. Thanks to Niraj Tolia for reporting this issue. + * perl plugin: Log an error message if bootstrapping `Collectd' fails. + * tail plugin: Call `clearerr(3)' after reading an EOF. This fixes + problems with some `libc's. Thanks to Matthias Lay for reporting the + bug. + +2008-09-01, Version 4.4.3 + * collectd: Fix a memory leak in the threshold checking code. + * memcached plugin: Fix a too short timeout and a related file + descriptor leak. + * memory plugin: A typo in the libstatgrab code has been fixed. + * snmp plugin: Fix a possible memory leak. + +2008-07-15, Version 4.4.2 + * build system: Use pkg-config to detect the upsclient library. + * collectd: Try even harder to determine the endianness of the + architecture collectd is being built on. + * disk plugin: Fix for Linux 2.4: A wrong field was used as the name + of disks. + * dns plugin: Fix compilation errors with BIND versions 19991001 + through 19991005. + * network plugin: Bugfix in the init routine: The init function + cleared a buffer regardless of its contents. This could lead to lost + values under Solaris. + * nginx plugin: Remove usage of the thread-unsafe `strtok' function. + * vserver plugin: Remove usage of the thread-unsafe `readdir' + function. + * wireless plugin: Work around incorrect noise and power values + returned by some broken drivers. + +2008-06-03, Version 4.4.1 + * collectd: Fix the `DataSource' option within `Type' blocks. Thanks + to kyrone for reporting this. + * collectd: Fixed min/max output in notifications generated by + threshold checking. + * collectd-nagios: Fix the protocol used to communicate with the + daemon. + * perl plugin: Fail noisily, but don't shutdown the daemon, if + initialization has errors. An issue with Perl 5.10 has been fixed. + * teamspeak2 plugin: Fixed an out of bound array access. Thanks to + René Rebe and Siegmund Gorr for reporting this. + +2008-05-06, Version 4.4.0 + * collectd: Internal code cleanups. + * collectd: Added support for a `Flush' command in the unixsock and + exec plugins. This command can be used to force a plugin (or all) to + flush its values to disk. + * collectd: Thresholds can now be configured to apply to one data + source only, making it possible to configure different thresholds + for each data source. + * apache, nginx plugins: Added the possibility to disable host and/or + peer verification. + * ascent plugin: The new ascent plugin reads and parses the statistics + page of an Ascent server. + * cpu plugin: Support for the statgrab library has been added. + * disk plugin: The possibility to ignore certain disks or collect only + specific disks has been added. + * disk plugin: Support for the statgrab library has been added. + * ipmi plugin: The new ipmi plugin uses the OpenIPMI library to read + sensor values via IPMI, the intelligent platform management + interface. + * iptables plugin: The iptc library that is used by the iptables + plugin has been added to the distribution, because it is not + provided by all distributions and removed from at least one. + * powerdns plugin: The new powerdns plugin reads statistics from an + authoritative or a recursing PowerDNS name server. + * rrdtool plugin: The size of the files generated with the default + configuration has been decreased. + * tail plugin: The new tail plugin can be used to gather statistics by + continuously reading from log files. + * teamspeak2 plugin: The new teamspeak2 plugin connects to a + TeamSpeak2 server and collects statistics about the number of users + and number of channels. + * users plugin: Support for the statgrab library has been added. + * vmem plugin: The new vmem plugin collects very detailed statistics + about the virtual memory subsystem of Linux. + +2008-08-30, Version 4.3.4 + * Build system: Improved detection of and linking with the statgrab + library. + * collectd: Portability fixes, especially to determine endianness more + reliable. + * Various plugins: Fix format strings. + * disk plugin: A fix for giving disks under Linux 2.4 the right names + again has been applied. + * memcached plugin: Fix a too short timeout and a related file + descriptor leak. + * memory plugin: A typo in the libstatgrab code has been fixed. + * network plugin: A fix in the initialization function solves problems + under Solaris. + * nginx plugin: A thread-unsafe function has been replaced. + * vserver plugin: A thread-unsafe function has been replaced. + * wireless plugin: A work-around for broken wireless drivers has been + added. + +2008-04-22, Version 4.3.3 + * build system: Improved detection of several libraries, especially if + they are in non-standard paths. + * build system: Portability fixes: Automatically define "_REENTRANT" + if the libc expects it. + * collectd: Error and warning messages have been improved. + * collectd: Check for the BYTE_ORDER and BIG_ENDIAN defines before + using them. + * apache plugin: Allocate new memory when reading a webpage instead of + using a buffer of static size. + * exec plugin: Close (almost) all filedescriptors before exec(2)ing + the program. + * hddtemp plugin: Error and warning messages have been improved. + * sensors plugin: Fix sensor collection for some chip types. + +2008-03-29, Version 4.3.2 + * collectd: Fix configuration of the `FailureMax', `WarningMax', and + `Persist' threshold options. + * collectd: Fix handling of missing values in the global value cache. + * collectd: Improved error messages when parsing the configuration. + * sensors plugin: Fix temperature collection with libsensors4. + * unixsock plugin: Fix mixed input and output operation on streams. + * wireless plugin: Fix reading noise value. + +2008-03-05, Version 4.3.1 + * exec plugin: Set supplementary group IDs. + * network plugin: + + Use `memcpy' when constructing/parsing a package to avoid + alignment problems on weird architectures, such as Sparc. + + Translate doubles to/from the x86 byte representation to ensure + cross-platform compatibility. + * ping plugin: Correct the handling of the `TTL' setting. + * swap plugin: Reapply a patch for Solaris. + * tcpconns plugin: Portability improvements. + +2008-02-18, Version 4.3.0 + * collectd: Notifications have been added to the daemon. Notifications + are status messages that may be associated with a data instance. + * collectd: Threshold checking has been added to the daemon. This + means that you can configure threshold values for each data + instance. If this threshold is exceeded a notification will be + created. + * collectd: The new `FQDNLookup' option tells the daemon to use the + full qualified domain name as the hostname, not just the host part + es returned by `gethostname(2)'. + * collectd: Support for more than one `TypesDB' file has been added. + This is useful when one such file is included in a package but one + wants to add custom type definitions. + * collectd: The `Include' config option has been expanded to handle + entire directories and shell wildcards. + * collectdmon: The new `collectdmon' binary detects when collectd + terminates and automatically restarts it again. + * csv plugin: The CSV plugin is now able to store counter values as a + rate, using the `StoreRates' configuration option. + * exec plugin: Handling of notifications has been added and the + ability to pass arguments to the executed programs has been added. + * hddtemp plugin: The new `TranslateDevicename' option lets you + disable the translation from device names to major-minor-numbers. + * logfile plugin: Handling of notifications has been added. + * ntpd plugin: The new `ReverseLookups' can be used to disable reverse + domain name lookups in this plugin. + * perl plugin: Many internal changes added support for handling multiple + threads making the plugin reasonably usable inside collectd. The API has + been extended to support notifications and export global variables to + Perl plugins; callbacks now have to be identified by name rather than a + pointer to a subroutine. The plugin is no longer experimental. + * uuid plugin: The new UUID plugin sets the hostname to an unique + identifier for this host. This is meant for setups where each client + may migrate to another physical host, possibly going through one or + more name changes in the process. Thanks to Richard Jones from + Red Hat's Emerging Technology group for this plugin. + * libvirt: The new libvirt plugin uses the `libvirt' library to query + CPU, disk and network statistics about guest systems on the same + physical server. Thanks to Richard Jones from Red Hat's Emerging + Technology group for this plugin. + +2008-04-22, Version 4.2.7 + * build system: Improved detection of several libraries, especially if + they are in non-standard paths. + * build system: Portability fixes: Automatically define "_REENTRANT" + if the libc expects it. + * collectd: Error and warning messages have been improved. + * collectd: Check for the BYTE_ORDER and BIG_ENDIAN defines before + using them. + * apache plugin: Allocate new memory when reading a webpage instead of + using a buffer of static size. + * exec plugin: Close (almost) all filedescriptors before exec(2)ing + the program. + * hddtemp plugin: Error and warning messages have been improved. + * sensors plugin: Fix sensor collection for some chip types. + +2008-03-29, Version 4.2.6 + * collectd: Improved error messages when parsing the configuration. + * sensors plugin: Fix temperature collection with libsensors4. + * unixsock plugin: Fix mixed input and output operation on streams. + * wireless plugin: Fix reading noise value. + +2008-03-04, Version 4.2.5 + * apache plugin: Improved initialization and error messages. + * exec plugin: Set supplementary group IDs. + * network plugin: + + Create separate threads for reading from the socket and parsing + and dispatching incoming packets. Versions prior to this may have + problems in high-load situations, where the socket receive buffers + overflows, resulting in gaps in the data. + + Use `memcpy' when constructing/parsing a package to avoid + alignment problems on weird architectures, such as Sparc. + + Translate doubles to/from the x86 byte representation to ensure + cross-platform compatibility. + * ping plugin: Correct the handling of the `TTL' setting. + * rrdtool plugin: Ensure correct handling of the `RRATimespan' option. + * swap plugin: Reapply a patch for Solaris. + * tcpconns plugin: Portability improvements. + +2008-01-21, Version 4.2.4 + * unixsock plugin: A bug in the unixsock plugin caused it not to set + the permission on the socket as documented in the manpage. Thanks to + Evgeny Chukreev for fixing this issue. + * collectd: The documentation has been improved. + +2007-12-28, Version 4.2.3 + * sensors plugin: Updated the plugin to build and work with version 3 + of the libsensors library. + +2007-12-15, Version 4.2.2 + * nginx plugin: Incorrect comparison of strings lead to a segfault + when using the plugin. Thanks to Saulius Grigaliunas for fixing + this. + * logfile plugin: The config option `Timestamp' was handled + incorrectly and basically always active. Thanks to Luke Heberling + for fixing this. + +2007-11-08, Version 4.2.1 + * tcpconns plugin: Don't complain about a missing file if IPv6 is not + enabled on the host. + * snmp plugin: Fix a memory leak. + +2007-10-27, Version 4.2.0 + * collectd: The new config option `Include' lets you include other + configfiles and thus split up your config into smaller parts. This + may be especially interesting for the snmp plugin to keep the data + definitions separate from the host definitions. + * ipvs plugin: The new `ipvs' plugin collects IPVS connection statistics + (number of connections, octets and packets for each service and + destination). Thanks to Sebastian Harl for this plugin. + * memcached plugin: The new `memcached' plugin connects to a memcached + daemon process and collects statistics of this distributed caching + system. Thanks to Antony Dovgal for contributing this plugin. + * nginx plugin: The new `nginx' plugin reads the status page of an + nginx daemon and saves the handled connections and requests. + * perl plugin: Many changes, including the added `EnableDebugger' + config option which lets you debug your Perl plugins more easily. + * rrdtool plugin: Use the thread-safe RRD-library if available. Try to + be more thread-safe otherwise by locking calls to the library. + * snmp plugin: Added the options `Scale' and `Shift' to Data-blocks to + correct the values returned by SNMP-agents. If a block is + defined as `table' the instance is now optional. The sequence number + is used as the type-instance in this case. The new `InstancePrefix' + option allows to add arbitrary prefixes to the type-instance. + * tcpconns plugin: The new `tcpconns' plugin collects the number of + certain TCP connections and what state they're in. This can be used + to see how many connections your FTP server has to handle or how + many outgoing connections your mailserver has open. + +2008-01-11, Version 4.1.6 + * unixsock plugin: A bug in the unixsock plugin caused it not to set + the permission on the socket as documented in the manpage. Thanks to + Evgeny Chukreev for fixing this issue. + * collectd: The documentation has been improved. + +2007-12-27, Version 4.1.5 + * rrdtool plugin: Fix a memory leak that only occurred in very-low- + memory situations. + * sensors plugin: Updated the plugin to build and work with version 3 + of the libsensors library. + +2007-11-08, Version 4.1.4 + * Build system: Improve detection of the rrd library, especially if + it's in a non-standard location. + * Build system: A bug when parsing the argument for + `--with-libnetsnmp' has been fixed. + * collectd: Implement `strerror_r' if the libc doesn't provide it. + * rrdtool plugin: Fix a bug in the shutdown sequence that might cause + a deadlock or delay when shutting down the daemon. + * snmp plugin: Fix a memory leak. + +2007-10-24, Version 4.1.3 + * collectd: A build issue under Solaris has been resolved by renaming + data types. + * rrdtool plugin: Use the thread-safe RRD-library if available. Try to + be more thread-safe otherwise by locking calls to the library. + +2007-09-28, Version 4.1.2 + * apcups plugin: Fix reporting of the `load percent' data. + * wireless plugin: Correct the handling of cards returning signal and + noise quality as percentage. + * perl plugin: Fix a possible buffer overflow in get_module_name(). + * build system: Further improve the detection of libraries. + * netlink plugin: Build issues under some older versions of the Linux + includes (i. e. Debian Sarge) have been fixed. + * snmp plugin: Fix a potential segfault when a host times out. Add + support for the `timeticks' type. + +2007-09-12, Version 4.1.1 + * Build system: The detection of `libnetlink' has been improved. + * collectd: The documentation has been fixed in numerous places. + * exec plugin: Setting the group under which to run a program has been + fixed. + * collectd: The `sstrerror' function was improved to work correctly + with the broken GNU version of `strerror_r'. + * collectd: Write an error message to STDERR when loading of a plugin + fails. + * apcups plugin: Fix the `types' used to submit the values: They still + has an `apcups_' prefix which doesn't work anymore. + * rrdtool plugin: Create new RRD-files with the `begin' time set to + whatever the client thinks is `now'.. + +2007-09-01, Version 4.1.0 + * Build system: The build system has been changed to automatically + disable all plugins, which are missing dependencies. The dependency + checking has been removed from the plugins themselves to remove + redundancy. + * Flexible interval: The interval of collected data is now sent along + with the data itself over the network, so that the interval-settings + of server and clients no longer needs to match. + * netlink plugin: The new `netlink' plugin connects to the Linux + kernel using a netlink socket and uses it to query information about + interfaces, qdiscs and classes. + * rrdtool plugin: The cache is now dumped to disk in an extra thread + to not block data collection. + * snmp plugin: The new `snmp' plugin can read values from SNMP enabled + network devices, such as switches, routers, thermometers, rack + monitoring servers, etc. The collectd-snmp(5) manpage documents this + plugin. + * unixsock plugin: Added the `LISTVAL' command. + * xmms plugin: The new `xmms' plugin graphs the bitrate and frequency + of music played with xmms. + +2007-09-28, Version 4.0.9 + * apcups plugin: Fix reporting of the `load percent' data. + * wireless plugin: Correct the handling of cards returning signal and + noise quality as percentage. + * perl plugin: Fix a possible buffer overflow in get_module_name(). + +2007-09-12, Version 4.0.8 + * collectd: The `sstrerror' function was improved to work correctly + with the broken GNU version of `strerror_r'. + * collectd: Write an error message to STDERR when loading of a plugin + fails. + * apcups plugin: Fix the `types' used to submit the values: They still + has an `apcups_' prefix which doesn't work anymore. + * rrdtool plugin: Create new RRD-files with the `begin' time set to + whatever the client thinks is `now'.. + +2007-08-26, Version 4.0.7 + * documentation: Some typos have been fixed and some information has + been improved. + * build system: Many fixes for detecting libraries in unusual places, + such as on RedHat systems. The affected libraries are `libcurl', + `libmysql', and `libupsclient'. + * network plugin: Allow the `Port' option to be specified as a number + (i. e. without quotes). + * nut plugin: A fix allows linking the nut plugin against + libupsclient, version >= 2.2.0. + * processes plugin: Fix a potential segmentation fault. + +2007-07-30, Version 4.0.6 + * sensors plugin: Fix the ignorelist functionality: Only the `type + instance' was used to match against the list, but the documentation + told otherwise. This release fixes the code, so it complies with the + documentation. + * syslog plugin: Call `openlog' right when the plugin is loaded, so + configuration messages will end up in the logging facility. + * conrtib/fedora: The contributed specfile for Fedora has been + updated. + +2007-07-05, Version 4.0.5 + * Portability: More fixes for OpenBSD have been included. + +2007-06-24, Version 4.0.4 + * cpu plugin: Fixed the Solaris code. + * dns plugin: Fixed a build issue for OpenBSD. + * interface plugin: Fixed the Solaris code. + * load plugin: Fixed the alternative `/proc' Linux code. + * memory plugin: Fixed the Solaris code. + * oconfig: Don't require `-lfl' anymore. + +2007-06-19, Version 4.0.3 + * cpu plugin: Fix the Darwin / Mac OS X code. + * ping plugin: Use the return value of `getpid', not its address. + * csv, rrdtool plugin: Fixed a bug that prevented an buffer to be + initialized correctly. + * configure: Added `--with-nan-emulation' to aid cross compilation. + +2007-06-12, Version 4.0.2 + * hddtemp and ntpd plugin: Corrected the parsing of port numbers when + they're given in numerically form. + +2007-06-07, Version 4.0.1 + * iptables plugin: A bug in the configuration routine has been fixed. + Setting a comment in the configfile will no longer cause a + segmentation fault. + +2007-06-03, Version 4.0.0 + * collectd: The plugin-infrastructure has been changed to allow for + more types of plugins, namely `write' and `log' plugins. + * collectd: The read-function has been changed to read many plugins in + parallel, using threads. Thus, plugins generally need to use + thread-safe functions from now on. + * collectd: The '-t' command line options allows to perform syntax tests + of the configuration file and exit immediately. + * csv plugin: The new `csv' plugin handles output to `comma separated + values'-files. + * rrdtool plugin: The new `rrdtool' plugin handles output to + RRD-files. Data can be cached to combine multiple updates into one + write to increase IO-performance. + * network plugin: The new `network' plugin handles IO via the network. + It implements a different, much more extensible protocol which can + combine many values in one packet, decreasing the number of UDP- + packets being sent. It can read from and send to the network and + with the appropriate configuration even forward packets to other + networks. + * unixsock plugin: The new `unixsock' plugin provides an interface to + communicate with the daemon while it is running. Right now the + commands `GETVAL' and `PUTVAL' are implemented, but more are to + come. + * perl plugin: The new `perl' plugin allows you to write extensions + for collectd in the scripting-language Perl. + * logfile plugin: The new `logfile' plugin writes logmessages to files + or STDOUT or STDERR. + * syslog plugin: The new `syslog' plugin sends logmessages to the + system's syslog daemon. + * entropy plugin: The new `entropy' plugin collects the amount of + entropy currently being available to the system. + * exec plugin: The new `exec' plugin forks child processes and reads + back values provided by the forked processes. + * iptables plugin: The new `iptables' plugin reads counters from + iptables rules. Thanks to Sjoerd van der Berg for contributing this + plugin. + * irq plugin: The new `irq' plugin collects the IRQ-counters. Thanks + to Peter Holik for contributing this plugin. + * nut plugin: The new `nut' plugin connects the upsd of the `network + ups tools' and reads information about the connected UPS. + * apache plugin: Support for lighttpd's `BusyServers' (aka. + connections) field was added by Florent Monbillard. + * collectd-nagios: The new `collectd-nagios' binary queries values + from collectd, parses them and exits according to Nagios-standards. + * manpages: The manpages have been improved a lot. + +2007-09-28, Version 3.11.7 + * wireless plugin: Correct the handling of cards returning signal and + noise quality as percentage. + +2007-08-31, Version 3.11.6 + * processes plugin: Fix a potential segmentation fault. + +2007-05-29, Version 3.11.5 + * configure: Added `AC_SYS_LARGEFILE' for LFS. + * ntpd plugin: Fix a potential buffer overflow. + * processes plugin: Fix a bug when run under Linux 2.4. All processes + were accounted as `zombies'. + +2007-04-10, Version 3.11.4 + * dns plugin: Change the order of includes to make the plugin compile + under FreeBSD. + +2007-03-30, Version 3.11.3 + * configure: Have the configure-script define `HAVE_LIBKSTAT' instead + of the unused `COLLECT_KSTAT'. + +2007-02-11, Version 3.11.2 + * plugin: Catch NULL-pointer and try to fix them. Otherwise the + NULL-pointer may have been passed to `printf' which causes a + segfault with some libcs. + +2007-02-10, Version 3.11.1 + * df plugin: Some wrong defines have been fixed so the plugin works + under Solaris again. + * dns plugin: The usage of a struct has been fixed to work with + non-GNU libcs. + * processes plugin: Some missing defines have been added so the plugin + compiles cleanly under FreeBSD and presumably other UNIXes. + +2006-12-22, Version 3.11.0 + * collectd: The new command line option `-P' makes it easier for + distributors to change the location of PID-files. + * collectd: The daemon shuts down faster now which makes it easier to + write init.d-scripts for it. + * apache plugin: Increase the buffersize to 16k, because the 4k buffer + caused problems every now and then. + * df plugin: New config options allow to ignore certain mountpoints, + filesystem types or devices. + * dns plugin: The new dns plugin uses `libpcap' to capture DNS traffic + and interprets it. It collects traffic as well as qtype, opcode and + rcode counts. + * email plugin: Sebastian Harl has contributed this plugin which + counts received mails in categories (e. g. ham, spam, virus), spam + score (as given by SpamAssassin) and check types. + * mbmon plugin: Flavio Stanchina has contributed this plugin which + uses `mbmon' to gather information from sensors on the motherboard. + * processes plugin: Collect detailed statistics for configured + processes, that's process and thread count, CPU usage, resident + segment size and pagefaults. + * multimeter plugin: Peter Holik contributed a new plugin which + queries multimeters. + * sensors plugin: Lubos Stanek has put much effort into improving this + plugin, including `extended naming', collection of voltage values + and the possibility to ignore certain values. + +2006-12-21, Version 3.10.4 + * Max Kellermann has identified a bug in the server routine: When + opening a socket fails the daemon will (re)try opening the socket in + an endless loop, ultimately leading to a `EMFILE' error. + +2006-11-04, Version 3.10.3 + * Lubos Stanek has identified a bug in the ntpd-plugin: When the + ntpd's reply was sent in more than one packet, the buffer size was + calculated incorrectly, resulting in the reading of uninitialized or + freed memory. + +2006-11-01, Version 3.10.2 + * The sample config file has been improved. + * Errors in the manpages have been corrected. + * The ping-plugin now adds hosts during initialization, not during + startup. This speeds up startup when no network connectivity is + available. Also, the hosts are being added later when the network is + available. + * Improved BSD-support for the df-plugin. + * Fixed syntax errors in the swap-plugin for Mac OS X. + * Fix a wrong structure being passed to `getnameinfo' in the ntpd- + plugin. + * Don't disable the mysql-plugin if connecting to the database fails + during initialization. Instead, try again in increasing intervals. + +2006-07-19, Version 3.10.1 + * A bug in the apcups plugin was fixed: Is the plugin is loaded, but + the apcups cannot be reached, unconnected sockets will pile up and + eventually lead to `Too many open files' errors. + +2006-07-09, Version 3.10.0 + * The `disk' plugin has been ported to Darwin. + * The `battery' plugin should work on many Apple computers now. + * The `traffic' plugin can now ignore certain interfaces. Also, + statistics for sent/received packets and errors have been added. + * A plugin to monitor APC UPSes using `apcupsd' has been added. Thanks + to Anthony Gialluca for contributing this plugin and providing me + with a test environment :) + * A plugin for monitoring an NTP instance and the local clock drift + has been added. + +2006-06-25, Version 3.9.4 + * The Solaris code in the `swap' plugin has been changed to reflect + the numbers returned by `swap -s'. Thanks to Christophe Kalt for + working this out. + * The debugging system has been fixed to work with the Sun libc. + * When built without librrd the variable `operating_mode' could be + uninitialized. Thanks to David Elliot for reporting the bug. + +2006-06-01, Version 3.9.3 + * Fixed the ping-plugin under FreeBSD and Mac OS X. Potentially other + operating systems also profit from the changes, but I wasn't able to + check that. + * Changed the build system to find the netinet-includes under FreeBSD + and therefore successfully build the `liboping' library there. + +2006-05-09, Version 3.9.2 + * Applied a patch to the `liboping' library. Due to a bug in the + sequence checking the `ping' plugin stopped working after + approximately 7.6 days. + +2006-05-09, Version 3.8.5 + * Applied a patch to the `liboping' library. Due to a bug in the + sequence checking the `ping' plugin stopped working after + approximately 7.6 days. + +2006-04-21, Version 3.9.1 + * Build issues with Solaris and possible other architectures have been + resolved. + * Problems when building the `apache'-plugin without `libcurl' have + been resolved. + * A bug in the `ping' plugin has been fixed. Sorry folks. + +2006-04-02, Version 3.9.0 + * A plugin to monitor the Apache webserver has been added. + + * A plugin to collect statistics about virtual servers using VServer. + Thanks to Sebastian Harl for writing + this plugin :) + * A plugin for wireless LAN cards has been added. It monitors signal + strength, link quality and noise ratio.. + * A plugin for Apple hardware sensors has been added. + * An option to compile collectd with different `step' and `heartbeat' + settings has been added. The size of RRAs is no longer static but + calculated based on the settings for `step' and `width'. + * The `ping' plugin can now be configured to use a certain TTL. + * A plugin to monitor the hardware sensors of Apple computers has been + added. + * The plugins `cpu', `memory', `processes' and `traffic' have been + ported to Mach/Darwin (Mac OS X). + * The `log mode' has been contributed by Christophe Kalt. It writes + the data into text files rather than RRD files. + +2006-04-09, Version 3.8.4 + * Applied patch by Vincent Stehlé which improves the disk-name + resolution in the `hddtemp' plugin for Linux systems. + +2006-04-02, Version 3.8.3 + * Applied a patch by James Byers: The MySQL plugin was not working + with MySQL 5.0.2 or later. + +2006-03-14, Version 3.8.2 + * `utils_mount.c' has been changed to not use the `MNTTAB' defined by + the GNU libc, because it points to `/etc/fstab' rather than + `/etc/mtab'. + +2006-03-13, Version 3.8.1 + * Fixes for building collectd under FreeBSD, Mac OS X and Solaris. + * Fixes in the debian `postinst' and `init.d' scripts. + +2006-03-09, Version 3.8.0 + * The `ping' plugin no longer uses `libping' but a self written + library named `liboping'. With this library it's possible to ping + multiple IPv4 and IPv6 addresses and hostnames - in parallel. + +2006-02-18, Version 3.7.2 + * A simple bug in the `battery' plugin has been fixed. It should now + work with ACPI based batteries as well. Thanks to Sebastian for + fixing this. + * Fixing a bug that prevented collectd to be built without librrd. + Thanks to Werner Heuser for reporting it. + +2006-02-04, Version 3.7.1 + * The new network code has been improved to build with older versions + of glibc. + * Fix in `libping' sets the ICMP sequence on outgoing packets. Thanks + to Tommie Gannert for this patch. + +2006-01-30, Version 3.7.0 + * The `battery' plugin has been added. It collects information about + laptop batteries.. + * The MySQL plugin has been improved: It now writes two more RRD + files, `mysql_qcache.rrd' and `mysql_threads.rrd'. + * The `cpufreq' plugin now reads another file since the file it did + read so far causes much overhead in the kernel. Also, you need root + to read the old file, but not to read the new one. + * The `hddtemp' plugin can now be configured to connect to another + address and/or port than localhost. + * The `df' plugin now prefers `statvfs' over `statfs'. + * The network code has been rewritten. collectd now supports unicast + and multicast, and IPv4 and IPv6. Also, the TTL of sent packages can + be set in the configfile. + +2006-01-24, Version 3.6.2 + * Due to a bug in the configfile handling collectd wouldn't start in + client mode. This released fixes this. + +2006-01-20, Version 3.6.1 + * Due to a bug in `configure.in' all modules and the binary were + linked against `libmysqlclient'. This issue is solved by this + release. + +2006-01-17, Version 3.6.0 + * A config file has been added. This allows for loading only specific + plugins. + * A `df' plugin has been added. + * A `mysql' plugin has been added. + * The `ping' plugin doesn't entirely give up hope when a socket error + occurred, but will back of and increase the intervals between tries. + +2006-01-21, Version 3.5.2 + * Fixed yet another bug in the signal handling.. Stupid typo.. + * Improved the ping plugin to not give up on socket errors (backport + from 3.6.0). + +2005-12-18, Version 3.5.1 + * The PID-file is now deleted correctly when shutting down the daemon. + * SIGINT and SIGTERM are now handled correctly. + +2005-12-16, Version 3.5.0 (Revision 326) + * A bug in the `load' module under Solaris has been fixed. + * The `users' module has been contributed by Sebastian Harl. It counts + currently logged in users. + * The CPU module now works under FreeBSD without the use of + `libstatgrab', however SMP support is missing. + * The default directories for the RRD files and the PID file now + depend on the compile time setting of `localstatedir'. + +2005-11-15, Version 3.4.0 (Revision 236) + * A PID-file is written to /var/run upon startup. Thanks to `Tommie' + from gentoo's bugzilla for writing the patch. + * The build dependency for librrd has been removed. Binaries built + without librrd are client-only and will multicast their value as + with the `-c' argument. + * A patch by Peter Holik adds a module for monitoring CPU frequencies. + * The newly introduced `-f' switch prevents daemon initialization + (forking, closing standard filehandles, etc.) Thanks to Alvaro + Barcellos for this patch. + +2005-11-04, Version 3.3.0 (Revision 216) + * New modules have been added: + - `serial', for monitoring traffic on the serial interfaces + - `nfs', for graphing NFS procedure calls + - `tape', traffic from/to tape devices + * The memory.rrd now accepts more than 4Gig of memory. + +2005-10-26, Version 3.2.0 (Revision 200) + * Support for graphing the processes has been added (thanks to Lyonel + Vincent) + * If reading from hddtemp fails collectd will increase the time + between polls up to one day. + * The init.d files have been improved. + * Problems with the spec file have been fixed. + +2005-10-16, Version 3.1.0 (Revision 194) + * Added the `setsid' syscall to the startup code. + * Support for hddtemp has been added (thanks to Vincent Stehlé) + +2005-09-30, Version 3.0.0 (Revision 184) + * The ability to send/receive data to/from the network (think + multicast) has been added. + * Modules have been split up into shared libraries can be loaded at + runtime. The biggest advantage is that the core program doesn't need + to be linked against an external library. + * A patch by George Kargiotakis has been applied: It fixes the sensors + behaviour then more than one sensor is being queried. + +2005-09-16, Version 2.1.0 (Revision 172) + * A module for swap statistics has been added. + +2005-09-09, Version 2.0.0 (Revision 135) + * Filenames can no longer be configured at program startup. The only + options as of this version are the directory and ping hosts. + * CPU statistics now include Wait-IO. If provided under Linux IRQ and + Soft-IRQ statistics are added to `System'. + * Diskstats now collect read and write bytes, not sectors. + * Ping statistics can now be collected for more than one host. There + is no default any more: If no host is given no host will be pinged. + * A self-written patch for libping has been applied so it builds + cleanly. + +2005-09-01, Version 1.8.1 (Revision 123) + * Much improved configure-script: libraries and features may now be + disabled. + * More detailed warnings/error messages when RRD update fails. + +2005-08-29, Version 1.8.0: + * Support for collecting disk statistics under Solaris. + +2005-08-25, Version 1.7.0: + * Support for libstatgrab[1] for load, memory usage and network + traffic. CPU- and disk-usage are not (yet) supported, since + libstatgrab returns insufficient information. I will contact the + authors. + * Improved the CPU-initialization code for Solaris. Apparently CPUs + aren't necessarily counted linear which is now handled correctly. + [1]: http://www.i-scream.org/libstatgrab/ + +2005-08-21, Version 1.6.0: + * Basic support for Solaris: System load and cpu-usage can be + collected under Solaris, too. Other stats will follow later. + * Many fixes in the autoconf-script + * Collection/Museum scripts have been added under contrib/museum + * collectd may now be started in unprivileged mode, though ping + statistics will not work. + +2005-07-17, Version 1.5.1: + * Diskstats-RRDs now use major/minor for naming. Some systems have + weird strings as disk-names.. + +2005-07-17, Version 1.5: + * A new module, diskstats, has been added. It collects information + about the disks and partitions. + +2005-07-11, Version 1.4.2: + * The meminfo module has been changed to work with more platforms + and/or kernel versions. + +2005-07-10, Version 1.4.1: Correct traffic stats + * The traffic rrd-file is now created with DS-type `COUNTER' which I + forgot to correct when I changed that module. + +2005-07-09, Version 1.4: More traffic stats + * Traffic is now collected for all interfaces that can be found + * Temperature-statistics are read from lm-sensors if available + +2005-07-08, Version 1.3: CPU stats + * Collecting CPU statistics now + +2005-07-12, Version 1.2: Using syslog + * collectd is now using the syslog facility to report errors, warnings + and the like.. + * The default directory is now /var/db/collectd + +2005-07-10, Version 1.1: Minor changes + * Nothing really useful to say ;) + +2005-07-09, Version 1.0: Initial Version + * The following modules are provided: + * Load average + * Ping time + * Traffic + * Memory info diff --git a/Makefile.am b/Makefile.am new file mode 100644 index 0000000..00947da --- /dev/null +++ b/Makefile.am @@ -0,0 +1,2524 @@ +ACLOCAL_AMFLAGS = -I m4 +AM_YFLAGS = -d + +if BUILD_WIN32 +cpkgdatadir=$(datadir) +cpkglibdir=$(libdir)/plugins +cpkglocalstatedir=${localstatedir} +else +cpkgdatadir=$(pkgdatadir) +cpkglibdir=$(pkglibdir) +cpkglocalstatedir=${localstatedir}/lib/${PACKAGE_NAME} +endif + +BUILT_SOURCES = \ + src/libcollectdclient/collectd/lcc_features.h \ + src/liboconfig/parser.h \ + $(dist_man_MANS) + + +CLEANFILES = \ + .perl-directory-stamp \ + bindings/buildperl/Collectd.pm \ + bindings/buildperl/Collectd/Plugins/OpenVZ.pm \ + bindings/buildperl/Collectd/Unixsock.pm \ + bindings/buildperl/Makefile.PL \ + collectd-api.jar \ + collectd.grpc.pb.cc \ + collectd.grpc.pb.h \ + collectd.pb.cc \ + collectd.pb.h \ + generic-jmx.jar \ + org/collectd/api/*.class \ + org/collectd/java/*.class \ + prometheus.pb-c.c \ + prometheus.pb-c.h \ + src/pinba.pb-c.c \ + src/pinba.pb-c.h \ + types.grpc.pb.cc \ + types.grpc.pb.h \ + types.pb.cc \ + types.pb.h + + +EXTRA_DIST = \ + bindings/perl/Makefile.PL \ + bindings/perl/lib/Collectd.pm \ + bindings/perl/lib/Collectd/Plugins/Monitorus.pm \ + bindings/perl/lib/Collectd/Plugins/OpenVZ.pm \ + bindings/perl/lib/Collectd/Unixsock.pm \ + bindings/perl/uninstall_mod.pl \ + contrib \ + proto/collectd.proto \ + proto/prometheus.proto \ + proto/types.proto \ + src/collectd-email.pod \ + src/collectd-exec.pod \ + src/collectd-java.pod \ + src/collectd-lua.pod \ + src/collectd-nagios.pod \ + src/collectd-perl.pod \ + src/collectd-python.pod \ + src/collectd-snmp.pod \ + src/collectd-tg.pod \ + src/collectd-threshold.pod \ + src/collectd-unixsock.pod \ + src/collectd.conf.pod \ + src/collectd.pod \ + src/collectdctl.pod \ + src/collectdmon.pod \ + src/pinba.proto \ + src/postgresql_default.conf \ + src/types.db \ + src/types.db.pod \ + src/valgrind.FreeBSD.suppress \ + src/valgrind.suppress \ + testwrapper.sh \ + version-gen.sh + + +dist_man_MANS = \ + src/collectd.1 \ + src/collectd.conf.5 \ + src/collectd-email.5 \ + src/collectd-exec.5 \ + src/collectdctl.1 \ + src/collectd-java.5 \ + src/collectd-lua.5 \ + src/collectdmon.1 \ + src/collectd-nagios.1 \ + src/collectd-perl.5 \ + src/collectd-python.5 \ + src/collectd-snmp.5 \ + src/collectd-tg.1 \ + src/collectd-threshold.5 \ + src/collectd-unixsock.5 \ + src/types.db.5 + + +nodist_pkgconfig_DATA = \ + src/libcollectdclient/libcollectdclient.pc + +pkginclude_HEADERS = \ + src/libcollectdclient/collectd/client.h \ + src/libcollectdclient/collectd/lcc_features.h \ + src/libcollectdclient/collectd/network_buffer.h \ + src/libcollectdclient/collectd/network.h \ + src/libcollectdclient/collectd/network_parse.h \ + src/libcollectdclient/collectd/server.h \ + src/libcollectdclient/collectd/types.h + +lib_LTLIBRARIES = libcollectdclient.la + +if BUILD_WIN32 +# TODO: Build all executables on Windows as well. +sbin_PROGRAMS = \ + collectd + +bin_PROGRAMS = +else +sbin_PROGRAMS = \ + collectd \ + collectdmon + + +bin_PROGRAMS = \ + collectd-nagios \ + collectd-tg \ + collectdctl +endif # BUILD_WIN32 + + +noinst_LTLIBRARIES = \ + libavltree.la \ + libcmds.la \ + libcommon.la \ + libformat_graphite.la \ + libformat_json.la \ + libheap.la \ + libignorelist.la \ + liblatency.la \ + libllist.la \ + liblookup.la \ + libmetadata.la \ + libmount.la \ + liboconfig.la + + +check_LTLIBRARIES = \ + libplugin_mock.la + + +check_PROGRAMS = \ + test_common \ + test_format_graphite \ + test_meta_data \ + test_utils_avltree \ + test_utils_cmds \ + test_utils_heap \ + test_utils_latency \ + test_utils_message_parser \ + test_utils_mount \ + test_utils_subst \ + test_utils_time \ + test_utils_vl_lookup \ + test_libcollectd_network_parse \ + test_utils_config_cores + + +TESTS = $(check_PROGRAMS) + +LOG_COMPILER = env VALGRIND="@VALGRIND@" $(abs_srcdir)/testwrapper.sh + + +jardir = $(cpkgdatadir)/java + +pkglib_LTLIBRARIES = + + +PLUGIN_LDFLAGS = \ + -module \ + -avoid-version \ + -export-symbols-regex '\' +if BUILD_WIN32 +PLUGIN_LDFLAGS += -shared -no-undefined -lcollectd -L. +endif + + +AM_CPPFLAGS = \ + -I$(top_srcdir)/src -I$(top_srcdir)/src/daemon \ + -DPREFIX='"${prefix}"' \ + -DCONFIGFILE='"${sysconfdir}/${PACKAGE_NAME}.conf"' \ + -DLOCALSTATEDIR='"${localstatedir}"' \ + -DPKGLOCALSTATEDIR='"${cpkglocalstatedir}"' \ + -DPLUGINDIR='"${cpkglibdir}"' \ + -DPKGDATADIR='"${cpkgdatadir}"' +if BUILD_WIN32 +AM_CPPFLAGS += -DNOGDI +endif + +COMMON_DEPS = +if BUILD_WIN32 +COMMON_DEPS += collectd.exe +endif + +# Link to these libraries.. +COMMON_LIBS = $(PTHREAD_LIBS) +if BUILD_WIN32 +COMMON_LIBS += -lws2_32 +endif +if BUILD_WITH_GNULIB +COMMON_LIBS += -lgnu +endif +if BUILD_WITH_CAPABILITY +COMMON_LIBS += -lcap +endif +if BUILD_WITH_LIBRT +COMMON_LIBS += -lrt +endif +if BUILD_WITH_LIBPOSIX4 +COMMON_LIBS += -lposix4 +endif +if BUILD_WITH_LIBSOCKET +COMMON_LIBS += -lsocket +endif +if BUILD_WITH_LIBKSTAT +COMMON_LIBS += -lkstat +endif +if BUILD_WITH_LIBDEVINFO +COMMON_LIBS += -ldevinfo +endif + + +collectd_SOURCES = \ + src/daemon/cmd.h \ + src/daemon/collectd.c \ + src/daemon/collectd.h \ + src/daemon/configfile.c \ + src/daemon/configfile.h \ + src/daemon/filter_chain.c \ + src/daemon/filter_chain.h \ + src/daemon/globals.c \ + src/daemon/globals.h \ + src/utils/metadata/meta_data.c \ + src/utils/metadata/meta_data.h \ + src/daemon/plugin.c \ + src/daemon/plugin.h \ + src/daemon/utils_cache.c \ + src/daemon/utils_cache.h \ + src/daemon/utils_complain.c \ + src/daemon/utils_complain.h \ + src/daemon/utils_random.c \ + src/daemon/utils_random.h \ + src/daemon/utils_subst.c \ + src/daemon/utils_subst.h \ + src/daemon/utils_time.c \ + src/daemon/utils_time.h \ + src/daemon/types_list.c \ + src/daemon/types_list.h \ + src/daemon/utils_threshold.c \ + src/daemon/utils_threshold.h + + +collectd_CFLAGS = $(AM_CFLAGS) +collectd_CPPFLAGS = $(AM_CPPFLAGS) +collectd_LDFLAGS = -export-dynamic +collectd_LDADD = \ + libavltree.la \ + libcommon.la \ + libheap.la \ + libllist.la \ + liboconfig.la \ + -lm \ + $(COMMON_LIBS) \ + $(DLOPEN_LIBS) + +if BUILD_WIN32 +collectd_SOURCES += src/daemon/cmd_windows.c +collectd_LDFLAGS += -ldl -Wl,--out-implib,libcollectd.a +else +collectd_SOURCES += src/daemon/cmd.c +endif + +if BUILD_FEATURE_DAEMON +collectd_CPPFLAGS += -DPIDFILE='"${localstatedir}/run/${PACKAGE_NAME}.pid"' +endif + +# The daemon needs to call sg_init, so we need to link it against libstatgrab, +# too. -octo +if BUILD_WITH_LIBSTATGRAB +collectd_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS) +collectd_LDADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS) +endif + +if BUILD_WIN32 +collectd_LDFLAGS += -Wl,--out-implib,libcollectd.a +endif + +collectdmon_SOURCES = src/collectdmon.c + + +collectd_nagios_SOURCES = src/collectd-nagios.c +collectd_nagios_CPPFLAGS = $(AM_CPPFLAGS) \ + -I$(srcdir)/src/libcollectdclient \ + -I$(top_builddir)/src/libcollectdclient +collectd_nagios_LDADD = libcollectdclient.la +if BUILD_WITH_LIBSOCKET +collectd_nagios_LDADD += -lsocket +endif +if BUILD_AIX +collectd_nagios_LDADD += -lm +endif + + +collectdctl_SOURCES = src/collectdctl.c +collectdctl_CPPFLAGS = $(AM_CPPFLAGS) \ + -I$(srcdir)/src/libcollectdclient \ + -I$(top_builddir)/src/libcollectdclient +collectdctl_LDADD = libcollectdclient.la +if BUILD_WITH_LIBSOCKET +collectdctl_LDADD += -lsocket +endif +if BUILD_AIX +collectdctl_LDADD += -lm +endif + + +collectd_tg_SOURCES = src/collectd-tg.c +collectd_tg_CPPFLAGS = $(AM_CPPFLAGS) \ + -I$(srcdir)/src/libcollectdclient \ + -I$(top_builddir)/src/libcollectdclient +collectd_tg_LDADD = \ + $(PTHREAD_LIBS) \ + libheap.la \ + libcollectdclient.la +if BUILD_WITH_LIBSOCKET +collectd_tg_LDADD += -lsocket +endif +if BUILD_WITH_LIBRT +collectd_tg_LDADD += -lrt +endif +if BUILD_AIX +collectd_tg_LDADD += -lm +endif + + +test_common_SOURCES = \ + src/utils/common/common_test.c \ + src/testing.h +test_common_LDADD = libplugin_mock.la + +test_meta_data_SOURCES = \ + src/utils/metadata/meta_data_test.c \ + src/testing.h +test_meta_data_LDADD = libmetadata.la libplugin_mock.la + +test_utils_avltree_SOURCES = \ + src/utils/avltree/avltree_test.c \ + src/testing.h +test_utils_avltree_LDADD = libavltree.la $(COMMON_LIBS) + +test_utils_heap_SOURCES = \ + src/utils/heap/heap_test.c \ + src/testing.h +test_utils_heap_LDADD = libheap.la $(COMMON_LIBS) + +test_utils_message_parser_SOURCES = \ + src/utils/message_parser/message_parser_test.c \ + src/testing.h \ + src/daemon/configfile.c \ + src/daemon/types_list.c \ + src/utils_tail_match.c src/utils_tail_match.h \ + src/utils/tail/tail.c src/utils/tail/tail.h \ + src/utils/match/match.c src/utils/match/match.h \ + src/utils/latency/latency.c src/utils/latency/latency.h \ + src/utils/latency/latency_config.c src/utils/latency/latency_config.h +test_utils_message_parser_CPPFLAGS = $(AM_CPPFLAGS) +test_utils_message_parser_LDADD = liboconfig.la libplugin_mock.la -lm + +test_utils_time_SOURCES = \ + src/daemon/utils_time_test.c \ + src/testing.h + +test_utils_subst_SOURCES = \ + src/daemon/utils_subst_test.c \ + src/testing.h \ + src/daemon/utils_subst.c \ + src/daemon/utils_subst.h +test_utils_subst_LDADD = libplugin_mock.la + +test_utils_config_cores_SOURCES = \ + src/utils/config_cores/config_cores_test.c \ + src/testing.h +test_utils_config_cores_LDADD = libplugin_mock.la + +libavltree_la_SOURCES = \ + src/utils/avltree/avltree.c \ + src/utils/avltree/avltree.h + +libcommon_la_SOURCES = \ + src/utils/common/common.c \ + src/utils/common/common.h +libcommon_la_LIBADD = $(COMMON_LIBS) + +libheap_la_SOURCES = \ + src/utils/heap/heap.c \ + src/utils/heap/heap.h + +libignorelist_la_SOURCES = \ + src/utils/ignorelist/ignorelist.c \ + src/utils/ignorelist/ignorelist.h + +libllist_la_SOURCES = \ + src/daemon/utils_llist.c \ + src/daemon/utils_llist.h + +libmetadata_la_SOURCES = \ + src/utils/metadata/meta_data.c \ + src/utils/metadata/meta_data.h + +libplugin_mock_la_SOURCES = \ + src/daemon/plugin_mock.c \ + src/daemon/utils_cache_mock.c \ + src/daemon/utils_complain.c \ + src/daemon/utils_complain.h \ + src/daemon/utils_time.c \ + src/daemon/utils_time.h + +libplugin_mock_la_CPPFLAGS = $(AM_CPPFLAGS) -DMOCK_TIME +libplugin_mock_la_LIBADD = libcommon.la libignorelist.la $(COMMON_LIBS) + +libformat_graphite_la_SOURCES = \ + src/utils/format_graphite/format_graphite.c \ + src/utils/format_graphite/format_graphite.h + +test_format_graphite_SOURCES = \ + src/utils/format_graphite/format_graphite_test.c \ + src/testing.h +test_format_graphite_LDADD = \ + libformat_graphite.la \ + libmetadata.la \ + libplugin_mock.la \ + -lm + +libformat_json_la_SOURCES = \ + src/utils/format_json/format_json.c \ + src/utils/format_json/format_json.h +libformat_json_la_CPPFLAGS = $(AM_CPPFLAGS) +libformat_json_la_LDFLAGS = $(AM_LDFLAGS) +libformat_json_la_LIBADD = +if BUILD_WITH_LIBYAJL +libformat_json_la_CPPFLAGS += $(BUILD_WITH_LIBYAJL_CPPFLAGS) +libformat_json_la_LDFLAGS += $(BUILD_WITH_LIBYAJL_LDFLAGS) +libformat_json_la_LIBADD += $(BUILD_WITH_LIBYAJL_LIBS) + +check_PROGRAMS += test_format_json + +test_format_json_SOURCES = \ + src/utils/format_json/format_json_test.c \ + src/testing.h +test_format_json_LDADD = \ + libformat_json.la \ + libmetadata.la \ + libplugin_mock.la \ + -lm +endif + +if BUILD_PLUGIN_CEPH +test_plugin_ceph_SOURCES = src/ceph_test.c +test_plugin_ceph_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBYAJL_CPPFLAGS) +test_plugin_ceph_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBYAJL_LDFLAGS) +test_plugin_ceph_LDADD = libplugin_mock.la $(BUILD_WITH_LIBYAJL_LIBS) +check_PROGRAMS += test_plugin_ceph +endif + +liblatency_la_SOURCES = \ + src/utils/latency/latency.c \ + src/utils/latency/latency.h \ + src/utils/latency/latency_config.c \ + src/utils/latency/latency_config.h +liblatency_la_LIBADD = \ + libcommon.la \ + -lm + +test_utils_latency_SOURCES = \ + src/utils/latency/latency_test.c \ + src/testing.h +test_utils_latency_LDADD = \ + liblatency.la \ + libplugin_mock.la \ + -lm + +libcmds_la_SOURCES = \ + src/utils/cmds/cmds.c \ + src/utils/cmds/cmds.h \ + src/utils/cmds/flush.c \ + src/utils/cmds/flush.h \ + src/utils/cmds/getthreshold.c \ + src/utils/cmds/getthreshold.h \ + src/utils/cmds/getval.c \ + src/utils/cmds/getval.h \ + src/utils/cmds/listval.c \ + src/utils/cmds/listval.h \ + src/utils/cmds/putnotif.c \ + src/utils/cmds/putnotif.h \ + src/utils/cmds/putval.c \ + src/utils/cmds/putval.h \ + src/utils/cmds/parse_option.c \ + src/utils/cmds/parse_option.h +libcmds_la_LIBADD = \ + libcommon.la \ + libmetadata.la \ + -lm + +test_utils_cmds_SOURCES = \ + src/utils/cmds/cmds_test.c \ + src/testing.h +test_utils_cmds_LDADD = \ + libcmds.la \ + libplugin_mock.la + +liblookup_la_SOURCES = \ + src/utils/lookup/vl_lookup.c \ + src/utils/lookup/vl_lookup.h +liblookup_la_LIBADD = libavltree.la + +test_utils_vl_lookup_SOURCES = \ + src/utils/lookup/vl_lookup_test.c \ + src/testing.h +test_utils_vl_lookup_LDADD = \ + liblookup.la \ + libplugin_mock.la +if BUILD_WITH_LIBKSTAT +test_utils_vl_lookup_LDADD += -lkstat +endif + +libmount_la_SOURCES = \ + src/utils/mount/mount.c \ + src/utils/mount/mount.h + +test_utils_mount_SOURCES = \ + src/utils/mount/mount_test.c \ + src/testing.h +test_utils_mount_LDADD = \ + libmount.la \ + libplugin_mock.la +if BUILD_WITH_LIBKSTAT +test_utils_mount_LDADD += -lkstat +endif + + +libcollectdclient_la_SOURCES = \ + src/libcollectdclient/client.c \ + src/libcollectdclient/network.c \ + src/libcollectdclient/network_buffer.c \ + src/libcollectdclient/network_parse.c \ + src/libcollectdclient/server.c \ + src/libcollectdclient/collectd/stdendian.h +libcollectdclient_la_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + -I$(srcdir)/src/libcollectdclient \ + -I$(top_builddir)/src/libcollectdclient \ + -I$(srcdir)/src/daemon +libcollectdclient_la_LDFLAGS = -version-info 2:0:1 +libcollectdclient_la_LIBADD = -lm +if BUILD_WIN32 +libcollectdclient_la_LDFLAGS += -shared -no-undefined +libcollectdclient_la_LIBADD += -lgnu -lws2_32 -liphlpapi +endif +if BUILD_WITH_LIBGCRYPT +libcollectdclient_la_CPPFLAGS += $(GCRYPT_CPPFLAGS) +libcollectdclient_la_LDFLAGS += $(GCRYPT_LDFLAGS) +libcollectdclient_la_LIBADD += $(GCRYPT_LIBS) +endif + +# network_parse_test.c includes network_parse.c, so no need to link with +# libcollectdclient.so. +test_libcollectd_network_parse_SOURCES = src/libcollectdclient/network_parse_test.c +test_libcollectd_network_parse_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + -I$(srcdir)/src/libcollectdclient \ + -I$(top_builddir)/src/libcollectdclient +if BUILD_WITH_LIBGCRYPT +test_libcollectd_network_parse_CPPFLAGS += $(GCRYPT_CPPFLAGS) +test_libcollectd_network_parse_LDFLAGS = $(GCRYPT_LDFLAGS) +test_libcollectd_network_parse_LDADD = $(GCRYPT_LIBS) +endif + +liboconfig_la_SOURCES = \ + src/liboconfig/oconfig.c \ + src/liboconfig/oconfig.h \ + src/liboconfig/aux_types.h \ + src/liboconfig/scanner.l \ + src/liboconfig/parser.y +liboconfig_la_CPPFLAGS = -I$(srcdir)/src/liboconfig $(AM_CPPFLAGS) +liboconfig_la_LDFLAGS = -avoid-version $(LEXLIB) + +if BUILD_WITH_LIBCURL +if BUILD_WITH_LIBSSL +if BUILD_WITH_LIBYAJL2 +noinst_LTLIBRARIES += liboauth.la +liboauth_la_SOURCES = \ + src/utils/oauth/oauth.c \ + src/utils/oauth/oauth.h +liboauth_la_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + $(BUILD_WITH_LIBCURL_CFLAGS) \ + $(BUILD_WITH_LIBSSL_CFLAGS) \ + $(BUILD_WITH_LIBYAJL_CPPFLAGS) +liboauth_la_LIBADD = \ + $(BUILD_WITH_LIBCURL_LIBS) \ + $(BUILD_WITH_LIBSSL_LIBS) \ + $(BUILD_WITH_LIBYAJL_LIBS) + +check_PROGRAMS += test_utils_oauth +TESTS += test_utils_oauth +test_utils_oauth_SOURCES = \ + src/utils/oauth/oauth_test.c +test_utils_oauth_LDADD = \ + liboauth.la \ + libcommon.la \ + libplugin_mock.la + +noinst_LTLIBRARIES += libgce.la +libgce_la_SOURCES = \ + src/utils/gce/gce.c \ + src/utils/gce/gce.h +libgce_la_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + $(BUILD_WITH_LIBCURL_CFLAGS) +libgce_la_LIBADD = \ + $(BUILD_WITH_LIBCURL_LIBS) +endif +endif +endif + +if BUILD_WITH_LIBYAJL2 +noinst_LTLIBRARIES += libformat_stackdriver.la +libformat_stackdriver_la_SOURCES = \ + src/utils/format_stackdriver/format_stackdriver.c \ + src/utils/format_stackdriver/format_stackdriver.h +libformat_stackdriver_la_CPPFLAGS = \ + $(AM_CPPFLAGS) \ + $(BUILD_WITH_LIBYAJL_CPPFLAGS) +libformat_stackdriver_la_LIBADD = \ + libavltree.la \ + $(BUILD_WITH_LIBSSL_LIBS) \ + $(BUILD_WITH_LIBYAJL_LIBS) + +check_PROGRAMS += test_format_stackdriver +TESTS += test_format_stackdriver +test_format_stackdriver_SOURCES = \ + src/utils/format_stackdriver/format_stackdriver_test.c \ + src/testing.h +test_format_stackdriver_LDADD = \ + libformat_stackdriver.la \ + libplugin_mock.la \ + -lm +endif + +if BUILD_PLUGIN_AGGREGATION +pkglib_LTLIBRARIES += aggregation.la +aggregation_la_SOURCES = \ + src/aggregation.c \ + src/utils/lookup/vl_lookup.c \ + src/utils/lookup/vl_lookup.h +aggregation_la_LDFLAGS = $(PLUGIN_LDFLAGS) +aggregation_la_LIBADD = -lm +endif + +if BUILD_PLUGIN_AMQP +pkglib_LTLIBRARIES += amqp.la +amqp_la_SOURCES = src/amqp.c +amqp_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBRABBITMQ_CPPFLAGS) +amqp_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBRABBITMQ_LDFLAGS) +amqp_la_LIBADD = \ + $(BUILD_WITH_LIBRABBITMQ_LIBS) \ + libcmds.la \ + libformat_graphite.la \ + libformat_json.la +endif + +if BUILD_PLUGIN_AMQP1 +pkglib_LTLIBRARIES += amqp1.la +amqp1_la_SOURCES = \ + src/amqp1.c \ + src/utils/deq/deq.h +amqp1_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBQPIDPROTON_CPPFLAGS) +amqp1_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBQPIDPROTON_LDFLAGS) +amqp1_la_LIBADD = \ + $(BUILD_WITH_LIBQPIDPROTON_LIBS) \ + libcmds.la \ + libformat_graphite.la \ + libformat_json.la +endif + +if BUILD_PLUGIN_APACHE +pkglib_LTLIBRARIES += apache.la +apache_la_SOURCES = src/apache.c +apache_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBCURL_CFLAGS) +apache_la_LDFLAGS = $(PLUGIN_LDFLAGS) +apache_la_LIBADD = $(BUILD_WITH_LIBCURL_LIBS) +endif + + +if BUILD_PLUGIN_APCUPS +pkglib_LTLIBRARIES += apcups.la +apcups_la_SOURCES = src/apcups.c +apcups_la_LDFLAGS = $(PLUGIN_LDFLAGS) +apcups_la_LIBADD = +if BUILD_WITH_LIBSOCKET +apcups_la_LIBADD += -lsocket +endif +endif + +if BUILD_PLUGIN_APPLE_SENSORS +pkglib_LTLIBRARIES += apple_sensors.la +apple_sensors_la_SOURCES = src/apple_sensors.c +apple_sensors_la_LDFLAGS = $(PLUGIN_LDFLAGS) -framework IOKit +endif + +if BUILD_PLUGIN_AQUAERO +pkglib_LTLIBRARIES += aquaero.la +aquaero_la_SOURCES = src/aquaero.c +aquaero_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBAQUAERO5_CFLAGS) +aquaero_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBAQUAERO5_LDFLAGS) +aquaero_la_LIBADD = -laquaero5 +endif + +if BUILD_PLUGIN_ASCENT +pkglib_LTLIBRARIES += ascent.la +ascent_la_SOURCES = src/ascent.c +ascent_la_CFLAGS = \ + $(AM_CFLAGS) \ + $(BUILD_WITH_LIBCURL_CFLAGS) \ + $(BUILD_WITH_LIBXML2_CFLAGS) +ascent_la_LDFLAGS = $(PLUGIN_LDFLAGS) +ascent_la_LIBADD = \ + $(BUILD_WITH_LIBCURL_LIBS) \ + $(BUILD_WITH_LIBXML2_LIBS) +endif + +if BUILD_PLUGIN_BAROMETER +pkglib_LTLIBRARIES += barometer.la +barometer_la_SOURCES = src/barometer.c +barometer_la_LDFLAGS = $(PLUGIN_LDFLAGS) +barometer_la_LIBADD = -lm $(BUILD_WITH_LIBI2C_LIBS) +endif + +if BUILD_PLUGIN_BATTERY +pkglib_LTLIBRARIES += battery.la +battery_la_SOURCES = \ + src/battery.c \ + src/battery_statefs.c +battery_la_LDFLAGS = $(PLUGIN_LDFLAGS) +if BUILD_WITH_LIBIOKIT +battery_la_LDFLAGS += -framework IOKit +endif +endif + +if BUILD_PLUGIN_BIND +pkglib_LTLIBRARIES += bind.la +bind_la_SOURCES = src/bind.c +bind_la_CFLAGS = $(AM_CFLAGS) \ + $(BUILD_WITH_LIBCURL_CFLAGS) $(BUILD_WITH_LIBXML2_CFLAGS) +bind_la_LDFLAGS = $(PLUGIN_LDFLAGS) +bind_la_LIBADD = $(BUILD_WITH_LIBCURL_LIBS) $(BUILD_WITH_LIBXML2_LIBS) +endif + +if BUILD_PLUGIN_BUDDYINFO +pkglib_LTLIBRARIES += buddyinfo.la +buddyinfo_la_SOURCES = src/buddyinfo.c +buddyinfo_la_LDFLAGS = $(PLUGIN_LDFLAGS) +buddyinfo_la_LIBADD = libignorelist.la +endif + +if BUILD_PLUGIN_CAPABILITIES +pkglib_LTLIBRARIES += capabilities.la +capabilities_la_SOURCES = src/capabilities.c \ + src/utils/dmi/dmi.c \ + src/utils/dmi/dmi.h +capabilities_la_CPPFLAGS = $(AM_CPPFLAGS) \ + $(BUILD_WITH_LIBMICROHTTPD_CPPFLAGS) $(BUILD_WITH_LIBJANSSON_CPPFLAGS) +capabilities_la_LDFLAGS = $(PLUGIN_LDFLAGS) \ + $(BUILD_WITH_LIBMICROHTTPD_LDFLAGS) $(BUILD_WITH_LIBJANSSON_LDFLAGS) +capabilities_la_LIBADD = $(BUILD_WITH_LIBMICROHTTPD_LIBS) \ + $(BUILD_WITH_LIBJANSSON_LIBS) + +test_plugin_capabilities_SOURCES = \ + src/capabilities_test.c \ + src/daemon/configfile.c \ + src/daemon/types_list.c +test_plugin_capabilities_CPPFLAGS = $(AM_CPPFLAGS) \ + $(BUILD_WITH_LIBJANSSON_CPPFLAGS) +test_plugin_capabilities_LDFLAGS = $(PLUGIN_LDFLAGS) \ + $(BUILD_WITH_LIBJANSSON_LDFLAGS) +test_plugin_capabilities_LDADD = liboconfig.la libplugin_mock.la \ + $(BUILD_WITH_LIBJANSSON_LIBS) +check_PROGRAMS += test_plugin_capabilities +TESTS += test_plugin_capabilities +endif + +if BUILD_PLUGIN_CEPH +pkglib_LTLIBRARIES += ceph.la +ceph_la_SOURCES = src/ceph.c +ceph_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBYAJL_CPPFLAGS) +ceph_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBYAJL_LDFLAGS) +ceph_la_LIBADD = $(BUILD_WITH_LIBYAJL_LIBS) +endif + +if BUILD_PLUGIN_CGROUPS +pkglib_LTLIBRARIES += cgroups.la +cgroups_la_SOURCES = src/cgroups.c +cgroups_la_LDFLAGS = $(PLUGIN_LDFLAGS) +cgroups_la_LIBADD = libignorelist.la libmount.la +endif + +if BUILD_PLUGIN_CHRONY +pkglib_LTLIBRARIES += chrony.la +chrony_la_SOURCES = src/chrony.c +chrony_la_LDFLAGS = $(PLUGIN_LDFLAGS) +chrony_la_LIBADD = -lm +endif + +if BUILD_PLUGIN_CHECK_UPTIME +pkglib_LTLIBRARIES += check_uptime.la +check_uptime_la_SOURCES = src/check_uptime.c +check_uptime_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_CONNECTIVITY +pkglib_LTLIBRARIES += connectivity.la +connectivity_la_SOURCES = src/connectivity.c +connectivity_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBMNL_CFLAGS) +connectivity_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBYAJL_CPPFLAGS) +connectivity_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBYAJL_LDFLAGS) +connectivity_la_LIBADD = $(BUILD_WITH_LIBYAJL_LIBS) $(BUILD_WITH_LIBMNL_LIBS) libignorelist.la +endif + +if BUILD_PLUGIN_CONNTRACK +pkglib_LTLIBRARIES += conntrack.la +conntrack_la_SOURCES = src/conntrack.c +conntrack_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_CONTEXTSWITCH +pkglib_LTLIBRARIES += contextswitch.la +contextswitch_la_SOURCES = src/contextswitch.c +contextswitch_la_LDFLAGS = $(PLUGIN_LDFLAGS) +contextswitch_la_LIBADD = +if BUILD_WITH_PERFSTAT +contextswitch_la_LIBADD += -lperfstat +endif +endif + +if BUILD_PLUGIN_CPU +pkglib_LTLIBRARIES += cpu.la +cpu_la_SOURCES = src/cpu.c +cpu_la_CFLAGS = $(AM_CFLAGS) +cpu_la_LDFLAGS = $(PLUGIN_LDFLAGS) +cpu_la_LIBADD = +if BUILD_WITH_LIBKSTAT +cpu_la_LIBADD += -lkstat +endif +if BUILD_WITH_LIBDEVINFO +cpu_la_LIBADD += -ldevinfo +endif +if BUILD_WITH_LIBSTATGRAB +cpu_la_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS) +cpu_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS) +endif +if BUILD_WITH_PERFSTAT +cpu_la_LIBADD += -lperfstat +endif +endif + +if BUILD_PLUGIN_CPUFREQ +pkglib_LTLIBRARIES += cpufreq.la +cpufreq_la_SOURCES = src/cpufreq.c +cpufreq_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_CPUSLEEP +pkglib_LTLIBRARIES += cpusleep.la +cpusleep_la_SOURCES = src/cpusleep.c +cpusleep_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_CSV +pkglib_LTLIBRARIES += csv.la +csv_la_SOURCES = src/csv.c +csv_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_CURL +pkglib_LTLIBRARIES += curl.la +curl_la_SOURCES = \ + src/curl.c \ + src/utils/curl_stats/curl_stats.c \ + src/utils/curl_stats/curl_stats.h \ + src/utils/match/match.c \ + src/utils/match/match.h +curl_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBCURL_CFLAGS) +curl_la_LDFLAGS = $(PLUGIN_LDFLAGS) +curl_la_LIBADD = liblatency.la $(BUILD_WITH_LIBCURL_LIBS) +endif + +if BUILD_PLUGIN_CURL_JSON +pkglib_LTLIBRARIES += curl_json.la +curl_json_la_SOURCES = \ + src/curl_json.c \ + src/utils/curl_stats/curl_stats.c \ + src/utils/curl_stats/curl_stats.h +curl_json_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBCURL_CFLAGS) +curl_json_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBYAJL_CPPFLAGS) +curl_json_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBYAJL_LDFLAGS) +curl_json_la_LIBADD = $(BUILD_WITH_LIBCURL_LIBS) $(BUILD_WITH_LIBYAJL_LIBS) + +test_plugin_curl_json_SOURCES = src/curl_json_test.c \ + src/utils/curl_stats/curl_stats.c \ + src/daemon/configfile.c \ + src/daemon/types_list.c +test_plugin_curl_json_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBYAJL_CPPFLAGS) +test_plugin_curl_json_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBYAJL_LDFLAGS) +test_plugin_curl_json_LDADD = libavltree.la liboconfig.la libplugin_mock.la $(BUILD_WITH_LIBCURL_LIBS) $(BUILD_WITH_LIBYAJL_LIBS) +check_PROGRAMS += test_plugin_curl_json +endif + +if BUILD_PLUGIN_CURL_XML +pkglib_LTLIBRARIES += curl_xml.la +curl_xml_la_SOURCES = \ + src/curl_xml.c \ + src/utils/curl_stats/curl_stats.c \ + src/utils/curl_stats/curl_stats.h +curl_xml_la_CFLAGS = $(AM_CFLAGS) \ + $(BUILD_WITH_LIBCURL_CFLAGS) $(BUILD_WITH_LIBXML2_CFLAGS) +curl_xml_la_LDFLAGS = $(PLUGIN_LDFLAGS) +curl_xml_la_LIBADD = $(BUILD_WITH_LIBCURL_LIBS) $(BUILD_WITH_LIBXML2_LIBS) +endif + +if BUILD_PLUGIN_DBI +pkglib_LTLIBRARIES += dbi.la +dbi_la_SOURCES = \ + src/dbi.c \ + src/utils/db_query/db_query.c \ + src/utils/db_query/db_query.h +dbi_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBDBI_CPPFLAGS) +dbi_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBDBI_LDFLAGS) +dbi_la_LIBADD = $(BUILD_WITH_LIBDBI_LIBS) +endif + +if BUILD_PLUGIN_DCPMM +pkglib_LTLIBRARIES += dcpmm.la +dcpmm_la_SOURCES = src/dcpmm.c +dcpmm_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBPMWAPI_CPPFLAGS) +dcpmm_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBPMWAPI_LDFLAGS) +dcpmm_la_LIBADD = -lpmwapi +endif + +if BUILD_PLUGIN_DF +pkglib_LTLIBRARIES += df.la +df_la_SOURCES = src/df.c +df_la_LDFLAGS = $(PLUGIN_LDFLAGS) +df_la_LIBADD = libignorelist.la libmount.la +endif + +if BUILD_PLUGIN_DISK +pkglib_LTLIBRARIES += disk.la +disk_la_SOURCES = src/disk.c +disk_la_CFLAGS = $(AM_CFLAGS) +disk_la_CPPFLAGS = $(AM_CPPFLAGS) +disk_la_LDFLAGS = $(PLUGIN_LDFLAGS) +disk_la_LIBADD = libignorelist.la +if BUILD_WITH_LIBKSTAT +disk_la_LIBADD += -lkstat +endif +if BUILD_WITH_LIBDEVINFO +disk_la_LIBADD += -ldevinfo +endif +if BUILD_WITH_LIBIOKIT +disk_la_LDFLAGS += -framework IOKit +endif +if BUILD_WITH_LIBSTATGRAB +disk_la_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS) +disk_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS) +endif +if BUILD_WITH_LIBUDEV +disk_la_CPPFLAGS += $(BUILD_WITH_LIBUDEV_CPPFLAGS) +disk_la_LDFLAGS += $(BUILD_WITH_LIBUDEV_LDFLAGS) +disk_la_LIBADD += $(BUILD_WITH_LIBUDEV_LIBS) +endif +if BUILD_FREEBSD +disk_la_LIBADD += -ldevstat -lgeom +endif +if BUILD_WITH_PERFSTAT +disk_la_LIBADD += -lperfstat +endif +endif + +if BUILD_PLUGIN_DNS +pkglib_LTLIBRARIES += dns.la +dns_la_SOURCES = \ + src/dns.c \ + src/utils/dns/dns.c \ + src/utils/dns/dns.h +dns_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBPCAP_CPPFLAGS) +dns_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBPCAP_LDFLAGS) +dns_la_LIBADD = $(BUILD_WITH_LIBPCAP_LIBS) +endif + +if BUILD_PLUGIN_DPDKEVENTS +pkglib_LTLIBRARIES += dpdkevents.la +dpdkevents_la_SOURCES = src/dpdkevents.c src/utils/dpdk/dpdk.c src/utils/dpdk/dpdk.h +dpdkevents_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBDPDK_CPPFLAGS) +dpdkevents_la_CFLAGS = $(AM_CFLAGS) $(LIBDPDK_CFLAGS) +dpdkevents_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(LIBDPDK_LDFLAGS) +dpdkevents_la_LIBADD = $(LIBDPDK_LIBS) +endif + +if BUILD_PLUGIN_DPDKSTAT +pkglib_LTLIBRARIES += dpdkstat.la +dpdkstat_la_SOURCES = src/dpdkstat.c src/utils/dpdk/dpdk.c src/utils/dpdk/dpdk.h +dpdkstat_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBDPDK_CPPFLAGS) +dpdkstat_la_CFLAGS = $(AM_CFLAGS) $(LIBDPDK_CFLAGS) +dpdkstat_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(LIBDPDK_LDFLAGS) +dpdkstat_la_LIBADD = $(LIBDPDK_LIBS) +endif +if BUILD_PLUGIN_DPDK_TELEMETRY +pkglib_LTLIBRARIES += dpdk_telemetry.la +dpdk_telemetry_la_SOURCES = src/dpdk_telemetry.c +dpdk_telemetry_la_CFLAGS = $(AM_CFLAGS) +dpdk_telemetry_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBJANSSON_LDFLAGS) +dpdk_telemetry_la_LIBADD = $(BUILD_WITH_LIBJANSSON_LIBS) +endif + +if BUILD_PLUGIN_DRBD +pkglib_LTLIBRARIES += drbd.la +drbd_la_SOURCES = src/drbd.c +drbd_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_EMAIL +pkglib_LTLIBRARIES += email.la +email_la_SOURCES = src/email.c +email_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_ENTROPY +pkglib_LTLIBRARIES += entropy.la +entropy_la_SOURCES = src/entropy.c +entropy_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_EXEC +pkglib_LTLIBRARIES += exec.la +exec_la_SOURCES = src/exec.c +exec_la_LDFLAGS = $(PLUGIN_LDFLAGS) +exec_la_LIBADD = libcmds.la +endif + +if BUILD_PLUGIN_ETHSTAT +pkglib_LTLIBRARIES += ethstat.la +ethstat_la_SOURCES = src/ethstat.c +ethstat_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_FHCOUNT +pkglib_LTLIBRARIES += fhcount.la +fhcount_la_SOURCES = src/fhcount.c +fhcount_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_FILECOUNT +pkglib_LTLIBRARIES += filecount.la +filecount_la_SOURCES = src/filecount.c +filecount_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_FSCACHE +pkglib_LTLIBRARIES += fscache.la +fscache_la_SOURCES = src/fscache.c +fscache_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_GMOND +pkglib_LTLIBRARIES += gmond.la +gmond_la_SOURCES = src/gmond.c +gmond_la_CPPFLAGS = $(AM_CPPFLAGS) $(GANGLIA_CPPFLAGS) +gmond_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(GANGLIA_LDFLAGS) +gmond_la_LIBADD = $(GANGLIA_LIBS) +endif + +if BUILD_PLUGIN_GPS +pkglib_LTLIBRARIES += gps.la +gps_la_SOURCES = src/gps.c +gps_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBGPS_CFLAGS) +gps_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBGPS_LDFLAGS) +gps_la_LIBADD = -lpthread $(BUILD_WITH_LIBGPS_LIBS) +endif + +if BUILD_PLUGIN_GPU_NVIDIA +pkglib_LTLIBRARIES += gpu_nvidia.la +gpu_nvidia_la_SOURCES = src/gpu_nvidia.c +gpu_nvidia_la_CPPFLAGS = $(AM_CPPFLAGS) $(PLUGIN_CPPFLAGS) $(BUILD_WITH_CUDA_CPPFLAGS) +gpu_nvidia_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_CUDA_LDFLAGS) +gpu_nvidia_la_LIBADD = $(BUILD_WITH_CUDA_LIBS) +endif + +if BUILD_PLUGIN_GRPC +pkglib_LTLIBRARIES += grpc.la +grpc_la_SOURCES = src/grpc.cc +nodist_grpc_la_SOURCES = \ + collectd.grpc.pb.cc \ + collectd.pb.cc \ + types.pb.cc +grpc_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBGRPCPP_CPPFLAGS) $(BUILD_WITH_LIBPROTOBUF_CPPFLAGS) +grpc_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBGRPCPP_LDFLAGS) $(BUILD_WITH_LIBPROTOBUF_LDFLAGS) +grpc_la_LIBADD = $(BUILD_WITH_LIBGRPCPP_LIBS) $(BUILD_WITH_LIBPROTOBUF_LIBS) +endif + +if BUILD_PLUGIN_HDDTEMP +pkglib_LTLIBRARIES += hddtemp.la +hddtemp_la_SOURCES = src/hddtemp.c +hddtemp_la_LDFLAGS = $(PLUGIN_LDFLAGS) +hddtemp_la_LIBADD = +if BUILD_WITH_LIBSOCKET +hddtemp_la_LIBADD += -lsocket +endif +endif + +if BUILD_PLUGIN_HUGEPAGES +pkglib_LTLIBRARIES += hugepages.la +hugepages_la_SOURCES = src/hugepages.c +hugepages_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_INFINIBAND +pkglib_LTLIBRARIES += infiniband.la +infiniband_la_SOURCES = src/infiniband.c +infiniband_la_LDFLAGS = $(PLUGIN_LDFLAGS) +infiniband_la_LIBADD = libignorelist.la +endif + +if BUILD_PLUGIN_INTEL_PMU +pkglib_LTLIBRARIES += intel_pmu.la +intel_pmu_la_SOURCES = \ + src/intel_pmu.c \ + src/utils/config_cores/config_cores.h \ + src/utils/config_cores/config_cores.c +intel_pmu_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBJEVENTS_CPPFLAGS) +intel_pmu_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBJEVENTS_LDFLAGS) +intel_pmu_la_LIBADD = $(BUILD_WITH_LIBJEVENTS_LIBS) +endif + +if BUILD_PLUGIN_INTEL_RDT +pkglib_LTLIBRARIES += intel_rdt.la +intel_rdt_la_SOURCES = \ + src/intel_rdt.c \ + src/utils/proc_pids/proc_pids.c \ + src/utils/proc_pids/proc_pids.h \ + src/utils/config_cores/config_cores.h \ + src/utils/config_cores/config_cores.c +intel_rdt_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBPQOS_CPPFLAGS) +intel_rdt_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBPQOS_LDFLAGS) +intel_rdt_la_LIBADD = $(BUILD_WITH_LIBPQOS_LIBS) + +test_plugin_intel_rdt_SOURCES = \ + src/intel_rdt_test.c \ + src/utils/config_cores/config_cores.c \ + src/utils/proc_pids/proc_pids.c \ + src/daemon/configfile.c \ + src/daemon/types_list.c +test_plugin_intel_rdt_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBPQOS_CPPFLAGS) +test_plugin_intel_rdt_LDFLAGS = $(AM_LDFLAGS) $(BUILD_WITH_LIBPQOS_LDFLAGS) +test_plugin_intel_rdt_LDADD = liboconfig.la libplugin_mock.la $(BUILD_WITH_LIBPQOS_LIBS) +check_PROGRAMS += test_plugin_intel_rdt +TESTS += test_plugin_intel_rdt + +test_utils_proc_pids_SOURCES = \ + src/utils/proc_pids/proc_pids_test.c \ + src/testing.h +test_utils_proc_pids_LDADD = libplugin_mock.la +check_PROGRAMS += test_utils_proc_pids +TESTS += test_utils_proc_pids +endif + +if BUILD_PLUGIN_INTERFACE +pkglib_LTLIBRARIES += interface.la +interface_la_SOURCES = src/interface.c +interface_la_CFLAGS = $(AM_CFLAGS) +interface_la_LDFLAGS = $(PLUGIN_LDFLAGS) +interface_la_LIBADD = libignorelist.la +if BUILD_WITH_LIBSTATGRAB +interface_la_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS) +interface_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS) +else +if BUILD_WITH_LIBKSTAT +interface_la_LIBADD += -lkstat +endif +if BUILD_WITH_LIBDEVINFO +interface_la_LIBADD += -ldevinfo +endif # BUILD_WITH_LIBDEVINFO +endif # !BUILD_WITH_LIBSTATGRAB +if BUILD_WITH_PERFSTAT +interface_la_LIBADD += -lperfstat +endif +endif # BUILD_PLUGIN_INTERFACE + +if BUILD_PLUGIN_IPC +pkglib_LTLIBRARIES += ipc.la +ipc_la_SOURCES = src/ipc.c +ipc_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_IPTABLES +pkglib_LTLIBRARIES += iptables.la +iptables_la_SOURCES = src/iptables.c +iptables_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBIPTC_CPPFLAGS) +iptables_la_LDFLAGS = $(PLUGIN_LDFLAGS) +iptables_la_LIBADD = $(BUILD_WITH_LIBIPTC_LDFLAGS) +endif + +if BUILD_PLUGIN_IPMI +pkglib_LTLIBRARIES += ipmi.la +ipmi_la_SOURCES = src/ipmi.c +ipmi_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_OPENIPMI_CFLAGS) +ipmi_la_LDFLAGS = $(PLUGIN_LDFLAGS) +ipmi_la_LIBADD = libignorelist.la $(BUILD_WITH_OPENIPMI_LIBS) +endif + +if BUILD_PLUGIN_IPSTATS +pkglib_LTLIBRARIES += ipstats.la +ipstats_la_SOURCES = src/ipstats.c +ipstats_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_IPVS +pkglib_LTLIBRARIES += ipvs.la +ipvs_la_SOURCES = src/ipvs.c +ipvs_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_IRQ +pkglib_LTLIBRARIES += irq.la +irq_la_SOURCES = src/irq.c +irq_la_LDFLAGS = $(PLUGIN_LDFLAGS) +irq_la_LIBADD = libignorelist.la +endif + +if BUILD_PLUGIN_JAVA +pkglib_LTLIBRARIES += java.la +java_la_SOURCES = src/java.c +java_la_CPPFLAGS = $(AM_CPPFLAGS) $(JAVA_CPPFLAGS) +java_la_CFLAGS = $(AM_CFLAGS) $(JAVA_CFLAGS) +java_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(JAVA_LDFLAGS) +java_la_LIBADD = $(JAVA_LIBS) +endif + +if BUILD_PLUGIN_LOAD +pkglib_LTLIBRARIES += load.la +load_la_SOURCES = src/load.c +load_la_CFLAGS = $(AM_CFLAGS) +load_la_LDFLAGS = $(PLUGIN_LDFLAGS) +load_la_LIBADD = +if BUILD_WITH_LIBSTATGRAB +load_la_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS) +load_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS) +endif # BUILD_WITH_LIBSTATGRAB +if BUILD_WITH_PERFSTAT +load_la_LIBADD += -lperfstat +endif +endif # BUILD_PLUGIN_LOAD + +if BUILD_PLUGIN_LOGFILE +pkglib_LTLIBRARIES += logfile.la +logfile_la_SOURCES = src/logfile.c +logfile_la_LDFLAGS = $(PLUGIN_LDFLAGS) +logfile_la_DEPENDENCIES = $(COMMON_DEPS) +endif + +if BUILD_PLUGIN_LOGPARSER +pkglib_LTLIBRARIES += logparser.la +logparser_la_SOURCES = src/logparser.c \ + src/utils/message_parser/message_parser.c src/utils/message_parser/message_parser.h \ + src/utils_tail_match.c src/utils_tail_match.h \ + src/utils/tail/tail.c src/utils/tail/tail.h \ + src/utils/match/match.c src/utils/match/match.h \ + src/utils/latency/latency.c src/utils/latency/latency.h \ + src/utils/latency/latency_config.c src/utils/latency/latency_config.h +logparser_la_CPPFLAGS = $(AM_CPPFLAGS) +logparser_la_LDFLAGS = $(PLUGIN_LDFLAGS) -lm + +test_plugin_logparser_SOURCES = src/logparser_test.c \ + src/utils/message_parser/message_parser.c \ + src/utils_tail_match.c src/utils_tail_match.h \ + src/utils/tail/tail.c src/utils/tail/tail.h \ + src/utils/match/match.c src/utils/match/match.h \ + src/daemon/configfile.c \ + src/daemon/types_list.c +test_plugin_logparser_CPPFLAGS = $(AM_CPPFLAGS) +test_plugin_logparser_LDFLAGS = $(PLUGIN_LDFLAGS) +test_plugin_logparser_LDADD = liboconfig.la libplugin_mock.la liblatency.la +check_PROGRAMS += test_plugin_logparser +TESTS += test_plugin_logparser +endif + +if BUILD_PLUGIN_LOG_LOGSTASH +pkglib_LTLIBRARIES += log_logstash.la +log_logstash_la_SOURCES = src/log_logstash.c +log_logstash_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBYAJL_CPPFLAGS) +log_logstash_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBYAJL_LDFLAGS) +log_logstash_la_LIBADD = $(BUILD_WITH_LIBYAJL_LIBS) +endif + +if BUILD_PLUGIN_LPAR +pkglib_LTLIBRARIES += lpar.la +lpar_la_SOURCES = src/lpar.c +lpar_la_LDFLAGS = $(PLUGIN_LDFLAGS) +lpar_la_LIBADD = -lperfstat +endif + +if BUILD_PLUGIN_LUA +pkglib_LTLIBRARIES += lua.la +lua_la_SOURCES = \ + src/lua.c \ + src/utils_lua.c \ + src/utils_lua.h +lua_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBLUA_CFLAGS) +lua_la_LDFLAGS = $(PLUGIN_LDFLAGS) +lua_la_LIBADD = $(BUILD_WITH_LIBLUA_LIBS) +endif + +if BUILD_PLUGIN_MADWIFI +pkglib_LTLIBRARIES += madwifi.la +madwifi_la_SOURCES = \ + src/madwifi.c \ + src/madwifi.h +madwifi_la_LDFLAGS = $(PLUGIN_LDFLAGS) +madwifi_la_LIBADD = libignorelist.la +endif + +if BUILD_PLUGIN_MATCH_EMPTY_COUNTER +pkglib_LTLIBRARIES += match_empty_counter.la +match_empty_counter_la_SOURCES = src/match_empty_counter.c +match_empty_counter_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_MATCH_HASHED +pkglib_LTLIBRARIES += match_hashed.la +match_hashed_la_SOURCES = src/match_hashed.c +match_hashed_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_MATCH_REGEX +pkglib_LTLIBRARIES += match_regex.la +match_regex_la_SOURCES = src/match_regex.c +match_regex_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_MATCH_TIMEDIFF +pkglib_LTLIBRARIES += match_timediff.la +match_timediff_la_SOURCES = src/match_timediff.c +match_timediff_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_MATCH_VALUE +pkglib_LTLIBRARIES += match_value.la +match_value_la_SOURCES = src/match_value.c +match_value_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_MBMON +pkglib_LTLIBRARIES += mbmon.la +mbmon_la_SOURCES = src/mbmon.c +mbmon_la_LDFLAGS = $(PLUGIN_LDFLAGS) +mbmon_la_LIBADD = +if BUILD_WITH_LIBSOCKET +mbmon_la_LIBADD += -lsocket +endif +endif + +if BUILD_PLUGIN_MCELOG +pkglib_LTLIBRARIES += mcelog.la +mcelog_la_SOURCES = src/mcelog.c +mcelog_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_MD +pkglib_LTLIBRARIES += md.la +md_la_SOURCES = src/md.c +md_la_LDFLAGS = $(PLUGIN_LDFLAGS) +md_la_LIBADD = libignorelist.la +endif + +if BUILD_PLUGIN_MDEVENTS +pkglib_LTLIBRARIES += mdevents.la +mdevents_la_SOURCES = src/mdevents.c +mdevents_la_CFLAGS = $(AM_FLAGS) +mdevents_la_LDFLAGS = $(PLUGIN_LDFLAGS) +mdevents_la_LIBADD = libignorelist.la + +test_plugin_mdevents_SOURCES = src/mdevents_test.c +test_plugin_mdevents_CFLAGS = $(AM_FLAGS) +test_plugin_mdevents_LDFLAGS = $(PLUGIN_LDFLAGS) +test_plugin_mdevents_LDADD = libplugin_mock.la +check_PROGRAMS += test_plugin_mdevents +TESTS += test_plugin_mdevents +endif + +if BUILD_PLUGIN_MEMCACHEC +pkglib_LTLIBRARIES += memcachec.la +memcachec_la_SOURCES = \ + src/memcachec.c \ + src/utils/match/match.c \ + src/utils/match/match.h +memcachec_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBMEMCACHED_CPPFLAGS) +memcachec_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBMEMCACHED_LDFLAGS) +memcachec_la_LIBADD = liblatency.la $(BUILD_WITH_LIBMEMCACHED_LIBS) +endif + +if BUILD_PLUGIN_MEMCACHED +pkglib_LTLIBRARIES += memcached.la +memcached_la_SOURCES = src/memcached.c +memcached_la_LDFLAGS = $(PLUGIN_LDFLAGS) +memcached_la_LIBADD = +if BUILD_WITH_LIBSOCKET +memcached_la_LIBADD += -lsocket +endif +endif + +if BUILD_PLUGIN_MEMORY +pkglib_LTLIBRARIES += memory.la +memory_la_SOURCES = src/memory.c +memory_la_CFLAGS = $(AM_CFLAGS) +memory_la_LDFLAGS = $(PLUGIN_LDFLAGS) +memory_la_LIBADD = +if BUILD_WITH_LIBKSTAT +memory_la_LIBADD += -lkstat +endif +if BUILD_WITH_LIBDEVINFO +memory_la_LIBADD += -ldevinfo +endif +if BUILD_WITH_LIBSTATGRAB +memory_la_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS) +memory_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS) +endif +if BUILD_WITH_PERFSTAT +memory_la_LIBADD += -lperfstat +endif +endif + +if BUILD_PLUGIN_MIC +pkglib_LTLIBRARIES += mic.la +mic_la_SOURCES = src/mic.c +mic_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_MIC_CPPFLAGS) +mic_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_MIC_LDFLAGS) +mic_la_LIBADD = libignorelist.la $(BUILD_WITH_MIC_LIBS) +endif + +if BUILD_PLUGIN_MODBUS +pkglib_LTLIBRARIES += modbus.la +modbus_la_SOURCES = src/modbus.c +modbus_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBMODBUS_CFLAGS) +modbus_la_LDFLAGS = $(PLUGIN_LDFLAGS) +modbus_la_LIBADD = $(BUILD_WITH_LIBMODBUS_LIBS) +endif + +if BUILD_PLUGIN_MQTT +pkglib_LTLIBRARIES += mqtt.la +mqtt_la_SOURCES = src/mqtt.c +mqtt_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBMOSQUITTO_CPPFLAGS) +mqtt_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBMOSQUITTO_LDFLAGS) +mqtt_la_LIBADD = $(BUILD_WITH_LIBMOSQUITTO_LIBS) +endif + +if BUILD_PLUGIN_MULTIMETER +pkglib_LTLIBRARIES += multimeter.la +multimeter_la_SOURCES = src/multimeter.c +multimeter_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_MYSQL +pkglib_LTLIBRARIES += mysql.la +mysql_la_SOURCES = src/mysql.c +mysql_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBMYSQL_CFLAGS) +mysql_la_LDFLAGS = $(PLUGIN_LDFLAGS) +mysql_la_LIBADD = $(BUILD_WITH_LIBMYSQL_LIBS) +endif + +if BUILD_PLUGIN_NETAPP +pkglib_LTLIBRARIES += netapp.la +netapp_la_SOURCES = src/netapp.c +netapp_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBNETAPP_CPPFLAGS) +netapp_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(LIBNETAPP_LDFLAGS) +netapp_la_LIBADD = libignorelist.la $(LIBNETAPP_LIBS) +endif + +if BUILD_PLUGIN_NETLINK +pkglib_LTLIBRARIES += netlink.la +netlink_la_SOURCES = src/netlink.c +netlink_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBMNL_CFLAGS) +netlink_la_LDFLAGS = $(PLUGIN_LDFLAGS) +netlink_la_LIBADD = $(BUILD_WITH_LIBMNL_LIBS) + +test_plugin_netlink_SOURCES = \ + src/netlink_test.c \ + src/daemon/configfile.c \ + src/daemon/types_list.c +test_plugin_netlink_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBMNL_CFLAGS) +test_plugin_netlink_LDFLAGS = $(PLUGIN_LDFLAGS) +test_plugin_netlink_LDADD = \ + liboconfig.la \ + libplugin_mock.la \ + $(BUILD_WITH_LIBMNL_LIBS) +check_PROGRAMS += test_plugin_netlink +TESTS += test_plugin_netlink +endif + +if BUILD_PLUGIN_NETWORK +pkglib_LTLIBRARIES += network.la +network_la_SOURCES = \ + src/network.c \ + src/network.h \ + src/utils_fbhash.c \ + src/utils_fbhash.h +network_la_CPPFLAGS = $(AM_CPPFLAGS) +network_la_LDFLAGS = $(PLUGIN_LDFLAGS) +network_la_LIBADD = +if BUILD_WITH_LIBSOCKET +network_la_LIBADD += -lsocket +endif +if BUILD_WITH_LIBGCRYPT +network_la_CPPFLAGS += $(GCRYPT_CPPFLAGS) +network_la_LDFLAGS += $(GCRYPT_LDFLAGS) +network_la_LIBADD += $(GCRYPT_LIBS) +endif + +test_plugin_network_SOURCES = \ + src/network_test.c \ + src/utils_fbhash.c \ + src/daemon/configfile.c \ + src/daemon/types_list.c +test_plugin_network_CPPFLAGS = $(AM_CPPFLAGS) $(GCRYPT_CPPFLAGS) +test_plugin_network_LDFLAGS = $(PLUGIN_LDFLAGS) $(GCRYPT_LDFLAGS) +test_plugin_network_LDADD = \ + libavltree.la \ + liboconfig.la \ + libplugin_mock.la \ + libmetadata.la \ + $(GCRYPT_LIBS) +if BUILD_WITH_LIBSOCKET +test_plugin_network_LDADD += -lsocket +endif +if BUILD_WITH_LIBNSL +test_plugin_network_LDADD += -lnsl +endif +check_PROGRAMS += test_plugin_network +endif + +if BUILD_PLUGIN_NFS +pkglib_LTLIBRARIES += nfs.la +nfs_la_SOURCES = src/nfs.c +nfs_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_NGINX +pkglib_LTLIBRARIES += nginx.la +nginx_la_SOURCES = src/nginx.c +nginx_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBCURL_CFLAGS) +nginx_la_LDFLAGS = $(PLUGIN_LDFLAGS) +nginx_la_LIBADD = $(BUILD_WITH_LIBCURL_LIBS) +endif + +if BUILD_PLUGIN_NOTIFY_DESKTOP +pkglib_LTLIBRARIES += notify_desktop.la +notify_desktop_la_SOURCES = src/notify_desktop.c +notify_desktop_la_CFLAGS = $(AM_CFLAGS) $(LIBNOTIFY_CFLAGS) +notify_desktop_la_LDFLAGS = $(PLUGIN_LDFLAGS) +notify_desktop_la_LIBADD = $(LIBNOTIFY_LIBS) +endif + +if BUILD_PLUGIN_NOTIFY_EMAIL +pkglib_LTLIBRARIES += notify_email.la +notify_email_la_SOURCES = src/notify_email.c +notify_email_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBESMTP_CPPFLAGS) +notify_email_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBESMTP_LDFLAGS) +notify_email_la_LIBADD = $(BUILD_WITH_LIBESMTP_LIBS) +endif + +if BUILD_PLUGIN_NOTIFY_NAGIOS +pkglib_LTLIBRARIES += notify_nagios.la +notify_nagios_la_SOURCES = src/notify_nagios.c +notify_nagios_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_NTPD +pkglib_LTLIBRARIES += ntpd.la +ntpd_la_SOURCES = src/ntpd.c +ntpd_la_LDFLAGS = $(PLUGIN_LDFLAGS) +ntpd_la_LIBADD = +if BUILD_WITH_LIBSOCKET +ntpd_la_LIBADD += -lsocket +endif +endif + +if BUILD_PLUGIN_NUMA +pkglib_LTLIBRARIES += numa.la +numa_la_SOURCES = src/numa.c +numa_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_NUT +pkglib_LTLIBRARIES += nut.la +nut_la_SOURCES = src/nut.c +nut_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBUPSCLIENT_CFLAGS) +nut_la_LDFLAGS = $(PLUGIN_LDFLAGS) +nut_la_LIBADD = $(BUILD_WITH_LIBUPSCLIENT_LIBS) +endif + +if BUILD_PLUGIN_OLSRD +pkglib_LTLIBRARIES += olsrd.la +olsrd_la_SOURCES = src/olsrd.c +olsrd_la_LDFLAGS = $(PLUGIN_LDFLAGS) +olsrd_la_LIBADD = +if BUILD_WITH_LIBSOCKET +olsrd_la_LIBADD += -lsocket +endif +endif + +if BUILD_PLUGIN_ONEWIRE +pkglib_LTLIBRARIES += onewire.la +onewire_la_SOURCES = src/onewire.c +onewire_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBOWCAPI_CPPFLAGS) +onewire_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBOWCAPI_LDFLAGS) +onewire_la_LIBADD = libignorelist.la $(BUILD_WITH_LIBOWCAPI_LIBS) +endif + +if BUILD_PLUGIN_OPENLDAP +pkglib_LTLIBRARIES += openldap.la +openldap_la_SOURCES = src/openldap.c +openldap_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBLDAP_CPPFLAGS) +openldap_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBLDAP_LDFLAGS) +openldap_la_LIBADD = -lldap +endif + +if BUILD_PLUGIN_OPENVPN +pkglib_LTLIBRARIES += openvpn.la +openvpn_la_SOURCES = src/openvpn.c +openvpn_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_ORACLE +pkglib_LTLIBRARIES += oracle.la +oracle_la_SOURCES = \ + src/oracle.c \ + src/utils/db_query/db_query.c \ + src/utils/db_query/db_query.h +oracle_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_ORACLE_CPPFLAGS) +oracle_la_LIBADD = $(BUILD_WITH_ORACLE_LIBS) +oracle_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_OVS_EVENTS +pkglib_LTLIBRARIES += ovs_events.la +ovs_events_la_SOURCES = \ + src/ovs_events.c \ + src/utils/ovs/ovs.c \ + src/utils/ovs/ovs.h +ovs_events_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBYAJL_CPPFLAGS) +ovs_events_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBYAJL_LDFLAGS) +ovs_events_la_LIBADD = $(BUILD_WITH_LIBYAJL_LIBS) +endif + +if BUILD_PLUGIN_OVS_STATS +pkglib_LTLIBRARIES += ovs_stats.la +ovs_stats_la_SOURCES = \ + src/ovs_stats.c \ + src/utils/ovs/ovs.c \ + src/utils/ovs/ovs.h +ovs_stats_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBYAJL_CPPFLAGS) +ovs_stats_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBYAJL_LDFLAGS) +ovs_stats_la_LIBADD = $(BUILD_WITH_LIBYAJL_LIBS) +endif + +if BUILD_PLUGIN_PCIE_ERRORS +pkglib_LTLIBRARIES += pcie_errors.la +pcie_errors_la_SOURCES = src/pcie_errors.c +pcie_errors_la_CPPFLAGS = $(AM_CPPFLAGS) +pcie_errors_la_LDFLAGS = $(PLUGIN_LDFLAGS) + +test_plugin_pcie_errors_SOURCES = \ + src/pcie_errors_test.c \ + src/daemon/utils_llist.c \ + src/daemon/configfile.c \ + src/daemon/types_list.c +test_plugin_pcie_errors_CPPFLAGS = $(AM_CPPFLAGS) +test_plugin_pcie_errors_LDFLAGS = $(PLUGIN_LDFLAGS) +test_plugin_pcie_errors_LDADD = liboconfig.la libplugin_mock.la +check_PROGRAMS += test_plugin_pcie_errors +TESTS += test_plugin_pcie_errors +endif + +if BUILD_PLUGIN_PERL +pkglib_LTLIBRARIES += perl.la +perl_la_SOURCES = src/perl.c +# Despite C99 providing the "bool" type thru stdbool.h, Perl defines its own +# version of that type if HAS_BOOL is not defined... *sigh* +perl_la_CPPFLAGS = $(AM_CPPFLAGS) -DHAS_BOOL=1 +# Despite off_t being 64 bit wide on 64 bit platforms, Perl insist on using +# off64_t which is only exposed when _LARGEFILE64_SOURCE is defined... *sigh* +# On older platforms we also need _REENTRANT. _GNU_SOURCE sets both of these. +perl_la_CPPFLAGS += -D_GNU_SOURCE +perl_la_CFLAGS = $(AM_CFLAGS) \ + $(PERL_CFLAGS) \ + -DXS_VERSION=\"$(VERSION)\" -DVERSION=\"$(VERSION)\" +perl_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(PERL_LDFLAGS) +perl_la_LIBADD = $(PERL_LIBS) +endif + +if BUILD_PLUGIN_PF +pkglib_LTLIBRARIES += pf.la +pf_la_SOURCES = src/pf.c +pf_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_PINBA +pkglib_LTLIBRARIES += pinba.la +pinba_la_SOURCES = src/pinba.c +nodist_pinba_la_SOURCES = \ + src/pinba.pb-c.c \ + src/pinba.pb-c.h +pinba_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBPROTOBUF_C_CPPFLAGS) +pinba_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBPROTOBUF_C_LDFLAGS) +pinba_la_LIBADD = $(BUILD_WITH_LIBPROTOBUF_C_LIBS) +endif + +if BUILD_PLUGIN_PING +pkglib_LTLIBRARIES += ping.la +ping_la_SOURCES = src/ping.c +ping_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBOPING_CPPFLAGS) +ping_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBOPING_LDFLAGS) +ping_la_LIBADD = -loping -lm +endif + +if BUILD_PLUGIN_POSTGRESQL +pkglib_LTLIBRARIES += postgresql.la +postgresql_la_SOURCES = \ + src/postgresql.c \ + src/utils/db_query/db_query.c \ + src/utils/db_query/db_query.h +postgresql_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBPQ_CPPFLAGS) +postgresql_la_LDFLAGS = $(PLUGIN_LDFLAGS) \ + $(BUILD_WITH_LIBPQ_LDFLAGS) +postgresql_la_LIBADD = $(BUILD_WITH_LIBPQ_LIBS) +endif + +if BUILD_PLUGIN_POWERDNS +pkglib_LTLIBRARIES += powerdns.la +powerdns_la_SOURCES = src/powerdns.c +powerdns_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_PYTHON +pkglib_LTLIBRARIES += python.la +python_la_SOURCES = \ + src/python.c \ + src/pyconfig.c \ + src/pyvalues.c \ + src/cpython.h +python_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBPYTHON_CPPFLAGS) +python_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(LIBPYTHON_LDFLAGS) +endif + +if HAVE_LIBMNL +noinst_LTLIBRARIES += libtaskstats.la +libtaskstats_la_SOURCES = \ + src/utils/taskstats/taskstats.c \ + src/utils/taskstats/taskstats.h +libtaskstats_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBMNL_CFLAGS) +libtaskstats_la_LIBADD = $(BUILD_WITH_LIBMNL_LIBS) +endif + +if BUILD_PLUGIN_PROCESSES +pkglib_LTLIBRARIES += processes.la +processes_la_SOURCES = src/processes.c +processes_la_CPPFLAGS = $(AM_CPPFLAGS) +processes_la_LDFLAGS = $(PLUGIN_LDFLAGS) +processes_la_LIBADD = +if BUILD_WITH_LIBKVM_GETPROCS +processes_la_LIBADD += -lkvm +endif +if HAVE_LIBMNL +processes_la_CPPFLAGS += -DHAVE_LIBTASKSTATS=1 +processes_la_LIBADD += libtaskstats.la +endif +endif + +if BUILD_PLUGIN_PROCEVENT +pkglib_LTLIBRARIES += procevent.la +procevent_la_SOURCES = src/procevent.c +procevent_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBYAJL_CPPFLAGS) +procevent_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBYAJL_LDFLAGS) +procevent_la_LIBADD = $(BUILD_WITH_LIBYAJL_LIBS) libignorelist.la +endif + +if BUILD_PLUGIN_PROTOCOLS +pkglib_LTLIBRARIES += protocols.la +protocols_la_SOURCES = src/protocols.c +protocols_la_LDFLAGS = $(PLUGIN_LDFLAGS) +protocols_la_LIBADD = libignorelist.la +endif + +if BUILD_PLUGIN_REDFISH +pkglib_LTLIBRARIES += redfish.la +redfish_la_SOURCES = src/redfish.c +redfish_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBREDFISH_CPPFLAGS) +redfish_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBREDFISH_LDFLAGS) +redfish_la_LIBADD = $(BUILD_WITH_LIBREDFISH_LIBS) -lredfish + +test_plugin_redfish_SOURCES = src/redfish_test.c \ + src/utils/avltree/avltree.c \ + src/daemon/utils_llist.c \ + src/daemon/configfile.c \ + src/daemon/types_list.c +test_plugin_redfish_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBREDFISH_CPPFLAGS) +test_plugin_redfish_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBREDFISH_LDFLAGS) +test_plugin_redfish_LDADD = liboconfig.la libplugin_mock.la \ + $(BUILD_WITH_LIBREDFISH_LIBS) -lredfish -ljansson +check_PROGRAMS += test_plugin_redfish +TESTS += test_plugin_redfish +endif + +if BUILD_PLUGIN_REDIS +pkglib_LTLIBRARIES += redis.la +redis_la_SOURCES = src/redis.c +redis_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBHIREDIS_CPPFLAGS) +redis_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBHIREDIS_LDFLAGS) +redis_la_LIBADD = -lhiredis +endif + +if BUILD_PLUGIN_ROUTEROS +pkglib_LTLIBRARIES += routeros.la +routeros_la_SOURCES = src/routeros.c +routeros_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBROUTEROS_CPPFLAGS) +routeros_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBROUTEROS_LDFLAGS) +routeros_la_LIBADD = -lrouteros +endif + +if BUILD_PLUGIN_RRDCACHED +pkglib_LTLIBRARIES += rrdcached.la +rrdcached_la_SOURCES = \ + src/rrdcached.c \ + src/utils/rrdcreate/rrdcreate.c \ + src/utils/rrdcreate/rrdcreate.h +rrdcached_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBRRD_CFLAGS) +rrdcached_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBRRD_LDFLAGS) +rrdcached_la_LIBADD = $(BUILD_WITH_LIBRRD_LIBS) +endif + +if BUILD_PLUGIN_RRDTOOL +pkglib_LTLIBRARIES += rrdtool.la +rrdtool_la_SOURCES = \ + src/rrdtool.c \ + src/utils/rrdcreate/rrdcreate.c \ + src/utils/rrdcreate/rrdcreate.h +rrdtool_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBRRD_CFLAGS) +rrdtool_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBRRD_LDFLAGS) +rrdtool_la_LIBADD = $(BUILD_WITH_LIBRRD_LIBS) +endif + +if BUILD_PLUGIN_SENSORS +pkglib_LTLIBRARIES += sensors.la +sensors_la_SOURCES = src/sensors.c +sensors_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBSENSORS_CPPFLAGS) +sensors_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBSENSORS_LDFLAGS) +sensors_la_LIBADD = libignorelist.la $(BUILD_WITH_LIBSENSORS_LIBS) +endif + +if BUILD_PLUGIN_SERIAL +pkglib_LTLIBRARIES += serial.la +serial_la_SOURCES = src/serial.c +serial_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_SIGROK +pkglib_LTLIBRARIES += sigrok.la +sigrok_la_SOURCES = src/sigrok.c +sigrok_la_CFLAGS = $(AM_CFLAGS) $(LIBSIGROK_CFLAGS) +sigrok_la_LDFLAGS = $(PLUGIN_LDFLAGS) +sigrok_la_LIBADD = $(LIBSIGROK_LIBS) +endif + +if BUILD_PLUGIN_SLURM +pkglib_LTLIBRARIES += slurm.la +slurm_la_SOURCES = src/slurm.c +slurm_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBSLURM_CFLAGS) +slurm_la_LDFLAGS = $(PLUGIN_LDFLAGS) +slurm_la_LIBADD = $(BUILD_WITH_LIBSLURM_LIBS) +endif + +if BUILD_PLUGIN_SMART +if BUILD_WITH_LIBUDEV +pkglib_LTLIBRARIES += smart.la +smart_la_SOURCES = \ + src/smart.c \ + src/nvme.h \ + src/intel-nvme.h +smart_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBATASMART_CPPFLAGS) $(BUILD_WITH_LIBUDEV_CPPFLAGS) +smart_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBATASMART_LDFLAGS) $(BUILD_WITH_LIBUDEV_LDFLAGS) +smart_la_LIBADD = libignorelist.la $(BUILD_WITH_LIBATASMART_LIBS) $(BUILD_WITH_LIBUDEV_LIBS) + +test_plugin_smart_SOURCES = src/smart_test.c +test_plugin_smart_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBATASMART_CPPFLAGS) $(BUILD_WITH_LIBUDEV_CPPFLAGS) +test_plugin_smart_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBATASMART_LDFLAGS) $(BUILD_WITH_LIBUDEV_LDFLAGS) +test_plugin_smart_LDADD = libplugin_mock.la $(BUILD_WITH_LIBATASMART_LIBS) $(BUILD_WITH_LIBUDEV_LIBS) +check_PROGRAMS += test_plugin_smart +TESTS += test_plugin_smart +endif +endif + +if BUILD_PLUGIN_SNMP +pkglib_LTLIBRARIES += snmp.la +snmp_la_SOURCES = src/snmp.c +snmp_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBNETSNMP_CPPFLAGS) +snmp_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBNETSNMP_LDFLAGS) +snmp_la_LIBADD = libignorelist.la $(BUILD_WITH_LIBNETSNMP_LIBS) +endif + +if BUILD_PLUGIN_SNMP_AGENT +pkglib_LTLIBRARIES += snmp_agent.la +snmp_agent_la_SOURCES = src/snmp_agent.c +snmp_agent_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBNETSNMPAGENT_CPPFLAGS) +snmp_agent_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBNETSNMPAGENT_LDFLAGS) +snmp_agent_la_LIBADD = $(BUILD_WITH_LIBNETSNMPAGENT_LIBS) + +test_plugin_snmp_agent_SOURCES = src/snmp_agent_test.c \ + src/utils/avltree/avltree.c \ + src/daemon/utils_llist.c \ + src/daemon/configfile.c \ + src/daemon/types_list.c +test_plugin_snmp_agent_CPPFLAGS = $(AM_CPPFLAGS) \ + $(BUILD_WITH_LIBNETSNMPAGENT_CPPFLAGS) +test_plugin_snmp_agent_LDFLAGS = $(PLUGIN_LDFLAGS) \ + $(BUILD_WITH_LIBNETSNMPAGENT_LDFLAGS) +test_plugin_snmp_agent_LDADD = liboconfig.la libplugin_mock.la \ + $(BUILD_WITH_LIBNETSNMPAGENT_LIBS) $(BUILD_WITH_LIBNETSNMP_LIBS) + +check_PROGRAMS += test_plugin_snmp_agent +TESTS += test_plugin_snmp_agent + + +endif + +if BUILD_PLUGIN_STATSD +pkglib_LTLIBRARIES += statsd.la +statsd_la_SOURCES = src/statsd.c +statsd_la_LDFLAGS = $(PLUGIN_LDFLAGS) +statsd_la_LIBADD = liblatency.la +endif + +if BUILD_PLUGIN_SWAP +pkglib_LTLIBRARIES += swap.la +swap_la_SOURCES = src/swap.c +swap_la_CFLAGS = $(AM_CFLAGS) +swap_la_LDFLAGS = $(PLUGIN_LDFLAGS) +swap_la_LIBADD = +if BUILD_WITH_LIBKSTAT +swap_la_LIBADD += -lkstat +endif +if BUILD_WITH_LIBDEVINFO +swap_la_LIBADD += -ldevinfo +endif +if BUILD_WITH_LIBKVM_GETSWAPINFO +swap_la_LIBADD += -lkvm +endif +if BUILD_WITH_LIBSTATGRAB +swap_la_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS) +swap_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS) +endif +if BUILD_WITH_PERFSTAT +swap_la_LIBADD += -lperfstat +endif + +endif + +if BUILD_PLUGIN_SYNPROXY +pkglib_LTLIBRARIES += synproxy.la +synproxy_la_SOURCES = src/synproxy.c +synproxy_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_SYSEVENT +pkglib_LTLIBRARIES += sysevent.la +sysevent_la_SOURCES = src/sysevent.c +sysevent_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBYAJL_CPPFLAGS) +sysevent_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBYAJL_LDFLAGS) +sysevent_la_LIBADD = $(BUILD_WITH_LIBYAJL_LIBS) libignorelist.la +endif + +if BUILD_PLUGIN_SYSLOG +pkglib_LTLIBRARIES += syslog.la +syslog_la_SOURCES = src/syslog.c +syslog_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_TABLE +pkglib_LTLIBRARIES += table.la +table_la_SOURCES = src/table.c +table_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_TAIL +pkglib_LTLIBRARIES += tail.la +tail_la_SOURCES = \ + src/tail.c \ + src/utils/match/match.c \ + src/utils/match/match.h \ + src/utils/tail/tail.c \ + src/utils/tail/tail.h \ + src/utils_tail_match.c \ + src/utils_tail_match.h +tail_la_LDFLAGS = $(PLUGIN_LDFLAGS) +tail_la_LIBADD = liblatency.la +endif + +if BUILD_PLUGIN_TAIL_CSV +pkglib_LTLIBRARIES += tail_csv.la +tail_csv_la_SOURCES = \ + src/tail_csv.c \ + src/utils/tail/tail.c \ + src/utils/tail/tail.h +tail_csv_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_TAPE +pkglib_LTLIBRARIES += tape.la +tape_la_SOURCES = src/tape.c +tape_la_LDFLAGS = $(PLUGIN_LDFLAGS) +tape_la_LIBADD = -lkstat -ldevinfo +endif + +if BUILD_PLUGIN_TARGET_NOTIFICATION +pkglib_LTLIBRARIES += target_notification.la +target_notification_la_SOURCES = src/target_notification.c +target_notification_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_TARGET_REPLACE +pkglib_LTLIBRARIES += target_replace.la +target_replace_la_SOURCES = src/target_replace.c +target_replace_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_TARGET_SCALE +pkglib_LTLIBRARIES += target_scale.la +target_scale_la_SOURCES = src/target_scale.c +target_scale_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_TARGET_SET +pkglib_LTLIBRARIES += target_set.la +target_set_la_SOURCES = src/target_set.c +target_set_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_TARGET_V5UPGRADE +pkglib_LTLIBRARIES += target_v5upgrade.la +target_v5upgrade_la_SOURCES = src/target_v5upgrade.c +target_v5upgrade_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_TCPCONNS +pkglib_LTLIBRARIES += tcpconns.la +tcpconns_la_SOURCES = src/tcpconns.c +tcpconns_la_LDFLAGS = $(PLUGIN_LDFLAGS) +tcpconns_la_LIBADD = +if BUILD_WITH_LIBKVM_NLIST +tcpconns_la_LIBADD += -lkvm +endif +endif + +if BUILD_PLUGIN_TEAMSPEAK2 +pkglib_LTLIBRARIES += teamspeak2.la +teamspeak2_la_SOURCES = src/teamspeak2.c +teamspeak2_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_TED +pkglib_LTLIBRARIES += ted.la +ted_la_SOURCES = src/ted.c +ted_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_THERMAL +pkglib_LTLIBRARIES += thermal.la +thermal_la_SOURCES = src/thermal.c +thermal_la_LDFLAGS = $(PLUGIN_LDFLAGS) +thermal_la_LIBADD = libignorelist.la +endif + +if BUILD_PLUGIN_THRESHOLD +pkglib_LTLIBRARIES += threshold.la +threshold_la_SOURCES = src/threshold.c +threshold_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_TOKYOTYRANT +pkglib_LTLIBRARIES += tokyotyrant.la +tokyotyrant_la_SOURCES = src/tokyotyrant.c +tokyotyrant_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBTOKYOTYRANT_CPPFLAGS) +tokyotyrant_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBTOKYOTYRANT_LDFLAGS) +tokyotyrant_la_LIBADD = $(BUILD_WITH_LIBTOKYOTYRANT_LIBS) +if BUILD_WITH_LIBSOCKET +tokyotyrant_la_LIBADD += -lsocket +endif +endif + +if BUILD_PLUGIN_TURBOSTAT +pkglib_LTLIBRARIES += turbostat.la +turbostat_la_SOURCES = \ + src/turbostat.c \ + src/msr-index.h +turbostat_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_UBI +pkglib_LTLIBRARIES += ubi.la +ubi_la_SOURCES = src/ubi.c +ubi_la_LDFLAGS = $(PLUGIN_LDFLAGS) +ubi_la_LIBADD = libignorelist.la +endif + +if BUILD_PLUGIN_UNIXSOCK +pkglib_LTLIBRARIES += unixsock.la +unixsock_la_SOURCES = src/unixsock.c +unixsock_la_LDFLAGS = $(PLUGIN_LDFLAGS) +unixsock_la_LIBADD = libcmds.la +endif + +if BUILD_PLUGIN_UPTIME +pkglib_LTLIBRARIES += uptime.la +uptime_la_SOURCES = src/uptime.c +uptime_la_CFLAGS = $(AM_CFLAGS) +uptime_la_LDFLAGS = $(PLUGIN_LDFLAGS) +uptime_la_LIBADD = +if BUILD_WITH_LIBKSTAT +uptime_la_LIBADD += -lkstat +endif +if BUILD_WITH_PERFSTAT +uptime_la_LIBADD += -lperfstat +endif +endif + +if BUILD_PLUGIN_USERS +pkglib_LTLIBRARIES += users.la +users_la_SOURCES = src/users.c +users_la_CFLAGS = $(AM_CFLAGS) +users_la_LDFLAGS = $(PLUGIN_LDFLAGS) +users_la_LIBADD = +if BUILD_WITH_LIBSTATGRAB +users_la_CFLAGS += $(BUILD_WITH_LIBSTATGRAB_CFLAGS) +users_la_LIBADD += $(BUILD_WITH_LIBSTATGRAB_LDFLAGS) +endif +endif + +if BUILD_PLUGIN_UUID +pkglib_LTLIBRARIES += uuid.la +uuid_la_SOURCES = src/uuid.c +uuid_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_VARNISH +pkglib_LTLIBRARIES += varnish.la +varnish_la_SOURCES = src/varnish.c +varnish_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBVARNISH_CFLAGS) +varnish_la_LDFLAGS = $(PLUGIN_LDFLAGS) +varnish_la_LIBADD = $(BUILD_WITH_LIBVARNISH_LIBS) +endif + +if BUILD_PLUGIN_VIRT +pkglib_LTLIBRARIES += virt.la +virt_la_SOURCES = src/virt.c +virt_la_CFLAGS = $(AM_CFLAGS) \ + $(BUILD_WITH_LIBVIRT_CFLAGS) $(BUILD_WITH_LIBXML2_CFLAGS) +virt_la_LDFLAGS = $(PLUGIN_LDFLAGS) +virt_la_LIBADD = libignorelist.la $(BUILD_WITH_LIBVIRT_LIBS) $(BUILD_WITH_LIBXML2_LIBS) + +test_plugin_virt_SOURCES = src/virt_test.c src/daemon/configfile.c \ + src/daemon/types_list.c +test_plugin_virt_CPPFLAGS = $(AM_CPPFLAGS) \ + $(BUILD_WITH_LIBVIRT_CPPFLAGS) $(BUILD_WITH_LIBXML2_CFLAGS) +test_plugin_virt_LDFLAGS = $(PLUGIN_LDFLAGS) \ + $(BUILD_WITH_LIBVIRT_LDFLAGS) $(BUILD_WITH_LIBXML2_LDFLAGS) +test_plugin_virt_LDADD = liboconfig.la libplugin_mock.la \ + $(BUILD_WITH_LIBVIRT_LIBS) $(BUILD_WITH_LIBXML2_LIBS) +check_PROGRAMS += test_plugin_virt +TESTS += test_plugin_virt +endif + +if BUILD_PLUGIN_VMEM +pkglib_LTLIBRARIES += vmem.la +vmem_la_SOURCES = src/vmem.c +vmem_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_VSERVER +pkglib_LTLIBRARIES += vserver.la +vserver_la_SOURCES = src/vserver.c +vserver_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_WIRELESS +pkglib_LTLIBRARIES += wireless.la +wireless_la_SOURCES = src/wireless.c +wireless_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_WRITE_GRAPHITE +pkglib_LTLIBRARIES += write_graphite.la +write_graphite_la_SOURCES = src/write_graphite.c +write_graphite_la_LDFLAGS = $(PLUGIN_LDFLAGS) +write_graphite_la_LIBADD = libformat_graphite.la +endif + +if BUILD_PLUGIN_WRITE_HTTP +pkglib_LTLIBRARIES += write_http.la +write_http_la_SOURCES = \ + src/write_http.c \ + src/utils/curl_stats/curl_stats.c \ + src/utils/curl_stats/curl_stats.h \ + src/utils/format_kairosdb/format_kairosdb.c \ + src/utils/format_kairosdb/format_kairosdb.h +write_http_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBCURL_CFLAGS) +write_http_la_LDFLAGS = $(PLUGIN_LDFLAGS) +write_http_la_LIBADD = libformat_json.la $(BUILD_WITH_LIBCURL_LIBS) +endif + +if BUILD_PLUGIN_WRITE_INFLUXDB_UDP +pkglib_LTLIBRARIES += write_influxdb_udp.la +write_influxdb_udp_la_SOURCES = src/write_influxdb_udp.c +write_influxdb_udp_la_CPPFLAGS = $(AM_CPPFLAGS) +write_influxdb_udp_la_LDFLAGS = $(PLUGIN_LDFLAGS) +if BUILD_WITH_LIBSOCKET +write_influxdb_udp_la_LIBADD = -lsocket +endif +endif + +if BUILD_PLUGIN_WRITE_KAFKA +pkglib_LTLIBRARIES += write_kafka.la +write_kafka_la_SOURCES = src/write_kafka.c +write_kafka_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBRDKAFKA_CPPFLAGS) +write_kafka_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBRDKAFKA_LDFLAGS) +write_kafka_la_LIBADD = \ + libcmds.la \ + libformat_graphite.la \ + libformat_json.la \ + $(BUILD_WITH_LIBRDKAFKA_LIBS) +endif + +if BUILD_PLUGIN_WRITE_LOG +pkglib_LTLIBRARIES += write_log.la +write_log_la_SOURCES = src/write_log.c +write_log_la_LDFLAGS = $(PLUGIN_LDFLAGS) +write_log_la_LIBADD = libformat_graphite.la libformat_json.la +endif + +if BUILD_PLUGIN_WRITE_MONGODB +pkglib_LTLIBRARIES += write_mongodb.la +write_mongodb_la_SOURCES = src/write_mongodb.c +write_mongodb_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBMONGOC_CFLAGS) +write_mongodb_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBMONGOC_LDFLAGS) +write_mongodb_la_LIBADD = $(BUILD_WITH_LIBMONGOC_LIBS) +endif + +if BUILD_PLUGIN_WRITE_PROMETHEUS +pkglib_LTLIBRARIES += write_prometheus.la +write_prometheus_la_SOURCES = src/write_prometheus.c +nodist_write_prometheus_la_SOURCES = \ + prometheus.pb-c.c \ + prometheus.pb-c.h +write_prometheus_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBPROTOBUF_C_CPPFLAGS) $(BUILD_WITH_LIBMICROHTTPD_CPPFLAGS) +write_prometheus_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBPROTOBUF_C_LDFLAGS) $(BUILD_WITH_LIBMICROHTTPD_LDFLAGS) +write_prometheus_la_LIBADD = $(BUILD_WITH_LIBPROTOBUF_C_LIBS) $(BUILD_WITH_LIBMICROHTTPD_LIBS) +endif + +if BUILD_PLUGIN_WRITE_REDIS +pkglib_LTLIBRARIES += write_redis.la +write_redis_la_SOURCES = src/write_redis.c +write_redis_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBHIREDIS_CPPFLAGS) +write_redis_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(BUILD_WITH_LIBHIREDIS_LDFLAGS) +write_redis_la_LIBADD = -lhiredis +endif + +if BUILD_PLUGIN_WRITE_RIEMANN +pkglib_LTLIBRARIES += write_riemann.la +write_riemann_la_SOURCES = \ + src/write_riemann.c \ + src/write_riemann_threshold.c \ + src/write_riemann_threshold.h +write_riemann_la_CFLAGS = $(AM_CFLAGS) $(LIBRIEMANN_CLIENT_CFLAGS) +write_riemann_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(LIBRIEMANN_CLIENT_LIBS) +endif + +if BUILD_PLUGIN_WRITE_SENSU +pkglib_LTLIBRARIES += write_sensu.la +write_sensu_la_SOURCES = src/write_sensu.c +write_sensu_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_WRITE_STACKDRIVER +pkglib_LTLIBRARIES += write_stackdriver.la +write_stackdriver_la_SOURCES = src/write_stackdriver.c +write_stackdriver_la_LDFLAGS = $(PLUGIN_LDFLAGS) +write_stackdriver_la_CPPFLAGS = $(AM_CPPFLAGS) $(BUILD_WITH_LIBCURL_CFLAGS) +write_stackdriver_la_LIBADD = libformat_stackdriver.la libgce.la liboauth.la \ + $(BUILD_WITH_LIBCURL_LIBS) +endif + +if BUILD_PLUGIN_WRITE_SYSLOG +pkglib_LTLIBRARIES += write_syslog.la +write_syslog_la_SOURCES = src/write_syslog.c +write_syslog_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_WRITE_TSDB +pkglib_LTLIBRARIES += write_tsdb.la +write_tsdb_la_SOURCES = src/write_tsdb.c +write_tsdb_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_XENCPU +pkglib_LTLIBRARIES += xencpu.la +xencpu_la_SOURCES = src/xencpu.c +xencpu_la_CPPFLAGS = $(AM_CPPFLAGS) $(LIBXENCTL_CPPFLAGS) +xencpu_la_LDFLAGS = $(PLUGIN_LDFLAGS) $(LIBXENCTL_LDFLAGS) +xencpu_la_LIBADD = -lxenctrl +endif + +if BUILD_PLUGIN_XMMS +pkglib_LTLIBRARIES += xmms.la +xmms_la_SOURCES = src/xmms.c +xmms_la_CFLAGS = $(AM_CFLAGS) $(BUILD_WITH_LIBXMMS_CFLAGS) +xmms_la_LDFLAGS = $(PLUGIN_LDFLAGS) +xmms_la_LIBADD = $(BUILD_WITH_LIBXMMS_LIBS) +endif + +if BUILD_PLUGIN_ZFS_ARC +pkglib_LTLIBRARIES += zfs_arc.la +zfs_arc_la_SOURCES = src/zfs_arc.c +zfs_arc_la_LDFLAGS = $(PLUGIN_LDFLAGS) +if BUILD_FREEBSD +zfs_arc_la_LIBADD = -lm +endif +if BUILD_SOLARIS +zfs_arc_la_LIBADD = -lkstat +endif +endif + +if BUILD_PLUGIN_ZOOKEEPER +pkglib_LTLIBRARIES += zookeeper.la +zookeeper_la_SOURCES = src/zookeeper.c +zookeeper_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +if BUILD_PLUGIN_ZONE +pkglib_LTLIBRARIES += zone.la +zone_la_SOURCES = src/zone.c +zone_la_LDFLAGS = $(PLUGIN_LDFLAGS) +endif + +AM_V_POD2MAN_C = $(am__v_POD2MAN_C_@AM_V@) +am__v_POD2MAN_C_ = $(am__v_POD2MAN_C_@AM_DEFAULT_V@) +am__v_POD2MAN_C_0 = @echo " POD2MAN " $@; +am__v_POD2MAN_C_1 = + +.pod.1: + $(AM_V_POD2MAN_C)pod2man --release=$(VERSION) --center=$(PACKAGE) $< $@ + +.pod.5: + $(AM_V_POD2MAN_C)pod2man --section=5 --release=$(VERSION) --center=$(PACKAGE) $< $@ + +V_PROTOC = $(v_protoc_@AM_V@) +v_protoc_ = $(v_protoc_@AM_DEFAULT_V@) +v_protoc_0 = @echo " PROTOC " $@; + +AM_V_PROTOC_C = $(am__v_PROTOC_C_@AM_V@) +am__v_PROTOC_C_ = $(am__v_PROTOC_C_@AM_DEFAULT_V@) +am__v_PROTOC_C_0 = @echo " PROTOC-C" $@; +am__v_PROTOC_C_1 = + +# Protocol buffer for the "pinba" plugin. +if BUILD_PLUGIN_PINBA +BUILT_SOURCES += src/pinba.pb-c.c src/pinba.pb-c.h + +src/pinba.pb-c.c src/pinba.pb-c.h: $(srcdir)/src/pinba.proto + $(AM_V_PROTOC_C)$(PROTOC_C) -I$(srcdir) --c_out . $(srcdir)/src/pinba.proto +endif + +# Protocol buffer for the "write_prometheus" plugin. +if BUILD_PLUGIN_WRITE_PROMETHEUS +BUILT_SOURCES += prometheus.pb-c.c prometheus.pb-c.h + +prometheus.pb-c.c prometheus.pb-c.h: $(srcdir)/proto/prometheus.proto + $(AM_V_PROTOC_C)$(PROTOC_C) -I$(srcdir)/proto --c_out=$(builddir) $(srcdir)/proto/prometheus.proto +endif + +if HAVE_PROTOC3 +if HAVE_GRPC_CPP +BUILT_SOURCES += collectd.grpc.pb.cc types.grpc.pb.cc collectd.pb.cc types.pb.cc + +collectd.grpc.pb.cc types.grpc.pb.cc: $(srcdir)/proto/collectd.proto $(srcdir)/proto/types.proto + $(V_PROTOC)$(PROTOC) -I$(srcdir)/proto \ + --grpc_out=$(builddir) --plugin=protoc-gen-grpc=$(GRPC_CPP_PLUGIN) \ + $(srcdir)/proto/collectd.proto $(srcdir)/proto/types.proto + +collectd.pb.cc: $(srcdir)/proto/collectd.proto $(srcdir)/proto/types.proto + $(V_PROTOC)$(PROTOC) -I$(srcdir)/proto --cpp_out=$(builddir) \ + $(srcdir)/proto/collectd.proto $(srcdir)/proto/types.proto + +types.pb.cc: $(srcdir)/proto/types.proto + $(V_PROTOC)$(PROTOC) -I$(srcdir)/proto --cpp_out=$(builddir) \ + $(srcdir)/proto/types.proto +endif +endif + +install-exec-hook: + $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run + $(mkinstalldirs) $(DESTDIR)$(localstatedir)/lib/$(PACKAGE_NAME) + $(mkinstalldirs) $(DESTDIR)$(localstatedir)/log + $(mkinstalldirs) $(DESTDIR)$(sysconfdir) + if test -e $(DESTDIR)$(sysconfdir)/collectd.conf; \ + then \ + $(INSTALL) -m 0640 $(builddir)/src/collectd.conf $(DESTDIR)$(sysconfdir)/collectd.conf.pkg-orig; \ + else \ + $(INSTALL) -m 0640 $(builddir)/src/collectd.conf $(DESTDIR)$(sysconfdir)/collectd.conf; \ + fi; \ + $(mkinstalldirs) $(DESTDIR)$(cpkgdatadir) + $(INSTALL) -m 0644 $(srcdir)/src/types.db $(DESTDIR)$(cpkgdatadir)/types.db; + $(INSTALL) -m 0644 $(srcdir)/src/postgresql_default.conf \ + $(DESTDIR)$(cpkgdatadir)/postgresql_default.conf; + +uninstall-hook: + rm -f $(DESTDIR)$(cpkgdatadir)/types.db; + rm -f $(DESTDIR)$(sysconfdir)/collectd.conf + rm -f $(DESTDIR)$(cpkgdatadir)/postgresql_default.conf; + +all-local: @PERL_BINDINGS@ + +install-exec-local: + [ ! -f buildperl/Makefile ] || ( cd buildperl && $(MAKE) install ) + +# Perl 'make uninstall' does not work as well as wanted. +# So we do the work here. +uninstall-local: + @PERL@ -I$(DESTDIR)$(prefix) $(srcdir)/bindings/perl/uninstall_mod.pl Collectd + find $(DESTDIR)$(prefix) -name "perllocal.pod" -exec rm {} \; + +clean-local: + rm -rf buildperl + +perl: buildperl/Makefile + cd buildperl && $(MAKE) + +buildperl/Makefile: .perl-directory-stamp buildperl/Makefile.PL \ + $(top_builddir)/config.status + @# beautify the output a bit + @echo 'cd buildperl && @PERL@ Makefile.PL @PERL_BINDINGS_OPTIONS@' + @cd buildperl && ( if ! @PERL@ Makefile.PL @PERL_BINDINGS_OPTIONS@; then \ + echo ""; \ + echo 'Check whether you have set $$PERL_MM_OPT in your environment and try using ./configure --with-perl-bindings=""'; \ + echo ""; \ + fi ) + +buildperl/Makefile.PL: .perl-directory-stamp $(top_builddir)/config.status + +.perl-directory-stamp: + if test ! -d buildperl; then \ + mkdir -p buildperl/Collectd/Plugins; \ + cp $(srcdir)/bindings/perl/lib/Collectd.pm buildperl/; \ + cp $(srcdir)/bindings/perl/Makefile.PL buildperl/; \ + cp $(srcdir)/bindings/perl/lib/Collectd/Unixsock.pm buildperl/Collectd/; \ + cp $(srcdir)/bindings/perl/lib/Collectd/Plugins/OpenVZ.pm buildperl/Collectd/Plugins/; \ + fi + touch $@ + +.PHONY: perl + + +if BUILD_WITH_JAVA +dist_noinst_JAVA = \ + bindings/java/org/collectd/api/Collectd.java \ + bindings/java/org/collectd/api/CollectdConfigInterface.java \ + bindings/java/org/collectd/api/CollectdFlushInterface.java \ + bindings/java/org/collectd/api/CollectdInitInterface.java \ + bindings/java/org/collectd/api/CollectdLogInterface.java \ + bindings/java/org/collectd/api/CollectdMatchFactoryInterface.java \ + bindings/java/org/collectd/api/CollectdMatchInterface.java \ + bindings/java/org/collectd/api/CollectdNotificationInterface.java \ + bindings/java/org/collectd/api/CollectdReadInterface.java \ + bindings/java/org/collectd/api/CollectdShutdownInterface.java \ + bindings/java/org/collectd/api/CollectdTargetFactoryInterface.java \ + bindings/java/org/collectd/api/CollectdTargetInterface.java \ + bindings/java/org/collectd/api/CollectdWriteInterface.java \ + bindings/java/org/collectd/api/DataSet.java \ + bindings/java/org/collectd/api/DataSource.java \ + bindings/java/org/collectd/api/Notification.java \ + bindings/java/org/collectd/api/OConfigItem.java \ + bindings/java/org/collectd/api/OConfigValue.java \ + bindings/java/org/collectd/api/PluginData.java \ + bindings/java/org/collectd/api/ValueList.java \ + bindings/java/org/collectd/java/GenericJMX.java \ + bindings/java/org/collectd/java/GenericJMXConfConnection.java \ + bindings/java/org/collectd/java/GenericJMXConfMBean.java \ + bindings/java/org/collectd/java/GenericJMXConfValue.java \ + bindings/java/org/collectd/java/JMXMemory.java + +collectd-api.jar: $(JAVA_TIMESTAMP_FILE) + $(JAR) cf $(JARFLAGS) $@ org/collectd/api/*.class + +generic-jmx.jar: $(JAVA_TIMESTAMP_FILE) + $(JAR) cf $(JARFLAGS) $@ org/collectd/java/*.class + +jar_DATA = collectd-api.jar generic-jmx.jar +endif + diff --git a/README b/README new file mode 100644 index 0000000..e42e9c2 --- /dev/null +++ b/README @@ -0,0 +1,1190 @@ + collectd - System information collection daemon +================================================= +https://collectd.org/ + +About +----- + + collectd is a small daemon which collects system information periodically + and provides mechanisms to store and monitor the values in a variety of + ways. + + +Features +-------- + + * collectd is able to collect the following data: + + - apache + Apache server utilization: Number of bytes transferred, number of + requests handled and detailed scoreboard statistics + + - apcups + APC UPS Daemon: UPS charge, load, input/output/battery voltage, etc. + + - apple_sensors + Sensors in Macs running Mac OS X / Darwin: Temperature, fan speed and + voltage sensors. + + - aquaero + Various sensors in the Aquaero 5 water cooling board made by Aquacomputer. + + - ascent + Statistics about Ascent, a free server for the game `World of Warcraft'. + + - barometer + Reads absolute barometric pressure, air pressure reduced to sea level and + temperature. Supported sensors are MPL115A2 and MPL3115 from Freescale + and BMP085 from Bosch. + + - battery + Batterycharge, -current and voltage of ACPI and PMU based laptop + batteries. + + - bind + Name server and resolver statistics from the `statistics-channel' + interface of BIND 9.5, 9,6 and later. + + - buddyinfo + Statistics from buddyinfo file about memory fragmentation. + + - capabilities + Platform capabilities decoded from hardware subsystems, for example from + SMBIOS using dmidecode. + + + - ceph + Statistics from the Ceph distributed storage system. + + - cgroups + CPU accounting information for process groups under Linux. + + - chrony + Chrony daemon statistics: Local clock drift, offset to peers, etc. + + - connectivity + Event-based interface status. + + - conntrack + Number of nf_conntrack entries. + + - contextswitch + Number of context switches done by the operating system. + + - cpu + CPU utilization: Time spent in the system, user, nice, idle, and related + states. + + - cpufreq + CPU frequency (For laptops with speed step or a similar technology) + + - cpusleep + CPU sleep: Time spent in suspend (For mobile devices which enter suspend automatically) + + - curl + Parse statistics from websites using regular expressions. + + - curl_json + Retrieves JSON data via cURL and parses it according to user + configuration. + + - curl_xml + Retrieves XML data via cURL and parses it according to user + configuration. + + - dbi + Executes SQL statements on various databases and interprets the returned + data. + + - dcpmm + Collects Intel Optane DC Presistent Memory (DCPMM) performance and health statistics. + + - df + Mountpoint usage (Basically the values `df(1)' delivers) + + - disk + Disk utilization: Sectors read/written, number of read/write actions, + average time an IO-operation took to complete. + + - dns + DNS traffic: Query types, response codes, opcodes and traffic/octets + transferred. + + - dpdkstat + Collect DPDK interface statistics. + See docs/BUILD.dpdkstat.md for detailed build instructions. + + This plugin should be compiled with compiler defenses enabled, for + example -fstack-protector. + + - dpdk_telemetry + Collect DPDK interface, application and global statistics. + This plugin can be used as substitute to dpdkstat plugin. + + This plugin is dependent on DPDK 19.08 release and must be used + along with the DPDK application. + + Also, this plugin has dependency on Jansson library. + + - drbd + Collect individual drbd resource statistics. + + - email + Email statistics: Count, traffic, spam scores and checks. + See collectd-email(5). + + - entropy + Amount of entropy available to the system. + + - ethstat + Network interface card statistics. + + - exec + Values gathered by a custom program or script. + See collectd-exec(5). + + - fhcount + File handles statistics. + + - filecount + Count the number of files in directories. + + - fscache + Linux file-system based caching framework statistics. + + - gmond + Receive multicast traffic from Ganglia instances. + + - gps + Monitor gps related data through gpsd. + + - gpu_nvidia + Monitor NVIDIA GPU statistics available through NVML. + + - hddtemp + Hard disk temperatures using hddtempd. + + - hugepages + Report the number of used and free hugepages. More info on + hugepages can be found here: + https://www.kernel.org/doc/Documentation/vm/hugetlbpage.txt. + + This plugin should be compiled with compiler defenses enabled, for + example -fstack-protector. + + - infiniband + Attributes and counters for each port on each IB device. + + - intel_pmu + The intel_pmu plugin reads performance counters provided by the Linux + kernel perf interface. The plugin uses jevents library to resolve named + events to perf events and access perf interface. + + - intel_rdt + The intel_rdt plugin collects information provided by monitoring features + of Intel Resource Director Technology (Intel(R) RDT) like Cache Monitoring + Technology (CMT), Memory Bandwidth Monitoring (MBM). These features + provide information about utilization of shared resources like last level + cache occupancy, local memory bandwidth usage, remote memory bandwidth + usage, instructions per clock. + + + - interface + Interface traffic: Number of octets, packets and errors for each + interface. + + - ipc + IPC counters: semaphores used, number of allocated segments in shared + memory and more. + + - ipmi + IPMI (Intelligent Platform Management Interface) sensors information. + + - ipstats + IPv4 and IPv6; incoming, outgoing, forwarded counters. FreeBSD only. + + - iptables + Iptables' counters: Number of bytes that were matched by a certain + iptables rule. + + - ipvs + IPVS connection statistics (number of connections, octets and packets + for each service and destination). + See http://www.linuxvirtualserver.org/software/index.html. + + - irq + IRQ counters: Frequency in which certain interrupts occur. + + - java + Integrates a `Java Virtual Machine' (JVM) to execute plugins in Java + bytecode. + See docs/BUILD.java.md for detailed build instructions. + + - load + System load average over the last 1, 5 and 15 minutes. + + - lpar + Detailed CPU statistics of the “Logical Partitions” virtualization + technique built into IBM's POWER processors. + + - lua + The Lua plugin implements a Lua interpreter into collectd. This + makes it possible to write plugins in Lua which are executed by + collectd without the need to start a heavy interpreter every interval. + See collectd-lua(5) for details. + + - madwifi + Queries very detailed usage statistics from wireless LAN adapters and + interfaces that use the Atheros chipset and the MadWifi driver. + + - mbmon + Motherboard sensors: temperature, fan speed and voltage information, + using mbmon(1). + + - mcelog + Monitor machine check exceptions (hardware errors detected by hardware + and reported to software) reported by mcelog and generate appropriate + notifications when machine check exceptions are detected. + + - md + Linux software-RAID device information (number of active, failed, spare + and missing disks). + + - memcachec + Query and parse data from a memcache daemon (memcached). + + - memcached + Statistics of the memcached distributed caching system. + + + - memory + Memory utilization: Memory occupied by running processes, page cache, + buffer cache and free. + + - mic + Collects CPU usage, memory usage, temperatures and power consumption from + Intel Many Integrated Core (MIC) CPUs. + + - modbus + Reads values from Modbus/TCP enabled devices. Supports reading values + from multiple "slaves" so gateway devices can be used. + + - multimeter + Information provided by serial multimeters, such as the `Metex + M-4650CR'. + + - mysql + MySQL server statistics: Commands issued, handlers triggered, thread + usage, query cache utilization and traffic/octets sent and received. + + - netapp + Plugin to query performance values from a NetApp storage system using the + “Manage ONTAP” SDK provided by NetApp. + + - netlink + Very detailed Linux network interface and routing statistics. You can get + (detailed) information on interfaces, qdiscs, classes, and, if you can + make use of it, filters. + + - network + Receive values that were collected by other hosts. Large setups will + want to collect the data on one dedicated machine, and this is the + plugin of choice for that. + + - nfs + NFS Procedures: Which NFS command were called how often. + + - nginx + Collects statistics from `nginx' (speak: engine X), a HTTP and mail + server/proxy. + + - ntpd + NTP daemon statistics: Local clock drift, offset to peers, etc. + + - numa + Information about Non-Uniform Memory Access (NUMA). + + - nut + Network UPS tools: UPS current, voltage, power, charge, utilisation, + temperature, etc. See upsd(8). + + - olsrd + Queries routing information from the “Optimized Link State Routing” + daemon. + + - onewire (EXPERIMENTAL!) + Read onewire sensors using the owcapu library of the owfs project. + Please read in collectd.conf(5) why this plugin is experimental. + + - openldap + Read monitoring information from OpenLDAP's cn=Monitor subtree. + + - openvpn + RX and TX of each client in openvpn-status.log (status-version 2). + + + - oracle + Query data from an Oracle database. + + - ovs_events + The plugin monitors the link status of Open vSwitch (OVS) connected + interfaces, dispatches the values to collectd and sends the notification + whenever the link state change occurs in the OVS database. It requires + YAJL library to be installed. + Detailed instructions for installing and setting up Open vSwitch, see + OVS documentation. + + + - ovs_stats + The plugin collects the statistics of OVS connected bridges and + interfaces. It requires YAJL library to be installed. + Detailed instructions for installing and setting up Open vSwitch, see + OVS documentation. + + + - pcie_errors + Read errors from PCI Express Device Status and AER extended capabilities. + + + - perl + The perl plugin implements a Perl-interpreter into collectd. You can + write your own plugins in Perl and return arbitrary values using this + API. See collectd-perl(5). + + - pf + Query statistics from BSD's packet filter "pf". + + - pinba + Receive and dispatch timing values from Pinba, a profiling extension for + PHP. + + - ping + Network latency: Time to reach the default gateway or another given + host. + + - postgresql + PostgreSQL database statistics: active server connections, transaction + numbers, block IO, table row manipulations. + + - powerdns + PowerDNS name server statistics. + + - processes + Process counts: Number of running, sleeping, zombie, ... processes. + + - procevent + Listens for process starts and exits via netlink. + + - protocols + Counts various aspects of network protocols such as IP, TCP, UDP, etc. + + - python + The python plugin implements a Python interpreter into collectd. This + makes it possible to write plugins in Python which are executed by + collectd without the need to start a heavy interpreter every interval. + See collectd-python(5) for details. + + - redis + The redis plugin gathers information from a Redis server, including: + uptime, used memory, total connections etc. + + - routeros + Query interface and wireless registration statistics from RouterOS. + + - rrdcached + RRDtool caching daemon (RRDcacheD) statistics. + + - sensors + System sensors, accessed using lm_sensors: Voltages, temperatures and + fan rotation speeds. + + - serial + RX and TX of serial interfaces. Linux only; needs root privileges. + + - sigrok + Uses libsigrok as a backend, allowing any sigrok-supported device + to have its measurements fed to collectd. This includes multimeters, + sound level meters, thermometers, and much more. + + - slurm + Gathers per-partition node and job state information using libslurm, + as well as internal health statistics. + + - smart + Collect SMART statistics, notably load cycle count, temperature + and bad sectors. + + - snmp + Read values from SNMP (Simple Network Management Protocol) enabled + network devices such as switches, routers, thermometers, rack monitoring + servers, etc. See collectd-snmp(5). + + - statsd + Acts as a StatsD server, reading values sent over the network from StatsD + clients and calculating rates and other aggregates out of these values. + + - sysevent + Listens to rsyslog events and submits matched values. + + - swap + Pages swapped out onto hard disk or whatever is called `swap' by the OS.. + + - table + Parse table-like structured files. + + - tail + Follows (tails) log files, parses them by lines and submits matched + values. + + - tail_csv + Follows (tails) files in CSV format, parses each line and submits + extracted values. + + - tape + Bytes and operations read and written on tape devices. Solaris only. + + - tcpconns + Number of TCP connections to specific local and remote ports. + + - teamspeak2 + TeamSpeak2 server statistics. + + - ted + Plugin to read values from `The Energy Detective' (TED). + + - thermal + Linux ACPI thermal zone information. + + - tokyotyrant + Reads the number of records and file size from a running Tokyo Tyrant + server. + + - turbostat + Reads CPU frequency and C-state residency on modern Intel + turbo-capable processors. + + - ubi + Reads the count of bad physical eraseblocks and the current + maximum erase counter value on UBI volumes. + + - uptime + System uptime statistics. + + - users + Users currently logged in. + + - varnish + Various statistics from Varnish, an HTTP accelerator. + + - virt + CPU, memory, disk and network I/O statistics from virtual machines. + + - vmem + Virtual memory statistics, e.g. the number of page-ins/-outs or the + number of pagefaults. + + - vserver + System resources used by Linux VServers. + See . + + - wireless + Link quality of wireless cards. Linux only. + + - xencpu + XEN Hypervisor CPU stats. + + - xmms + Bitrate and frequency of music played with XMMS. + + - zfs_arc + Statistics for ZFS' “Adaptive Replacement Cache” (ARC). + + - zone + Measures the percentage of cpu load per container (zone) under Solaris 10 + and higher + + - zookeeper + Read data from Zookeeper's MNTR command. + + * Output can be written or sent to various destinations by the following + plugins: + + - amqp + Sends JSON-encoded data to an Advanced Message Queuing Protocol (AMQP) + 0.9.1 server, such as RabbitMQ. + + - amqp1 + Sends JSON-encoded data to an Advanced Message Queuing Protocol (AMQP) + 1.0 server, such as Qpid Dispatch Router or Apache Artemis Broker. + + - csv + Write to comma separated values (CSV) files. This needs lots of + diskspace but is extremely portable and can be analysed with almost + every program that can analyse anything. Even Microsoft's Excel.. + + - grpc + Send and receive values over the network using the gRPC framework. + + - lua + It's possible to implement write plugins in Lua using the Lua + plugin. See collectd-lua(5) for details. + + - mqtt + Publishes and subscribes to MQTT topics. + + - network + Send the data to a remote host to save the data somehow. This is useful + for large setups where the data should be saved by a dedicated machine. + + - perl + Of course the values are propagated to plugins written in Perl, too, so + you can easily do weird stuff with the plugins we didn't dare think of + ;) See collectd-perl(5). + + - python + It's possible to implement write plugins in Python using the python + plugin. See collectd-python(5) for details. + + - rrdcached + Output to round-robin-database (RRD) files using the RRDtool caching + daemon (RRDcacheD) - see rrdcached(1). That daemon provides a general + implementation of the caching done by the `rrdtool' plugin. + + - rrdtool + Output to round-robin-database (RRD) files using librrd. See rrdtool(1). + This is likely the most popular destination for such values. Since + updates to RRD-files are somewhat expensive this plugin can cache + updates to the files and write a bunch of updates at once, which lessens + system load a lot. + + - snmp_agent + Receives and handles queries from SNMP master agent and returns the data + collected by read plugins. Handles requests only for OIDs specified in + configuration file. To handle SNMP queries the plugin gets data from + collectd and translates requested values from collectd's internal format + to SNMP format. + + - unixsock + One can query the values from the unixsock plugin whenever they're + needed. Please read collectd-unixsock(5) for a description on how that's + done. + + - write_graphite + Sends data to Carbon, the storage layer of Graphite using TCP or UDP. It + can be configured to avoid logging send errors (especially useful when + using UDP). + + - write_http + Sends the values collected by collectd to a web-server using HTTP POST + requests. The transmitted data is either in a form understood by the + Exec plugin or formatted in JSON. + + - write_kafka + Sends data to Apache Kafka, a distributed queue. + + - write_log + Writes data to the log + + - write_mongodb + Sends data to MongoDB, a NoSQL database. + + - write_prometheus + Publish values using an embedded HTTP server, in a format compatible + with Prometheus' collectd_exporter. + + - write_redis + Sends the values to a Redis key-value database server. + + - write_riemann + Sends data to Riemann, a stream processing and monitoring system. + + - write_sensu + Sends data to Sensu, a stream processing and monitoring system, via the + Sensu client local TCP socket. + + - write_syslog + Sends data in syslog format, using TCP, where the message + contains the metric in human or JSON format. + + - write_tsdb + Sends data OpenTSDB, a scalable no master, no shared state time series + database. + + * Logging is, as everything in collectd, provided by plugins. The following + plugins keep us informed about what's going on: + + - logfile + Writes log messages to a file or STDOUT/STDERR. + + - perl + Log messages are propagated to plugins written in Perl as well. + See collectd-perl(5). + + - python + It's possible to implement log plugins in Python using the python plugin. + See collectd-python(5) for details. + + - syslog + Logs to the standard UNIX logging mechanism, syslog. + + - log_logstash + Writes log messages formatted as logstash JSON events. + + * Notifications can be handled by the following plugins: + + - notify_desktop + Send a desktop notification to a notification daemon, as defined in + the Desktop Notification Specification. To actually display the + notifications, notification-daemon is required. + See http://www.galago-project.org/specs/notification/. + + - notify_email + Send an E-mail with the notification message to the configured + recipients. + + - notify_nagios + Submit notifications as passive check results to a local nagios instance. + + - exec + Execute a program or script to handle the notification. + See collectd-exec(5). + + - logfile + Writes the notification message to a file or STDOUT/STDERR. + + - network + Send the notification to a remote host to handle it somehow. + + - perl + Notifications are propagated to plugins written in Perl as well. + See collectd-perl(5). + + - python + It's possible to implement notification plugins in Python using the + python plugin. See collectd-python(5) for details. + + * Value processing can be controlled using the "filter chain" infrastructure + and "matches" and "targets". The following plugins are available: + + - match_empty_counter + Match counter values which are currently zero. + + - match_hashed + Match values using a hash function of the hostname. + + - match_regex + Match values by their identifier based on regular expressions. + + - match_timediff + Match values with an invalid timestamp. + + - match_value + Select values by their data sources' values. + + - target_notification + Create and dispatch a notification. + + - target_replace + Replace parts of an identifier using regular expressions. + + - target_scale + Scale (multiply) values by an arbitrary value. + + - target_set + Set (overwrite) entire parts of an identifier. + + * Miscellaneous plugins: + + - aggregation + Selects multiple value lists based on patterns or regular expressions + and creates new aggregated values lists from those. + + - threshold + Checks values against configured thresholds and creates notifications if + values are out of bounds. See collectd-threshold(5) for details. + + - uuid + Sets the hostname to a unique identifier. This is meant for setups + where each client may migrate to another physical host, possibly going + through one or more name changes in the process. + + * Performance: Since collectd is running as a daemon it doesn't spend much + time starting up again and again. With the exception of the exec plugin no + processes are forked. Caching in output plugins, such as the rrdtool and + network plugins, makes sure your resources are used efficiently. Also, + since collectd is programmed multithreaded it benefits from hyper-threading + and multicore processors and makes sure that the daemon isn't idle if only + one plugin waits for an IO-operation to complete. + + * Once set up, hardly any maintenance is necessary. Setup is kept as easy + as possible and the default values should be okay for most users. + + +Operation +--------- + + * collectd's configuration file can be found at `sysconfdir'/collectd.conf. + Run `collectd -h' for a list of built-in defaults. See `collectd.conf(5)' + for a list of options and a syntax description. + + * When the `csv' or `rrdtool' plugins are loaded they'll write the values to + files. The usual place for these files is beneath `/var/lib/collectd'. + + * When using some of the plugins, collectd needs to run as user root, since + only root can do certain things, such as craft ICMP packages needed to ping + other hosts. collectd should NOT be installed setuid root since it can be + used to overwrite valuable files! + + * Sample scripts to generate graphs reside in `contrib/' in the source + package or somewhere near `/usr/share/doc/collectd' in most distributions. + Please be aware that those script are meant as a starting point for your + own experiments.. Some of them require the `RRDs' Perl module. + (`librrds-perl' on Debian) If you have written a more sophisticated + solution please share it with us. + + * The RRAs of the automatically created RRD files depend on the `step' + and `heartbeat' settings given. If change these settings you may need to + re-create the files, losing all data. Please be aware of that when changing + the values and read the rrdtool(1) manpage thoroughly. + + +collectd and chkrootkit +----------------------- + + If you are using the `dns' plugin chkrootkit(1) will report collectd as a + packet sniffer (": PACKET SNIFFER(/usr/sbin/collectd[])"). The + plugin captures all UDP packets on port 53 to analyze the DNS traffic. In + this case, collectd is a legitimate sniffer and the report should be + considered to be a false positive. However, you might want to check that + this really is collectd and not some other, illegitimate sniffer. + + +Prerequisites +------------- + + To compile collectd from source you will need: + + * Usual suspects: C compiler, linker, preprocessor, make, ... + + collectd makes use of some common C99 features, e.g. compound literals and + mixed declarations, and therefore requires a C99 compatible compiler. + + On Debian and Ubuntu, the "build-essential" package should pull in + everything that's necessary. + + * A POSIX-threads (pthread) implementation. + Since gathering some statistics is slow (network connections, slow devices, + etc) collectd is parallelized. The POSIX threads interface is being + used and should be found in various implementations for hopefully all + platforms. + + * When building from the Git repository, flex (tokenizer) and bison (parser + generator) are required. Release tarballs include the generated files – you + don't need these packages in that case. + + * aerotools-ng (optional) + Used by the `aquaero' plugin. Currently, the `libaquaero5' library, which + is used by the `aerotools-ng' toolkit, is not compiled as a shared object + nor does it feature an installation routine. Therefore, you need to point + collectd's configure script at the source directory of the `aerotools-ng' + project. + + + * CoreFoundation.framework and IOKit.framework (optional) + For compiling on Darwin in general and the `apple_sensors' plugin in + particular. + + + * CUDA (optional) + Used by the `gpu_nvidia' plugin + + + * libatasmart (optional) + Used by the `smart' plugin. + + + * libcap (optional) + The `turbostat' plugin can optionally build Linux Capabilities support, + which avoids full privileges requirement (aka. running as root) to read + values. + + + * libclntsh (optional) + Used by the `oracle' plugin. + + * libhiredis (optional) + Used by the redis plugin. Please note that you require a 0.10.0 version + or higher. + + * libcurl (optional) + If you want to use the `apache', `ascent', `bind', `curl', `curl_json', + `curl_xml', `nginx', or `write_http' plugin. + + + * libdbi (optional) + Used by the `dbi' plugin to connect to various databases. + + + * libesmtp (optional) + For the `notify_email' plugin. + + + * libganglia (optional) + Used by the `gmond' plugin to process data received from Ganglia. + + + * libgrpc (optional) + Used by the `grpc' plugin. gRPC requires a C++ compiler supporting the + C++11 standard. + + + * libgcrypt (optional) + Used by the `network' plugin for encryption and authentication. + + + * libgps (optional) + Used by the `gps' plugin. + + + * libi2c-dev (optional) + Used for the plugin `barometer', provides just the i2c-dev.h header file + for user space i2c development. + + * libiptc (optional) + For querying iptables counters. + + + * libjansson (optional) + Parse JSON data. This is used for the `capabilities' and `dpdk_telemetry` plugins. + + + * libjevents (optional) + The jevents library is used by the `intel_pmu' plugin to access the Linux + kernel perf interface. + Note: the library should be build with -fPIC flag to be linked with + intel_pmu shared object correctly. + + + * libjvm (optional) + Library that encapsulates the `Java Virtual Machine' (JVM). This library is + used by the `java' plugin to execute Java bytecode. + See docs/BUILD.java.md for detailed build instructions. + (and others) + + * libldap (optional) + Used by the `openldap' plugin. + + + * liblua (optional) + Used by the `lua' plugin. Currently, Lua 5.1 and later are supported. + + + * libmemcached (optional) + Used by the `memcachec' plugin to connect to a memcache daemon. + + + * libmicrohttpd (optional) + Used by the write_prometheus plugin to run an http daemon. + + + * libmnl (optional) + Used by the `netlink' plugin. + + + * libmodbus (optional) + Used by the `modbus' plugin to communicate with Modbus/TCP devices. The + `modbus' plugin works with version 2.0.3 of the library – due to frequent + API changes other versions may or may not compile cleanly. + + + * libmysqlclient (optional) + Unsurprisingly used by the `mysql' plugin. + + + * libnetapp (optional) + Required for the `netapp' plugin. + This library is part of the “Manage ONTAP SDK” published by NetApp. + + * libnetsnmp (optional) + For the `snmp' and 'snmp_agent' plugins. + + + * libnetsnmpagent (optional) + Required for the 'snmp_agent' plugin. + + + * libnotify (optional) + For the `notify_desktop' plugin. + + + * libopenipmi (optional) + Used by the `ipmi' plugin to prove IPMI devices. + + + * liboping (optional) + Used by the `ping' plugin to send and receive ICMP packets. + + + * libowcapi (optional) + Used by the `onewire' plugin to read values from onewire sensors (or the + owserver(1) daemon). + + + * libpcap (optional) + Used to capture packets by the `dns' plugin. + + + * libperfstat (optional) + Used by various plugins to gather statistics under AIX. + + * libperl (optional) + Obviously used by the `perl' plugin. The library has to be compiled with + ithread support (introduced in Perl 5.6.0). + + + * libpmwapi (optional) + Used by the `dcpmm` plugin. + The library github: https://github.com/intel/intel-pmwatch + Follow the pmwatch build instructions mentioned for dcpmm plugin and + use the install path to resolve the dependency here. + + * libpq (optional) + The PostgreSQL C client library used by the `postgresql' plugin. + + + * libpqos (optional) + The PQoS library for Intel(R) Resource Director Technology used by the + `intel_rdt' plugin. + + + * libprotobuf, protoc 3.0+ (optional) + Used by the `grpc' plugin to generate service stubs and code to handle + network packets of collectd's protobuf-based network protocol. + + + * libprotobuf-c, protoc-c (optional) + Used by the `pinba' plugin to generate a parser for the network packets + sent by the Pinba PHP extension. + + + * libpython (optional) + Used by the `python' plugin. Currently, Python 2.6 and later and Python 3 + are supported. + + + * libqpid-proton (optional) + Used by the `amqp1' plugin for AMQP 1.0 connections, for example to + Qdrouterd. + + + * librabbitmq (optional; also called “rabbitmq-c”) + Used by the `amqp' plugin for AMQP 0.9.1 connections, for example to + RabbitMQ. + + + * librdkafka (optional; also called “rdkafka”) + Used by the `write_kafka' plugin for producing messages and sending them + to a Kafka broker. + + + * librouteros (optional) + Used by the `routeros' plugin to connect to a device running `RouterOS'. + + + * librrd (optional) + Used by the `rrdtool' and `rrdcached' plugins. The latter requires RRDtool + client support which was added after version 1.3 of RRDtool. Versions 1.0, + 1.2 and 1.3 are known to work with the `rrdtool' plugin. + + + * librt, libsocket, libkstat, libdevinfo (optional) + Various standard Solaris libraries which provide system functions. + + + * libsensors (optional) + To read from `lm_sensors', see the `sensors' plugin. + + + * libsigrok (optional) + Used by the `sigrok' plugin. In addition, libsigrok depends on glib, + libzip, and optionally (depending on which drivers are enabled) on + libusb, libftdi and libudev. + + * libslurm (optional) + Used by the `slurm` plugin. + + + * libstatgrab (optional) + Used by various plugins to collect statistics on systems other than Linux + and/or Solaris. + + + * libtokyotyrant (optional) + Used by the `tokyotyrant' plugin. + + + * libupsclient/nut (optional) + For the `nut' plugin which queries nut's `upsd'. + + + * libvirt (optional) + Collect statistics from virtual machines. + + + * libxml2 (optional) + Parse XML data. This is needed for the `ascent', `bind', `curl_xml' and + `virt' plugins. + + + * libxen (optional) + Used by the `xencpu' plugin. + + + * libxmms (optional) + + + * libyajl (optional) + Parse JSON data. This is needed for the `ceph', `curl_json', 'ovs_events', + 'ovs_stats' and `log_logstash' plugins. + + + * libvarnish (optional) + Fetches statistics from a Varnish instance. This is needed for the + `varnish' plugin. + + + * riemann-c-client (optional) + For the `write_riemann' plugin. + + +Configuring / Compiling / Installing +------------------------------------ + + 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-' 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-=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-' 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= to `make install', will be + prefixed to all installation directories. This might be useful when creating + packages for collectd. + +Generating the configure script +------------------------------- + +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: + +- autoconf +- automake +- flex +- bison +- libtool +- pkg-config + +The `build.sh' script takes no arguments. + + +Building on Windows +----------------------------------------------- + +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: +- automake +- bison +- flex +- git +- libtool +- make +- mingw64-x86_64-dlfcn +- mingw64-x86_64-gcc-core +- mingw64-x86_64-zlib +- pkg-config + +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 + +or: + +$ INSTALL_DIR="C:/some/other/install/directory" ./build.sh + + +Crosscompiling +-------------- + + 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) + + +Contact +------- + + Please use GitHub to report bugs and submit pull requests: + . + See CONTRIBUTING.md for details. + + For questions, development information and basically all other concerns please + send an email to collectd's mailing list at + . + + For live discussion and more personal contact visit us in IRC, we're in + channel #collectd on freenode. + + +Author +------ + + Florian octo Forster , + Sebastian tokkee Harl , + and many contributors (see `AUTHORS'). + diff --git a/bindings/java/org/collectd/api/Collectd.java b/bindings/java/org/collectd/api/Collectd.java new file mode 100644 index 0000000..450f87a --- /dev/null +++ b/bindings/java/org/collectd/api/Collectd.java @@ -0,0 +1,307 @@ +/** + * collectd - bindings/java/org/collectd/api/Collectd.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.api; + +/** + * Java API to internal functions of collectd. + * + * All functions in this class are {@code static}. You don't need to create an + * object of this class (in fact, you can't). Just call these functions + * directly. + * + * @author Florian Forster <octo at collectd.org> + */ +public class Collectd +{ + + /** + * Constant for severity (log level) "error". + * + * @see CollectdLogInterface + */ + public static final int LOG_ERR = 3; + + /** + * Constant for severity (log level) "warning". + * + * @see CollectdLogInterface + */ + public static final int LOG_WARNING = 4; + + /** + * Constant for severity (log level) "notice". + * + * @see CollectdLogInterface + */ + public static final int LOG_NOTICE = 5; + + /** + * Constant for severity (log level) "info". + * + * @see CollectdLogInterface + */ + public static final int LOG_INFO = 6; + + /** + * Constant for severity (log level) "debug". + * + * @see CollectdLogInterface + */ + public static final int LOG_DEBUG = 7; + + /** + * Return value of match methods: No match. + * + * This is one of two valid return values from match callbacks, indicating + * that the passed {@link DataSet} and {@link ValueList} did not match. + * + * Do not use the numeric value directly, it is subject to change without + * notice! + * + * @see CollectdMatchInterface + */ + public static final int FC_MATCH_NO_MATCH = 0; + + /** + * Return value of match methods: Match. + * + * This is one of two valid return values from match callbacks, indicating + * that the passed {@link DataSet} and {@link ValueList} did match. + * + * Do not use the numeric value directly, it is subject to change without + * notice! + * + * @see CollectdMatchInterface + */ + public static final int FC_MATCH_MATCHES = 1; + + /** + * Return value of target methods: Continue. + * + * This is one of three valid return values from target callbacks, indicating + * that processing of the {@link ValueList} should continue. + * + * Do not use the numeric value directly, it is subject to change without + * notice! + * + * @see CollectdTargetInterface + */ + public static final int FC_TARGET_CONTINUE = 0; + + /** + * Return value of target methods: Stop. + * + * This is one of three valid return values from target callbacks, indicating + * that processing of the {@link ValueList} should stop immediately. + * + * Do not use the numeric value directly, it is subject to change without + * notice! + * + * @see CollectdTargetInterface + */ + public static final int FC_TARGET_STOP = 1; + + /** + * Return value of target methods: Return. + * + * This is one of three valid return values from target callbacks, indicating + * that processing of the current chain should be stopped and processing of + * the {@link ValueList} should continue in the calling chain. + * + * Do not use the numeric value directly, it is subject to change without + * notice! + * + * @see CollectdTargetInterface + */ + public static final int FC_TARGET_RETURN = 2; + + /** + * Java representation of collectd/src/plugin.h:plugin_register_config + * + * @return Zero when successful, non-zero otherwise. + * @see CollectdConfigInterface + */ + native public static int registerConfig (String name, + CollectdConfigInterface object); + + /** + * Java representation of collectd/src/plugin.h:plugin_register_init + * + * @return Zero when successful, non-zero otherwise. + * @see CollectdInitInterface + */ + native public static int registerInit (String name, + CollectdInitInterface object); + + /** + * Java representation of collectd/src/plugin.h:plugin_register_read + * + * @return Zero when successful, non-zero otherwise. + * @see CollectdReadInterface + */ + native public static int registerRead (String name, + CollectdReadInterface object); + + /** + * Java representation of collectd/src/plugin.h:plugin_register_write + * + * @return Zero when successful, non-zero otherwise. + * @see CollectdWriteInterface + */ + native public static int registerWrite (String name, + CollectdWriteInterface object); + + /** + * Java representation of collectd/src/plugin.h:plugin_register_flush + * + * @return Zero when successful, non-zero otherwise. + * @see CollectdFlushInterface + */ + native public static int registerFlush (String name, + CollectdFlushInterface object); + + /** + * Java representation of collectd/src/plugin.h:plugin_register_shutdown + * + * @return Zero when successful, non-zero otherwise. + * @see CollectdShutdownInterface + */ + native public static int registerShutdown (String name, + CollectdShutdownInterface object); + + /** + * Java representation of collectd/src/plugin.h:plugin_register_log + * + * @return Zero when successful, non-zero otherwise. + * @see CollectdLogInterface + */ + native public static int registerLog (String name, + CollectdLogInterface object); + + /** + * Java representation of collectd/src/plugin.h:plugin_register_notification + * + * @return Zero when successful, non-zero otherwise. + * @see CollectdNotificationInterface + */ + native public static int registerNotification (String name, + CollectdNotificationInterface object); + + /** + * Java representation of collectd/src/filter_chain.h:fc_register_match + * + * @return Zero when successful, non-zero otherwise. + * @see CollectdMatchFactoryInterface + */ + native public static int registerMatch (String name, + CollectdMatchFactoryInterface object); + + /** + * Java representation of collectd/src/filter_chain.h:fc_register_target + * + * @return Zero when successful, non-zero otherwise. + * @see CollectdTargetFactoryInterface + */ + native public static int registerTarget (String name, + CollectdTargetFactoryInterface object); + + /** + * Java representation of collectd/src/plugin.h:plugin_dispatch_values + * + * @return Zero when successful, non-zero otherwise. + */ + native public static int dispatchValues (ValueList vl); + + /** + * Java representation of collectd/src/plugin.h:plugin_dispatch_notification + * + * @return Zero when successful, non-zero otherwise. + */ + native public static int dispatchNotification (Notification n); + + /** + * Java representation of collectd/src/plugin.h:plugin_get_ds + * + * @return The appropriate {@link DataSet} object or {@code null} if no such + * type is registered. + */ + native public static DataSet getDS (String type); + + /** + * Java representation of collectd/src/plugin.h:plugin_log + */ + native private static void log (int severity, String message); + + /** + * Yield contents of collectd/src/collectd.h:hostname_g + * + * @return The hostname as set in the collectd configuration. + */ + native public static java.lang.String getHostname (); + + /** + * Prints an error message. + */ + public static void logError (String message) + { + log (LOG_ERR, message); + } /* void logError */ + + /** + * Prints a warning message. + */ + public static void logWarning (String message) + { + log (LOG_WARNING, message); + } /* void logWarning */ + + /** + * Prints a notice. + */ + public static void logNotice (String message) + { + log (LOG_NOTICE, message); + } /* void logNotice */ + + /** + * Prints an info message. + */ + public static void logInfo (String message) + { + log (LOG_INFO, message); + } /* void logInfo */ + + /** + * Prints a debug message. + */ + public static void logDebug (String message) + { + log (LOG_DEBUG, message); + } /* void logDebug */ +} /* class Collectd */ + +/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/bindings/java/org/collectd/api/CollectdConfigInterface.java b/bindings/java/org/collectd/api/CollectdConfigInterface.java new file mode 100644 index 0000000..4b66097 --- /dev/null +++ b/bindings/java/org/collectd/api/CollectdConfigInterface.java @@ -0,0 +1,38 @@ +/** + * collectd - bindings/java/org/collectd/api/CollectdConfigInterface.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.api; + +/** + * Interface for objects implementing a config method. + * + * @author Florian Forster <octo at collectd.org> + * @see Collectd#registerConfig(String, CollectdConfigInterface) + */ +public interface CollectdConfigInterface +{ + public int config (OConfigItem ci); +} diff --git a/bindings/java/org/collectd/api/CollectdFlushInterface.java b/bindings/java/org/collectd/api/CollectdFlushInterface.java new file mode 100644 index 0000000..ea7bd64 --- /dev/null +++ b/bindings/java/org/collectd/api/CollectdFlushInterface.java @@ -0,0 +1,38 @@ +/** + * collectd - bindings/java/org/collectd/api/CollectdFlushInterface.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.api; + +/** + * Interface for objects implementing a flush method. + * + * @author Florian Forster <octo at collectd.org> + * @see Collectd#registerFlush + */ +public interface CollectdFlushInterface +{ + public int flush (Number timeout, String identifier); +} diff --git a/bindings/java/org/collectd/api/CollectdInitInterface.java b/bindings/java/org/collectd/api/CollectdInitInterface.java new file mode 100644 index 0000000..545f41e --- /dev/null +++ b/bindings/java/org/collectd/api/CollectdInitInterface.java @@ -0,0 +1,38 @@ +/** + * collectd - bindings/java/org/collectd/api/CollectdInitInterface.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.api; + +/** + * Interface for objects implementing an init method. + * + * @author Florian Forster <octo at collectd.org> + * @see Collectd#registerInit + */ +public interface CollectdInitInterface +{ + public int init (); +} diff --git a/bindings/java/org/collectd/api/CollectdLogInterface.java b/bindings/java/org/collectd/api/CollectdLogInterface.java new file mode 100644 index 0000000..a516df5 --- /dev/null +++ b/bindings/java/org/collectd/api/CollectdLogInterface.java @@ -0,0 +1,38 @@ +/** + * collectd - bindings/java/org/collectd/api/CollectdLogInterface.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.api; + +/** + * Interface for objects implementing a log method. + * + * @author Florian Forster <octo at collectd.org> + * @see Collectd#registerLog + */ +public interface CollectdLogInterface +{ + public void log (int severity, String message); +} diff --git a/bindings/java/org/collectd/api/CollectdMatchFactoryInterface.java b/bindings/java/org/collectd/api/CollectdMatchFactoryInterface.java new file mode 100644 index 0000000..b19c779 --- /dev/null +++ b/bindings/java/org/collectd/api/CollectdMatchFactoryInterface.java @@ -0,0 +1,54 @@ +/** + * collectd - bindings/java/org/collectd/api/CollectdMatchFactoryInterface.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.api; + +/** + * Interface for objects implementing a "match factory". + * + * Objects implementing this interface are used to create objects implementing + * the CollectdMatchInterface interface. + * + * @author Florian Forster <octo at collectd.org> + * @see CollectdMatchInterface + * @see Collectd#registerMatch + */ +public interface CollectdMatchFactoryInterface +{ + /** + * Create a new "match" object. + * + * This method uses the configuration provided as argument to create a + * new object which must implement the {@link CollectdMatchInterface} + * interface. + * + * This function corresponds to the create member of the + * src/filter_chain.h:match_proc_t struct. + * + * @return New {@link CollectdMatchInterface} object. + */ + public CollectdMatchInterface createMatch (OConfigItem ci); +} diff --git a/bindings/java/org/collectd/api/CollectdMatchInterface.java b/bindings/java/org/collectd/api/CollectdMatchInterface.java new file mode 100644 index 0000000..20a03d2 --- /dev/null +++ b/bindings/java/org/collectd/api/CollectdMatchInterface.java @@ -0,0 +1,53 @@ +/** + * collectd - bindings/java/org/collectd/api/CollectdMatchInterface.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.api; + +/** + * Interface for objects implementing a match method. + * + * These objects are instantiated using objects which implement the + * CollectdMatchFactoryInterface interface. They are not instantiated by the + * daemon directly! + * + * @author Florian Forster <octo at collectd.org> + * @see CollectdMatchFactoryInterface + * @see Collectd#registerMatch + */ +public interface CollectdMatchInterface +{ + /** + * Callback method for matches. + * + * This method is called to decide whether or not a given ValueList + * matches or not. How this is determined is the is the main part of + * this function. + * + * @return One of {@link Collectd#FC_MATCH_NO_MATCH} and {@link Collectd#FC_MATCH_MATCHES}. + * @see CollectdMatchFactoryInterface + */ + public int match (DataSet ds, ValueList vl); +} /* public interface CollectdMatchInterface */ diff --git a/bindings/java/org/collectd/api/CollectdNotificationInterface.java b/bindings/java/org/collectd/api/CollectdNotificationInterface.java new file mode 100644 index 0000000..ddff6cd --- /dev/null +++ b/bindings/java/org/collectd/api/CollectdNotificationInterface.java @@ -0,0 +1,38 @@ +/** + * collectd - bindings/java/org/collectd/api/CollectdNotificationInterface.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.api; + +/** + * Interface for objects implementing a notification method. + * + * @author Florian Forster <octo at collectd.org> + * @see Collectd#registerNotification + */ +public interface CollectdNotificationInterface +{ + public int notification (Notification n); +} diff --git a/bindings/java/org/collectd/api/CollectdReadInterface.java b/bindings/java/org/collectd/api/CollectdReadInterface.java new file mode 100644 index 0000000..996841a --- /dev/null +++ b/bindings/java/org/collectd/api/CollectdReadInterface.java @@ -0,0 +1,52 @@ +/** + * collectd - bindings/java/org/collectd/api/CollectdReadInterface.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.api; + +/** + * Interface for objects implementing a read method. + * + * Objects implementing this interface can be registered with the daemon. Their + * read method is then called periodically to acquire and submit values. + * + * @author Florian Forster <octo at collectd.org> + * @see Collectd#registerRead + */ +public interface CollectdReadInterface +{ + /** + * Callback method for read plugins. + * + * This method is called once every few seconds (depends on the + * configuration of the daemon). It is supposed to gather values in + * some way and submit them to the daemon using + * {@link Collectd#dispatchValues}. + * + * @return zero when successful, non-zero when an error occurred. + * @see Collectd#dispatchValues + */ + public int read (); +} diff --git a/bindings/java/org/collectd/api/CollectdShutdownInterface.java b/bindings/java/org/collectd/api/CollectdShutdownInterface.java new file mode 100644 index 0000000..e496d3c --- /dev/null +++ b/bindings/java/org/collectd/api/CollectdShutdownInterface.java @@ -0,0 +1,38 @@ +/** + * collectd - bindings/java/org/collectd/api/CollectdShutdownInterface.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.api; + +/** + * Interface for objects implementing a shutdown method. + * + * @author Florian Forster <octo at collectd.org> + * @see Collectd#registerShutdown + */ +public interface CollectdShutdownInterface +{ + public int shutdown (); +} diff --git a/bindings/java/org/collectd/api/CollectdTargetFactoryInterface.java b/bindings/java/org/collectd/api/CollectdTargetFactoryInterface.java new file mode 100644 index 0000000..b4c2321 --- /dev/null +++ b/bindings/java/org/collectd/api/CollectdTargetFactoryInterface.java @@ -0,0 +1,54 @@ +/** + * collectd - bindings/java/org/collectd/api/CollectdTargetFactoryInterface.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.api; + +/** + * Interface for objects implementing a "target factory". + * + * Objects implementing this interface are used to create objects implementing + * the CollectdTargetInterface interface. + * + * @author Florian Forster <octo at collectd.org> + * @see CollectdTargetInterface + * @see Collectd#registerTarget + */ +public interface CollectdTargetFactoryInterface +{ + /** + * Create a new "target" object. + * + * This method uses the configuration provided as argument to create a + * new object which must implement the {@link CollectdTargetInterface} + * interface. + * + * This function corresponds to the {@code create} member of the + * {@code src/filter_chain.h:target_proc_t} struct. + * + * @return New {@link CollectdTargetInterface} object. + */ + public CollectdTargetInterface createTarget (OConfigItem ci); +} diff --git a/bindings/java/org/collectd/api/CollectdTargetInterface.java b/bindings/java/org/collectd/api/CollectdTargetInterface.java new file mode 100644 index 0000000..1f5ece1 --- /dev/null +++ b/bindings/java/org/collectd/api/CollectdTargetInterface.java @@ -0,0 +1,53 @@ +/** + * collectd - bindings/java/org/collectd/api/CollectdTargetInterface.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.api; + +/** + * Interface for objects implementing a target method. + * + * These objects are instantiated using objects which implement the + * CollectdTargetFactoryInterface interface. They are not instantiated by the + * daemon directly! + * + * @author Florian Forster <octo at collectd.org> + * @see CollectdTargetFactoryInterface + * @see Collectd#registerTarget + */ +public interface CollectdTargetInterface +{ + /** + * Callback method for targets. + * + * This method is called to perform some action on the given ValueList. + * What precisely is done depends entirely on the implementing class. + * + * @return One of: {@link Collectd#FC_TARGET_CONTINUE}, + * {@link Collectd#FC_TARGET_STOP}, {@link Collectd#FC_TARGET_RETURN} + * @see CollectdTargetFactoryInterface + */ + public int invoke (DataSet ds, ValueList vl); +} /* public interface CollectdTargetInterface */ diff --git a/bindings/java/org/collectd/api/CollectdWriteInterface.java b/bindings/java/org/collectd/api/CollectdWriteInterface.java new file mode 100644 index 0000000..f95169a --- /dev/null +++ b/bindings/java/org/collectd/api/CollectdWriteInterface.java @@ -0,0 +1,38 @@ +/** + * collectd - bindings/java/org/collectd/api/CollectdWriteInterface.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.api; + +/** + * Interface for objects implementing a write method. + * + * @author Florian Forster <octo at collectd.org> + * @see Collectd#registerWrite + */ +public interface CollectdWriteInterface +{ + public int write (ValueList vl); +} diff --git a/bindings/java/org/collectd/api/DataSet.java b/bindings/java/org/collectd/api/DataSet.java new file mode 100644 index 0000000..3cba5eb --- /dev/null +++ b/bindings/java/org/collectd/api/DataSet.java @@ -0,0 +1,142 @@ +/** + * collectd - bindings/java/org/collectd/api/DataSet.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.api; + +import java.util.List; +import java.util.ArrayList; + +/** + * Java representation of collectd/src/plugin.h:data_set_t structure. + * + * @author Florian Forster <octo at collectd.org> + */ +public class DataSet +{ + private String _type; + private List _ds; + + private DataSet () + { + this._type = null; + this._ds = new ArrayList (); + } + + public DataSet (String type) + { + this._type = type; + this._ds = new ArrayList (); + } + + public DataSet (String type, DataSource dsrc) + { + this._type = type; + this._ds = new ArrayList (); + this._ds.add (dsrc); + } + + public DataSet (String type, List ds) + { + this._type = type; + this._ds = ds; + } + + public void setType (String type) + { + this._type = type; + } + + public String getType () + { + return (this._type); + } + + public void addDataSource (DataSource dsrc) + { + this._ds.add (dsrc); + } + + public List getDataSources () + { + return (this._ds); + } + + public String toString () + { + StringBuffer sb = new StringBuffer (); + int i; + + sb.append (this._type); + for (i = 0; i < this._ds.size (); i++) + { + if (i == 0) + sb.append ("\t"); + else + sb.append (", "); + sb.append (this._ds.get (i).toString ()); + } + + return (sb.toString ()); + } + + static public DataSet parseDataSet (String str) + { + DataSet ds = new DataSet (); + String[] fields; + int i; + + str = str.trim(); + if (str.length() == 0) { + return (null); + } + if (str.charAt(0) == '#') { + return (null); + } + + fields = str.split ("\\s+"); + if (fields.length < 2) + return (null); + + ds._type = fields[0]; + + for (i = 1; i < fields.length; i++) { + DataSource dsrc; + + dsrc = DataSource.parseDataSource (fields[i]); + if (dsrc == null) + break; + + ds._ds.add (dsrc); + } + + if (i < fields.length) + return (null); + + return (ds); + } /* DataSet parseDataSet */ +} /* class DataSet */ + +/* vim: set sw=4 sts=4 et : */ diff --git a/bindings/java/org/collectd/api/DataSource.java b/bindings/java/org/collectd/api/DataSource.java new file mode 100644 index 0000000..ba132d3 --- /dev/null +++ b/bindings/java/org/collectd/api/DataSource.java @@ -0,0 +1,153 @@ +/* + * jcollectd + * Copyright (C) 2009 Hyperic, Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; only version 2 of the License is applicable. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +package org.collectd.api; + +/** + * Java representation of collectd/src/plugin.h:data_source_t structure. + */ +public class DataSource { + public static final int TYPE_COUNTER = 0; + public static final int TYPE_GAUGE = 1; + public static final int TYPE_DERIVE = 2; + public static final int TYPE_ABSOLUTE = 3; + + static final String COUNTER = "COUNTER"; + static final String GAUGE = "GAUGE"; + static final String DERIVE = "DERIVE"; + static final String ABSOLUTE = "ABSOLUTE"; + + static final String NAN = "U"; + private static final String[] TYPES = { COUNTER, GAUGE, DERIVE, ABSOLUTE }; + + String _name; + int _type; + double _min; + double _max; + + public DataSource (String name, int type, double min, double max) { + this._name = name; + this._type = TYPE_GAUGE; + if (type == TYPE_COUNTER) + this._type = TYPE_COUNTER; + else if (type == TYPE_DERIVE) + this._type = TYPE_DERIVE; + else if (type == TYPE_ABSOLUTE) + this._type = TYPE_ABSOLUTE; + this._min = min; + this._max = max; + } + + /* Needed in parseDataSource below. Other code should use the above + * constructor or `parseDataSource'. */ + private DataSource () { + this._type = TYPE_GAUGE; + } + + public String getName() { + return _name; + } + + public void setName(String name) { + _name = name; + } + + public int getType() { + return _type; + } + + public void setType(int type) { + _type = type; + } + + public double getMin() { + return _min; + } + + public void setMin(double min) { + _min = min; + } + + public double getMax() { + return _max; + } + + public void setMax(double max) { + _max = max; + } + + static double toDouble(String val) { + if (val.equals(NAN)) { + return Double.NaN; + } + else { + return Double.parseDouble(val); + } + } + + private String asString(double val) { + if (Double.isNaN(val)) { + return NAN; + } + else { + return String.valueOf(val); + } + } + + public String toString() { + StringBuffer sb = new StringBuffer(); + final char DLM = ':'; + sb.append(_name).append(DLM); + sb.append(TYPES[_type]).append(DLM); + sb.append(asString(_min)).append(DLM); + sb.append(asString(_max)); + return sb.toString(); + } + + static public DataSource parseDataSource (String str) + { + String[] fields; + int str_len = str.length (); + DataSource dsrc = new DataSource (); + + /* Ignore trailing commas. This makes it easier for parsing code. */ + if (str.charAt (str_len - 1) == ',') { + str = str.substring (0, str_len - 1); + } + + fields = str.split(":"); + if (fields.length != 4) + return (null); + + dsrc._name = fields[0]; + + if (fields[1].equals (DataSource.GAUGE)) { + dsrc._type = TYPE_GAUGE; + } + else { + dsrc._type = TYPE_COUNTER; + } + + dsrc._min = toDouble (fields[2]); + dsrc._max = toDouble (fields[3]); + + return (dsrc); + } /* DataSource parseDataSource */ +} + +/* vim: set sw=4 sts=4 et : */ diff --git a/bindings/java/org/collectd/api/Notification.java b/bindings/java/org/collectd/api/Notification.java new file mode 100644 index 0000000..cfc2186 --- /dev/null +++ b/bindings/java/org/collectd/api/Notification.java @@ -0,0 +1,88 @@ +/* + * jcollectd + * Copyright (C) 2009 Hyperic, Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; only version 2 of the License is applicable. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +package org.collectd.api; + +/** + * Java representation of collectd/src/plugin.h:notfication_t structure. + */ +public class Notification extends PluginData { + public static final int FAILURE = 1; + public static final int WARNING = 2; + public static final int OKAY = 4; + + public static String[] SEVERITY = { + "FAILURE", + "WARNING", + "OKAY", + "UNKNOWN" + }; + + private int _severity; + private String _message; + + public Notification () { + _severity = 0; + _message = "Initial notification message"; + } + + public Notification (PluginData pd) { + super (pd); + _severity = 0; + _message = "Initial notification message"; + } + + public void setSeverity (int severity) { + if ((severity == FAILURE) + || (severity == WARNING) + || (severity == OKAY)) + this._severity = severity; + } + + public int getSeverity() { + return _severity; + } + + public String getSeverityString() { + switch (_severity) { + case FAILURE: + return SEVERITY[0]; + case WARNING: + return SEVERITY[1]; + case OKAY: + return SEVERITY[2]; + default: + return SEVERITY[3]; + } + } + + public void setMessage (String message) { + this._message = message; + } + + public String getMessage() { + return _message; + } + + public String toString() { + StringBuffer sb = new StringBuffer(super.toString()); + sb.append(" [").append(getSeverityString()).append("] "); + sb.append(_message); + return sb.toString(); + } +} diff --git a/bindings/java/org/collectd/api/OConfigItem.java b/bindings/java/org/collectd/api/OConfigItem.java new file mode 100644 index 0000000..08d8b70 --- /dev/null +++ b/bindings/java/org/collectd/api/OConfigItem.java @@ -0,0 +1,96 @@ +/** + * collectd - bindings/java/org/collectd/api/OConfigItem.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.api; + +import java.util.List; +import java.util.ArrayList; + +/** + * Java representation of collectd/src/liboconfig/oconfig.h:oconfig_item_t structure. + * + * @author Florian Forster <octo at collectd.org> + */ +public class OConfigItem +{ + private String _key = null; + private List _values = new ArrayList (); + private List _children = new ArrayList (); + + public OConfigItem (String key) + { + _key = key; + } /* OConfigItem (String key) */ + + public String getKey () + { + return (_key); + } /* String getKey () */ + + public void addValue (OConfigValue cv) + { + _values.add (cv); + } /* void addValue (OConfigValue cv) */ + + public void addValue (String s) + { + _values.add (new OConfigValue (s)); + } /* void addValue (String s) */ + + public void addValue (Number n) + { + _values.add (new OConfigValue (n)); + } /* void addValue (String s) */ + + public void addValue (boolean b) + { + _values.add (new OConfigValue (b)); + } /* void addValue (String s) */ + + public List getValues () + { + return (_values); + } /* List getValues () */ + + public void addChild (OConfigItem ci) + { + _children.add (ci); + } /* void addChild (OConfigItem ci) */ + + public List getChildren () + { + return (_children); + } /* List getChildren () */ + + public String toString () + { + return (new String ("{ key: " + _key + "; " + + "values: " + _values.toString () + "; " + + "children: " + _children.toString () + "; }")); + } /* String toString () */ +} /* class OConfigItem */ + +/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/bindings/java/org/collectd/api/OConfigValue.java b/bindings/java/org/collectd/api/OConfigValue.java new file mode 100644 index 0000000..0a33773 --- /dev/null +++ b/bindings/java/org/collectd/api/OConfigValue.java @@ -0,0 +1,101 @@ +/** + * collectd - bindings/java/org/collectd/api/OConfigValue.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.api; + +/** + * Java representation of collectd/src/liboconfig/oconfig.h:oconfig_value_t structure. + * + * @author Florian Forster <octo at collectd.org> + */ +public class OConfigValue +{ + public static final int OCONFIG_TYPE_STRING = 0; + public static final int OCONFIG_TYPE_NUMBER = 1; + public static final int OCONFIG_TYPE_BOOLEAN = 2; + + private int _type; + private String _value_string; + private Number _value_number; + private boolean _value_boolean; + + public OConfigValue (String s) + { + _type = OCONFIG_TYPE_STRING; + _value_string = s; + _value_number = null; + _value_boolean = false; + } /* OConfigValue (String s) */ + + public OConfigValue (Number n) + { + _type = OCONFIG_TYPE_NUMBER; + _value_string = null; + _value_number = n; + _value_boolean = false; + } /* OConfigValue (String s) */ + + public OConfigValue (boolean b) + { + _type = OCONFIG_TYPE_BOOLEAN; + _value_string = null; + _value_number = null; + _value_boolean = b; + } /* OConfigValue (String s) */ + + public int getType () + { + return (_type); + } /* int getType */ + + public String getString () + { + return (_value_string); + } /* String getString */ + + public Number getNumber () + { + return (_value_number); + } /* String getString */ + + public boolean getBoolean () + { + return (_value_boolean); + } /* String getString */ + + public String toString () + { + if (_type == OCONFIG_TYPE_STRING) + return (_value_string); + else if (_type == OCONFIG_TYPE_NUMBER) + return (_value_number.toString ()); + else if (_type == OCONFIG_TYPE_BOOLEAN) + return (Boolean.toString (_value_boolean)); + return (null); + } /* String toString () */ +} /* class OConfigValue */ + +/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/bindings/java/org/collectd/api/PluginData.java b/bindings/java/org/collectd/api/PluginData.java new file mode 100644 index 0000000..26b0206 --- /dev/null +++ b/bindings/java/org/collectd/api/PluginData.java @@ -0,0 +1,127 @@ +/* + * jcollectd + * Copyright (C) 2009 Hyperic, Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; only version 2 of the License is applicable. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +package org.collectd.api; + +import java.util.Date; + +/** + * Shared members of value_list_t and notification_t structures. + */ +public class PluginData { + + protected long _time = 0; + protected String _host; + protected String _plugin; + protected String _pluginInstance = ""; + protected String _type = ""; + protected String _typeInstance = ""; + + public PluginData() { + + } + + public PluginData(PluginData pd) { + _time = pd._time; + _host = pd._host; + _plugin = pd._plugin; + _pluginInstance = pd._pluginInstance; + _type = pd._type; + _typeInstance = pd._typeInstance; + } + + public long getTime() { + return _time; + } + + public void setTime(long time) { + _time = time; + } + + public String getHost() { + return _host; + } + + public void setHost(String host) { + _host = host; + } + + public String getPlugin() { + return _plugin; + } + + public void setPlugin(String plugin) { + _plugin = plugin; + } + + public String getPluginInstance() { + return _pluginInstance; + } + + public void setPluginInstance(String pluginInstance) { + _pluginInstance = pluginInstance; + } + + public String getType() { + return _type; + } + + public void setType(String type) { + _type = type; + } + + public String getTypeInstance() { + return _typeInstance; + } + + public void setTypeInstance(String typeInstance) { + _typeInstance = typeInstance; + } + + public boolean defined(String val) { + return (val != null) && (val.length() > 0); + } + + public String getSource() { + final char DLM = '/'; + StringBuffer sb = new StringBuffer(); + if (defined(_host)) { + sb.append(_host); + } + if (defined(_plugin)) { + sb.append(DLM).append(_plugin); + } + if (defined(_pluginInstance)) { + sb.append(DLM).append(_pluginInstance); + } + if (defined(_type)) { + sb.append(DLM).append(_type); + } + if (defined(_typeInstance)) { + sb.append(DLM).append(_typeInstance); + } + return sb.toString(); + } + + public String toString() { + StringBuffer sb = new StringBuffer(); + sb.append('[').append(new Date(_time)).append("] "); + sb.append(getSource()); + return sb.toString(); + } +} diff --git a/bindings/java/org/collectd/api/ValueList.java b/bindings/java/org/collectd/api/ValueList.java new file mode 100644 index 0000000..b8d6f40 --- /dev/null +++ b/bindings/java/org/collectd/api/ValueList.java @@ -0,0 +1,128 @@ +/* + * jcollectd + * Copyright (C) 2009 Hyperic, Inc. + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License as published by the + * Free Software Foundation; only version 2 of the License is applicable. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + */ + +package org.collectd.api; + +import java.util.ArrayList; +import java.util.List; + +/** + * Java representation of collectd/src/plugin.h:value_list_t structure. + */ +public class ValueList extends PluginData { + + private List _values = new ArrayList(); + private DataSet _ds; + + private long _interval = 0; + + public ValueList() { + + } + + public ValueList(PluginData pd) { + super(pd); + } + + public ValueList(ValueList vl) { + this((PluginData)vl); + _interval = vl._interval; + _values.addAll(vl.getValues()); + _ds = vl._ds; + } + + public List getValues() { + return _values; + } + + public void setValues(List values) { + _values = values; + } + + public void addValue(Number value) { + _values.add(value); + } + + /* Used by the network parsing code */ + public void clearValues () { + _values.clear (); + } + + /** + * @deprecated Use {@link #getDataSet()} instead. + */ + public List getDataSource() { + if (_ds == null) + return null; + return _ds.getDataSources (); + } + + public DataSet getDataSet () { + return _ds; + } + + public void setDataSet (DataSet ds) { + _ds = ds; + } + + /** + * @deprecated Use {@link #setDataSet(DataSet)} instead. + */ + public void setDataSource(List dsrc) { + _ds = new DataSet (_type, dsrc); + } + + /** + * Returns the interval (in milliseconds) of the value list. + */ + public long getInterval() { + return _interval; + } + + /** + * Sets the interval (in milliseconds) of the value list. + */ + public void setInterval(long interval) { + _interval = interval; + } + + public String toString() { + StringBuffer sb = new StringBuffer(super.toString()); + sb.append("=["); + List ds = getDataSource(); + int size = _values.size(); + for (int i=0; i + */ + +package org.collectd.java; + +import java.util.List; +import java.util.ArrayList; +import java.util.Map; +import java.util.TreeMap; + +import org.collectd.api.Collectd; +import org.collectd.api.CollectdConfigInterface; +import org.collectd.api.CollectdInitInterface; +import org.collectd.api.CollectdReadInterface; +import org.collectd.api.CollectdShutdownInterface; +import org.collectd.api.OConfigValue; +import org.collectd.api.OConfigItem; + +public class GenericJMX implements CollectdConfigInterface, + CollectdReadInterface, + CollectdShutdownInterface +{ + static private Map _mbeans + = new TreeMap (); + + private List _connections = null; + + public GenericJMX () + { + Collectd.registerConfig ("GenericJMX", this); + Collectd.registerRead ("GenericJMX", this); + Collectd.registerShutdown ("GenericJMX", this); + + this._connections = new ArrayList (); + } + + public int config (OConfigItem ci) /* {{{ */ + { + List children; + int i; + + Collectd.logDebug ("GenericJMX plugin: config: ci = " + ci + ";"); + + children = ci.getChildren (); + for (i = 0; i < children.size (); i++) + { + OConfigItem child; + String key; + + child = children.get (i); + key = child.getKey (); + if (key.equalsIgnoreCase ("MBean")) + { + try + { + GenericJMXConfMBean mbean = new GenericJMXConfMBean (child); + putMBean (mbean); + } + catch (IllegalArgumentException e) + { + Collectd.logError ("GenericJMX plugin: " + + "Evaluating `MBean' block failed: " + e); + } + } + else if (key.equalsIgnoreCase ("Connection")) + { + try + { + GenericJMXConfConnection conn = new GenericJMXConfConnection (child); + this._connections.add (conn); + } + catch (IllegalArgumentException e) + { + Collectd.logError ("GenericJMX plugin: " + + "Evaluating `Connection' block failed: " + e); + } + } + else + { + Collectd.logError ("GenericJMX plugin: Unknown config option: " + key); + } + } /* for (i = 0; i < children.size (); i++) */ + + return (0); + } /* }}} int config */ + + public int read () /* {{{ */ + { + for (int i = 0; i < this._connections.size (); i++) + { + try + { + this._connections.get (i).query (); + } + catch (Exception e) + { + Collectd.logError ("GenericJMX: Caught unexpected exception: " + e); + e.printStackTrace (); + } + } + + return (0); + } /* }}} int read */ + + public int shutdown () /* {{{ */ + { + System.out.print ("org.collectd.java.GenericJMX.Shutdown ();\n"); + this._connections = null; + return (0); + } /* }}} int shutdown */ + + /* + * static functions + */ + static public GenericJMXConfMBean getMBean (String alias) + { + return (_mbeans.get (alias)); + } + + static private void putMBean (GenericJMXConfMBean mbean) + { + Collectd.logDebug ("GenericJMX.putMBean: Adding " + mbean.getName ()); + _mbeans.put (mbean.getName (), mbean); + } +} /* class GenericJMX */ + +/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/bindings/java/org/collectd/java/GenericJMXConfConnection.java b/bindings/java/org/collectd/java/GenericJMXConfConnection.java new file mode 100644 index 0000000..887c289 --- /dev/null +++ b/bindings/java/org/collectd/java/GenericJMXConfConnection.java @@ -0,0 +1,275 @@ +/** + * collectd - bindings/java/org/collectd/java/GenericJMXConfConnection.java + * Copyright (C) 2009-2012 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.java; + +import java.util.List; +import java.util.Map; +import java.util.Iterator; +import java.util.ArrayList; +import java.util.HashMap; +import java.net.InetAddress; +import java.net.UnknownHostException; + +import javax.management.MBeanServerConnection; + +import javax.management.remote.JMXServiceURL; +import javax.management.remote.JMXConnector; +import javax.management.remote.JMXConnectorFactory; + +import org.collectd.api.Collectd; +import org.collectd.api.PluginData; +import org.collectd.api.OConfigValue; +import org.collectd.api.OConfigItem; + +class GenericJMXConfConnection +{ + private String _username = null; + private String _password = null; + private String _host = null; + private String _instance_prefix = null; + private String _service_url = null; + private JMXConnector _jmx_connector = null; + private MBeanServerConnection _mbean_connection = null; + private List _mbeans = null; + + /* + * private methods + */ + private String getConfigString (OConfigItem ci) /* {{{ */ + { + List values; + OConfigValue v; + + values = ci.getValues (); + if (values.size () != 1) + { + Collectd.logError ("GenericJMXConfConnection: The " + ci.getKey () + + " configuration option needs exactly one string argument."); + return (null); + } + + v = values.get (0); + if (v.getType () != OConfigValue.OCONFIG_TYPE_STRING) + { + Collectd.logError ("GenericJMXConfConnection: The " + ci.getKey () + + " configuration option needs exactly one string argument."); + return (null); + } + + return (v.getString ()); + } /* }}} String getConfigString */ + + private String getHost () /* {{{ */ + { + if (this._host != null) + { + return (this._host); + } + + return Collectd.getHostname(); + } /* }}} String getHost */ + + private void connect () /* {{{ */ + { + JMXServiceURL service_url; + Map environment; + + // already connected + if (this._jmx_connector != null) { + return; + } + + environment = null; + if (this._password != null) + { + String[] credentials; + + if (this._username == null) + this._username = new String ("monitorRole"); + + credentials = new String[] { this._username, this._password }; + + environment = new HashMap (); + environment.put (JMXConnector.CREDENTIALS, credentials); + environment.put (JMXConnectorFactory.PROTOCOL_PROVIDER_CLASS_LOADER, this.getClass().getClassLoader()); + } + + try + { + service_url = new JMXServiceURL (this._service_url); + this._jmx_connector = JMXConnectorFactory.connect (service_url, environment); + this._mbean_connection = _jmx_connector.getMBeanServerConnection (); + } + catch (Exception e) + { + Collectd.logError ("GenericJMXConfConnection: " + + "Creating MBean server connection failed: " + e); + disconnect (); + return; + } + } /* }}} void connect */ + + private void disconnect () /* {{{ */ + { + try + { + if (this._jmx_connector != null) { + this._jmx_connector.close(); + } + } + catch (Exception e) + { + // It's fine if close throws an exception + } + + this._jmx_connector = null; + this._mbean_connection = null; + } /* }}} void disconnect */ + + /* + * public methods + * + * + * Host "tomcat0.mycompany" + * ServiceURL "service:jmx:rmi:///jndi/rmi://localhost:17264/jmxrmi" + * Collect "java.lang:type=GarbageCollector,name=Copy" + * Collect "java.lang:type=Memory" + * + * + */ + public GenericJMXConfConnection (OConfigItem ci) /* {{{ */ + throws IllegalArgumentException + { + List children; + Iterator iter; + + this._mbeans = new ArrayList (); + + children = ci.getChildren (); + iter = children.iterator (); + while (iter.hasNext ()) + { + OConfigItem child = iter.next (); + + if (child.getKey ().equalsIgnoreCase ("Host")) + { + String tmp = getConfigString (child); + if (tmp != null) + this._host = tmp; + } + else if (child.getKey ().equalsIgnoreCase ("User")) + { + String tmp = getConfigString (child); + if (tmp != null) + this._username = tmp; + } + else if (child.getKey ().equalsIgnoreCase ("Password")) + { + String tmp = getConfigString (child); + if (tmp != null) + this._password = tmp; + } + else if (child.getKey ().equalsIgnoreCase ("ServiceURL")) + { + String tmp = getConfigString (child); + if (tmp != null) + this._service_url = tmp; + } + else if (child.getKey ().equalsIgnoreCase ("InstancePrefix")) + { + String tmp = getConfigString (child); + if (tmp != null) + this._instance_prefix = tmp; + } + else if (child.getKey ().equalsIgnoreCase ("Collect")) + { + String tmp = getConfigString (child); + if (tmp != null) + { + GenericJMXConfMBean mbean; + + mbean = GenericJMX.getMBean (tmp); + if (mbean == null) + throw (new IllegalArgumentException ("No such MBean defined: " + + tmp + ". Please make sure all `MBean' blocks appear " + + "before (above) all `Connection' blocks.")); + Collectd.logDebug ("GenericJMXConfConnection: " + this._host + ": Add " + tmp); + this._mbeans.add (mbean); + } + } + else + throw (new IllegalArgumentException ("Unknown option: " + + child.getKey ())); + } + + if (this._service_url == null) + throw (new IllegalArgumentException ("No service URL was defined.")); + if (this._mbeans.size () == 0) + throw (new IllegalArgumentException ("No valid collect statement " + + "present.")); + } /* }}} GenericJMXConfConnection (OConfigItem ci) */ + + public void query () /* {{{ */ + { + PluginData pd; + + // try to connect + connect (); + + if (this._mbean_connection == null) + return; + + Collectd.logDebug ("GenericJMXConfConnection.query: " + + "Reading " + this._mbeans.size () + " mbeans from " + + ((this._host != null) ? this._host : "(null)")); + + pd = new PluginData (); + pd.setHost (this.getHost ()); + pd.setPlugin ("GenericJMX"); + + for (int i = 0; i < this._mbeans.size (); i++) + { + int status; + + status = this._mbeans.get (i).query (this._mbean_connection, pd, + this._instance_prefix); + if (status != 0) + { + disconnect (); + return; + } + } /* for */ + } /* }}} void query */ + + public String toString () + { + return (new String ("host = " + this._host + "; " + + "url = " + this._service_url)); + } +} + +/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/bindings/java/org/collectd/java/GenericJMXConfMBean.java b/bindings/java/org/collectd/java/GenericJMXConfMBean.java new file mode 100644 index 0000000..64a53ac --- /dev/null +++ b/bindings/java/org/collectd/java/GenericJMXConfMBean.java @@ -0,0 +1,243 @@ +/** + * collectd - bindings/java/org/collectd/java/GenericJMXConfMBean.java + * Copyright (C) 2009,2010 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.java; + +import java.util.Iterator; +import java.util.List; +import java.util.Set; +import java.util.ArrayList; + +import javax.management.MBeanServerConnection; +import javax.management.ObjectName; +import javax.management.MalformedObjectNameException; + +import org.collectd.api.Collectd; +import org.collectd.api.PluginData; +import org.collectd.api.OConfigValue; +import org.collectd.api.OConfigItem; + +class GenericJMXConfMBean +{ + private String _name; /* name by which this mapping is referenced */ + private ObjectName _obj_name; + private String _instance_prefix; + private List _instance_from; + private List _values; + + private String getConfigString (OConfigItem ci) /* {{{ */ + { + List values; + OConfigValue v; + + values = ci.getValues (); + if (values.size () != 1) + { + Collectd.logError ("GenericJMXConfMBean: The " + ci.getKey () + + " configuration option needs exactly one string argument."); + return (null); + } + + v = values.get (0); + if (v.getType () != OConfigValue.OCONFIG_TYPE_STRING) + { + Collectd.logError ("GenericJMXConfMBean: The " + ci.getKey () + + " configuration option needs exactly one string argument."); + return (null); + } + + return (v.getString ()); + } /* }}} String getConfigString */ + +/* + * + * ObjectName "object name" + * InstancePrefix "foobar" + * InstanceFrom "name" + * + * + * : + * + */ + public GenericJMXConfMBean (OConfigItem ci) /* {{{ */ + throws IllegalArgumentException + { + List children; + Iterator iter; + + this._name = getConfigString (ci); + if (this._name == null) + throw (new IllegalArgumentException ("No alias name was defined. " + + "MBean blocks need exactly one string argument.")); + + this._obj_name = null; + this._instance_prefix = null; + this._instance_from = new ArrayList (); + this._values = new ArrayList (); + + children = ci.getChildren (); + iter = children.iterator (); + while (iter.hasNext ()) + { + OConfigItem child = iter.next (); + + Collectd.logDebug ("GenericJMXConfMBean: child.getKey () = " + + child.getKey ()); + if (child.getKey ().equalsIgnoreCase ("ObjectName")) + { + String tmp = getConfigString (child); + if (tmp == null) + continue; + + try + { + this._obj_name = new ObjectName (tmp); + } + catch (MalformedObjectNameException e) + { + throw (new IllegalArgumentException ("Not a valid object name: " + + tmp, e)); + } + } + else if (child.getKey ().equalsIgnoreCase ("InstancePrefix")) + { + String tmp = getConfigString (child); + if (tmp != null) + this._instance_prefix = tmp; + } + else if (child.getKey ().equalsIgnoreCase ("InstanceFrom")) + { + String tmp = getConfigString (child); + if (tmp != null) + this._instance_from.add (tmp); + } + else if (child.getKey ().equalsIgnoreCase ("Value")) + { + GenericJMXConfValue cv; + + cv = new GenericJMXConfValue (child); + this._values.add (cv); + } + else + throw (new IllegalArgumentException ("Unknown option: " + + child.getKey ())); + } + + if (this._obj_name == null) + throw (new IllegalArgumentException ("No object name was defined.")); + + if (this._values.size () == 0) + throw (new IllegalArgumentException ("No value block was defined.")); + + } /* }}} GenericJMXConfMBean (OConfigItem ci) */ + + public String getName () /* {{{ */ + { + return (this._name); + } /* }}} */ + + public int query (MBeanServerConnection conn, PluginData pd, /* {{{ */ + String instance_prefix) + { + Set names; + Iterator iter; + + try + { + names = conn.queryNames (this._obj_name, /* query = */ null); + } + catch (Exception e) + { + Collectd.logError ("GenericJMXConfMBean: queryNames failed: " + e); + return (-1); + } + + if (names.size () == 0) + { + Collectd.logWarning ("GenericJMXConfMBean: No MBean matched " + + "the ObjectName " + this._obj_name); + } + + iter = names.iterator (); + while (iter.hasNext ()) + { + ObjectName objName; + PluginData pd_tmp; + List instanceList; + StringBuffer instance; + + objName = iter.next (); + pd_tmp = new PluginData (pd); + instanceList = new ArrayList (); + instance = new StringBuffer (); + + Collectd.logDebug ("GenericJMXConfMBean: objName = " + + objName.toString ()); + + for (int i = 0; i < this._instance_from.size (); i++) + { + String propertyName; + String propertyValue; + + propertyName = this._instance_from.get (i); + propertyValue = objName.getKeyProperty (propertyName); + if (propertyValue == null) + { + Collectd.logError ("GenericJMXConfMBean: " + + "No such property in object name: " + propertyName); + } + else + { + instanceList.add (propertyValue); + } + } + + if (instance_prefix != null) + instance.append (instance_prefix); + + if (this._instance_prefix != null) + instance.append (this._instance_prefix); + + for (int i = 0; i < instanceList.size (); i++) + { + if (i > 0) + instance.append ("-"); + instance.append (instanceList.get (i)); + } + + pd_tmp.setPluginInstance (instance.toString ()); + + Collectd.logDebug ("GenericJMXConfMBean: instance = " + instance.toString ()); + + for (int i = 0; i < this._values.size (); i++) + this._values.get (i).query (conn, objName, pd_tmp); + } + + return (0); + } /* }}} void query */ +} + +/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/bindings/java/org/collectd/java/GenericJMXConfValue.java b/bindings/java/org/collectd/java/GenericJMXConfValue.java new file mode 100644 index 0000000..2827daa --- /dev/null +++ b/bindings/java/org/collectd/java/GenericJMXConfValue.java @@ -0,0 +1,598 @@ +/** + * collectd - bindings/java/org/collectd/java/GenericJMXConfValue.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.java; + +import java.util.Arrays; +import java.util.List; +import java.util.Collection; +import java.util.Set; +import java.util.concurrent.atomic.AtomicInteger; +import java.util.concurrent.atomic.AtomicLong; +import java.util.Iterator; +import java.util.ArrayList; + +import java.math.BigDecimal; +import java.math.BigInteger; + +import javax.management.MBeanServerConnection; +import javax.management.ObjectName; +import javax.management.openmbean.OpenType; +import javax.management.openmbean.CompositeData; +import javax.management.openmbean.TabularData; +import javax.management.openmbean.InvalidKeyException; + +import org.collectd.api.Collectd; +import org.collectd.api.DataSet; +import org.collectd.api.DataSource; +import org.collectd.api.ValueList; +import org.collectd.api.PluginData; +import org.collectd.api.OConfigValue; +import org.collectd.api.OConfigItem; + +/** + * Representation of a <value /> block and query functionality. + * + * This class represents a <value /> block in the configuration. As + * such, the constructor takes an {@link org.collectd.api.OConfigValue} to + * construct an object of this class. + * + * The object can then be asked to query data from JMX and dispatch it to + * collectd. + * + * @see GenericJMXConfMBean + */ +class GenericJMXConfValue { +private + String _ds_name; +private + DataSet _ds; +private + List _attributes; +private + String _instance_prefix; +private + List _instance_from; +private + String _plugin_name; +private + boolean _is_table; + + /** + * Converts a generic (OpenType) object to a number. + * + * Returns null if a conversion is not possible or not implemented. + */ +private + Number genericObjectToNumber(Object obj, int ds_type) /* {{{ */ + { + if (obj instanceof String) { + String str = (String)obj; + + try { + if (ds_type == DataSource.TYPE_GAUGE) + return (new Double(str)); + else + return (new Long(str)); + } catch (NumberFormatException e) { + return (null); + } + } else if (obj instanceof Byte) { + return (new Byte((Byte)obj)); + } else if (obj instanceof Short) { + return (new Short((Short)obj)); + } else if (obj instanceof Integer) { + return (new Integer((Integer)obj)); + } else if (obj instanceof Long) { + return (new Long((Long)obj)); + } else if (obj instanceof Float) { + return (new Float((Float)obj)); + } else if (obj instanceof Double) { + return (new Double((Double)obj)); + } else if (obj instanceof BigDecimal) { + return (BigDecimal.ZERO.add((BigDecimal)obj)); + } else if (obj instanceof BigInteger) { + return (BigInteger.ZERO.add((BigInteger)obj)); + } else if (obj instanceof AtomicInteger) { + return (new Integer(((AtomicInteger)obj).get())); + } else if (obj instanceof AtomicLong) { + return (new Long(((AtomicLong)obj).get())); + } else if (obj instanceof Boolean) { + return (Boolean)obj ? 1 : 0; + } + return (null); + } /* }}} Number genericObjectToNumber */ + + /** + * Converts a generic list to a list of numbers. + * + * Returns null if one or more objects could not be converted. + */ +private + List genericListToNumber(List objects) /* {{{ */ + { + List ret = new ArrayList(); + List dsrc = this._ds.getDataSources(); + + assert(objects.size() == dsrc.size()); + + for (int i = 0; i < objects.size(); i++) { + Number n; + + n = genericObjectToNumber(objects.get(i), dsrc.get(i).getType()); + if (n == null) + return (null); + ret.add(n); + } + + return (ret); + } /* }}} List genericListToNumber */ + + /** + * Converts a list of CompositeData to a list of numbers. + * + * From each CompositeData the key key is received and all + * those values are converted to a number. If one of the + * CompositeData doesn't have the specified key or one returned + * object cannot converted to a number then the function will return null. + */ +private + List genericCompositeToNumber(List cdlist, /* {{{ */ + String key) { + List objects = new ArrayList(); + + for (int i = 0; i < cdlist.size(); i++) { + CompositeData cd; + Object value; + + cd = cdlist.get(i); + try { + value = cd.get(key); + } catch (InvalidKeyException e) { + return (null); + } + objects.add(value); + } + + return (genericListToNumber(objects)); + } /* }}} List genericCompositeToNumber */ + +private + void submitTable(List objects, ValueList vl, /* {{{ */ + String instancePrefix) { + List cdlist; + Set keySet = null; + Iterator keyIter; + + cdlist = new ArrayList(); + for (int i = 0; i < objects.size(); i++) { + Object obj; + + obj = objects.get(i); + if (obj instanceof CompositeData) { + CompositeData cd; + + cd = (CompositeData)obj; + + if (i == 0) + keySet = cd.getCompositeType().keySet(); + + cdlist.add(cd); + } else { + Collectd.logError( + "GenericJMXConfValue: At least one of the " + + "attributes was not of type `CompositeData', as required " + + "when table is set to `true'."); + return; + } + } + + assert(keySet != null); + + keyIter = keySet.iterator(); + while (keyIter.hasNext()) { + String key; + List values; + + key = keyIter.next(); + values = genericCompositeToNumber(cdlist, key); + if (values == null) { + Collectd.logError("GenericJMXConfValue: Cannot build a list of " + + "numbers for key " + key + + ". Most likely not all attributes " + + "have this key."); + continue; + } + + if (instancePrefix == null) + vl.setTypeInstance(key); + else + vl.setTypeInstance(instancePrefix + key); + vl.setValues(values); + + Collectd.dispatchValues(vl); + } + } /* }}} void submitTable */ + +private + void submitScalar(List objects, ValueList vl, /* {{{ */ + String instancePrefix) { + List values; + + values = genericListToNumber(objects); + if (values == null) { + Collectd.logError("GenericJMXConfValue: Cannot convert list of " + + "objects to numbers."); + return; + } + + if (instancePrefix == null) + vl.setTypeInstance(""); + else + vl.setTypeInstance(instancePrefix); + vl.setValues(values); + + Collectd.dispatchValues(vl); + } /* }}} void submitScalar */ + +private + Object queryAttributeRecursive(CompositeData parent, /* {{{ */ + List attrName) { + String key; + Object value; + + key = attrName.remove(0); + + try { + value = parent.get(key); + } catch (InvalidKeyException e) { + return (null); + } + + if (attrName.size() == 0) { + return (value); + } else { + if (value instanceof CompositeData) + return (queryAttributeRecursive((CompositeData)value, attrName)); + else if (value instanceof TabularData) + return (queryAttributeRecursive((TabularData)value, attrName)); + else + return (null); + } + } /* }}} queryAttributeRecursive */ + +private + Object queryAttributeRecursive(TabularData parent, /* {{{ */ + List attrName) { + String key; + Object value = null; + + key = attrName.remove(0); + + @SuppressWarnings("unchecked") Collection table = + (Collection)parent.values(); + for (CompositeData compositeData : table) { + if (key.equals(compositeData.get("key"))) { + value = compositeData.get("value"); + } + } + if (null == value) { + return (null); + } + + if (attrName.size() == 0) { + return (value); + } else { + if (value instanceof CompositeData) + return (queryAttributeRecursive((CompositeData)value, attrName)); + else if (value instanceof TabularData) + return (queryAttributeRecursive((TabularData)value, attrName)); + else + return (null); + } + } /* }}} queryAttributeRecursive */ + +private + Object queryAttribute(MBeanServerConnection conn, /* {{{ */ + ObjectName objName, String attrName) { + List attrNameList; + String key; + Object value; + String[] attrNameArray; + + attrNameList = new ArrayList(); + + attrNameArray = attrName.split("\\."); + key = attrNameArray[0]; + for (int i = 1; i < attrNameArray.length; i++) + attrNameList.add(attrNameArray[i]); + + try { + try { + value = conn.getAttribute(objName, key); + } catch (javax.management.AttributeNotFoundException e) { + value = + conn.invoke(objName, key, /* args = */ null, /* types = */ null); + } + } catch (Exception e) { + Collectd.logError("GenericJMXConfValue.query: getAttribute failed: " + e); + return (null); + } + + if (attrNameList.size() == 0) { + return (value); + } else { + if (value instanceof CompositeData) + return (queryAttributeRecursive((CompositeData)value, attrNameList)); + else if (value instanceof TabularData) + return (queryAttributeRecursive((TabularData)value, attrNameList)); + else if (value instanceof OpenType) { + OpenType ot = (OpenType)value; + Collectd.logNotice("GenericJMXConfValue: Handling of OpenType \"" + + ot.getTypeName() + "\" is not yet implemented."); + return (null); + } else { + Collectd.logError( + "GenericJMXConfValue: Received object of " + "unknown class. " + + attrName + " " + + ((value == null) ? "null" : value.getClass().getName())); + return (null); + } + } + } /* }}} Object queryAttribute */ + +private + String join(String separator, List list) /* {{{ */ + { + StringBuffer sb; + + sb = new StringBuffer(); + + for (int i = 0; i < list.size(); i++) { + if (i > 0) + sb.append("-"); + sb.append(list.get(i)); + } + + return (sb.toString()); + } /* }}} String join */ + +private + String getConfigString(OConfigItem ci) /* {{{ */ + { + List values; + OConfigValue v; + + values = ci.getValues(); + if (values.size() != 1) { + Collectd.logError( + "GenericJMXConfValue: The " + ci.getKey() + + " configuration option needs exactly one string argument."); + return (null); + } + + v = values.get(0); + if (v.getType() != OConfigValue.OCONFIG_TYPE_STRING) { + Collectd.logError( + "GenericJMXConfValue: The " + ci.getKey() + + " configuration option needs exactly one string argument."); + return (null); + } + + return (v.getString()); + } /* }}} String getConfigString */ + +private + Boolean getConfigBoolean(OConfigItem ci) /* {{{ */ + { + List values; + OConfigValue v; + Boolean b; + + values = ci.getValues(); + if (values.size() != 1) { + Collectd.logError( + "GenericJMXConfValue: The " + ci.getKey() + + " configuration option needs exactly one boolean argument."); + return (null); + } + + v = values.get(0); + if (v.getType() != OConfigValue.OCONFIG_TYPE_BOOLEAN) { + Collectd.logError( + "GenericJMXConfValue: The " + ci.getKey() + + " configuration option needs exactly one boolean argument."); + return (null); + } + + return (new Boolean(v.getBoolean())); + } /* }}} String getConfigBoolean */ + + /** + * Constructs a new value with the configured properties. + */ +public + GenericJMXConfValue(OConfigItem ci) /* {{{ */ + throws IllegalArgumentException { + List children; + Iterator iter; + + this._ds_name = null; + this._ds = null; + this._attributes = new ArrayList(); + this._instance_prefix = null; + this._instance_from = new ArrayList(); + this._plugin_name = null; + this._is_table = false; + + /* + * + * Type "memory" + * Table true|false + * Attribute "HeapMemoryUsage" + * Attribute "..." + * : + * # Type instance: + * InstancePrefix "heap-" + * + */ + children = ci.getChildren(); + iter = children.iterator(); + while (iter.hasNext()) { + OConfigItem child = iter.next(); + + if (child.getKey().equalsIgnoreCase("Type")) { + String tmp = getConfigString(child); + if (tmp != null) + this._ds_name = tmp; + } else if (child.getKey().equalsIgnoreCase("Table")) { + Boolean tmp = getConfigBoolean(child); + if (tmp != null) + this._is_table = tmp.booleanValue(); + } else if (child.getKey().equalsIgnoreCase("Attribute")) { + String tmp = getConfigString(child); + if (tmp != null) + this._attributes.add(tmp); + } else if (child.getKey().equalsIgnoreCase("InstancePrefix")) { + String tmp = getConfigString(child); + if (tmp != null) + this._instance_prefix = tmp; + } else if (child.getKey().equalsIgnoreCase("InstanceFrom")) { + String tmp = getConfigString(child); + if (tmp != null) + this._instance_from.add(tmp); + } else if (child.getKey().equalsIgnoreCase("PluginName")) { + String tmp = getConfigString(child); + if (tmp != null) + this._plugin_name = tmp; + } else + throw( + new IllegalArgumentException("Unknown option: " + child.getKey())); + } + + if (this._ds_name == null) + throw(new IllegalArgumentException("No data set was defined.")); + else if (this._attributes.size() == 0) + throw(new IllegalArgumentException("No attribute was defined.")); + } /* }}} GenericJMXConfValue (OConfigItem ci) */ + + /** + * Query values via JMX according to the object's configuration and dispatch + * them to collectd. + * + * @param conn Connection to the MBeanServer. + * @param objName Object name of the MBean to query. + * @param pd Preset naming components. The members host, plugin and + * plugin instance will be used. + */ +public + void query(MBeanServerConnection conn, ObjectName objName, /* {{{ */ + PluginData pd) { + ValueList vl; + List dsrc; + List values; + List instanceList; + String instancePrefix; + + if (this._ds == null) { + this._ds = Collectd.getDS(this._ds_name); + if (this._ds == null) { + Collectd.logError("GenericJMXConfValue: Unknown type: " + + this._ds_name); + return; + } + } + + dsrc = this._ds.getDataSources(); + if (dsrc.size() != this._attributes.size()) { + Collectd.logError( + "GenericJMXConfValue.query: The data set " + this._ds_name + " has " + + this._ds.getDataSources().size() + " data sources, but there were " + + this._attributes.size() + + " attributes configured. This doesn't match!"); + this._ds = null; + return; + } + + vl = new ValueList(pd); + vl.setType(this._ds_name); + if (this._plugin_name != null) { + vl.setPlugin(this._plugin_name); + } + + /* + * Build the instnace prefix from the fixed string prefix and the + * properties of the objName. + */ + instanceList = new ArrayList(); + for (int i = 0; i < this._instance_from.size(); i++) { + String propertyName; + String propertyValue; + + propertyName = this._instance_from.get(i); + propertyValue = objName.getKeyProperty(propertyName); + if (propertyValue == null) { + Collectd.logError("GenericJMXConfMBean: " + + "No such property in object name: " + propertyName); + } else { + instanceList.add(propertyValue); + } + } + + if (this._instance_prefix != null) + instancePrefix = + new String(this._instance_prefix + join("-", instanceList)); + else + instancePrefix = join("-", instanceList); + + /* + * Build a list of `Object's which is then passed to `submitTable' and + * `submitScalar'. + */ + values = new ArrayList(); + assert(dsrc.size() == this._attributes.size()); + for (int i = 0; i < this._attributes.size(); i++) { + Object v; + + v = queryAttribute(conn, objName, this._attributes.get(i)); + if (v == null) { + Collectd.logError( + "GenericJMXConfValue.query: " + "Querying attribute " + + this._attributes.get(i) + " failed."); + return; + } + + values.add(v); + } + + if (this._is_table) + submitTable(values, vl, instancePrefix); + else + submitScalar(values, vl, instancePrefix); + } /* }}} void query */ +} /* class GenericJMXConfValue */ + +/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/bindings/java/org/collectd/java/JMXMemory.java b/bindings/java/org/collectd/java/JMXMemory.java new file mode 100644 index 0000000..050d893 --- /dev/null +++ b/bindings/java/org/collectd/java/JMXMemory.java @@ -0,0 +1,237 @@ +/** + * collectd - bindings/java/org/collectd/java/JMXMemory.java + * Copyright (C) 2009 Florian octo Forster + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + * + * Authors: + * Florian octo Forster + */ + +package org.collectd.java; + +import java.util.List; +import java.util.Date; + +import java.lang.management.ManagementFactory; +import java.lang.management.MemoryUsage; +import java.lang.management.MemoryMXBean; + +import javax.management.MBeanServerConnection; +import javax.management.remote.JMXConnector; +import javax.management.remote.JMXConnectorFactory; +import javax.management.remote.JMXServiceURL; + +import org.collectd.api.Collectd; +import org.collectd.api.DataSet; +import org.collectd.api.ValueList; +import org.collectd.api.Notification; +import org.collectd.api.OConfigItem; + +import org.collectd.api.CollectdConfigInterface; +import org.collectd.api.CollectdInitInterface; +import org.collectd.api.CollectdReadInterface; +import org.collectd.api.CollectdShutdownInterface; + +import org.collectd.api.OConfigValue; +import org.collectd.api.OConfigItem; + +public class JMXMemory implements CollectdConfigInterface, + CollectdInitInterface, + CollectdReadInterface, + CollectdShutdownInterface +{ + private String _jmx_service_url = null; + private MemoryMXBean _mbean = null; + + public JMXMemory () + { + Collectd.registerConfig ("JMXMemory", this); + Collectd.registerInit ("JMXMemory", this); + Collectd.registerRead ("JMXMemory", this); + Collectd.registerShutdown ("JMXMemory", this); + } + + private void submit (String plugin_instance, MemoryUsage usage) /* {{{ */ + { + ValueList vl; + + long mem_init; + long mem_used; + long mem_committed; + long mem_max; + + mem_init = usage.getInit (); + mem_used = usage.getUsed (); + mem_committed = usage.getCommitted (); + mem_max = usage.getMax (); + + Collectd.logDebug ("JMXMemory plugin: plugin_instance = " + plugin_instance + "; " + + "mem_init = " + mem_init + "; " + + "mem_used = " + mem_used + "; " + + "mem_committed = " + mem_committed + "; " + + "mem_max = " + mem_max + ";"); + + vl = new ValueList (); + + vl.setHost ("localhost"); + vl.setPlugin ("JMXMemory"); + vl.setPluginInstance (plugin_instance); + vl.setType ("memory"); + + if (mem_init >= 0) + { + vl.addValue (mem_init); + vl.setTypeInstance ("init"); + Collectd.dispatchValues (vl); + vl.clearValues (); + } + + if (mem_used >= 0) + { + vl.addValue (mem_used); + vl.setTypeInstance ("used"); + Collectd.dispatchValues (vl); + vl.clearValues (); + } + + if (mem_committed >= 0) + { + vl.addValue (mem_committed); + vl.setTypeInstance ("committed"); + Collectd.dispatchValues (vl); + vl.clearValues (); + } + + if (mem_max >= 0) + { + vl.addValue (mem_max); + vl.setTypeInstance ("max"); + Collectd.dispatchValues (vl); + vl.clearValues (); + } + } /* }}} void submit */ + + private int configServiceURL (OConfigItem ci) /* {{{ */ + { + List values; + OConfigValue cv; + + values = ci.getValues (); + if (values.size () != 1) + { + Collectd.logError ("JMXMemory plugin: The JMXServiceURL option needs " + + "exactly one string argument."); + return (-1); + } + + cv = values.get (0); + if (cv.getType () != OConfigValue.OCONFIG_TYPE_STRING) + { + Collectd.logError ("JMXMemory plugin: The JMXServiceURL option needs " + + "exactly one string argument."); + return (-1); + } + + _jmx_service_url = cv.getString (); + return (0); + } /* }}} int configServiceURL */ + + public int config (OConfigItem ci) /* {{{ */ + { + List children; + int i; + + Collectd.logDebug ("JMXMemory plugin: config: ci = " + ci + ";"); + + children = ci.getChildren (); + for (i = 0; i < children.size (); i++) + { + OConfigItem child; + String key; + + child = children.get (i); + key = child.getKey (); + if (key.equalsIgnoreCase ("JMXServiceURL")) + { + configServiceURL (child); + } + else + { + Collectd.logError ("JMXMemory plugin: Unknown config option: " + key); + } + } + + return (0); + } /* }}} int config */ + + public int init () /* {{{ */ + { + JMXServiceURL service_url; + JMXConnector connector; + MBeanServerConnection connection; + + if (_jmx_service_url == null) + { + Collectd.logError ("JMXMemory: _jmx_service_url == null"); + return (-1); + } + + try + { + service_url = new JMXServiceURL (_jmx_service_url); + connector = JMXConnectorFactory.connect (service_url); + connection = connector.getMBeanServerConnection (); + _mbean = ManagementFactory.newPlatformMXBeanProxy (connection, + ManagementFactory.MEMORY_MXBEAN_NAME, + MemoryMXBean.class); + } + catch (Exception e) + { + Collectd.logError ("JMXMemory: Creating MBean failed: " + e); + return (-1); + } + + return (0); + } /* }}} int init */ + + public int read () /* {{{ */ + { + if (_mbean == null) + { + Collectd.logError ("JMXMemory: _mbean == null"); + return (-1); + } + + submit ("heap", _mbean.getHeapMemoryUsage ()); + submit ("non_heap", _mbean.getNonHeapMemoryUsage ()); + + return (0); + } /* }}} int read */ + + public int shutdown () /* {{{ */ + { + System.out.print ("org.collectd.java.JMXMemory.Shutdown ();\n"); + _jmx_service_url = null; + _mbean = null; + return (0); + } /* }}} int shutdown */ +} /* class JMXMemory */ + +/* vim: set sw=2 sts=2 et fdm=marker : */ diff --git a/bindings/perl/Makefile.PL b/bindings/perl/Makefile.PL new file mode 100644 index 0000000..68fb260 --- /dev/null +++ b/bindings/perl/Makefile.PL @@ -0,0 +1,9 @@ +use ExtUtils::MakeMaker; + +WriteMakefile( + NAME => 'Collectd', + AUTHOR => 'Sebastian Harl ', + TEST_REQUIRES => { 'YAML::Any' => 0 }, +); + +# vim: set sw=4 ts=4 tw=78 noexpandtab : diff --git a/bindings/perl/lib/Collectd.pm b/bindings/perl/lib/Collectd.pm new file mode 100644 index 0000000..7e89e45 --- /dev/null +++ b/bindings/perl/lib/Collectd.pm @@ -0,0 +1,631 @@ +# collectd - Collectd.pm +# Copyright (C) 2007-2009 Sebastian Harl +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; only version 2 of the License is applicable. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# Author: +# Sebastian Harl + +package Collectd; + +use strict; +use warnings; + +use Config; + +use threads; +use threads::shared; + +BEGIN { + if (! $Config{'useithreads'}) { + die "Perl does not support ithreads!"; + } +} + +require Exporter; + +our @ISA = qw( Exporter ); + +our %EXPORT_TAGS = ( + 'plugin' => [ qw( + plugin_register + plugin_unregister + plugin_dispatch_values + plugin_get_interval + plugin_write + plugin_flush + plugin_flush_one + plugin_flush_all + plugin_dispatch_notification + plugin_log + ) ], + 'types' => [ qw( + TYPE_INIT + TYPE_READ + TYPE_WRITE + TYPE_SHUTDOWN + TYPE_LOG + TYPE_NOTIF + TYPE_FLUSH + TYPE_CONFIG + TYPE_DATASET + ) ], + 'ds_types' => [ qw( + DS_TYPE_COUNTER + DS_TYPE_GAUGE + ) ], + 'log' => [ qw( + ERROR + WARNING + NOTICE + INFO + DEBUG + LOG_ERR + LOG_WARNING + LOG_NOTICE + LOG_INFO + LOG_DEBUG + ) ], + 'filter_chain' => [ qw( + fc_register + FC_MATCH_NO_MATCH + FC_MATCH_MATCHES + FC_TARGET_CONTINUE + FC_TARGET_STOP + FC_TARGET_RETURN + ) ], + 'fc_types' => [ qw( + FC_MATCH + FC_TARGET + ) ], + 'notif' => [ qw( + NOTIF_FAILURE + NOTIF_WARNING + NOTIF_OKAY + ) ], + 'globals' => [ qw( + $hostname_g + $interval_g + ) ], +); + +{ + my %seen; + push @{$EXPORT_TAGS{'all'}}, grep {! $seen{$_}++ } @{$EXPORT_TAGS{$_}} + foreach keys %EXPORT_TAGS; +} + +# global variables +our $hostname_g; +our $interval_g; + +Exporter::export_ok_tags ('all'); + +my @plugins : shared = (); +my @fc_plugins : shared = (); +my %cf_callbacks : shared = (); + +my %types = ( + TYPE_CONFIG, "config", + TYPE_INIT, "init", + TYPE_READ, "read", + TYPE_WRITE, "write", + TYPE_SHUTDOWN, "shutdown", + TYPE_LOG, "log", + TYPE_NOTIF, "notify", + TYPE_FLUSH, "flush" +); + +my %fc_types = ( + FC_MATCH, "match", + FC_TARGET, "target" +); + +my %fc_exec_names = ( + FC_MATCH, "match", + FC_TARGET, "invoke" +); + +my %fc_cb_types = ( + FC_CB_EXEC, "exec", + FC_CB_CREATE, "create", + FC_CB_DESTROY, "destroy" +); + +foreach my $type (keys %types) { + $plugins[$type] = &share ({}); +} + +foreach my $type (keys %fc_types) { + $fc_plugins[$type] = &share ({}); +} + +sub _log { + my $caller = shift; + my $lvl = shift; + my $msg = shift; + + if ("Collectd" eq $caller) { + $msg = "perl: $msg"; + } + return plugin_log ($lvl, $msg); +} + +sub ERROR { _log (scalar caller, LOG_ERR, shift); } +sub WARNING { _log (scalar caller, LOG_WARNING, shift); } +sub NOTICE { _log (scalar caller, LOG_NOTICE, shift); } +sub INFO { _log (scalar caller, LOG_INFO, shift); } +sub DEBUG { _log (scalar caller, LOG_DEBUG, shift); } + +sub plugin_call_all { + my $type = shift; + + my %plugins; + + our $cb_name = undef; + + if (! defined $type) { + return; + } + + if (TYPE_LOG != $type) { + DEBUG ("Collectd::plugin_call_all: type = \"$type\" (" + . $types{$type} . "), args=\"" + . join(', ', map { defined($_) ? $_ : '' } @_) . "\""); + } + + if (! defined $plugins[$type]) { + ERROR ("Collectd::plugin_call_all: unknown type \"$type\""); + return; + } + + { + lock %{$plugins[$type]}; + %plugins = %{$plugins[$type]}; + } + + foreach my $plugin (keys %plugins) { + $cb_name = $plugins{$plugin}; + my $status = call_by_name (@_); + + if (! $status) { + my $err = undef; + + if ($@) { + $err = $@; + } + else { + $err = "callback returned false"; + } + + if (TYPE_LOG != $type) { + ERROR ("Execution of callback \"$cb_name\" failed: $err"); + } + + $status = 0; + } + + if ($status) { + #NOOP + } + elsif (TYPE_INIT == $type) { + ERROR ("${plugin}->init() failed with status $status. " + . "Plugin will be disabled."); + + foreach my $type (keys %types) { + plugin_unregister ($type, $plugin); + } + } + elsif (TYPE_LOG != $type) { + WARNING ("${plugin}->$types{$type}() failed with status $status."); + } + } + return 1; +} + +# Collectd::plugin_register (type, name, data). +# +# type: +# init, read, write, shutdown, data set +# +# name: +# name of the plugin +# +# data: +# reference to the plugin's subroutine that does the work or the data set +# definition +sub plugin_register { + my $type = shift; + my $name = shift; + my $data = shift; + + DEBUG ("Collectd::plugin_register: " + . "type = \"$type\" (" . $types{$type} + . "), name = \"$name\", data = \"$data\""); + + if (! ((defined $type) && (defined $name) && (defined $data))) { + ERROR ("Usage: Collectd::plugin_register (type, name, data)"); + return; + } + + if ((! defined $plugins[$type]) && (TYPE_DATASET != $type) + && (TYPE_CONFIG != $type)) { + ERROR ("Collectd::plugin_register: Invalid type \"$type\""); + return; + } + + if ((TYPE_DATASET == $type) && ("ARRAY" eq ref $data)) { + return plugin_register_data_set ($name, $data); + } + elsif ((TYPE_CONFIG == $type) && (! ref $data)) { + my $pkg = scalar caller; + + if ($data !~ m/^$pkg\:\:/) { + $data = $pkg . "::" . $data; + } + + lock %cf_callbacks; + $cf_callbacks{$name} = $data; + } + elsif ((TYPE_DATASET != $type) && (! ref $data)) { + my $pkg = scalar caller; + if ($data !~ m/^$pkg\:\:/) { + $data = $pkg . "::" . $data; + } + if (TYPE_READ == $type) { + return plugin_register_read($name, $data); + } + if (TYPE_WRITE == $type) { + return plugin_register_write($name, $data); + } + if (TYPE_LOG == $type) { + return plugin_register_log($name, $data); + } + if (TYPE_NOTIF == $type) { + return plugin_register_notification($name, $data); + } + if (TYPE_FLUSH == $type) { + #For collectd-5.6 only + lock %{$plugins[$type]}; + $plugins[$type]->{$name} = $data; + return plugin_register_flush($name, $data); + } + lock %{$plugins[$type]}; + $plugins[$type]->{$name} = $data; + } + else { + ERROR ("Collectd::plugin_register: Invalid data."); + return; + } + return 1; +} + +sub plugin_unregister { + my $type = shift; + my $name = shift; + + DEBUG ("Collectd::plugin_unregister: type = \"$type\" (" + . $types{$type} . "), name = \"$name\""); + + if (! ((defined $type) && (defined $name))) { + ERROR ("Usage: Collectd::plugin_unregister (type, name)"); + return; + } + + if (TYPE_DATASET == $type) { + return plugin_unregister_data_set ($name); + } + elsif (TYPE_CONFIG == $type) { + lock %cf_callbacks; + delete $cf_callbacks{$name}; + } + elsif (TYPE_READ == $type) { + return plugin_unregister_read ($name); + } + elsif (TYPE_WRITE == $type) { + return plugin_unregister_write($name); + } + elsif (TYPE_LOG == $type) { + return plugin_unregister_log ($name); + } + elsif (TYPE_NOTIF == $type) { + return plugin_unregister_notification($name); + } + elsif (TYPE_FLUSH == $type) { + return plugin_unregister_flush($name); + } + elsif (defined $plugins[$type]) { + lock %{$plugins[$type]}; + delete $plugins[$type]->{$name}; + } + else { + ERROR ("Collectd::plugin_unregister: Invalid type."); + return; + } +} + +sub plugin_write { + my %args = @_; + + my @plugins = (); + my @datasets = (); + my @valuelists = (); + + if (! defined $args{'valuelists'}) { + ERROR ("Collectd::plugin_write: Missing 'valuelists' argument."); + return; + } + + DEBUG ("Collectd::plugin_write:" + . (defined ($args{'plugins'}) ? " plugins = $args{'plugins'}" : "") + . (defined ($args{'datasets'}) ? " datasets = $args{'datasets'}" : "") + . " valueslists = $args{'valuelists'}"); + + if (defined ($args{'plugins'})) { + if ("ARRAY" eq ref ($args{'plugins'})) { + @plugins = @{$args{'plugins'}}; + } + else { + @plugins = ($args{'plugins'}); + } + } + else { + @plugins = (undef); + } + + if ("ARRAY" eq ref ($args{'valuelists'})) { + @valuelists = @{$args{'valuelists'}}; + } + else { + @valuelists = ($args{'valuelists'}); + } + + if (defined ($args{'datasets'})) { + if ("ARRAY" eq ref ($args{'datasets'})) { + @datasets = @{$args{'datasets'}}; + } + else { + @datasets = ($args{'datasets'}); + } + } + else { + @datasets = (undef) x scalar (@valuelists); + } + + if ($#datasets != $#valuelists) { + ERROR ("Collectd::plugin_write: Invalid number of datasets."); + return; + } + + foreach my $plugin (@plugins) { + for (my $i = 0; $i < scalar (@valuelists); ++$i) { + _plugin_write ($plugin, $datasets[$i], $valuelists[$i]); + } + } +} + +sub plugin_flush { + my %args = @_; + + my $timeout = -1; + my @plugins = (); + my @ids = (); + + DEBUG ("Collectd::plugin_flush:" + . (defined ($args{'timeout'}) ? " timeout = $args{'timeout'}" : "") + . (defined ($args{'plugins'}) ? " plugins = $args{'plugins'}" : "") + . (defined ($args{'identifiers'}) + ? " identifiers = $args{'identifiers'}" : "")); + + if (defined ($args{'timeout'}) && ($args{'timeout'} > 0)) { + $timeout = $args{'timeout'}; + } + + if (defined ($args{'plugins'})) { + if ("ARRAY" eq ref ($args{'plugins'})) { + @plugins = @{$args{'plugins'}}; + } + else { + @plugins = ($args{'plugins'}); + } + } + else { + @plugins = (undef); + } + + if (defined ($args{'identifiers'})) { + if ("ARRAY" eq ref ($args{'identifiers'})) { + @ids = @{$args{'identifiers'}}; + } + else { + @ids = ($args{'identifiers'}); + } + } + else { + @ids = (undef); + } + + foreach my $plugin (@plugins) { + foreach my $id (@ids) { + _plugin_flush($plugin, $timeout, $id); + } + } +} + +sub fc_call { + my $type = shift; + my $name = shift; + my $cb_type = shift; + + my %proc; + + our $cb_name = undef; + my $status; + + if (! ((defined $type) && (defined $name) && (defined $cb_type))) { + ERROR ("Usage: Collectd::fc_call(type, name, cb_type, ...)"); + return; + } + + if (! defined $fc_plugins[$type]) { + ERROR ("Collectd::fc_call: Invalid type \"$type\""); + return; + } + + if (! defined $fc_plugins[$type]->{$name}) { + ERROR ("Collectd::fc_call: Unknown " + . ($type == FC_MATCH ? "match" : "target") + . " \"$name\""); + return; + } + + DEBUG ("Collectd::fc_call: " + . "type = \"$type\" (" . $fc_types{$type} + . "), name = \"$name\", cb_type = \"$cb_type\" (" + . $fc_cb_types{$cb_type} . ")"); + + { + lock %{$fc_plugins[$type]}; + %proc = %{$fc_plugins[$type]->{$name}}; + } + + if (FC_CB_EXEC == $cb_type) { + $cb_name = $proc{$fc_exec_names{$type}}; + } + elsif (FC_CB_CREATE == $cb_type) { + if (defined $proc{'create'}) { + $cb_name = $proc{'create'}; + } + else { + return 1; + } + } + elsif (FC_CB_DESTROY == $cb_type) { + if (defined $proc{'destroy'}) { + $cb_name = $proc{'destroy'}; + } + else { + return 1; + } + } + + $status = call_by_name (@_); + + if ($status < 0) { + my $err = undef; + + if ($@) { + $err = $@; + } + else { + $err = "callback returned false"; + } + + ERROR ("Execution of fc callback \"$cb_name\" failed: $err"); + return; + } + return $status; +} + +sub fc_register { + my $type = shift; + my $name = shift; + my $proc = shift; + + my %fc : shared; + + DEBUG ("Collectd::fc_register: " + . "type = \"$type\" (" . $fc_types{$type} + . "), name = \"$name\", proc = \"$proc\""); + + if (! ((defined $type) && (defined $name) && (defined $proc))) { + ERROR ("Usage: Collectd::fc_register(type, name, proc)"); + return; + } + + if (! defined $fc_plugins[$type]) { + ERROR ("Collectd::fc_register: Invalid type \"$type\""); + return; + } + + if (("HASH" ne ref ($proc)) || (! defined $proc->{$fc_exec_names{$type}}) + || ("" ne ref ($proc->{$fc_exec_names{$type}}))) { + ERROR ("Collectd::fc_register: Invalid proc."); + return; + } + + for my $p (qw( create destroy )) { + if ((defined $proc->{$p}) && ("" ne ref ($proc->{$p}))) { + ERROR ("Collectd::fc_register: Invalid proc."); + return; + } + } + + %fc = %$proc; + + foreach my $p (keys %fc) { + my $pkg = scalar caller; + + if ($p !~ m/^(create|destroy|$fc_exec_names{$type})$/) { + next; + } + + if ($fc{$p} !~ m/^$pkg\:\:/) { + $fc{$p} = $pkg . "::" . $fc{$p}; + } + } + + lock %{$fc_plugins[$type]}; + if (defined $fc_plugins[$type]->{$name}) { + WARNING ("Collectd::fc_register: Overwriting previous " + . "definition of match \"$name\"."); + } + + if (! _fc_register ($type, $name)) { + ERROR ("Collectd::fc_register: Failed to register \"$name\"."); + return; + } + + $fc_plugins[$type]->{$name} = \%fc; + return 1; +} + +sub _plugin_dispatch_config { + my $plugin = shift; + my $config = shift; + + our $cb_name = undef; + + if (! (defined ($plugin) && defined ($config))) { + return; + } + + if (! defined $cf_callbacks{$plugin}) { + WARNING ("Found a configuration for the \"$plugin\" plugin, but " + . "the plugin isn't loaded or didn't register " + . "a configuration callback."); + return; + } + + { + lock %cf_callbacks; + $cb_name = $cf_callbacks{$plugin}; + } + call_by_name ($config); +} + +1; + +# vim: set sw=4 ts=4 tw=78 noexpandtab : + diff --git a/bindings/perl/lib/Collectd/MockDaemon.pm b/bindings/perl/lib/Collectd/MockDaemon.pm new file mode 100644 index 0000000..300d2c4 --- /dev/null +++ b/bindings/perl/lib/Collectd/MockDaemon.pm @@ -0,0 +1,10756 @@ +package Collectd::MockDaemon; +use strict; +use warnings; +use IO::Socket::UNIX; +use IO::Handle; +use File::Temp; +use Carp; +use YAML::Any qw/Load/; + +use base 'Exporter'; +our @EXPORT = qw/ mockd_start mockd_stop /; + +my ($pid, $childfh, $sock_path); +my $data = Load(do{local $/; }); +my @metrics = sort keys %$data; + +sub mockd_start { + croak "don't call me twice" if defined $pid; + $sock_path = File::Temp::mktemp('collectd-mocksock.XXXXXX'); + + my $sock = IO::Socket::UNIX->new( + Type => SOCK_STREAM, + Local => $sock_path, + Listen => 1 + ) or die "Can't open Unix domain socket `$sock_path': $!"; + $pid = open(my $kid, "-|"); + croak "cannot fork(): $!" unless defined $pid; + if($pid) { + $childfh = $kid; + } else { + daemon($sock); + exit 0; + } + return $sock_path; +} + +sub mockd_stop { + return unless defined $childfh; + kill 'TERM', $pid; # kill it with fire + unlink $sock_path; + $childfh = $pid = undef; +} + +sub daemon { + my $sock = shift; + while(my $csock = $sock->accept) { + while(<$csock>) { + chomp; + /^LISTVAL\s*$/i and $csock->print(listval()), next; + /^GETVAL\s+(.*)$/i and $csock->print(getval($1), "\n"), next; + /^PUTVAL|PUTNOTIF|FLUSH\s+(.*)$/i and $csock->print("-1 Unimplemented command `$1'\n"), next; + $csock->print("-1 Unknown command: $_\n"), next; + } + } +} + +sub listval { + my @timevals = ( + 1479835353.75, + 1479835354.434, + 1479835356, + 1479835354, + 1479835354, + 1479835350.820, + 1479835351, + 1479835354.2, + 1479835353, + ); + my $i = 0; + return print_nvalues(scalar @metrics) . + join('', map { $timevals[$i++ % @timevals] . " $_\n" } @metrics); +} + +sub getval { + my ($val) = @_; + $val =~ s/(?:^\s+|\s+$)//g; + $val =~ s/(?:^"|"$)//g; + my $id = _parse_identifier($val) or return "-1 Cannot parse identifier `$val'"; + return "-1 No such value ($val)" unless exists $data->{$val}; + my $result = print_nvalues(scalar keys %{$data->{$val}}); + return $result . join("\n", map { "$_=$data->{$val}{$_}" } keys %{$data->{$val}}); +} + +sub _parse_identifier +{ + my $s = shift; + my ($plugin_instance, $type_instance); + + my ($host, $plugin, $type) = split ('/', $s); + return unless length $host and length $plugin and length $type; + + ($plugin, $plugin_instance) = split ('-', $plugin, 2); + ($type, $type_instance) = split ('-', $type, 2); + + my $ident = + { + host => $host, + plugin => $plugin, + type => $type + }; + $ident->{'plugin_instance'} = $plugin_instance if (defined ($plugin_instance)); + $ident->{'type_instance'} = $type_instance if (defined ($type_instance)); + + return $ident; +} + +sub print_nvalues { + my $nvals = shift; + return sprintf("%d Value%s found\n", $nvals, $nvals > 1 ? 's' : ''); +} + +1; + +__DATA__ +--- +a1d8f6310/cpu-0/cpu-idle: + value: 9.999973e+01 +a1d8f6310/cpu-0/cpu-interrupt: + value: 0.000000e+00 +a1d8f6310/cpu-0/cpu-nice: + value: 0.000000e+00 +a1d8f6310/cpu-0/cpu-softirq: + value: 0.000000e+00 +a1d8f6310/cpu-0/cpu-steal: + value: 0.000000e+00 +a1d8f6310/cpu-0/cpu-system: + value: 0.000000e+00 +a1d8f6310/cpu-0/cpu-user: + value: 9.999996e-02 +a1d8f6310/cpu-0/cpu-wait: + value: 0.000000e+00 +a1d8f6310/cpu-1/cpu-idle: + value: 9.989979e+01 +a1d8f6310/cpu-1/cpu-interrupt: + value: 0.000000e+00 +a1d8f6310/cpu-1/cpu-nice: + value: 0.000000e+00 +a1d8f6310/cpu-1/cpu-softirq: + value: 0.000000e+00 +a1d8f6310/cpu-1/cpu-steal: + value: 0.000000e+00 +a1d8f6310/cpu-1/cpu-system: + value: 0.000000e+00 +a1d8f6310/cpu-1/cpu-user: + value: 0.000000e+00 +a1d8f6310/cpu-1/cpu-wait: + value: 0.000000e+00 +a1d8f6310/df-boot/df_complex-free: + value: 4.368712e+08 +a1d8f6310/df-boot/df_complex-reserved: + value: 2.684109e+07 +a1d8f6310/df-boot/df_complex-used: + value: 6.471270e+07 +a1d8f6310/df-boot/df_inodes-free: + value: 3.271800e+04 +a1d8f6310/df-boot/df_inodes-reserved: + value: 0.000000e+00 +a1d8f6310/df-boot/df_inodes-used: + value: 5.000000e+01 +a1d8f6310/df-boot/percent_bytes-free: + value: 8.267421e+01 +a1d8f6310/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +a1d8f6310/df-boot/percent_bytes-used: + value: 1.224634e+01 +a1d8f6310/df-boot/percent_inodes-free: + value: 9.984741e+01 +a1d8f6310/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +a1d8f6310/df-boot/percent_inodes-used: + value: 1.525879e-01 +a1d8f6310/df-data1/df_complex-free: + value: 2.636943e+10 +a1d8f6310/df-data1/df_complex-reserved: + value: 1.476235e+09 +a1d8f6310/df-data1/df_complex-used: + value: 1.215783e+09 +a1d8f6310/df-data1/df_inodes-free: + value: 1.797470e+06 +a1d8f6310/df-data1/df_inodes-reserved: + value: 0.000000e+00 +a1d8f6310/df-data1/df_inodes-used: + value: 4.770000e+03 +a1d8f6310/df-data1/percent_bytes-free: + value: 9.073681e+01 +a1d8f6310/df-data1/percent_bytes-reserved: + value: 5.079704e+00 +a1d8f6310/df-data1/percent_bytes-used: + value: 4.183491e+00 +a1d8f6310/df-data1/percent_inodes-free: + value: 9.973533e+01 +a1d8f6310/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +a1d8f6310/df-data1/percent_inodes-used: + value: 2.646706e-01 +a1d8f6310/df-dev-shm/df_complex-free: + value: 9.842483e+08 +a1d8f6310/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +a1d8f6310/df-dev-shm/df_complex-used: + value: 0.000000e+00 +a1d8f6310/df-dev-shm/df_inodes-free: + value: 2.402940e+05 +a1d8f6310/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +a1d8f6310/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +a1d8f6310/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +a1d8f6310/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +a1d8f6310/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +a1d8f6310/df-dev-shm/percent_inodes-free: + value: 9.999958e+01 +a1d8f6310/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +a1d8f6310/df-dev-shm/percent_inodes-used: + value: 4.161551e-04 +a1d8f6310/df-root/df_complex-free: + value: 1.072081e+10 +a1d8f6310/df-root/df_complex-reserved: + value: 6.442435e+08 +a1d8f6310/df-root/df_complex-used: + value: 1.317655e+09 +a1d8f6310/df-root/df_inodes-free: + value: 7.423750e+05 +a1d8f6310/df-root/df_inodes-reserved: + value: 0.000000e+00 +a1d8f6310/df-root/df_inodes-used: + value: 4.405700e+04 +a1d8f6310/df-root/percent_bytes-free: + value: 8.453092e+01 +a1d8f6310/df-root/percent_bytes-reserved: + value: 5.079700e+00 +a1d8f6310/df-root/percent_bytes-used: + value: 1.038938e+01 +a1d8f6310/df-root/percent_inodes-free: + value: 9.439786e+01 +a1d8f6310/df-root/percent_inodes-reserved: + value: 0.000000e+00 +a1d8f6310/df-root/percent_inodes-used: + value: 5.602138e+00 +a1d8f6310/df-var/df_complex-free: + value: 7.454015e+09 +a1d8f6310/df-var/df_complex-reserved: + value: 4.294943e+08 +a1d8f6310/df-var/df_complex-used: + value: 5.716091e+08 +a1d8f6310/df-var/df_inodes-free: + value: 5.222690e+05 +a1d8f6310/df-var/df_inodes-reserved: + value: 0.000000e+00 +a1d8f6310/df-var/df_inodes-used: + value: 2.019000e+03 +a1d8f6310/df-var/percent_bytes-free: + value: 8.815979e+01 +a1d8f6310/df-var/percent_bytes-reserved: + value: 5.079695e+00 +a1d8f6310/df-var/percent_bytes-used: + value: 6.760509e+00 +a1d8f6310/df-var/percent_inodes-free: + value: 9.961491e+01 +a1d8f6310/df-var/percent_inodes-reserved: + value: 0.000000e+00 +a1d8f6310/df-var/percent_inodes-used: + value: 3.850937e-01 +a1d8f6310/disk-vda/disk_merged: + read: 0.000000e+00 + write: 9.999910e-02 +a1d8f6310/disk-vda/disk_octets: + read: 0.000000e+00 + write: 1.228789e+03 +a1d8f6310/disk-vda/disk_ops: + read: 0.000000e+00 + write: 1.999982e-01 +a1d8f6310/disk-vda/disk_time: + read: 0.000000e+00 + write: 4.999955e-01 +a1d8f6310/disk-vda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda2/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda2/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda2/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda2/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda3/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda3/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda3/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda3/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6310/disk-vda6/disk_merged: + read: 0.000000e+00 + write: 9.999878e-02 +a1d8f6310/disk-vda6/disk_octets: + read: 0.000000e+00 + write: 1.228786e+03 +a1d8f6310/disk-vda6/disk_ops: + read: 0.000000e+00 + write: 1.999976e-01 +a1d8f6310/disk-vda6/disk_time: + read: 0.000000e+00 + write: 4.999941e-01 +a1d8f6310/load/load: + longterm: 7.000000e-02 + midterm: 6.000000e-02 + shortterm: 0.000000e+00 +a1d8f6310/memory/memory-buffered: + value: 2.348646e+08 +a1d8f6310/memory/memory-cached: + value: 5.790310e+08 +a1d8f6310/memory/memory-free: + value: 2.351022e+08 +a1d8f6310/memory/memory-used: + value: 9.194988e+08 +a1d8f6310/network/if_octets: + rx: 0.000000e+00 + tx: 6.586002e+02 +a1d8f6310/network/if_packets: + rx: 0.000000e+00 + tx: 4.999991e-01 +a1d8f6310/network/queue_length: + value: 0.000000e+00 +a1d8f6310/network/total_values-dispatch-accepted: + value: 0.000000e+00 +a1d8f6310/network/total_values-dispatch-rejected: + value: 0.000000e+00 +a1d8f6310/network/total_values-send-accepted: + value: 1.480003e+01 +a1d8f6310/network/total_values-send-rejected: + value: 0.000000e+00 +a1d8f6310/swap/swap-cached: + value: 4.173824e+06 +a1d8f6310/swap/swap-free: + value: 2.118148e+09 +a1d8f6310/swap/swap-used: + value: 2.515354e+07 +a1d8f6310/swap/swap_io-in: + value: 0.000000e+00 +a1d8f6310/swap/swap_io-out: + value: 0.000000e+00 +a1d8f6310/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 6.999952e-01 +a1d8f6310/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 0.000000e+00 +a1d8f6310/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +a1d8f6310/vmem/vmpage_number-active_anon: + value: 5.748900e+04 +a1d8f6310/vmem/vmpage_number-active_file: + value: 1.023940e+05 +a1d8f6310/vmem/vmpage_number-anon_pages: + value: 5.851400e+04 +a1d8f6310/vmem/vmpage_number-anon_transparent_hugepages: + value: 1.920000e+02 +a1d8f6310/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +a1d8f6310/vmem/vmpage_number-dirty: + value: 2.000000e+00 +a1d8f6310/vmem/vmpage_number-file_pages: + value: 1.997240e+05 +a1d8f6310/vmem/vmpage_number-free_pages: + value: 5.739800e+04 +a1d8f6310/vmem/vmpage_number-inactive_anon: + value: 1.004470e+05 +a1d8f6310/vmem/vmpage_number-inactive_file: + value: 9.618100e+04 +a1d8f6310/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +a1d8f6310/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +a1d8f6310/vmem/vmpage_number-kernel_stack: + value: 1.280000e+02 +a1d8f6310/vmem/vmpage_number-mapped: + value: 4.414000e+03 +a1d8f6310/vmem/vmpage_number-mlock: + value: 0.000000e+00 +a1d8f6310/vmem/vmpage_number-page_table_pages: + value: 2.171000e+03 +a1d8f6310/vmem/vmpage_number-shmem: + value: 1.290000e+02 +a1d8f6310/vmem/vmpage_number-slab_reclaimable: + value: 5.264400e+04 +a1d8f6310/vmem/vmpage_number-slab_unreclaimable: + value: 5.743000e+03 +a1d8f6310/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +a1d8f6310/vmem/vmpage_number-unstable: + value: 0.000000e+00 +a1d8f6310/vmem/vmpage_number-vmscan_write: + value: 7.366000e+03 +a1d8f6310/vmem/vmpage_number-writeback: + value: 0.000000e+00 +a1d8f6310/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +a1d8f6410/cpu-0/cpu-idle: + value: 9.920010e+01 +a1d8f6410/cpu-0/cpu-interrupt: + value: 0.000000e+00 +a1d8f6410/cpu-0/cpu-nice: + value: 0.000000e+00 +a1d8f6410/cpu-0/cpu-softirq: + value: 0.000000e+00 +a1d8f6410/cpu-0/cpu-steal: + value: 0.000000e+00 +a1d8f6410/cpu-0/cpu-system: + value: 1.000001e-01 +a1d8f6410/cpu-0/cpu-user: + value: 3.000003e-01 +a1d8f6410/cpu-0/cpu-wait: + value: 0.000000e+00 +a1d8f6410/cpu-1/cpu-idle: + value: 9.900000e+01 +a1d8f6410/cpu-1/cpu-interrupt: + value: 0.000000e+00 +a1d8f6410/cpu-1/cpu-nice: + value: 0.000000e+00 +a1d8f6410/cpu-1/cpu-softirq: + value: 0.000000e+00 +a1d8f6410/cpu-1/cpu-steal: + value: 0.000000e+00 +a1d8f6410/cpu-1/cpu-system: + value: 2.000000e-01 +a1d8f6410/cpu-1/cpu-user: + value: 2.000002e-01 +a1d8f6410/cpu-1/cpu-wait: + value: 2.000000e-01 +a1d8f6410/df-boot/df_complex-free: + value: 4.369080e+08 +a1d8f6410/df-boot/df_complex-reserved: + value: 2.684109e+07 +a1d8f6410/df-boot/df_complex-used: + value: 6.467584e+07 +a1d8f6410/df-boot/df_inodes-free: + value: 3.271800e+04 +a1d8f6410/df-boot/df_inodes-reserved: + value: 0.000000e+00 +a1d8f6410/df-boot/df_inodes-used: + value: 5.000000e+01 +a1d8f6410/df-boot/percent_bytes-free: + value: 8.268118e+01 +a1d8f6410/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +a1d8f6410/df-boot/percent_bytes-used: + value: 1.223936e+01 +a1d8f6410/df-boot/percent_inodes-free: + value: 9.984741e+01 +a1d8f6410/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +a1d8f6410/df-boot/percent_inodes-used: + value: 1.525879e-01 +a1d8f6410/df-data1/df_complex-free: + value: 2.740489e+10 +a1d8f6410/df-data1/df_complex-reserved: + value: 1.476235e+09 +a1d8f6410/df-data1/df_complex-used: + value: 1.803182e+08 +a1d8f6410/df-data1/df_inodes-free: + value: 1.802223e+06 +a1d8f6410/df-data1/df_inodes-reserved: + value: 0.000000e+00 +a1d8f6410/df-data1/df_inodes-used: + value: 1.700000e+01 +a1d8f6410/df-data1/percent_bytes-free: + value: 9.429982e+01 +a1d8f6410/df-data1/percent_bytes-reserved: + value: 5.079704e+00 +a1d8f6410/df-data1/percent_bytes-used: + value: 6.204723e-01 +a1d8f6410/df-data1/percent_inodes-free: + value: 9.999906e+01 +a1d8f6410/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +a1d8f6410/df-data1/percent_inodes-used: + value: 9.432706e-04 +a1d8f6410/df-dev-shm/df_complex-free: + value: 2.008437e+09 +a1d8f6410/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +a1d8f6410/df-dev-shm/df_complex-used: + value: 0.000000e+00 +a1d8f6410/df-dev-shm/df_inodes-free: + value: 4.903400e+05 +a1d8f6410/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +a1d8f6410/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +a1d8f6410/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +a1d8f6410/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +a1d8f6410/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +a1d8f6410/df-dev-shm/percent_inodes-free: + value: 9.999979e+01 +a1d8f6410/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +a1d8f6410/df-dev-shm/percent_inodes-used: + value: 2.039397e-04 +a1d8f6410/df-root/df_complex-free: + value: 1.030750e+10 +a1d8f6410/df-root/df_complex-reserved: + value: 6.442435e+08 +a1d8f6410/df-root/df_complex-used: + value: 1.730961e+09 +a1d8f6410/df-root/df_inodes-free: + value: 7.294150e+05 +a1d8f6410/df-root/df_inodes-reserved: + value: 0.000000e+00 +a1d8f6410/df-root/df_inodes-used: + value: 5.701700e+04 +a1d8f6410/df-root/percent_bytes-free: + value: 8.127210e+01 +a1d8f6410/df-root/percent_bytes-reserved: + value: 5.079700e+00 +a1d8f6410/df-root/percent_bytes-used: + value: 1.364820e+01 +a1d8f6410/df-root/percent_inodes-free: + value: 9.274991e+01 +a1d8f6410/df-root/percent_inodes-reserved: + value: 0.000000e+00 +a1d8f6410/df-root/percent_inodes-used: + value: 7.250086e+00 +a1d8f6410/df-var/df_complex-free: + value: 6.861853e+09 +a1d8f6410/df-var/df_complex-reserved: + value: 4.294943e+08 +a1d8f6410/df-var/df_complex-used: + value: 1.163772e+09 +a1d8f6410/df-var/df_inodes-free: + value: 5.104480e+05 +a1d8f6410/df-var/df_inodes-reserved: + value: 0.000000e+00 +a1d8f6410/df-var/df_inodes-used: + value: 1.384000e+04 +a1d8f6410/df-var/percent_bytes-free: + value: 8.115620e+01 +a1d8f6410/df-var/percent_bytes-reserved: + value: 5.079695e+00 +a1d8f6410/df-var/percent_bytes-used: + value: 1.376411e+01 +a1d8f6410/df-var/percent_inodes-free: + value: 9.736023e+01 +a1d8f6410/df-var/percent_inodes-reserved: + value: 0.000000e+00 +a1d8f6410/df-var/percent_inodes-used: + value: 2.639771e+00 +a1d8f6410/disk-vda/disk_merged: + read: 0.000000e+00 + write: 3.569994e+01 +a1d8f6410/disk-vda/disk_octets: + read: 0.000000e+00 + write: 1.724413e+05 +a1d8f6410/disk-vda/disk_ops: + read: 0.000000e+00 + write: 6.399989e+00 +a1d8f6410/disk-vda/disk_time: + read: 0.000000e+00 + write: 3.099995e+01 +a1d8f6410/disk-vda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6410/disk-vda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6410/disk-vda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6410/disk-vda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6410/disk-vda2/disk_merged: + read: 0.000000e+00 + write: 3.999993e-01 +a1d8f6410/disk-vda2/disk_octets: + read: 0.000000e+00 + write: 7.372786e+03 +a1d8f6410/disk-vda2/disk_ops: + read: 0.000000e+00 + write: 1.399997e+00 +a1d8f6410/disk-vda2/disk_time: + read: 0.000000e+00 + write: 9.999982e-01 +a1d8f6410/disk-vda3/disk_merged: + read: 0.000000e+00 + write: 3.529993e+01 +a1d8f6410/disk-vda3/disk_octets: + read: 0.000000e+00 + write: 1.650685e+05 +a1d8f6410/disk-vda3/disk_ops: + read: 0.000000e+00 + write: 4.999991e+00 +a1d8f6410/disk-vda3/disk_time: + read: 0.000000e+00 + write: 3.939993e+01 +a1d8f6410/disk-vda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6410/disk-vda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6410/disk-vda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6410/disk-vda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6410/disk-vda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6410/disk-vda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6410/disk-vda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6410/disk-vda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6410/disk-vda6/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6410/disk-vda6/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6410/disk-vda6/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6410/disk-vda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1d8f6410/load/load: + longterm: 0.000000e+00 + midterm: 3.000000e-02 + shortterm: 5.000000e-02 +a1d8f6410/memory/memory-buffered: + value: 3.095921e+08 +a1d8f6410/memory/memory-cached: + value: 1.241870e+09 +a1d8f6410/memory/memory-free: + value: 2.926060e+08 +a1d8f6410/memory/memory-used: + value: 2.172809e+09 +a1d8f6410/network/if_octets: + rx: 0.000000e+00 + tx: 6.586998e+02 +a1d8f6410/network/if_packets: + rx: 0.000000e+00 + tx: 4.999999e-01 +a1d8f6410/network/queue_length: + value: 0.000000e+00 +a1d8f6410/network/total_values-dispatch-accepted: + value: 0.000000e+00 +a1d8f6410/network/total_values-dispatch-rejected: + value: 0.000000e+00 +a1d8f6410/network/total_values-send-accepted: + value: 1.479998e+01 +a1d8f6410/network/total_values-send-rejected: + value: 0.000000e+00 +a1d8f6410/swap/swap-cached: + value: 2.048000e+05 +a1d8f6410/swap/swap-free: + value: 2.147271e+09 +a1d8f6410/swap/swap-used: + value: 0.000000e+00 +a1d8f6410/swap/swap_io-in: + value: 0.000000e+00 +a1d8f6410/swap/swap_io-out: + value: 0.000000e+00 +a1d8f6410/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 6.400115e+00 +a1d8f6410/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 1.684030e+02 +a1d8f6410/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +a1d8f6410/vmem/vmpage_number-active_anon: + value: 2.143920e+05 +a1d8f6410/vmem/vmpage_number-active_file: + value: 1.979880e+05 +a1d8f6410/vmem/vmpage_number-anon_pages: + value: 2.734200e+04 +a1d8f6410/vmem/vmpage_number-anon_transparent_hugepages: + value: 3.880000e+02 +a1d8f6410/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +a1d8f6410/vmem/vmpage_number-dirty: + value: 2.700000e+01 +a1d8f6410/vmem/vmpage_number-file_pages: + value: 3.788250e+05 +a1d8f6410/vmem/vmpage_number-free_pages: + value: 7.143700e+04 +a1d8f6410/vmem/vmpage_number-inactive_anon: + value: 1.176200e+04 +a1d8f6410/vmem/vmpage_number-inactive_file: + value: 1.806700e+05 +a1d8f6410/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +a1d8f6410/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +a1d8f6410/vmem/vmpage_number-kernel_stack: + value: 3.000000e+02 +a1d8f6410/vmem/vmpage_number-mapped: + value: 1.012100e+04 +a1d8f6410/vmem/vmpage_number-mlock: + value: 0.000000e+00 +a1d8f6410/vmem/vmpage_number-page_table_pages: + value: 1.602000e+03 +a1d8f6410/vmem/vmpage_number-shmem: + value: 1.170000e+02 +a1d8f6410/vmem/vmpage_number-slab_reclaimable: + value: 2.856060e+05 +a1d8f6410/vmem/vmpage_number-slab_unreclaimable: + value: 6.201000e+03 +a1d8f6410/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +a1d8f6410/vmem/vmpage_number-unstable: + value: 0.000000e+00 +a1d8f6410/vmem/vmpage_number-vmscan_write: + value: 7.900000e+01 +a1d8f6410/vmem/vmpage_number-writeback: + value: 0.000000e+00 +a1d8f6410/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +a1ddf6210/cpu-0/cpu-idle: + value: 9.020090e+01 +a1ddf6210/cpu-0/cpu-interrupt: + value: 0.000000e+00 +a1ddf6210/cpu-0/cpu-nice: + value: 0.000000e+00 +a1ddf6210/cpu-0/cpu-softirq: + value: 4.000034e-01 +a1ddf6210/cpu-0/cpu-steal: + value: 0.000000e+00 +a1ddf6210/cpu-0/cpu-system: + value: 3.000031e-01 +a1ddf6210/cpu-0/cpu-user: + value: 4.200047e+00 +a1ddf6210/cpu-0/cpu-wait: + value: 0.000000e+00 +a1ddf6210/cpu-1/cpu-idle: + value: 9.969991e+01 +a1ddf6210/cpu-1/cpu-interrupt: + value: 0.000000e+00 +a1ddf6210/cpu-1/cpu-nice: + value: 0.000000e+00 +a1ddf6210/cpu-1/cpu-softirq: + value: 0.000000e+00 +a1ddf6210/cpu-1/cpu-steal: + value: 0.000000e+00 +a1ddf6210/cpu-1/cpu-system: + value: 0.000000e+00 +a1ddf6210/cpu-1/cpu-user: + value: 2.000011e-01 +a1ddf6210/cpu-1/cpu-wait: + value: 0.000000e+00 +a1ddf6210/cpu-10/cpu-idle: + value: 9.979942e+01 +a1ddf6210/cpu-10/cpu-interrupt: + value: 0.000000e+00 +a1ddf6210/cpu-10/cpu-nice: + value: 0.000000e+00 +a1ddf6210/cpu-10/cpu-softirq: + value: 0.000000e+00 +a1ddf6210/cpu-10/cpu-steal: + value: 0.000000e+00 +a1ddf6210/cpu-10/cpu-system: + value: 0.000000e+00 +a1ddf6210/cpu-10/cpu-user: + value: 9.999943e-02 +a1ddf6210/cpu-10/cpu-wait: + value: 0.000000e+00 +a1ddf6210/cpu-11/cpu-idle: + value: 9.989938e+01 +a1ddf6210/cpu-11/cpu-interrupt: + value: 0.000000e+00 +a1ddf6210/cpu-11/cpu-nice: + value: 0.000000e+00 +a1ddf6210/cpu-11/cpu-softirq: + value: 0.000000e+00 +a1ddf6210/cpu-11/cpu-steal: + value: 0.000000e+00 +a1ddf6210/cpu-11/cpu-system: + value: 9.999938e-02 +a1ddf6210/cpu-11/cpu-user: + value: 0.000000e+00 +a1ddf6210/cpu-11/cpu-wait: + value: 0.000000e+00 +a1ddf6210/cpu-2/cpu-idle: + value: 9.959987e+01 +a1ddf6210/cpu-2/cpu-interrupt: + value: 0.000000e+00 +a1ddf6210/cpu-2/cpu-nice: + value: 0.000000e+00 +a1ddf6210/cpu-2/cpu-softirq: + value: 0.000000e+00 +a1ddf6210/cpu-2/cpu-steal: + value: 0.000000e+00 +a1ddf6210/cpu-2/cpu-system: + value: 1.999997e-01 +a1ddf6210/cpu-2/cpu-user: + value: 9.999988e-02 +a1ddf6210/cpu-2/cpu-wait: + value: 0.000000e+00 +a1ddf6210/cpu-3/cpu-idle: + value: 9.989985e+01 +a1ddf6210/cpu-3/cpu-interrupt: + value: 0.000000e+00 +a1ddf6210/cpu-3/cpu-nice: + value: 0.000000e+00 +a1ddf6210/cpu-3/cpu-softirq: + value: 0.000000e+00 +a1ddf6210/cpu-3/cpu-steal: + value: 0.000000e+00 +a1ddf6210/cpu-3/cpu-system: + value: 0.000000e+00 +a1ddf6210/cpu-3/cpu-user: + value: 0.000000e+00 +a1ddf6210/cpu-3/cpu-wait: + value: 0.000000e+00 +a1ddf6210/cpu-4/cpu-idle: + value: 9.989964e+01 +a1ddf6210/cpu-4/cpu-interrupt: + value: 0.000000e+00 +a1ddf6210/cpu-4/cpu-nice: + value: 0.000000e+00 +a1ddf6210/cpu-4/cpu-softirq: + value: 0.000000e+00 +a1ddf6210/cpu-4/cpu-steal: + value: 0.000000e+00 +a1ddf6210/cpu-4/cpu-system: + value: 0.000000e+00 +a1ddf6210/cpu-4/cpu-user: + value: 0.000000e+00 +a1ddf6210/cpu-4/cpu-wait: + value: 0.000000e+00 +a1ddf6210/cpu-5/cpu-idle: + value: 9.989956e+01 +a1ddf6210/cpu-5/cpu-interrupt: + value: 0.000000e+00 +a1ddf6210/cpu-5/cpu-nice: + value: 0.000000e+00 +a1ddf6210/cpu-5/cpu-softirq: + value: 0.000000e+00 +a1ddf6210/cpu-5/cpu-steal: + value: 0.000000e+00 +a1ddf6210/cpu-5/cpu-system: + value: 0.000000e+00 +a1ddf6210/cpu-5/cpu-user: + value: 0.000000e+00 +a1ddf6210/cpu-5/cpu-wait: + value: 0.000000e+00 +a1ddf6210/cpu-6/cpu-idle: + value: 8.899957e+01 +a1ddf6210/cpu-6/cpu-interrupt: + value: 0.000000e+00 +a1ddf6210/cpu-6/cpu-nice: + value: 0.000000e+00 +a1ddf6210/cpu-6/cpu-softirq: + value: 0.000000e+00 +a1ddf6210/cpu-6/cpu-steal: + value: 0.000000e+00 +a1ddf6210/cpu-6/cpu-system: + value: 1.599993e+00 +a1ddf6210/cpu-6/cpu-user: + value: 9.499956e+00 +a1ddf6210/cpu-6/cpu-wait: + value: 0.000000e+00 +a1ddf6210/cpu-7/cpu-idle: + value: 9.969946e+01 +a1ddf6210/cpu-7/cpu-interrupt: + value: 0.000000e+00 +a1ddf6210/cpu-7/cpu-nice: + value: 0.000000e+00 +a1ddf6210/cpu-7/cpu-softirq: + value: 0.000000e+00 +a1ddf6210/cpu-7/cpu-steal: + value: 0.000000e+00 +a1ddf6210/cpu-7/cpu-system: + value: 1.999989e-01 +a1ddf6210/cpu-7/cpu-user: + value: 9.999947e-02 +a1ddf6210/cpu-7/cpu-wait: + value: 0.000000e+00 +a1ddf6210/cpu-8/cpu-idle: + value: 9.079948e+01 +a1ddf6210/cpu-8/cpu-interrupt: + value: 0.000000e+00 +a1ddf6210/cpu-8/cpu-nice: + value: 0.000000e+00 +a1ddf6210/cpu-8/cpu-softirq: + value: 0.000000e+00 +a1ddf6210/cpu-8/cpu-steal: + value: 0.000000e+00 +a1ddf6210/cpu-8/cpu-system: + value: 8.999950e-01 +a1ddf6210/cpu-8/cpu-user: + value: 8.099954e+00 +a1ddf6210/cpu-8/cpu-wait: + value: 0.000000e+00 +a1ddf6210/cpu-9/cpu-idle: + value: 9.989942e+01 +a1ddf6210/cpu-9/cpu-interrupt: + value: 0.000000e+00 +a1ddf6210/cpu-9/cpu-nice: + value: 0.000000e+00 +a1ddf6210/cpu-9/cpu-softirq: + value: 0.000000e+00 +a1ddf6210/cpu-9/cpu-steal: + value: 0.000000e+00 +a1ddf6210/cpu-9/cpu-system: + value: 9.999942e-02 +a1ddf6210/cpu-9/cpu-user: + value: 0.000000e+00 +a1ddf6210/cpu-9/cpu-wait: + value: 0.000000e+00 +a1ddf6210/df-boot/df_complex-free: + value: 3.880919e+08 +a1ddf6210/df-boot/df_complex-reserved: + value: 2.684109e+07 +a1ddf6210/df-boot/df_complex-used: + value: 1.134920e+08 +a1ddf6210/df-boot/df_inodes-free: + value: 3.270600e+04 +a1ddf6210/df-boot/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6210/df-boot/df_inodes-used: + value: 6.200000e+01 +a1ddf6210/df-boot/percent_bytes-free: + value: 7.344315e+01 +a1ddf6210/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +a1ddf6210/df-boot/percent_bytes-used: + value: 2.147740e+01 +a1ddf6210/df-boot/percent_inodes-free: + value: 9.981079e+01 +a1ddf6210/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6210/df-boot/percent_inodes-used: + value: 1.892090e-01 +a1ddf6210/df-data1/df_complex-free: + value: 5.390209e+11 +a1ddf6210/df-data1/df_complex-reserved: + value: 2.933339e+10 +a1ddf6210/df-data1/df_complex-used: + value: 9.088414e+09 +a1ddf6210/df-data1/df_inodes-free: + value: 3.587710e+07 +a1ddf6210/df-data1/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6210/df-data1/df_inodes-used: + value: 7.000000e+01 +a1ddf6210/df-data1/percent_bytes-free: + value: 9.334621e+01 +a1ddf6210/df-data1/percent_bytes-reserved: + value: 5.079879e+00 +a1ddf6210/df-data1/percent_bytes-used: + value: 1.573908e+00 +a1ddf6210/df-data1/percent_inodes-free: + value: 9.999979e+01 +a1ddf6210/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6210/df-data1/percent_inodes-used: + value: 1.951102e-04 +a1ddf6210/df-data2/df_complex-free: + value: 1.042212e+13 +a1ddf6210/df-data2/df_complex-reserved: + value: 1.200219e+11 +a1ddf6210/df-data2/df_complex-used: + value: 1.271712e+12 +a1ddf6210/df-data2/df_inodes-free: + value: 7.319628e+08 +a1ddf6210/df-data2/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6210/df-data2/df_inodes-used: + value: 5.985960e+05 +a1ddf6210/df-data2/percent_bytes-free: + value: 8.821947e+01 +a1ddf6210/df-data2/percent_bytes-reserved: + value: 1.015942e+00 +a1ddf6210/df-data2/percent_bytes-used: + value: 1.076458e+01 +a1ddf6210/df-data2/percent_inodes-free: + value: 9.991829e+01 +a1ddf6210/df-data2/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6210/df-data2/percent_inodes-used: + value: 8.171274e-02 +a1ddf6210/df-data3/df_complex-free: + value: 1.143610e+13 +a1ddf6210/df-data3/df_complex-reserved: + value: 1.200219e+11 +a1ddf6210/df-data3/df_complex-used: + value: 2.577290e+11 +a1ddf6210/df-data3/df_inodes-free: + value: 7.323576e+08 +a1ddf6210/df-data3/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6210/df-data3/df_inodes-used: + value: 2.037680e+05 +a1ddf6210/df-data3/percent_bytes-free: + value: 9.680247e+01 +a1ddf6210/df-data3/percent_bytes-reserved: + value: 1.015942e+00 +a1ddf6210/df-data3/percent_bytes-used: + value: 2.181582e+00 +a1ddf6210/df-data3/percent_inodes-free: + value: 9.997218e+01 +a1ddf6210/df-data3/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6210/df-data3/percent_inodes-used: + value: 2.781583e-02 +a1ddf6210/df-dev-shm/df_complex-free: + value: 3.375733e+10 +a1ddf6210/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +a1ddf6210/df-dev-shm/df_complex-used: + value: 0.000000e+00 +a1ddf6210/df-dev-shm/df_inodes-free: + value: 8.241535e+06 +a1ddf6210/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6210/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +a1ddf6210/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +a1ddf6210/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +a1ddf6210/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +a1ddf6210/df-dev-shm/percent_inodes-free: + value: 9.999998e+01 +a1ddf6210/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6210/df-dev-shm/percent_inodes-used: + value: 1.213366e-05 +a1ddf6210/df-root/df_complex-free: + value: 2.006712e+08 +a1ddf6210/df-root/df_complex-reserved: + value: 1.073725e+08 +a1ddf6210/df-root/df_complex-used: + value: 1.805705e+09 +a1ddf6210/df-root/df_inodes-free: + value: 7.542600e+04 +a1ddf6210/df-root/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6210/df-root/df_inodes-used: + value: 5.564600e+04 +a1ddf6210/df-root/percent_bytes-free: + value: 9.493617e+00 +a1ddf6210/df-root/percent_bytes-reserved: + value: 5.079720e+00 +a1ddf6210/df-root/percent_bytes-used: + value: 8.542667e+01 +a1ddf6210/df-root/percent_inodes-free: + value: 5.754547e+01 +a1ddf6210/df-root/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6210/df-root/percent_inodes-used: + value: 4.245453e+01 +a1ddf6210/df-tmp/df_complex-free: + value: 1.102356e+08 +a1ddf6210/df-tmp/df_complex-reserved: + value: 0.000000e+00 +a1ddf6210/df-tmp/df_complex-used: + value: 2.398208e+07 +a1ddf6210/df-tmp/df_inodes-free: + value: 8.241515e+06 +a1ddf6210/df-tmp/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6210/df-tmp/df_inodes-used: + value: 2.100000e+01 +a1ddf6210/df-tmp/percent_bytes-free: + value: 8.213196e+01 +a1ddf6210/df-tmp/percent_bytes-reserved: + value: 0.000000e+00 +a1ddf6210/df-tmp/percent_bytes-used: + value: 1.786804e+01 +a1ddf6210/df-tmp/percent_inodes-free: + value: 9.999974e+01 +a1ddf6210/df-tmp/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6210/df-tmp/percent_inodes-used: + value: 2.548069e-04 +a1ddf6210/df-var/df_complex-free: + value: 6.870528e+09 +a1ddf6210/df-var/df_complex-reserved: + value: 4.294943e+08 +a1ddf6210/df-var/df_complex-used: + value: 1.155097e+09 +a1ddf6210/df-var/df_inodes-free: + value: 5.196230e+05 +a1ddf6210/df-var/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6210/df-var/df_inodes-used: + value: 4.665000e+03 +a1ddf6210/df-var/percent_bytes-free: + value: 8.125880e+01 +a1ddf6210/df-var/percent_bytes-reserved: + value: 5.079695e+00 +a1ddf6210/df-var/percent_bytes-used: + value: 1.366151e+01 +a1ddf6210/df-var/percent_inodes-free: + value: 9.911022e+01 +a1ddf6210/df-var/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6210/df-var/percent_inodes-used: + value: 8.897781e-01 +a1ddf6210/disk-sda/disk_merged: + read: 0.000000e+00 + write: 2.080016e+01 +a1ddf6210/disk-sda/disk_octets: + read: 0.000000e+00 + write: 1.212425e+05 +a1ddf6210/disk-sda/disk_ops: + read: 0.000000e+00 + write: 8.700063e+00 +a1ddf6210/disk-sda/disk_time: + read: 0.000000e+00 + write: 1.000007e-01 +a1ddf6210/disk-sda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sda2/disk_merged: + read: 0.000000e+00 + write: 1.960018e+01 +a1ddf6210/disk-sda2/disk_octets: + read: 0.000000e+00 + write: 1.138698e+05 +a1ddf6210/disk-sda2/disk_ops: + read: 0.000000e+00 + write: 8.200073e+00 +a1ddf6210/disk-sda2/disk_time: + read: 0.000000e+00 + write: 1.000009e-01 +a1ddf6210/disk-sda3/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sda3/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sda3/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sda3/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sda5/disk_merged: + read: 0.000000e+00 + write: 1.200011e+00 +a1ddf6210/disk-sda5/disk_octets: + read: 0.000000e+00 + write: 6.144060e+03 +a1ddf6210/disk-sda5/disk_ops: + read: 0.000000e+00 + write: 3.000029e-01 +a1ddf6210/disk-sda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sda6/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sda6/disk_octets: + read: 0.000000e+00 + write: 1.228812e+03 +a1ddf6210/disk-sda6/disk_ops: + read: 0.000000e+00 + write: 2.000019e-01 +a1ddf6210/disk-sda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sdb/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sdb/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sdb/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sdb/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sdc/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sdc/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sdc/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/disk-sdc/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6210/load/load: + longterm: 9.000000e-02 + midterm: 1.400000e-01 + shortterm: 1.400000e-01 +a1ddf6210/memory/memory-buffered: + value: 7.775150e+08 +a1ddf6210/memory/memory-cached: + value: 2.349433e+10 +a1ddf6210/memory/memory-free: + value: 2.759657e+10 +a1ddf6210/memory/memory-used: + value: 1.564624e+10 +a1ddf6210/network/if_octets: + rx: 0.000000e+00 + tx: 1.455100e+03 +a1ddf6210/network/if_packets: + rx: 0.000000e+00 + tx: 1.100000e+00 +a1ddf6210/network/queue_length: + value: 0.000000e+00 +a1ddf6210/network/total_values-dispatch-accepted: + value: 0.000000e+00 +a1ddf6210/network/total_values-dispatch-rejected: + value: 0.000000e+00 +a1ddf6210/network/total_values-send-accepted: + value: 2.720003e+01 +a1ddf6210/network/total_values-send-rejected: + value: 0.000000e+00 +a1ddf6210/swap/swap-cached: + value: 0.000000e+00 +a1ddf6210/swap/swap-free: + value: 2.147475e+09 +a1ddf6210/swap/swap-used: + value: 0.000000e+00 +a1ddf6210/swap/swap_io-in: + value: 0.000000e+00 +a1ddf6210/swap/swap_io-out: + value: 0.000000e+00 +a1ddf6210/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 1.770240e+04 +a1ddf6210/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 1.100000e+02 +a1ddf6210/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +a1ddf6210/vmem/vmpage_number-active_anon: + value: 7.455600e+05 +a1ddf6210/vmem/vmpage_number-active_file: + value: 3.175860e+05 +a1ddf6210/vmem/vmpage_number-anon_pages: + value: 5.005000e+04 +a1ddf6210/vmem/vmpage_number-anon_transparent_hugepages: + value: 1.356000e+03 +a1ddf6210/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +a1ddf6210/vmem/vmpage_number-dirty: + value: 1.550000e+02 +a1ddf6210/vmem/vmpage_number-file_pages: + value: 5.925744e+06 +a1ddf6210/vmem/vmpage_number-free_pages: + value: 6.737445e+06 +a1ddf6210/vmem/vmpage_number-inactive_anon: + value: 4.923000e+03 +a1ddf6210/vmem/vmpage_number-inactive_file: + value: 5.601994e+06 +a1ddf6210/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +a1ddf6210/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +a1ddf6210/vmem/vmpage_number-kernel_stack: + value: 3.480000e+02 +a1ddf6210/vmem/vmpage_number-mapped: + value: 6.515000e+03 +a1ddf6210/vmem/vmpage_number-mlock: + value: 0.000000e+00 +a1ddf6210/vmem/vmpage_number-page_table_pages: + value: 4.479000e+03 +a1ddf6210/vmem/vmpage_number-shmem: + value: 6.170000e+03 +a1ddf6210/vmem/vmpage_number-slab_reclaimable: + value: 2.916436e+06 +a1ddf6210/vmem/vmpage_number-slab_unreclaimable: + value: 4.737700e+04 +a1ddf6210/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +a1ddf6210/vmem/vmpage_number-unstable: + value: 0.000000e+00 +a1ddf6210/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +a1ddf6210/vmem/vmpage_number-writeback: + value: 0.000000e+00 +a1ddf6210/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +a1ddf6510/cpu-0/cpu-idle: + value: 9.159977e+01 +a1ddf6510/cpu-0/cpu-interrupt: + value: 0.000000e+00 +a1ddf6510/cpu-0/cpu-nice: + value: 0.000000e+00 +a1ddf6510/cpu-0/cpu-softirq: + value: 0.000000e+00 +a1ddf6510/cpu-0/cpu-steal: + value: 0.000000e+00 +a1ddf6510/cpu-0/cpu-system: + value: 2.999997e+00 +a1ddf6510/cpu-0/cpu-user: + value: 5.200008e+00 +a1ddf6510/cpu-0/cpu-wait: + value: 0.000000e+00 +a1ddf6510/cpu-1/cpu-idle: + value: 9.989949e+01 +a1ddf6510/cpu-1/cpu-interrupt: + value: 0.000000e+00 +a1ddf6510/cpu-1/cpu-nice: + value: 0.000000e+00 +a1ddf6510/cpu-1/cpu-softirq: + value: 0.000000e+00 +a1ddf6510/cpu-1/cpu-steal: + value: 0.000000e+00 +a1ddf6510/cpu-1/cpu-system: + value: 9.999952e-02 +a1ddf6510/cpu-1/cpu-user: + value: 0.000000e+00 +a1ddf6510/cpu-1/cpu-wait: + value: 0.000000e+00 +a1ddf6510/cpu-10/cpu-idle: + value: 9.799903e+01 +a1ddf6510/cpu-10/cpu-interrupt: + value: 0.000000e+00 +a1ddf6510/cpu-10/cpu-nice: + value: 0.000000e+00 +a1ddf6510/cpu-10/cpu-softirq: + value: 0.000000e+00 +a1ddf6510/cpu-10/cpu-steal: + value: 0.000000e+00 +a1ddf6510/cpu-10/cpu-system: + value: 1.199988e+00 +a1ddf6510/cpu-10/cpu-user: + value: 5.999943e-01 +a1ddf6510/cpu-10/cpu-wait: + value: 0.000000e+00 +a1ddf6510/cpu-11/cpu-idle: + value: 9.999894e+01 +a1ddf6510/cpu-11/cpu-interrupt: + value: 0.000000e+00 +a1ddf6510/cpu-11/cpu-nice: + value: 0.000000e+00 +a1ddf6510/cpu-11/cpu-softirq: + value: 0.000000e+00 +a1ddf6510/cpu-11/cpu-steal: + value: 0.000000e+00 +a1ddf6510/cpu-11/cpu-system: + value: 0.000000e+00 +a1ddf6510/cpu-11/cpu-user: + value: 0.000000e+00 +a1ddf6510/cpu-11/cpu-wait: + value: 0.000000e+00 +a1ddf6510/cpu-2/cpu-idle: + value: 9.989933e+01 +a1ddf6510/cpu-2/cpu-interrupt: + value: 0.000000e+00 +a1ddf6510/cpu-2/cpu-nice: + value: 0.000000e+00 +a1ddf6510/cpu-2/cpu-softirq: + value: 0.000000e+00 +a1ddf6510/cpu-2/cpu-steal: + value: 0.000000e+00 +a1ddf6510/cpu-2/cpu-system: + value: 0.000000e+00 +a1ddf6510/cpu-2/cpu-user: + value: 0.000000e+00 +a1ddf6510/cpu-2/cpu-wait: + value: 0.000000e+00 +a1ddf6510/cpu-3/cpu-idle: + value: 9.989927e+01 +a1ddf6510/cpu-3/cpu-interrupt: + value: 0.000000e+00 +a1ddf6510/cpu-3/cpu-nice: + value: 0.000000e+00 +a1ddf6510/cpu-3/cpu-softirq: + value: 9.999927e-02 +a1ddf6510/cpu-3/cpu-steal: + value: 0.000000e+00 +a1ddf6510/cpu-3/cpu-system: + value: 0.000000e+00 +a1ddf6510/cpu-3/cpu-user: + value: 0.000000e+00 +a1ddf6510/cpu-3/cpu-wait: + value: 0.000000e+00 +a1ddf6510/cpu-4/cpu-idle: + value: 9.999933e+01 +a1ddf6510/cpu-4/cpu-interrupt: + value: 0.000000e+00 +a1ddf6510/cpu-4/cpu-nice: + value: 0.000000e+00 +a1ddf6510/cpu-4/cpu-softirq: + value: 0.000000e+00 +a1ddf6510/cpu-4/cpu-steal: + value: 0.000000e+00 +a1ddf6510/cpu-4/cpu-system: + value: 0.000000e+00 +a1ddf6510/cpu-4/cpu-user: + value: 9.999930e-02 +a1ddf6510/cpu-4/cpu-wait: + value: 0.000000e+00 +a1ddf6510/cpu-5/cpu-idle: + value: 9.999932e+01 +a1ddf6510/cpu-5/cpu-interrupt: + value: 0.000000e+00 +a1ddf6510/cpu-5/cpu-nice: + value: 0.000000e+00 +a1ddf6510/cpu-5/cpu-softirq: + value: 0.000000e+00 +a1ddf6510/cpu-5/cpu-steal: + value: 0.000000e+00 +a1ddf6510/cpu-5/cpu-system: + value: 0.000000e+00 +a1ddf6510/cpu-5/cpu-user: + value: 0.000000e+00 +a1ddf6510/cpu-5/cpu-wait: + value: 0.000000e+00 +a1ddf6510/cpu-6/cpu-idle: + value: 9.589926e+01 +a1ddf6510/cpu-6/cpu-interrupt: + value: 0.000000e+00 +a1ddf6510/cpu-6/cpu-nice: + value: 0.000000e+00 +a1ddf6510/cpu-6/cpu-softirq: + value: 0.000000e+00 +a1ddf6510/cpu-6/cpu-steal: + value: 0.000000e+00 +a1ddf6510/cpu-6/cpu-system: + value: 2.099986e+00 +a1ddf6510/cpu-6/cpu-user: + value: 1.999987e+00 +a1ddf6510/cpu-6/cpu-wait: + value: 0.000000e+00 +a1ddf6510/cpu-7/cpu-idle: + value: 9.679919e+01 +a1ddf6510/cpu-7/cpu-interrupt: + value: 0.000000e+00 +a1ddf6510/cpu-7/cpu-nice: + value: 0.000000e+00 +a1ddf6510/cpu-7/cpu-softirq: + value: 0.000000e+00 +a1ddf6510/cpu-7/cpu-steal: + value: 0.000000e+00 +a1ddf6510/cpu-7/cpu-system: + value: 2.199982e+00 +a1ddf6510/cpu-7/cpu-user: + value: 1.099991e+00 +a1ddf6510/cpu-7/cpu-wait: + value: 0.000000e+00 +a1ddf6510/cpu-8/cpu-idle: + value: 9.439919e+01 +a1ddf6510/cpu-8/cpu-interrupt: + value: 0.000000e+00 +a1ddf6510/cpu-8/cpu-nice: + value: 0.000000e+00 +a1ddf6510/cpu-8/cpu-softirq: + value: 0.000000e+00 +a1ddf6510/cpu-8/cpu-steal: + value: 0.000000e+00 +a1ddf6510/cpu-8/cpu-system: + value: 4.399963e+00 +a1ddf6510/cpu-8/cpu-user: + value: 1.099991e+00 +a1ddf6510/cpu-8/cpu-wait: + value: 0.000000e+00 +a1ddf6510/cpu-9/cpu-idle: + value: 9.949910e+01 +a1ddf6510/cpu-9/cpu-interrupt: + value: 0.000000e+00 +a1ddf6510/cpu-9/cpu-nice: + value: 0.000000e+00 +a1ddf6510/cpu-9/cpu-softirq: + value: 0.000000e+00 +a1ddf6510/cpu-9/cpu-steal: + value: 0.000000e+00 +a1ddf6510/cpu-9/cpu-system: + value: 1.999982e-01 +a1ddf6510/cpu-9/cpu-user: + value: 9.999913e-02 +a1ddf6510/cpu-9/cpu-wait: + value: 0.000000e+00 +a1ddf6510/df-boot/df_complex-free: + value: 4.369039e+08 +a1ddf6510/df-boot/df_complex-reserved: + value: 2.684109e+07 +a1ddf6510/df-boot/df_complex-used: + value: 6.467994e+07 +a1ddf6510/df-boot/df_inodes-free: + value: 3.271800e+04 +a1ddf6510/df-boot/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6510/df-boot/df_inodes-used: + value: 5.000000e+01 +a1ddf6510/df-boot/percent_bytes-free: + value: 8.268041e+01 +a1ddf6510/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +a1ddf6510/df-boot/percent_bytes-used: + value: 1.224014e+01 +a1ddf6510/df-boot/percent_inodes-free: + value: 9.984741e+01 +a1ddf6510/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6510/df-boot/percent_inodes-used: + value: 1.525879e-01 +a1ddf6510/df-data1/df_complex-free: + value: 5.378703e+11 +a1ddf6510/df-data1/df_complex-reserved: + value: 2.879652e+10 +a1ddf6510/df-data1/df_complex-used: + value: 2.072412e+08 +a1ddf6510/df-data1/df_inodes-free: + value: 3.522052e+07 +a1ddf6510/df-data1/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6510/df-data1/df_inodes-used: + value: 1.300000e+01 +a1ddf6510/df-data1/percent_bytes-free: + value: 9.488357e+01 +a1ddf6510/df-data1/percent_bytes-reserved: + value: 5.079879e+00 +a1ddf6510/df-data1/percent_bytes-used: + value: 3.655860e-02 +a1ddf6510/df-data1/percent_inodes-free: + value: 9.999996e+01 +a1ddf6510/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6510/df-data1/percent_inodes-used: + value: 3.691029e-05 +a1ddf6510/df-dev-shm/df_complex-free: + value: 3.375725e+10 +a1ddf6510/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +a1ddf6510/df-dev-shm/df_complex-used: + value: 0.000000e+00 +a1ddf6510/df-dev-shm/df_inodes-free: + value: 8.241515e+06 +a1ddf6510/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6510/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +a1ddf6510/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +a1ddf6510/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +a1ddf6510/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +a1ddf6510/df-dev-shm/percent_inodes-free: + value: 9.999998e+01 +a1ddf6510/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6510/df-dev-shm/percent_inodes-used: + value: 1.213369e-05 +a1ddf6510/df-root/df_complex-free: + value: 1.057486e+10 +a1ddf6510/df-root/df_complex-reserved: + value: 6.442435e+08 +a1ddf6510/df-root/df_complex-used: + value: 1.463607e+09 +a1ddf6510/df-root/df_inodes-free: + value: 7.435400e+05 +a1ddf6510/df-root/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6510/df-root/df_inodes-used: + value: 4.289200e+04 +a1ddf6510/df-root/percent_bytes-free: + value: 8.338012e+01 +a1ddf6510/df-root/percent_bytes-reserved: + value: 5.079700e+00 +a1ddf6510/df-root/percent_bytes-used: + value: 1.154018e+01 +a1ddf6510/df-root/percent_inodes-free: + value: 9.454601e+01 +a1ddf6510/df-root/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6510/df-root/percent_inodes-used: + value: 5.454000e+00 +a1ddf6510/df-var/df_complex-free: + value: 6.990479e+09 +a1ddf6510/df-var/df_complex-reserved: + value: 4.294943e+08 +a1ddf6510/df-var/df_complex-used: + value: 1.035145e+09 +a1ddf6510/df-var/df_inodes-free: + value: 5.169860e+05 +a1ddf6510/df-var/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6510/df-var/df_inodes-used: + value: 7.302000e+03 +a1ddf6510/df-var/percent_bytes-free: + value: 8.267748e+01 +a1ddf6510/df-var/percent_bytes-reserved: + value: 5.079695e+00 +a1ddf6510/df-var/percent_bytes-used: + value: 1.224282e+01 +a1ddf6510/df-var/percent_inodes-free: + value: 9.860725e+01 +a1ddf6510/df-var/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6510/df-var/percent_inodes-used: + value: 1.392746e+00 +a1ddf6510/disk-sda/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda/disk_octets: + read: 0.000000e+00 + write: 2.457548e+03 +a1ddf6510/disk-sda/disk_ops: + read: 0.000000e+00 + write: 5.999873e-01 +a1ddf6510/disk-sda/disk_time: + read: 0.000000e+00 + write: 9.999788e-01 +a1ddf6510/disk-sda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda2/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda2/disk_octets: + read: 0.000000e+00 + write: 2.457548e+03 +a1ddf6510/disk-sda2/disk_ops: + read: 0.000000e+00 + write: 5.999872e-01 +a1ddf6510/disk-sda2/disk_time: + read: 0.000000e+00 + write: 9.999786e-01 +a1ddf6510/disk-sda3/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda3/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda3/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda3/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda6/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda6/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda6/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/disk-sda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6510/load/load: + longterm: 0.000000e+00 + midterm: 0.000000e+00 + shortterm: 0.000000e+00 +a1ddf6510/memory/memory-buffered: + value: 2.371871e+08 +a1ddf6510/memory/memory-cached: + value: 1.447993e+09 +a1ddf6510/memory/memory-free: + value: 6.351406e+10 +a1ddf6510/memory/memory-used: + value: 2.315260e+09 +a1ddf6510/network/if_octets: + rx: 0.000000e+00 + tx: 1.052800e+03 +a1ddf6510/network/if_packets: + rx: 0.000000e+00 + tx: 8.000000e-01 +a1ddf6510/network/queue_length: + value: 0.000000e+00 +a1ddf6510/network/total_values-dispatch-accepted: + value: 0.000000e+00 +a1ddf6510/network/total_values-dispatch-rejected: + value: 0.000000e+00 +a1ddf6510/network/total_values-send-accepted: + value: 2.280001e+01 +a1ddf6510/network/total_values-send-rejected: + value: 0.000000e+00 +a1ddf6510/swap/swap-cached: + value: 0.000000e+00 +a1ddf6510/swap/swap-free: + value: 2.147475e+09 +a1ddf6510/swap/swap-used: + value: 0.000000e+00 +a1ddf6510/swap/swap_io-in: + value: 0.000000e+00 +a1ddf6510/swap/swap_io-out: + value: 0.000000e+00 +a1ddf6510/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 3.700034e+00 +a1ddf6510/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 0.000000e+00 +a1ddf6510/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +a1ddf6510/vmem/vmpage_number-active_anon: + value: 8.369400e+04 +a1ddf6510/vmem/vmpage_number-active_file: + value: 2.449340e+05 +a1ddf6510/vmem/vmpage_number-anon_pages: + value: 4.576400e+04 +a1ddf6510/vmem/vmpage_number-anon_transparent_hugepages: + value: 7.500000e+01 +a1ddf6510/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +a1ddf6510/vmem/vmpage_number-dirty: + value: 1.000000e+00 +a1ddf6510/vmem/vmpage_number-file_pages: + value: 4.114210e+05 +a1ddf6510/vmem/vmpage_number-free_pages: + value: 1.550636e+07 +a1ddf6510/vmem/vmpage_number-inactive_anon: + value: 2.130000e+02 +a1ddf6510/vmem/vmpage_number-inactive_file: + value: 1.662360e+05 +a1ddf6510/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +a1ddf6510/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +a1ddf6510/vmem/vmpage_number-kernel_stack: + value: 3.110000e+02 +a1ddf6510/vmem/vmpage_number-mapped: + value: 6.615000e+03 +a1ddf6510/vmem/vmpage_number-mlock: + value: 0.000000e+00 +a1ddf6510/vmem/vmpage_number-page_table_pages: + value: 2.683000e+03 +a1ddf6510/vmem/vmpage_number-shmem: + value: 2.550000e+02 +a1ddf6510/vmem/vmpage_number-slab_reclaimable: + value: 3.633060e+05 +a1ddf6510/vmem/vmpage_number-slab_unreclaimable: + value: 1.422200e+04 +a1ddf6510/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +a1ddf6510/vmem/vmpage_number-unstable: + value: 0.000000e+00 +a1ddf6510/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +a1ddf6510/vmem/vmpage_number-writeback: + value: 0.000000e+00 +a1ddf6510/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +a1ddf6610/cpu-0/cpu-idle: + value: 8.969821e+01 +a1ddf6610/cpu-0/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-0/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-0/cpu-softirq: + value: 1.099984e+00 +a1ddf6610/cpu-0/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-0/cpu-system: + value: 3.499955e+00 +a1ddf6610/cpu-0/cpu-user: + value: 2.199975e+00 +a1ddf6610/cpu-0/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-1/cpu-idle: + value: 9.719322e+01 +a1ddf6610/cpu-1/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-1/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-1/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-1/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-1/cpu-system: + value: 1.899957e+00 +a1ddf6610/cpu-1/cpu-user: + value: 5.999838e-01 +a1ddf6610/cpu-1/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-10/cpu-idle: + value: 9.979814e+01 +a1ddf6610/cpu-10/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-10/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-10/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-10/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-10/cpu-system: + value: 9.999814e-02 +a1ddf6610/cpu-10/cpu-user: + value: 0.000000e+00 +a1ddf6610/cpu-10/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-11/cpu-idle: + value: 9.979789e+01 +a1ddf6610/cpu-11/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-11/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-11/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-11/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-11/cpu-system: + value: 9.999790e-02 +a1ddf6610/cpu-11/cpu-user: + value: 0.000000e+00 +a1ddf6610/cpu-11/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-12/cpu-idle: + value: 9.709848e+01 +a1ddf6610/cpu-12/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-12/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-12/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-12/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-12/cpu-system: + value: 1.599972e+00 +a1ddf6610/cpu-12/cpu-user: + value: 1.199978e+00 +a1ddf6610/cpu-12/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-13/cpu-idle: + value: 7.879859e+01 +a1ddf6610/cpu-13/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-13/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-13/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-13/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-13/cpu-system: + value: 1.309976e+01 +a1ddf6610/cpu-13/cpu-user: + value: 8.099863e+00 +a1ddf6610/cpu-13/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-14/cpu-idle: + value: 9.309875e+01 +a1ddf6610/cpu-14/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-14/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-14/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-14/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-14/cpu-system: + value: 4.699934e+00 +a1ddf6610/cpu-14/cpu-user: + value: 2.099971e+00 +a1ddf6610/cpu-14/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-15/cpu-idle: + value: 8.789892e+01 +a1ddf6610/cpu-15/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-15/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-15/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-15/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-15/cpu-system: + value: 7.999894e+00 +a1ddf6610/cpu-15/cpu-user: + value: 3.599950e+00 +a1ddf6610/cpu-15/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-16/cpu-idle: + value: 9.959880e+01 +a1ddf6610/cpu-16/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-16/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-16/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-16/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-16/cpu-system: + value: 2.999964e-01 +a1ddf6610/cpu-16/cpu-user: + value: 9.999874e-02 +a1ddf6610/cpu-16/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-17/cpu-idle: + value: 9.959911e+01 +a1ddf6610/cpu-17/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-17/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-17/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-17/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-17/cpu-system: + value: 1.999981e-01 +a1ddf6610/cpu-17/cpu-user: + value: 9.999911e-02 +a1ddf6610/cpu-17/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-18/cpu-idle: + value: 9.519927e+01 +a1ddf6610/cpu-18/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-18/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-18/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-18/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-18/cpu-system: + value: 2.499979e+00 +a1ddf6610/cpu-18/cpu-user: + value: 1.899982e+00 +a1ddf6610/cpu-18/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-19/cpu-idle: + value: 8.319942e+01 +a1ddf6610/cpu-19/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-19/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-19/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-19/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-19/cpu-system: + value: 1.189992e+01 +a1ddf6610/cpu-19/cpu-user: + value: 3.999985e+00 +a1ddf6610/cpu-19/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-2/cpu-idle: + value: 9.899200e+01 +a1ddf6610/cpu-2/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-2/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-2/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-2/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-2/cpu-system: + value: 3.999674e-01 +a1ddf6610/cpu-2/cpu-user: + value: 2.999799e-01 +a1ddf6610/cpu-2/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-20/cpu-idle: + value: 9.389955e+01 +a1ddf6610/cpu-20/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-20/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-20/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-20/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-20/cpu-system: + value: 4.199980e+00 +a1ddf6610/cpu-20/cpu-user: + value: 1.399991e+00 +a1ddf6610/cpu-20/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-21/cpu-idle: + value: 8.779956e+01 +a1ddf6610/cpu-21/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-21/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-21/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-21/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-21/cpu-system: + value: 8.199940e+00 +a1ddf6610/cpu-21/cpu-user: + value: 3.599972e+00 +a1ddf6610/cpu-21/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-22/cpu-idle: + value: 9.959932e+01 +a1ddf6610/cpu-22/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-22/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-22/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-22/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-22/cpu-system: + value: 2.999981e-01 +a1ddf6610/cpu-22/cpu-user: + value: 9.999956e-02 +a1ddf6610/cpu-22/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-23/cpu-idle: + value: 9.929916e+01 +a1ddf6610/cpu-23/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-23/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-23/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-23/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-23/cpu-system: + value: 4.999943e-01 +a1ddf6610/cpu-23/cpu-user: + value: 0.000000e+00 +a1ddf6610/cpu-23/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-3/cpu-idle: + value: 9.949283e+01 +a1ddf6610/cpu-3/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-3/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-3/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-3/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-3/cpu-system: + value: 9.999309e-02 +a1ddf6610/cpu-3/cpu-user: + value: 1.999852e-01 +a1ddf6610/cpu-3/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-4/cpu-idle: + value: 9.989305e+01 +a1ddf6610/cpu-4/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-4/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-4/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-4/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-4/cpu-system: + value: 0.000000e+00 +a1ddf6610/cpu-4/cpu-user: + value: 0.000000e+00 +a1ddf6610/cpu-4/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-5/cpu-idle: + value: 9.989362e+01 +a1ddf6610/cpu-5/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-5/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-5/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-5/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-5/cpu-system: + value: 9.999406e-02 +a1ddf6610/cpu-5/cpu-user: + value: 0.000000e+00 +a1ddf6610/cpu-5/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-6/cpu-idle: + value: 9.469571e+01 +a1ddf6610/cpu-6/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-6/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-6/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-6/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-6/cpu-system: + value: 3.499803e+00 +a1ddf6610/cpu-6/cpu-user: + value: 1.199947e+00 +a1ddf6610/cpu-6/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-7/cpu-idle: + value: 9.819573e+01 +a1ddf6610/cpu-7/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-7/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-7/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-7/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-7/cpu-system: + value: 1.299941e+00 +a1ddf6610/cpu-7/cpu-user: + value: 2.999861e-01 +a1ddf6610/cpu-7/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-8/cpu-idle: + value: 9.929729e+01 +a1ddf6610/cpu-8/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-8/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-8/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-8/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-8/cpu-system: + value: 1.999943e-01 +a1ddf6610/cpu-8/cpu-user: + value: 9.999644e-02 +a1ddf6610/cpu-8/cpu-wait: + value: 0.000000e+00 +a1ddf6610/cpu-9/cpu-idle: + value: 9.989737e+01 +a1ddf6610/cpu-9/cpu-interrupt: + value: 0.000000e+00 +a1ddf6610/cpu-9/cpu-nice: + value: 0.000000e+00 +a1ddf6610/cpu-9/cpu-softirq: + value: 0.000000e+00 +a1ddf6610/cpu-9/cpu-steal: + value: 0.000000e+00 +a1ddf6610/cpu-9/cpu-system: + value: 9.999736e-02 +a1ddf6610/cpu-9/cpu-user: + value: 0.000000e+00 +a1ddf6610/cpu-9/cpu-wait: + value: 0.000000e+00 +a1ddf6610/df-boot/df_complex-free: + value: 4.793754e+08 +a1ddf6610/df-boot/df_complex-reserved: + value: 2.684109e+07 +a1ddf6610/df-boot/df_complex-used: + value: 2.220851e+07 +a1ddf6610/df-boot/df_inodes-free: + value: 3.273000e+04 +a1ddf6610/df-boot/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6610/df-boot/df_inodes-used: + value: 3.800000e+01 +a1ddf6610/df-boot/percent_bytes-free: + value: 9.071777e+01 +a1ddf6610/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +a1ddf6610/df-boot/percent_bytes-used: + value: 4.202775e+00 +a1ddf6610/df-boot/percent_inodes-free: + value: 9.988403e+01 +a1ddf6610/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6610/df-boot/percent_inodes-used: + value: 1.159668e-01 +a1ddf6610/df-data1/df_complex-free: + value: 2.574899e+11 +a1ddf6610/df-data1/df_complex-reserved: + value: 1.379019e+10 +a1ddf6610/df-data1/df_complex-used: + value: 1.961411e+08 +a1ddf6610/df-data1/df_inodes-free: + value: 1.683454e+07 +a1ddf6610/df-data1/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6610/df-data1/df_inodes-used: + value: 1.800000e+01 +a1ddf6610/df-data1/percent_bytes-free: + value: 9.484805e+01 +a1ddf6610/df-data1/percent_bytes-reserved: + value: 5.079704e+00 +a1ddf6610/df-data1/percent_bytes-used: + value: 7.224981e-02 +a1ddf6610/df-data1/percent_inodes-free: + value: 9.999989e+01 +a1ddf6610/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6610/df-data1/percent_inodes-used: + value: 1.069229e-04 +a1ddf6610/df-dev-shm/df_complex-free: + value: 3.375709e+10 +a1ddf6610/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +a1ddf6610/df-dev-shm/df_complex-used: + value: 0.000000e+00 +a1ddf6610/df-dev-shm/df_inodes-free: + value: 8.241475e+06 +a1ddf6610/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6610/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +a1ddf6610/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +a1ddf6610/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +a1ddf6610/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +a1ddf6610/df-dev-shm/percent_inodes-free: + value: 9.999998e+01 +a1ddf6610/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6610/df-dev-shm/percent_inodes-used: + value: 1.213375e-05 +a1ddf6610/df-root/df_complex-free: + value: 1.030392e+10 +a1ddf6610/df-root/df_complex-reserved: + value: 6.442435e+08 +a1ddf6610/df-root/df_complex-used: + value: 1.734545e+09 +a1ddf6610/df-root/df_inodes-free: + value: 7.387960e+05 +a1ddf6610/df-root/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6610/df-root/df_inodes-used: + value: 4.763600e+04 +a1ddf6610/df-root/percent_bytes-free: + value: 8.124384e+01 +a1ddf6610/df-root/percent_bytes-reserved: + value: 5.079700e+00 +a1ddf6610/df-root/percent_bytes-used: + value: 1.367646e+01 +a1ddf6610/df-root/percent_inodes-free: + value: 9.394276e+01 +a1ddf6610/df-root/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6610/df-root/percent_inodes-used: + value: 6.057231e+00 +a1ddf6610/df-var/df_complex-free: + value: 5.412876e+09 +a1ddf6610/df-var/df_complex-reserved: + value: 4.294943e+08 +a1ddf6610/df-var/df_complex-used: + value: 2.612748e+09 +a1ddf6610/df-var/df_inodes-free: + value: 5.218510e+05 +a1ddf6610/df-var/df_inodes-reserved: + value: 0.000000e+00 +a1ddf6610/df-var/df_inodes-used: + value: 2.437000e+03 +a1ddf6610/df-var/percent_bytes-free: + value: 6.401893e+01 +a1ddf6610/df-var/percent_bytes-reserved: + value: 5.079695e+00 +a1ddf6610/df-var/percent_bytes-used: + value: 3.090138e+01 +a1ddf6610/df-var/percent_inodes-free: + value: 9.953518e+01 +a1ddf6610/df-var/percent_inodes-reserved: + value: 0.000000e+00 +a1ddf6610/df-var/percent_inodes-used: + value: 4.648209e-01 +a1ddf6610/disk-sda/disk_merged: + read: 0.000000e+00 + write: 1.224974e+02 +a1ddf6610/disk-sda/disk_octets: + read: 0.000000e+00 + write: 5.377975e+05 +a1ddf6610/disk-sda/disk_ops: + read: 0.000000e+00 + write: 8.799739e+00 +a1ddf6610/disk-sda/disk_time: + read: 0.000000e+00 + write: 1.599958e+00 +a1ddf6610/disk-sda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6610/disk-sda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6610/disk-sda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6610/disk-sda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6610/disk-sda2/disk_merged: + read: 0.000000e+00 + write: 1.148967e+02 +a1ddf6610/disk-sda2/disk_octets: + read: 0.000000e+00 + write: 4.829033e+05 +a1ddf6610/disk-sda2/disk_ops: + read: 0.000000e+00 + write: 2.999895e+00 +a1ddf6610/disk-sda2/disk_time: + read: 0.000000e+00 + write: 3.999861e-01 +a1ddf6610/disk-sda3/disk_merged: + read: 0.000000e+00 + write: 7.599447e+00 +a1ddf6610/disk-sda3/disk_octets: + read: 0.000000e+00 + write: 5.488478e+04 +a1ddf6610/disk-sda3/disk_ops: + read: 0.000000e+00 + write: 5.799747e+00 +a1ddf6610/disk-sda3/disk_time: + read: 0.000000e+00 + write: 2.299833e+00 +a1ddf6610/disk-sda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6610/disk-sda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6610/disk-sda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6610/disk-sda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6610/disk-sda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6610/disk-sda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6610/disk-sda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6610/disk-sda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6610/disk-sda6/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6610/disk-sda6/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6610/disk-sda6/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6610/disk-sda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +a1ddf6610/load/load: + longterm: 2.600000e-01 + midterm: 2.400000e-01 + shortterm: 3.000000e-02 +a1ddf6610/memory/memory-buffered: + value: 2.945802e+08 +a1ddf6610/memory/memory-cached: + value: 2.390438e+09 +a1ddf6610/memory/memory-free: + value: 6.154120e+10 +a1ddf6610/memory/memory-used: + value: 3.287953e+09 +a1ddf6610/network/if_octets: + rx: 2.326949e+04 + tx: 0.000000e+00 +a1ddf6610/network/if_packets: + rx: 1.759976e+01 + tx: 0.000000e+00 +a1ddf6610/network/queue_length: + value: 0.000000e+00 +a1ddf6610/network/total_values-dispatch-accepted: + value: 4.607941e+02 +a1ddf6610/network/total_values-dispatch-rejected: + value: 0.000000e+00 +a1ddf6610/network/total_values-send-accepted: + value: 0.000000e+00 +a1ddf6610/network/total_values-send-rejected: + value: 0.000000e+00 +a1ddf6610/swap/swap-cached: + value: 0.000000e+00 +a1ddf6610/swap/swap-free: + value: 2.147475e+09 +a1ddf6610/swap/swap-used: + value: 0.000000e+00 +a1ddf6610/swap/swap_io-in: + value: 0.000000e+00 +a1ddf6610/swap/swap_io-out: + value: 0.000000e+00 +a1ddf6610/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 1.460435e+05 +a1ddf6610/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 5.252066e+02 +a1ddf6610/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +a1ddf6610/vmem/vmpage_number-active_anon: + value: 7.743400e+04 +a1ddf6610/vmem/vmpage_number-active_file: + value: 5.886950e+05 +a1ddf6610/vmem/vmpage_number-anon_pages: + value: 3.168900e+04 +a1ddf6610/vmem/vmpage_number-anon_transparent_hugepages: + value: 8.900000e+01 +a1ddf6610/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +a1ddf6610/vmem/vmpage_number-dirty: + value: 1.217000e+03 +a1ddf6610/vmem/vmpage_number-file_pages: + value: 6.555230e+05 +a1ddf6610/vmem/vmpage_number-free_pages: + value: 1.502482e+07 +a1ddf6610/vmem/vmpage_number-inactive_anon: + value: 1.440000e+02 +a1ddf6610/vmem/vmpage_number-inactive_file: + value: 6.663400e+04 +a1ddf6610/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +a1ddf6610/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +a1ddf6610/vmem/vmpage_number-kernel_stack: + value: 5.050000e+02 +a1ddf6610/vmem/vmpage_number-mapped: + value: 7.061000e+03 +a1ddf6610/vmem/vmpage_number-mlock: + value: 0.000000e+00 +a1ddf6610/vmem/vmpage_number-page_table_pages: + value: 2.714000e+03 +a1ddf6610/vmem/vmpage_number-shmem: + value: 2.010000e+02 +a1ddf6610/vmem/vmpage_number-slab_reclaimable: + value: 5.981700e+05 +a1ddf6610/vmem/vmpage_number-slab_unreclaimable: + value: 1.751300e+04 +a1ddf6610/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +a1ddf6610/vmem/vmpage_number-unstable: + value: 0.000000e+00 +a1ddf6610/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +a1ddf6610/vmem/vmpage_number-writeback: + value: 0.000000e+00 +a1ddf6610/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +h2gdf6120/cpu-0/cpu-idle: + value: 9.830055e+01 +h2gdf6120/cpu-0/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-0/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-0/cpu-softirq: + value: 1.000006e-01 +h2gdf6120/cpu-0/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-0/cpu-system: + value: 2.000012e-01 +h2gdf6120/cpu-0/cpu-user: + value: 7.000045e-01 +h2gdf6120/cpu-0/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-1/cpu-idle: + value: 9.630047e+01 +h2gdf6120/cpu-1/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-1/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-1/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-1/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-1/cpu-system: + value: 5.000024e-01 +h2gdf6120/cpu-1/cpu-user: + value: 3.300017e+00 +h2gdf6120/cpu-1/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-10/cpu-idle: + value: 9.990053e+01 +h2gdf6120/cpu-10/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-10/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-10/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-10/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-10/cpu-system: + value: 0.000000e+00 +h2gdf6120/cpu-10/cpu-user: + value: 1.000005e-01 +h2gdf6120/cpu-10/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-11/cpu-idle: + value: 9.990010e+01 +h2gdf6120/cpu-11/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-11/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-11/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-11/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-11/cpu-system: + value: 0.000000e+00 +h2gdf6120/cpu-11/cpu-user: + value: 0.000000e+00 +h2gdf6120/cpu-11/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-12/cpu-idle: + value: 9.600001e+01 +h2gdf6120/cpu-12/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-12/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-12/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-12/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-12/cpu-system: + value: 7.000001e-01 +h2gdf6120/cpu-12/cpu-user: + value: 2.900000e+00 +h2gdf6120/cpu-12/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-13/cpu-idle: + value: 9.740004e+01 +h2gdf6120/cpu-13/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-13/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-13/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-13/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-13/cpu-system: + value: 2.000001e-01 +h2gdf6120/cpu-13/cpu-user: + value: 2.100001e+00 +h2gdf6120/cpu-13/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-14/cpu-idle: + value: 9.920005e+01 +h2gdf6120/cpu-14/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-14/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-14/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-14/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-14/cpu-system: + value: 1.000000e-01 +h2gdf6120/cpu-14/cpu-user: + value: 6.000003e-01 +h2gdf6120/cpu-14/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-15/cpu-idle: + value: 9.990025e+01 +h2gdf6120/cpu-15/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-15/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-15/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-15/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-15/cpu-system: + value: 1.000002e-01 +h2gdf6120/cpu-15/cpu-user: + value: 0.000000e+00 +h2gdf6120/cpu-15/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-16/cpu-idle: + value: 9.989996e+01 +h2gdf6120/cpu-16/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-16/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-16/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-16/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-16/cpu-system: + value: 0.000000e+00 +h2gdf6120/cpu-16/cpu-user: + value: 1.000000e-01 +h2gdf6120/cpu-16/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-17/cpu-idle: + value: 9.999995e+01 +h2gdf6120/cpu-17/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-17/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-17/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-17/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-17/cpu-system: + value: 0.000000e+00 +h2gdf6120/cpu-17/cpu-user: + value: 0.000000e+00 +h2gdf6120/cpu-17/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-18/cpu-idle: + value: 9.989994e+01 +h2gdf6120/cpu-18/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-18/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-18/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-18/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-18/cpu-system: + value: 0.000000e+00 +h2gdf6120/cpu-18/cpu-user: + value: 9.999997e-02 +h2gdf6120/cpu-18/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-19/cpu-idle: + value: 9.930003e+01 +h2gdf6120/cpu-19/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-19/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-19/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-19/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-19/cpu-system: + value: 9.999996e-02 +h2gdf6120/cpu-19/cpu-user: + value: 4.999998e-01 +h2gdf6120/cpu-19/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-2/cpu-idle: + value: 9.800028e+01 +h2gdf6120/cpu-2/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-2/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-2/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-2/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-2/cpu-system: + value: 3.000009e-01 +h2gdf6120/cpu-2/cpu-user: + value: 2.000007e+00 +h2gdf6120/cpu-2/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-20/cpu-idle: + value: 9.980000e+01 +h2gdf6120/cpu-20/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-20/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-20/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-20/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-20/cpu-system: + value: 9.999990e-02 +h2gdf6120/cpu-20/cpu-user: + value: 0.000000e+00 +h2gdf6120/cpu-20/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-21/cpu-idle: + value: 9.990021e+01 +h2gdf6120/cpu-21/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-21/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-21/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-21/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-21/cpu-system: + value: 0.000000e+00 +h2gdf6120/cpu-21/cpu-user: + value: 0.000000e+00 +h2gdf6120/cpu-21/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-22/cpu-idle: + value: 9.660017e+01 +h2gdf6120/cpu-22/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-22/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-22/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-22/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-22/cpu-system: + value: 1.000002e-01 +h2gdf6120/cpu-22/cpu-user: + value: 3.000008e+00 +h2gdf6120/cpu-22/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-23/cpu-idle: + value: 1.000001e+02 +h2gdf6120/cpu-23/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-23/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-23/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-23/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-23/cpu-system: + value: 0.000000e+00 +h2gdf6120/cpu-23/cpu-user: + value: 0.000000e+00 +h2gdf6120/cpu-23/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-3/cpu-idle: + value: 9.840034e+01 +h2gdf6120/cpu-3/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-3/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-3/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-3/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-3/cpu-system: + value: 3.000008e-01 +h2gdf6120/cpu-3/cpu-user: + value: 1.700004e+00 +h2gdf6120/cpu-3/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-4/cpu-idle: + value: 9.930038e+01 +h2gdf6120/cpu-4/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-4/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-4/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-4/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-4/cpu-system: + value: 1.000004e-01 +h2gdf6120/cpu-4/cpu-user: + value: 5.000020e-01 +h2gdf6120/cpu-4/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-5/cpu-idle: + value: 1.000003e+02 +h2gdf6120/cpu-5/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-5/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-5/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-5/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-5/cpu-system: + value: 0.000000e+00 +h2gdf6120/cpu-5/cpu-user: + value: 0.000000e+00 +h2gdf6120/cpu-5/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-6/cpu-idle: + value: 9.840033e+01 +h2gdf6120/cpu-6/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-6/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-6/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-6/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-6/cpu-system: + value: 3.000009e-01 +h2gdf6120/cpu-6/cpu-user: + value: 1.200004e+00 +h2gdf6120/cpu-6/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-7/cpu-idle: + value: 9.700041e+01 +h2gdf6120/cpu-7/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-7/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-7/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-7/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-7/cpu-system: + value: 2.000008e-01 +h2gdf6120/cpu-7/cpu-user: + value: 2.500009e+00 +h2gdf6120/cpu-7/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-8/cpu-idle: + value: 1.000004e+02 +h2gdf6120/cpu-8/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-8/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-8/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-8/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-8/cpu-system: + value: 0.000000e+00 +h2gdf6120/cpu-8/cpu-user: + value: 0.000000e+00 +h2gdf6120/cpu-8/cpu-wait: + value: 0.000000e+00 +h2gdf6120/cpu-9/cpu-idle: + value: 9.990057e+01 +h2gdf6120/cpu-9/cpu-interrupt: + value: 0.000000e+00 +h2gdf6120/cpu-9/cpu-nice: + value: 0.000000e+00 +h2gdf6120/cpu-9/cpu-softirq: + value: 0.000000e+00 +h2gdf6120/cpu-9/cpu-steal: + value: 0.000000e+00 +h2gdf6120/cpu-9/cpu-system: + value: 0.000000e+00 +h2gdf6120/cpu-9/cpu-user: + value: 0.000000e+00 +h2gdf6120/cpu-9/cpu-wait: + value: 0.000000e+00 +h2gdf6120/df-boot/df_complex-free: + value: 4.325089e+08 +h2gdf6120/df-boot/df_complex-reserved: + value: 2.684109e+07 +h2gdf6120/df-boot/df_complex-used: + value: 6.907494e+07 +h2gdf6120/df-boot/df_inodes-free: + value: 3.271800e+04 +h2gdf6120/df-boot/df_inodes-reserved: + value: 0.000000e+00 +h2gdf6120/df-boot/df_inodes-used: + value: 5.000000e+01 +h2gdf6120/df-boot/percent_bytes-free: + value: 8.184869e+01 +h2gdf6120/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +h2gdf6120/df-boot/percent_bytes-used: + value: 1.307185e+01 +h2gdf6120/df-boot/percent_inodes-free: + value: 9.984741e+01 +h2gdf6120/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +h2gdf6120/df-boot/percent_inodes-used: + value: 1.525879e-01 +h2gdf6120/df-data1/df_complex-free: + value: 2.503070e+11 +h2gdf6120/df-data1/df_complex-reserved: + value: 1.378982e+10 +h2gdf6120/df-data1/df_complex-used: + value: 7.372034e+09 +h2gdf6120/df-data1/df_inodes-free: + value: 1.683450e+07 +h2gdf6120/df-data1/df_inodes-reserved: + value: 0.000000e+00 +h2gdf6120/df-data1/df_inodes-used: + value: 5.900000e+01 +h2gdf6120/df-data1/percent_bytes-free: + value: 9.220468e+01 +h2gdf6120/df-data1/percent_bytes-reserved: + value: 5.079707e+00 +h2gdf6120/df-data1/percent_bytes-used: + value: 2.715609e+00 +h2gdf6120/df-data1/percent_inodes-free: + value: 9.999964e+01 +h2gdf6120/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +h2gdf6120/df-data1/percent_inodes-used: + value: 3.504695e-04 +h2gdf6120/df-dev-shm/df_complex-free: + value: 3.375709e+10 +h2gdf6120/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +h2gdf6120/df-dev-shm/df_complex-used: + value: 0.000000e+00 +h2gdf6120/df-dev-shm/df_inodes-free: + value: 8.241475e+06 +h2gdf6120/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +h2gdf6120/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +h2gdf6120/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +h2gdf6120/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +h2gdf6120/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +h2gdf6120/df-dev-shm/percent_inodes-free: + value: 9.999998e+01 +h2gdf6120/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +h2gdf6120/df-dev-shm/percent_inodes-used: + value: 1.213375e-05 +h2gdf6120/df-root/df_complex-free: + value: 1.058675e+10 +h2gdf6120/df-root/df_complex-reserved: + value: 6.442435e+08 +h2gdf6120/df-root/df_complex-used: + value: 1.451717e+09 +h2gdf6120/df-root/df_inodes-free: + value: 7.435350e+05 +h2gdf6120/df-root/df_inodes-reserved: + value: 0.000000e+00 +h2gdf6120/df-root/df_inodes-used: + value: 4.289700e+04 +h2gdf6120/df-root/percent_bytes-free: + value: 8.347388e+01 +h2gdf6120/df-root/percent_bytes-reserved: + value: 5.079700e+00 +h2gdf6120/df-root/percent_bytes-used: + value: 1.144643e+01 +h2gdf6120/df-root/percent_inodes-free: + value: 9.454536e+01 +h2gdf6120/df-root/percent_inodes-reserved: + value: 0.000000e+00 +h2gdf6120/df-root/percent_inodes-used: + value: 5.454636e+00 +h2gdf6120/df-var/df_complex-free: + value: 7.503532e+09 +h2gdf6120/df-var/df_complex-reserved: + value: 4.294943e+08 +h2gdf6120/df-var/df_complex-used: + value: 5.220925e+08 +h2gdf6120/df-var/df_inodes-free: + value: 5.225340e+05 +h2gdf6120/df-var/df_inodes-reserved: + value: 0.000000e+00 +h2gdf6120/df-var/df_inodes-used: + value: 1.754000e+03 +h2gdf6120/df-var/percent_bytes-free: + value: 8.874543e+01 +h2gdf6120/df-var/percent_bytes-reserved: + value: 5.079695e+00 +h2gdf6120/df-var/percent_bytes-used: + value: 6.174870e+00 +h2gdf6120/df-var/percent_inodes-free: + value: 9.966545e+01 +h2gdf6120/df-var/percent_inodes-reserved: + value: 0.000000e+00 +h2gdf6120/df-var/percent_inodes-used: + value: 3.345490e-01 +h2gdf6120/disk-sda/disk_merged: + read: 0.000000e+00 + write: 1.000000e-01 +h2gdf6120/disk-sda/disk_octets: + read: 0.000000e+00 + write: 4.915201e+03 +h2gdf6120/disk-sda/disk_ops: + read: 0.000000e+00 + write: 1.000000e+00 +h2gdf6120/disk-sda/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda2/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda2/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda2/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda2/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda3/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda3/disk_octets: + read: 0.000000e+00 + write: 1.638401e+03 +h2gdf6120/disk-sda3/disk_ops: + read: 0.000000e+00 + write: 4.000002e-01 +h2gdf6120/disk-sda3/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/disk-sda6/disk_merged: + read: 0.000000e+00 + write: 9.999979e-02 +h2gdf6120/disk-sda6/disk_octets: + read: 0.000000e+00 + write: 3.276793e+03 +h2gdf6120/disk-sda6/disk_ops: + read: 0.000000e+00 + write: 5.999987e-01 +h2gdf6120/disk-sda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6120/load/load: + longterm: 3.000000e-02 + midterm: 3.000000e-02 + shortterm: 0.000000e+00 +h2gdf6120/memory/memory-buffered: + value: 3.471032e+08 +h2gdf6120/memory/memory-cached: + value: 6.819758e+08 +h2gdf6120/memory/memory-free: + value: 5.914347e+10 +h2gdf6120/memory/memory-used: + value: 7.341625e+09 +h2gdf6120/network/if_octets: + rx: 0.000000e+00 + tx: 1.587800e+03 +h2gdf6120/network/if_packets: + rx: 0.000000e+00 + tx: 1.200000e+00 +h2gdf6120/network/queue_length: + value: 0.000000e+00 +h2gdf6120/network/total_values-dispatch-accepted: + value: 0.000000e+00 +h2gdf6120/network/total_values-dispatch-rejected: + value: 0.000000e+00 +h2gdf6120/network/total_values-send-accepted: + value: 3.189999e+01 +h2gdf6120/network/total_values-send-rejected: + value: 0.000000e+00 +h2gdf6120/swap/swap-cached: + value: 0.000000e+00 +h2gdf6120/swap/swap-free: + value: 2.147475e+09 +h2gdf6120/swap/swap-used: + value: 0.000000e+00 +h2gdf6120/swap/swap_io-in: + value: 0.000000e+00 +h2gdf6120/swap/swap_io-out: + value: 0.000000e+00 +h2gdf6120/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 4.499975e+00 +h2gdf6120/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 8.799950e+00 +h2gdf6120/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +h2gdf6120/vmem/vmpage_number-active_anon: + value: 1.425964e+06 +h2gdf6120/vmem/vmpage_number-active_file: + value: 1.796950e+05 +h2gdf6120/vmem/vmpage_number-anon_pages: + value: 1.638300e+04 +h2gdf6120/vmem/vmpage_number-anon_transparent_hugepages: + value: 2.753000e+03 +h2gdf6120/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +h2gdf6120/vmem/vmpage_number-dirty: + value: 8.000000e+00 +h2gdf6120/vmem/vmpage_number-file_pages: + value: 2.512400e+05 +h2gdf6120/vmem/vmpage_number-free_pages: + value: 1.443932e+07 +h2gdf6120/vmem/vmpage_number-inactive_anon: + value: 1.100000e+01 +h2gdf6120/vmem/vmpage_number-inactive_file: + value: 7.149200e+04 +h2gdf6120/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +h2gdf6120/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +h2gdf6120/vmem/vmpage_number-kernel_stack: + value: 4.730000e+02 +h2gdf6120/vmem/vmpage_number-mapped: + value: 4.319000e+03 +h2gdf6120/vmem/vmpage_number-mlock: + value: 0.000000e+00 +h2gdf6120/vmem/vmpage_number-page_table_pages: + value: 3.607000e+03 +h2gdf6120/vmem/vmpage_number-shmem: + value: 5.700000e+01 +h2gdf6120/vmem/vmpage_number-slab_reclaimable: + value: 2.365580e+05 +h2gdf6120/vmem/vmpage_number-slab_unreclaimable: + value: 1.603500e+04 +h2gdf6120/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +h2gdf6120/vmem/vmpage_number-unstable: + value: 0.000000e+00 +h2gdf6120/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +h2gdf6120/vmem/vmpage_number-writeback: + value: 0.000000e+00 +h2gdf6120/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +h2gdf6220/cpu-0/cpu-idle: + value: 9.760209e+01 +h2gdf6220/cpu-0/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-0/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-0/cpu-softirq: + value: 1.000040e-01 +h2gdf6220/cpu-0/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-0/cpu-system: + value: 4.000084e-01 +h2gdf6220/cpu-0/cpu-user: + value: 9.999957e-01 +h2gdf6220/cpu-0/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-1/cpu-idle: + value: 9.970561e+01 +h2gdf6220/cpu-1/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-1/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-1/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-1/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-1/cpu-system: + value: 1.000053e-01 +h2gdf6220/cpu-1/cpu-user: + value: 1.000047e-01 +h2gdf6220/cpu-1/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-10/cpu-idle: + value: 9.990600e+01 +h2gdf6220/cpu-10/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-10/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-10/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-10/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-10/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-10/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-10/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-11/cpu-idle: + value: 1.000060e+02 +h2gdf6220/cpu-11/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-11/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-11/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-11/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-11/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-11/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-11/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-12/cpu-idle: + value: 9.780591e+01 +h2gdf6220/cpu-12/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-12/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-12/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-12/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-12/cpu-system: + value: 5.000302e-01 +h2gdf6220/cpu-12/cpu-user: + value: 8.000479e-01 +h2gdf6220/cpu-12/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-13/cpu-idle: + value: 9.980613e+01 +h2gdf6220/cpu-13/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-13/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-13/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-13/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-13/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-13/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-13/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-14/cpu-idle: + value: 1.000061e+02 +h2gdf6220/cpu-14/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-14/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-14/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-14/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-14/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-14/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-14/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-15/cpu-idle: + value: 9.990596e+01 +h2gdf6220/cpu-15/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-15/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-15/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-15/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-15/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-15/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-15/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-16/cpu-idle: + value: 9.990572e+01 +h2gdf6220/cpu-16/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-16/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-16/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-16/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-16/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-16/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-16/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-17/cpu-idle: + value: 1.000057e+02 +h2gdf6220/cpu-17/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-17/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-17/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-17/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-17/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-17/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-17/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-18/cpu-idle: + value: 1.000058e+02 +h2gdf6220/cpu-18/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-18/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-18/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-18/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-18/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-18/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-18/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-19/cpu-idle: + value: 9.990559e+01 +h2gdf6220/cpu-19/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-19/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-19/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-19/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-19/cpu-system: + value: 2.000113e-01 +h2gdf6220/cpu-19/cpu-user: + value: 1.000057e-01 +h2gdf6220/cpu-19/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-2/cpu-idle: + value: 9.990540e+01 +h2gdf6220/cpu-2/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-2/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-2/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-2/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-2/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-2/cpu-user: + value: 1.000054e-01 +h2gdf6220/cpu-2/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-20/cpu-idle: + value: 1.000055e+02 +h2gdf6220/cpu-20/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-20/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-20/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-20/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-20/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-20/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-20/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-21/cpu-idle: + value: 1.000054e+02 +h2gdf6220/cpu-21/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-21/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-21/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-21/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-21/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-21/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-21/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-22/cpu-idle: + value: 9.990534e+01 +h2gdf6220/cpu-22/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-22/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-22/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-22/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-22/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-22/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-22/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-23/cpu-idle: + value: 1.000054e+02 +h2gdf6220/cpu-23/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-23/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-23/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-23/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-23/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-23/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-23/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-3/cpu-idle: + value: 1.000058e+02 +h2gdf6220/cpu-3/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-3/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-3/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-3/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-3/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-3/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-3/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-4/cpu-idle: + value: 9.990588e+01 +h2gdf6220/cpu-4/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-4/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-4/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-4/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-4/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-4/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-4/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-5/cpu-idle: + value: 1.000061e+02 +h2gdf6220/cpu-5/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-5/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-5/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-5/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-5/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-5/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-5/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-6/cpu-idle: + value: 9.980614e+01 +h2gdf6220/cpu-6/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-6/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-6/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-6/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-6/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-6/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-6/cpu-wait: + value: 1.000062e-01 +h2gdf6220/cpu-7/cpu-idle: + value: 9.990617e+01 +h2gdf6220/cpu-7/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-7/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-7/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-7/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-7/cpu-system: + value: 1.000062e-01 +h2gdf6220/cpu-7/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-7/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-8/cpu-idle: + value: 1.000060e+02 +h2gdf6220/cpu-8/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-8/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-8/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-8/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-8/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-8/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-8/cpu-wait: + value: 0.000000e+00 +h2gdf6220/cpu-9/cpu-idle: + value: 9.990601e+01 +h2gdf6220/cpu-9/cpu-interrupt: + value: 0.000000e+00 +h2gdf6220/cpu-9/cpu-nice: + value: 0.000000e+00 +h2gdf6220/cpu-9/cpu-softirq: + value: 0.000000e+00 +h2gdf6220/cpu-9/cpu-steal: + value: 0.000000e+00 +h2gdf6220/cpu-9/cpu-system: + value: 0.000000e+00 +h2gdf6220/cpu-9/cpu-user: + value: 0.000000e+00 +h2gdf6220/cpu-9/cpu-wait: + value: 0.000000e+00 +h2gdf6220/df-boot/df_complex-free: + value: 4.324721e+08 +h2gdf6220/df-boot/df_complex-reserved: + value: 2.684109e+07 +h2gdf6220/df-boot/df_complex-used: + value: 6.911181e+07 +h2gdf6220/df-boot/df_inodes-free: + value: 3.271800e+04 +h2gdf6220/df-boot/df_inodes-reserved: + value: 0.000000e+00 +h2gdf6220/df-boot/df_inodes-used: + value: 5.000000e+01 +h2gdf6220/df-boot/percent_bytes-free: + value: 8.184172e+01 +h2gdf6220/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +h2gdf6220/df-boot/percent_bytes-used: + value: 1.307883e+01 +h2gdf6220/df-boot/percent_inodes-free: + value: 9.984741e+01 +h2gdf6220/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +h2gdf6220/df-boot/percent_inodes-used: + value: 1.525879e-01 +h2gdf6220/df-data1/df_complex-free: + value: 2.459593e+11 +h2gdf6220/df-data1/df_complex-reserved: + value: 1.378982e+10 +h2gdf6220/df-data1/df_complex-used: + value: 1.171974e+10 +h2gdf6220/df-data1/df_inodes-free: + value: 1.683450e+07 +h2gdf6220/df-data1/df_inodes-reserved: + value: 0.000000e+00 +h2gdf6220/df-data1/df_inodes-used: + value: 6.100000e+01 +h2gdf6220/df-data1/percent_bytes-free: + value: 9.060313e+01 +h2gdf6220/df-data1/percent_bytes-reserved: + value: 5.079707e+00 +h2gdf6220/df-data1/percent_bytes-used: + value: 4.317159e+00 +h2gdf6220/df-data1/percent_inodes-free: + value: 9.999964e+01 +h2gdf6220/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +h2gdf6220/df-data1/percent_inodes-used: + value: 3.623498e-04 +h2gdf6220/df-dev-shm/df_complex-free: + value: 3.375709e+10 +h2gdf6220/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +h2gdf6220/df-dev-shm/df_complex-used: + value: 0.000000e+00 +h2gdf6220/df-dev-shm/df_inodes-free: + value: 8.241475e+06 +h2gdf6220/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +h2gdf6220/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +h2gdf6220/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +h2gdf6220/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +h2gdf6220/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +h2gdf6220/df-dev-shm/percent_inodes-free: + value: 9.999998e+01 +h2gdf6220/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +h2gdf6220/df-dev-shm/percent_inodes-used: + value: 1.213375e-05 +h2gdf6220/df-root/df_complex-free: + value: 1.058283e+10 +h2gdf6220/df-root/df_complex-reserved: + value: 6.442435e+08 +h2gdf6220/df-root/df_complex-used: + value: 1.455632e+09 +h2gdf6220/df-root/df_inodes-free: + value: 7.435320e+05 +h2gdf6220/df-root/df_inodes-reserved: + value: 0.000000e+00 +h2gdf6220/df-root/df_inodes-used: + value: 4.290000e+04 +h2gdf6220/df-root/percent_bytes-free: + value: 8.344300e+01 +h2gdf6220/df-root/percent_bytes-reserved: + value: 5.079700e+00 +h2gdf6220/df-root/percent_bytes-used: + value: 1.147730e+01 +h2gdf6220/df-root/percent_inodes-free: + value: 9.454498e+01 +h2gdf6220/df-root/percent_inodes-reserved: + value: 0.000000e+00 +h2gdf6220/df-root/percent_inodes-used: + value: 5.455017e+00 +h2gdf6220/df-var/df_complex-free: + value: 7.501562e+09 +h2gdf6220/df-var/df_complex-reserved: + value: 4.294943e+08 +h2gdf6220/df-var/df_complex-used: + value: 5.240627e+08 +h2gdf6220/df-var/df_inodes-free: + value: 5.225360e+05 +h2gdf6220/df-var/df_inodes-reserved: + value: 0.000000e+00 +h2gdf6220/df-var/df_inodes-used: + value: 1.752000e+03 +h2gdf6220/df-var/percent_bytes-free: + value: 8.872214e+01 +h2gdf6220/df-var/percent_bytes-reserved: + value: 5.079695e+00 +h2gdf6220/df-var/percent_bytes-used: + value: 6.198171e+00 +h2gdf6220/df-var/percent_inodes-free: + value: 9.966583e+01 +h2gdf6220/df-var/percent_inodes-reserved: + value: 0.000000e+00 +h2gdf6220/df-var/percent_inodes-used: + value: 3.341675e-01 +h2gdf6220/disk-sda/disk_merged: + read: 0.000000e+00 + write: 5.000078e-01 +h2gdf6220/disk-sda/disk_octets: + read: 0.000000e+00 + write: 1.761274e+05 +h2gdf6220/disk-sda/disk_ops: + read: 0.000000e+00 + write: 6.599997e+00 +h2gdf6220/disk-sda/disk_time: + read: 0.000000e+00 + write: 1.200000e+00 +h2gdf6220/disk-sda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda2/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda2/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda2/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda2/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda3/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda3/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda3/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda3/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +h2gdf6220/disk-sda6/disk_merged: + read: 0.000000e+00 + write: 5.000119e-01 +h2gdf6220/disk-sda6/disk_octets: + read: 0.000000e+00 + write: 1.761322e+05 +h2gdf6220/disk-sda6/disk_ops: + read: 0.000000e+00 + write: 6.600157e+00 +h2gdf6220/disk-sda6/disk_time: + read: 0.000000e+00 + write: 1.200029e+00 +h2gdf6220/load/load: + longterm: 3.000000e-02 + midterm: 1.300000e-01 + shortterm: 1.800000e-01 +h2gdf6220/memory/memory-buffered: + value: 3.538944e+08 +h2gdf6220/memory/memory-cached: + value: 6.890127e+08 +h2gdf6220/memory/memory-free: + value: 5.744062e+10 +h2gdf6220/memory/memory-used: + value: 9.030652e+09 +h2gdf6220/network/if_octets: + rx: 0.000000e+00 + tx: 1.449803e+03 +h2gdf6220/network/if_packets: + rx: 0.000000e+00 + tx: 1.100003e+00 +h2gdf6220/network/queue_length: + value: 0.000000e+00 +h2gdf6220/network/total_values-dispatch-accepted: + value: 0.000000e+00 +h2gdf6220/network/total_values-dispatch-rejected: + value: 0.000000e+00 +h2gdf6220/network/total_values-send-accepted: + value: 2.630008e+01 +h2gdf6220/network/total_values-send-rejected: + value: 0.000000e+00 +h2gdf6220/swap/swap-cached: + value: 0.000000e+00 +h2gdf6220/swap/swap-free: + value: 2.147475e+09 +h2gdf6220/swap/swap-used: + value: 0.000000e+00 +h2gdf6220/swap/swap_io-in: + value: 0.000000e+00 +h2gdf6220/swap/swap_io-out: + value: 0.000000e+00 +h2gdf6220/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 7.000005e-01 +h2gdf6220/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 2.800002e+00 +h2gdf6220/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +h2gdf6220/vmem/vmpage_number-active_anon: + value: 1.830919e+06 +h2gdf6220/vmem/vmpage_number-active_file: + value: 1.812510e+05 +h2gdf6220/vmem/vmpage_number-anon_pages: + value: 1.841200e+04 +h2gdf6220/vmem/vmpage_number-anon_transparent_hugepages: + value: 3.540000e+03 +h2gdf6220/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +h2gdf6220/vmem/vmpage_number-dirty: + value: 4.000000e+00 +h2gdf6220/vmem/vmpage_number-file_pages: + value: 2.546160e+05 +h2gdf6220/vmem/vmpage_number-free_pages: + value: 1.402359e+07 +h2gdf6220/vmem/vmpage_number-inactive_anon: + value: 1.600000e+01 +h2gdf6220/vmem/vmpage_number-inactive_file: + value: 7.330700e+04 +h2gdf6220/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +h2gdf6220/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +h2gdf6220/vmem/vmpage_number-kernel_stack: + value: 4.900000e+02 +h2gdf6220/vmem/vmpage_number-mapped: + value: 4.792000e+03 +h2gdf6220/vmem/vmpage_number-mlock: + value: 0.000000e+00 +h2gdf6220/vmem/vmpage_number-page_table_pages: + value: 4.540000e+03 +h2gdf6220/vmem/vmpage_number-shmem: + value: 6.200000e+01 +h2gdf6220/vmem/vmpage_number-slab_reclaimable: + value: 2.343820e+05 +h2gdf6220/vmem/vmpage_number-slab_unreclaimable: + value: 2.127200e+04 +h2gdf6220/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +h2gdf6220/vmem/vmpage_number-unstable: + value: 0.000000e+00 +h2gdf6220/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +h2gdf6220/vmem/vmpage_number-writeback: + value: 0.000000e+00 +h2gdf6220/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +m01df6100/cpu-0/cpu-idle: + value: 9.980233e+01 +m01df6100/cpu-0/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-0/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-0/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-0/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-0/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-0/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-0/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-1/cpu-idle: + value: 1.000105e+02 +m01df6100/cpu-1/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-1/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-1/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-1/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-1/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-1/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-1/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-10/cpu-idle: + value: 1.000294e+02 +m01df6100/cpu-10/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-10/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-10/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-10/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-10/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-10/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-10/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-11/cpu-idle: + value: 9.993001e+01 +m01df6100/cpu-11/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-11/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-11/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-11/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-11/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-11/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-11/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-12/cpu-idle: + value: 1.000310e+02 +m01df6100/cpu-12/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-12/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-12/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-12/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-12/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-12/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-12/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-13/cpu-idle: + value: 9.993154e+01 +m01df6100/cpu-13/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-13/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-13/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-13/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-13/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-13/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-13/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-14/cpu-idle: + value: 1.000329e+02 +m01df6100/cpu-14/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-14/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-14/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-14/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-14/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-14/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-14/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-15/cpu-idle: + value: 1.000341e+02 +m01df6100/cpu-15/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-15/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-15/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-15/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-15/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-15/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-15/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-16/cpu-idle: + value: 1.000347e+02 +m01df6100/cpu-16/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-16/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-16/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-16/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-16/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-16/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-16/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-17/cpu-idle: + value: 1.000354e+02 +m01df6100/cpu-17/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-17/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-17/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-17/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-17/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-17/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-17/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-18/cpu-idle: + value: 9.993624e+01 +m01df6100/cpu-18/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-18/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-18/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-18/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-18/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-18/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-18/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-19/cpu-idle: + value: 9.993717e+01 +m01df6100/cpu-19/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-19/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-19/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-19/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-19/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-19/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-19/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-2/cpu-idle: + value: 1.000135e+02 +m01df6100/cpu-2/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-2/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-2/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-2/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-2/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-2/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-2/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-20/cpu-idle: + value: 9.993831e+01 +m01df6100/cpu-20/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-20/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-20/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-20/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-20/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-20/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-20/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-21/cpu-idle: + value: 1.000397e+02 +m01df6100/cpu-21/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-21/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-21/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-21/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-21/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-21/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-21/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-22/cpu-idle: + value: 9.994092e+01 +m01df6100/cpu-22/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-22/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-22/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-22/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-22/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-22/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-22/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-23/cpu-idle: + value: 1.000420e+02 +m01df6100/cpu-23/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-23/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-23/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-23/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-23/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-23/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-23/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-3/cpu-idle: + value: 1.000161e+02 +m01df6100/cpu-3/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-3/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-3/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-3/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-3/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-3/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-3/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-4/cpu-idle: + value: 1.000191e+02 +m01df6100/cpu-4/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-4/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-4/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-4/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-4/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-4/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-4/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-5/cpu-idle: + value: 1.000243e+02 +m01df6100/cpu-5/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-5/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-5/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-5/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-5/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-5/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-5/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-6/cpu-idle: + value: 1.000268e+02 +m01df6100/cpu-6/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-6/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-6/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-6/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-6/cpu-system: + value: 1.000266e-01 +m01df6100/cpu-6/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-6/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-7/cpu-idle: + value: 1.000274e+02 +m01df6100/cpu-7/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-7/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-7/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-7/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-7/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-7/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-7/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-8/cpu-idle: + value: 1.000283e+02 +m01df6100/cpu-8/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-8/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-8/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-8/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-8/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-8/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-8/cpu-wait: + value: 0.000000e+00 +m01df6100/cpu-9/cpu-idle: + value: 1.000291e+02 +m01df6100/cpu-9/cpu-interrupt: + value: 0.000000e+00 +m01df6100/cpu-9/cpu-nice: + value: 0.000000e+00 +m01df6100/cpu-9/cpu-softirq: + value: 0.000000e+00 +m01df6100/cpu-9/cpu-steal: + value: 0.000000e+00 +m01df6100/cpu-9/cpu-system: + value: 0.000000e+00 +m01df6100/cpu-9/cpu-user: + value: 0.000000e+00 +m01df6100/cpu-9/cpu-wait: + value: 0.000000e+00 +m01df6100/df-boot/df_complex-free: + value: 4.369408e+08 +m01df6100/df-boot/df_complex-reserved: + value: 2.684109e+07 +m01df6100/df-boot/df_complex-used: + value: 6.464307e+07 +m01df6100/df-boot/df_inodes-free: + value: 3.271800e+04 +m01df6100/df-boot/df_inodes-reserved: + value: 0.000000e+00 +m01df6100/df-boot/df_inodes-used: + value: 5.000000e+01 +m01df6100/df-boot/percent_bytes-free: + value: 8.268739e+01 +m01df6100/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +m01df6100/df-boot/percent_bytes-used: + value: 1.223316e+01 +m01df6100/df-boot/percent_inodes-free: + value: 9.984741e+01 +m01df6100/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +m01df6100/df-boot/percent_inodes-used: + value: 1.525879e-01 +m01df6100/df-data1/df_complex-free: + value: 2.574032e+11 +m01df6100/df-data1/df_complex-reserved: + value: 1.378982e+10 +m01df6100/df-data1/df_complex-used: + value: 2.758984e+08 +m01df6100/df-data1/df_inodes-free: + value: 1.683426e+07 +m01df6100/df-data1/df_inodes-reserved: + value: 0.000000e+00 +m01df6100/df-data1/df_inodes-used: + value: 2.960000e+02 +m01df6100/df-data1/percent_bytes-free: + value: 9.481866e+01 +m01df6100/df-data1/percent_bytes-reserved: + value: 5.079707e+00 +m01df6100/df-data1/percent_bytes-used: + value: 1.016317e-01 +m01df6100/df-data1/percent_inodes-free: + value: 9.999825e+01 +m01df6100/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +m01df6100/df-data1/percent_inodes-used: + value: 1.758288e-03 +m01df6100/df-dev-shm/df_complex-free: + value: 3.375709e+10 +m01df6100/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +m01df6100/df-dev-shm/df_complex-used: + value: 0.000000e+00 +m01df6100/df-dev-shm/df_inodes-free: + value: 8.241475e+06 +m01df6100/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +m01df6100/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +m01df6100/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +m01df6100/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +m01df6100/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +m01df6100/df-dev-shm/percent_inodes-free: + value: 9.999998e+01 +m01df6100/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +m01df6100/df-dev-shm/percent_inodes-used: + value: 1.213375e-05 +m01df6100/df-root/df_complex-free: + value: 1.072688e+10 +m01df6100/df-root/df_complex-reserved: + value: 6.442435e+08 +m01df6100/df-root/df_complex-used: + value: 1.311580e+09 +m01df6100/df-root/df_inodes-free: + value: 7.454950e+05 +m01df6100/df-root/df_inodes-reserved: + value: 0.000000e+00 +m01df6100/df-root/df_inodes-used: + value: 4.093700e+04 +m01df6100/df-root/percent_bytes-free: + value: 8.457882e+01 +m01df6100/df-root/percent_bytes-reserved: + value: 5.079700e+00 +m01df6100/df-root/percent_bytes-used: + value: 1.034148e+01 +m01df6100/df-root/percent_inodes-free: + value: 9.479459e+01 +m01df6100/df-root/percent_inodes-reserved: + value: 0.000000e+00 +m01df6100/df-root/percent_inodes-used: + value: 5.205409e+00 +m01df6100/df-var/df_complex-free: + value: 7.566787e+09 +m01df6100/df-var/df_complex-reserved: + value: 4.294943e+08 +m01df6100/df-var/df_complex-used: + value: 4.588380e+08 +m01df6100/df-var/df_inodes-free: + value: 5.228090e+05 +m01df6100/df-var/df_inodes-reserved: + value: 0.000000e+00 +m01df6100/df-var/df_inodes-used: + value: 1.479000e+03 +m01df6100/df-var/percent_bytes-free: + value: 8.949355e+01 +m01df6100/df-var/percent_bytes-reserved: + value: 5.079695e+00 +m01df6100/df-var/percent_bytes-used: + value: 5.426748e+00 +m01df6100/df-var/percent_inodes-free: + value: 9.971790e+01 +m01df6100/df-var/percent_inodes-reserved: + value: 0.000000e+00 +m01df6100/df-var/percent_inodes-used: + value: 2.820969e-01 +m01df6100/disk-sda/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda2/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda2/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda2/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda2/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda3/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda3/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda3/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda3/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda6/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda6/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda6/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/disk-sda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6100/load/load: + longterm: 0.000000e+00 + midterm: 2.000000e-02 + shortterm: 3.000000e-02 +m01df6100/memory/memory-buffered: + value: 3.348275e+08 +m01df6100/memory/memory-cached: + value: 5.892219e+08 +m01df6100/memory/memory-free: + value: 6.425088e+10 +m01df6100/memory/memory-used: + value: 2.339246e+09 +m01df6100/network/if_octets: + rx: 0.000000e+00 + tx: 1.057501e+03 +m01df6100/network/if_packets: + rx: 0.000000e+00 + tx: 8.000004e-01 +m01df6100/network/queue_length: + value: 0.000000e+00 +m01df6100/network/total_values-dispatch-accepted: + value: 0.000000e+00 +m01df6100/network/total_values-dispatch-rejected: + value: 0.000000e+00 +m01df6100/network/total_values-send-accepted: + value: 1.929969e+01 +m01df6100/network/total_values-send-rejected: + value: 0.000000e+00 +m01df6100/swap/swap-cached: + value: 0.000000e+00 +m01df6100/swap/swap-free: + value: 2.147475e+09 +m01df6100/swap/swap-used: + value: 0.000000e+00 +m01df6100/swap/swap_io-in: + value: 0.000000e+00 +m01df6100/swap/swap_io-out: + value: 0.000000e+00 +m01df6100/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 3.199662e+00 +m01df6100/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 0.000000e+00 +m01df6100/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +m01df6100/vmem/vmpage_number-active_anon: + value: 2.152660e+05 +m01df6100/vmem/vmpage_number-active_file: + value: 1.507500e+05 +m01df6100/vmem/vmpage_number-anon_pages: + value: 1.456100e+04 +m01df6100/vmem/vmpage_number-anon_transparent_hugepages: + value: 3.920000e+02 +m01df6100/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +m01df6100/vmem/vmpage_number-dirty: + value: 0.000000e+00 +m01df6100/vmem/vmpage_number-file_pages: + value: 2.255980e+05 +m01df6100/vmem/vmpage_number-free_pages: + value: 1.568625e+07 +m01df6100/vmem/vmpage_number-inactive_anon: + value: 4.600000e+01 +m01df6100/vmem/vmpage_number-inactive_file: + value: 7.480400e+04 +m01df6100/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +m01df6100/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +m01df6100/vmem/vmpage_number-kernel_stack: + value: 4.500000e+02 +m01df6100/vmem/vmpage_number-mapped: + value: 3.560000e+03 +m01df6100/vmem/vmpage_number-mlock: + value: 0.000000e+00 +m01df6100/vmem/vmpage_number-page_table_pages: + value: 1.060000e+03 +m01df6100/vmem/vmpage_number-shmem: + value: 4.800000e+01 +m01df6100/vmem/vmpage_number-slab_reclaimable: + value: 2.369210e+05 +m01df6100/vmem/vmpage_number-slab_unreclaimable: + value: 1.479000e+04 +m01df6100/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +m01df6100/vmem/vmpage_number-unstable: + value: 0.000000e+00 +m01df6100/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +m01df6100/vmem/vmpage_number-writeback: + value: 0.000000e+00 +m01df6100/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +m01df6200/cpu-0/cpu-idle: + value: 9.970372e+01 +m01df6200/cpu-0/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-0/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-0/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-0/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-0/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-0/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-0/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-1/cpu-idle: + value: 1.000038e+02 +m01df6200/cpu-1/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-1/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-1/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-1/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-1/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-1/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-1/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-10/cpu-idle: + value: 1.000043e+02 +m01df6200/cpu-10/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-10/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-10/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-10/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-10/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-10/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-10/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-11/cpu-idle: + value: 1.000045e+02 +m01df6200/cpu-11/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-11/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-11/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-11/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-11/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-11/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-11/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-12/cpu-idle: + value: 1.000044e+02 +m01df6200/cpu-12/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-12/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-12/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-12/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-12/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-12/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-12/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-13/cpu-idle: + value: 1.000045e+02 +m01df6200/cpu-13/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-13/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-13/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-13/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-13/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-13/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-13/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-14/cpu-idle: + value: 1.000044e+02 +m01df6200/cpu-14/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-14/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-14/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-14/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-14/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-14/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-14/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-15/cpu-idle: + value: 9.990450e+01 +m01df6200/cpu-15/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-15/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-15/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-15/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-15/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-15/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-15/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-16/cpu-idle: + value: 1.000046e+02 +m01df6200/cpu-16/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-16/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-16/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-16/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-16/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-16/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-16/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-17/cpu-idle: + value: 1.000047e+02 +m01df6200/cpu-17/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-17/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-17/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-17/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-17/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-17/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-17/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-18/cpu-idle: + value: 1.000047e+02 +m01df6200/cpu-18/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-18/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-18/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-18/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-18/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-18/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-18/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-19/cpu-idle: + value: 9.990492e+01 +m01df6200/cpu-19/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-19/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-19/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-19/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-19/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-19/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-19/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-2/cpu-idle: + value: 1.000038e+02 +m01df6200/cpu-2/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-2/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-2/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-2/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-2/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-2/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-2/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-20/cpu-idle: + value: 9.990475e+01 +m01df6200/cpu-20/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-20/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-20/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-20/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-20/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-20/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-20/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-21/cpu-idle: + value: 1.000048e+02 +m01df6200/cpu-21/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-21/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-21/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-21/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-21/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-21/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-21/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-22/cpu-idle: + value: 1.000049e+02 +m01df6200/cpu-22/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-22/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-22/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-22/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-22/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-22/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-22/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-23/cpu-idle: + value: 9.990458e+01 +m01df6200/cpu-23/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-23/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-23/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-23/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-23/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-23/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-23/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-3/cpu-idle: + value: 9.990383e+01 +m01df6200/cpu-3/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-3/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-3/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-3/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-3/cpu-system: + value: 1.000038e-01 +m01df6200/cpu-3/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-3/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-4/cpu-idle: + value: 1.000039e+02 +m01df6200/cpu-4/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-4/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-4/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-4/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-4/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-4/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-4/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-5/cpu-idle: + value: 1.000039e+02 +m01df6200/cpu-5/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-5/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-5/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-5/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-5/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-5/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-5/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-6/cpu-idle: + value: 1.000039e+02 +m01df6200/cpu-6/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-6/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-6/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-6/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-6/cpu-system: + value: 1.000039e-01 +m01df6200/cpu-6/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-6/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-7/cpu-idle: + value: 9.990388e+01 +m01df6200/cpu-7/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-7/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-7/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-7/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-7/cpu-system: + value: 1.000039e-01 +m01df6200/cpu-7/cpu-user: + value: 0.000000e+00 +m01df6200/cpu-7/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-8/cpu-idle: + value: 9.990408e+01 +m01df6200/cpu-8/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-8/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-8/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-8/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-8/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-8/cpu-user: + value: 1.000040e-01 +m01df6200/cpu-8/cpu-wait: + value: 0.000000e+00 +m01df6200/cpu-9/cpu-idle: + value: 1.000043e+02 +m01df6200/cpu-9/cpu-interrupt: + value: 0.000000e+00 +m01df6200/cpu-9/cpu-nice: + value: 0.000000e+00 +m01df6200/cpu-9/cpu-softirq: + value: 0.000000e+00 +m01df6200/cpu-9/cpu-steal: + value: 0.000000e+00 +m01df6200/cpu-9/cpu-system: + value: 0.000000e+00 +m01df6200/cpu-9/cpu-user: + value: 1.000043e-01 +m01df6200/cpu-9/cpu-wait: + value: 0.000000e+00 +m01df6200/df-boot/df_complex-free: + value: 4.368957e+08 +m01df6200/df-boot/df_complex-reserved: + value: 2.684109e+07 +m01df6200/df-boot/df_complex-used: + value: 6.468813e+07 +m01df6200/df-boot/df_inodes-free: + value: 3.271800e+04 +m01df6200/df-boot/df_inodes-reserved: + value: 0.000000e+00 +m01df6200/df-boot/df_inodes-used: + value: 5.000000e+01 +m01df6200/df-boot/percent_bytes-free: + value: 8.267886e+01 +m01df6200/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +m01df6200/df-boot/percent_bytes-used: + value: 1.224169e+01 +m01df6200/df-boot/percent_inodes-free: + value: 9.984741e+01 +m01df6200/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +m01df6200/df-boot/percent_inodes-used: + value: 1.525879e-01 +m01df6200/df-data1/df_complex-free: + value: 2.574203e+11 +m01df6200/df-data1/df_complex-reserved: + value: 1.378982e+10 +m01df6200/df-data1/df_complex-used: + value: 2.587075e+08 +m01df6200/df-data1/df_inodes-free: + value: 1.683427e+07 +m01df6200/df-data1/df_inodes-reserved: + value: 0.000000e+00 +m01df6200/df-data1/df_inodes-used: + value: 2.940000e+02 +m01df6200/df-data1/percent_bytes-free: + value: 9.482500e+01 +m01df6200/df-data1/percent_bytes-reserved: + value: 5.079707e+00 +m01df6200/df-data1/percent_bytes-used: + value: 9.529912e-02 +m01df6200/df-data1/percent_inodes-free: + value: 9.999825e+01 +m01df6200/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +m01df6200/df-data1/percent_inodes-used: + value: 1.746407e-03 +m01df6200/df-dev-shm/df_complex-free: + value: 3.375709e+10 +m01df6200/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +m01df6200/df-dev-shm/df_complex-used: + value: 0.000000e+00 +m01df6200/df-dev-shm/df_inodes-free: + value: 8.241475e+06 +m01df6200/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +m01df6200/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +m01df6200/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +m01df6200/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +m01df6200/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +m01df6200/df-dev-shm/percent_inodes-free: + value: 9.999998e+01 +m01df6200/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +m01df6200/df-dev-shm/percent_inodes-used: + value: 1.213375e-05 +m01df6200/df-root/df_complex-free: + value: 1.073381e+10 +m01df6200/df-root/df_complex-reserved: + value: 6.442435e+08 +m01df6200/df-root/df_complex-used: + value: 1.304654e+09 +m01df6200/df-root/df_inodes-free: + value: 7.455060e+05 +m01df6200/df-root/df_inodes-reserved: + value: 0.000000e+00 +m01df6200/df-root/df_inodes-used: + value: 4.092600e+04 +m01df6200/df-root/percent_bytes-free: + value: 8.463343e+01 +m01df6200/df-root/percent_bytes-reserved: + value: 5.079700e+00 +m01df6200/df-root/percent_bytes-used: + value: 1.028687e+01 +m01df6200/df-root/percent_inodes-free: + value: 9.479599e+01 +m01df6200/df-root/percent_inodes-reserved: + value: 0.000000e+00 +m01df6200/df-root/percent_inodes-used: + value: 5.204010e+00 +m01df6200/df-var/df_complex-free: + value: 7.567528e+09 +m01df6200/df-var/df_complex-reserved: + value: 4.294943e+08 +m01df6200/df-var/df_complex-used: + value: 4.580966e+08 +m01df6200/df-var/df_inodes-free: + value: 5.228110e+05 +m01df6200/df-var/df_inodes-reserved: + value: 0.000000e+00 +m01df6200/df-var/df_inodes-used: + value: 1.477000e+03 +m01df6200/df-var/percent_bytes-free: + value: 8.950232e+01 +m01df6200/df-var/percent_bytes-reserved: + value: 5.079695e+00 +m01df6200/df-var/percent_bytes-used: + value: 5.417980e+00 +m01df6200/df-var/percent_inodes-free: + value: 9.971828e+01 +m01df6200/df-var/percent_inodes-reserved: + value: 0.000000e+00 +m01df6200/df-var/percent_inodes-used: + value: 2.817154e-01 +m01df6200/disk-sda/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda2/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda2/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda2/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda2/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda3/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda3/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda3/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda3/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda6/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda6/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda6/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/disk-sda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +m01df6200/load/load: + longterm: 0.000000e+00 + midterm: 0.000000e+00 + shortterm: 0.000000e+00 +m01df6200/memory/memory-buffered: + value: 3.312067e+08 +m01df6200/memory/memory-cached: + value: 5.615206e+08 +m01df6200/memory/memory-free: + value: 6.428290e+10 +m01df6200/memory/memory-used: + value: 2.338546e+09 +m01df6200/network/if_octets: + rx: 0.000000e+00 + tx: 1.583300e+03 +m01df6200/network/if_packets: + rx: 0.000000e+00 + tx: 1.200000e+00 +m01df6200/network/queue_length: + value: 0.000000e+00 +m01df6200/network/total_values-dispatch-accepted: + value: 0.000000e+00 +m01df6200/network/total_values-dispatch-rejected: + value: 0.000000e+00 +m01df6200/network/total_values-send-accepted: + value: 3.150000e+01 +m01df6200/network/total_values-send-rejected: + value: 0.000000e+00 +m01df6200/swap/swap-cached: + value: 0.000000e+00 +m01df6200/swap/swap-free: + value: 2.147475e+09 +m01df6200/swap/swap-used: + value: 0.000000e+00 +m01df6200/swap/swap_io-in: + value: 0.000000e+00 +m01df6200/swap/swap_io-out: + value: 0.000000e+00 +m01df6200/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 3.600012e+00 +m01df6200/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 0.000000e+00 +m01df6200/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +m01df6200/vmem/vmpage_number-active_anon: + value: 2.124650e+05 +m01df6200/vmem/vmpage_number-active_file: + value: 1.424970e+05 +m01df6200/vmem/vmpage_number-anon_pages: + value: 1.227400e+04 +m01df6200/vmem/vmpage_number-anon_transparent_hugepages: + value: 3.910000e+02 +m01df6200/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +m01df6200/vmem/vmpage_number-dirty: + value: 0.000000e+00 +m01df6200/vmem/vmpage_number-file_pages: + value: 2.179510e+05 +m01df6200/vmem/vmpage_number-free_pages: + value: 1.569406e+07 +m01df6200/vmem/vmpage_number-inactive_anon: + value: 4.800000e+01 +m01df6200/vmem/vmpage_number-inactive_file: + value: 7.540800e+04 +m01df6200/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +m01df6200/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +m01df6200/vmem/vmpage_number-kernel_stack: + value: 4.460000e+02 +m01df6200/vmem/vmpage_number-mapped: + value: 3.063000e+03 +m01df6200/vmem/vmpage_number-mlock: + value: 0.000000e+00 +m01df6200/vmem/vmpage_number-page_table_pages: + value: 8.920000e+02 +m01df6200/vmem/vmpage_number-shmem: + value: 5.000000e+01 +m01df6200/vmem/vmpage_number-slab_reclaimable: + value: 2.398380e+05 +m01df6200/vmem/vmpage_number-slab_unreclaimable: + value: 1.473600e+04 +m01df6200/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +m01df6200/vmem/vmpage_number-unstable: + value: 0.000000e+00 +m01df6200/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +m01df6200/vmem/vmpage_number-writeback: + value: 0.000000e+00 +m01df6200/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +w838f6010/cpu-0/cpu-idle: + value: 9.990008e+01 +w838f6010/cpu-0/cpu-interrupt: + value: 0.000000e+00 +w838f6010/cpu-0/cpu-nice: + value: 0.000000e+00 +w838f6010/cpu-0/cpu-softirq: + value: 0.000000e+00 +w838f6010/cpu-0/cpu-steal: + value: 0.000000e+00 +w838f6010/cpu-0/cpu-system: + value: 0.000000e+00 +w838f6010/cpu-0/cpu-user: + value: 0.000000e+00 +w838f6010/cpu-0/cpu-wait: + value: 0.000000e+00 +w838f6010/cpu-1/cpu-idle: + value: 9.980017e+01 +w838f6010/cpu-1/cpu-interrupt: + value: 0.000000e+00 +w838f6010/cpu-1/cpu-nice: + value: 0.000000e+00 +w838f6010/cpu-1/cpu-softirq: + value: 0.000000e+00 +w838f6010/cpu-1/cpu-steal: + value: 0.000000e+00 +w838f6010/cpu-1/cpu-system: + value: 0.000000e+00 +w838f6010/cpu-1/cpu-user: + value: 0.000000e+00 +w838f6010/cpu-1/cpu-wait: + value: 0.000000e+00 +w838f6010/df-boot/df_complex-free: + value: 4.793754e+08 +w838f6010/df-boot/df_complex-reserved: + value: 2.684109e+07 +w838f6010/df-boot/df_complex-used: + value: 2.220851e+07 +w838f6010/df-boot/df_inodes-free: + value: 3.273000e+04 +w838f6010/df-boot/df_inodes-reserved: + value: 0.000000e+00 +w838f6010/df-boot/df_inodes-used: + value: 3.800000e+01 +w838f6010/df-boot/percent_bytes-free: + value: 9.071777e+01 +w838f6010/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +w838f6010/df-boot/percent_bytes-used: + value: 4.202775e+00 +w838f6010/df-boot/percent_inodes-free: + value: 9.988403e+01 +w838f6010/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +w838f6010/df-boot/percent_inodes-used: + value: 1.159668e-01 +w838f6010/df-data1/df_complex-free: + value: 2.740491e+10 +w838f6010/df-data1/df_complex-reserved: + value: 1.476235e+09 +w838f6010/df-data1/df_complex-used: + value: 1.802977e+08 +w838f6010/df-data1/df_inodes-free: + value: 1.802227e+06 +w838f6010/df-data1/df_inodes-reserved: + value: 0.000000e+00 +w838f6010/df-data1/df_inodes-used: + value: 1.300000e+01 +w838f6010/df-data1/percent_bytes-free: + value: 9.429990e+01 +w838f6010/df-data1/percent_bytes-reserved: + value: 5.079704e+00 +w838f6010/df-data1/percent_bytes-used: + value: 6.204019e-01 +w838f6010/df-data1/percent_inodes-free: + value: 9.999928e+01 +w838f6010/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +w838f6010/df-data1/percent_inodes-used: + value: 7.213246e-04 +w838f6010/df-dev-shm/df_complex-free: + value: 9.842483e+08 +w838f6010/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +w838f6010/df-dev-shm/df_complex-used: + value: 0.000000e+00 +w838f6010/df-dev-shm/df_inodes-free: + value: 2.402940e+05 +w838f6010/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +w838f6010/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +w838f6010/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +w838f6010/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +w838f6010/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +w838f6010/df-dev-shm/percent_inodes-free: + value: 9.999958e+01 +w838f6010/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +w838f6010/df-dev-shm/percent_inodes-used: + value: 4.161551e-04 +w838f6010/df-root/df_complex-free: + value: 1.099070e+10 +w838f6010/df-root/df_complex-reserved: + value: 6.442435e+08 +w838f6010/df-root/df_complex-used: + value: 1.047761e+09 +w838f6010/df-root/df_inodes-free: + value: 7.509290e+05 +w838f6010/df-root/df_inodes-reserved: + value: 0.000000e+00 +w838f6010/df-root/df_inodes-used: + value: 3.550300e+04 +w838f6010/df-root/percent_bytes-free: + value: 8.665897e+01 +w838f6010/df-root/percent_bytes-reserved: + value: 5.079700e+00 +w838f6010/df-root/percent_bytes-used: + value: 8.261335e+00 +w838f6010/df-root/percent_inodes-free: + value: 9.548557e+01 +w838f6010/df-root/percent_inodes-reserved: + value: 0.000000e+00 +w838f6010/df-root/percent_inodes-used: + value: 4.514440e+00 +w838f6010/df-var/df_complex-free: + value: 7.638827e+09 +w838f6010/df-var/df_complex-reserved: + value: 4.294943e+08 +w838f6010/df-var/df_complex-used: + value: 3.867976e+08 +w838f6010/df-var/df_inodes-free: + value: 5.230900e+05 +w838f6010/df-var/df_inodes-reserved: + value: 0.000000e+00 +w838f6010/df-var/df_inodes-used: + value: 1.198000e+03 +w838f6010/df-var/percent_bytes-free: + value: 9.034559e+01 +w838f6010/df-var/percent_bytes-reserved: + value: 5.079695e+00 +w838f6010/df-var/percent_bytes-used: + value: 4.574715e+00 +w838f6010/df-var/percent_inodes-free: + value: 9.977150e+01 +w838f6010/df-var/percent_inodes-reserved: + value: 0.000000e+00 +w838f6010/df-var/percent_inodes-used: + value: 2.285004e-01 +w838f6010/disk-vda/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda2/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda2/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda2/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda2/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda3/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda3/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda3/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda3/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda6/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda6/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda6/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/disk-vda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6010/load/load: + longterm: 0.000000e+00 + midterm: 2.000000e-02 + shortterm: 2.000000e-02 +w838f6010/memory/memory-buffered: + value: 1.263739e+08 +w838f6010/memory/memory-cached: + value: 4.350566e+08 +w838f6010/memory/memory-free: + value: 1.024844e+09 +w838f6010/memory/memory-used: + value: 3.822223e+08 +w838f6010/network/if_octets: + rx: 0.000000e+00 + tx: 6.632999e+02 +w838f6010/network/if_packets: + rx: 0.000000e+00 + tx: 5.000010e-01 +w838f6010/network/queue_length: + value: 0.000000e+00 +w838f6010/network/total_values-dispatch-accepted: + value: 0.000000e+00 +w838f6010/network/total_values-dispatch-rejected: + value: 0.000000e+00 +w838f6010/network/total_values-send-accepted: + value: 1.480000e+01 +w838f6010/network/total_values-send-rejected: + value: 0.000000e+00 +w838f6010/swap/swap-cached: + value: 0.000000e+00 +w838f6010/swap/swap-free: + value: 2.147475e+09 +w838f6010/swap/swap-used: + value: 0.000000e+00 +w838f6010/swap/swap_io-in: + value: 0.000000e+00 +w838f6010/swap/swap_io-out: + value: 0.000000e+00 +w838f6010/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 4.999995e+00 +w838f6010/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 0.000000e+00 +w838f6010/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +w838f6010/vmem/vmpage_number-active_anon: + value: 1.249400e+04 +w838f6010/vmem/vmpage_number-active_file: + value: 7.016800e+04 +w838f6010/vmem/vmpage_number-anon_pages: + value: 1.095500e+04 +w838f6010/vmem/vmpage_number-anon_transparent_hugepages: + value: 3.000000e+00 +w838f6010/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +w838f6010/vmem/vmpage_number-dirty: + value: 0.000000e+00 +w838f6010/vmem/vmpage_number-file_pages: + value: 1.370680e+05 +w838f6010/vmem/vmpage_number-free_pages: + value: 2.502060e+05 +w838f6010/vmem/vmpage_number-inactive_anon: + value: 4.200000e+01 +w838f6010/vmem/vmpage_number-inactive_file: + value: 6.685900e+04 +w838f6010/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +w838f6010/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +w838f6010/vmem/vmpage_number-kernel_stack: + value: 1.130000e+02 +w838f6010/vmem/vmpage_number-mapped: + value: 1.480000e+03 +w838f6010/vmem/vmpage_number-mlock: + value: 0.000000e+00 +w838f6010/vmem/vmpage_number-page_table_pages: + value: 4.220000e+02 +w838f6010/vmem/vmpage_number-shmem: + value: 4.500000e+01 +w838f6010/vmem/vmpage_number-slab_reclaimable: + value: 6.896900e+04 +w838f6010/vmem/vmpage_number-slab_unreclaimable: + value: 5.190000e+03 +w838f6010/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +w838f6010/vmem/vmpage_number-unstable: + value: 0.000000e+00 +w838f6010/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +w838f6010/vmem/vmpage_number-writeback: + value: 0.000000e+00 +w838f6010/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +w838f6700/cpu-0/cpu-idle: + value: 9.619931e+01 +w838f6700/cpu-0/cpu-interrupt: + value: 0.000000e+00 +w838f6700/cpu-0/cpu-nice: + value: 0.000000e+00 +w838f6700/cpu-0/cpu-softirq: + value: 0.000000e+00 +w838f6700/cpu-0/cpu-steal: + value: 0.000000e+00 +w838f6700/cpu-0/cpu-system: + value: 1.899992e+00 +w838f6700/cpu-0/cpu-user: + value: 1.600000e+00 +w838f6700/cpu-0/cpu-wait: + value: 0.000000e+00 +w838f6700/cpu-1/cpu-idle: + value: 9.599589e+01 +w838f6700/cpu-1/cpu-interrupt: + value: 0.000000e+00 +w838f6700/cpu-1/cpu-nice: + value: 0.000000e+00 +w838f6700/cpu-1/cpu-softirq: + value: 0.000000e+00 +w838f6700/cpu-1/cpu-steal: + value: 0.000000e+00 +w838f6700/cpu-1/cpu-system: + value: 1.799923e+00 +w838f6700/cpu-1/cpu-user: + value: 1.799919e+00 +w838f6700/cpu-1/cpu-wait: + value: 0.000000e+00 +w838f6700/cpu-2/cpu-idle: + value: 9.539595e+01 +w838f6700/cpu-2/cpu-interrupt: + value: 0.000000e+00 +w838f6700/cpu-2/cpu-nice: + value: 0.000000e+00 +w838f6700/cpu-2/cpu-softirq: + value: 0.000000e+00 +w838f6700/cpu-2/cpu-steal: + value: 9.999593e-02 +w838f6700/cpu-2/cpu-system: + value: 2.299903e+00 +w838f6700/cpu-2/cpu-user: + value: 1.899919e+00 +w838f6700/cpu-2/cpu-wait: + value: 0.000000e+00 +w838f6700/cpu-3/cpu-idle: + value: 9.439610e+01 +w838f6700/cpu-3/cpu-interrupt: + value: 0.000000e+00 +w838f6700/cpu-3/cpu-nice: + value: 0.000000e+00 +w838f6700/cpu-3/cpu-softirq: + value: 0.000000e+00 +w838f6700/cpu-3/cpu-steal: + value: 0.000000e+00 +w838f6700/cpu-3/cpu-system: + value: 2.699890e+00 +w838f6700/cpu-3/cpu-user: + value: 2.599893e+00 +w838f6700/cpu-3/cpu-wait: + value: 0.000000e+00 +w838f6700/df-boot/df_complex-free: + value: 4.793713e+08 +w838f6700/df-boot/df_complex-reserved: + value: 2.684109e+07 +w838f6700/df-boot/df_complex-used: + value: 2.221261e+07 +w838f6700/df-boot/df_inodes-free: + value: 3.273000e+04 +w838f6700/df-boot/df_inodes-reserved: + value: 0.000000e+00 +w838f6700/df-boot/df_inodes-used: + value: 3.800000e+01 +w838f6700/df-boot/percent_bytes-free: + value: 9.071700e+01 +w838f6700/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +w838f6700/df-boot/percent_bytes-used: + value: 4.203550e+00 +w838f6700/df-boot/percent_inodes-free: + value: 9.988403e+01 +w838f6700/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +w838f6700/df-boot/percent_inodes-used: + value: 1.159668e-01 +w838f6700/df-data1/df_complex-free: + value: 2.740491e+10 +w838f6700/df-data1/df_complex-reserved: + value: 1.476235e+09 +w838f6700/df-data1/df_complex-used: + value: 1.802977e+08 +w838f6700/df-data1/df_inodes-free: + value: 1.802227e+06 +w838f6700/df-data1/df_inodes-reserved: + value: 0.000000e+00 +w838f6700/df-data1/df_inodes-used: + value: 1.300000e+01 +w838f6700/df-data1/percent_bytes-free: + value: 9.429990e+01 +w838f6700/df-data1/percent_bytes-reserved: + value: 5.079704e+00 +w838f6700/df-data1/percent_bytes-used: + value: 6.204019e-01 +w838f6700/df-data1/percent_inodes-free: + value: 9.999928e+01 +w838f6700/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +w838f6700/df-data1/percent_inodes-used: + value: 7.213246e-04 +w838f6700/df-dev-shm/df_complex-free: + value: 4.126425e+09 +w838f6700/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +w838f6700/df-dev-shm/df_complex-used: + value: 0.000000e+00 +w838f6700/df-dev-shm/df_inodes-free: + value: 1.007427e+06 +w838f6700/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +w838f6700/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +w838f6700/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +w838f6700/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +w838f6700/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +w838f6700/df-dev-shm/percent_inodes-free: + value: 9.999990e+01 +w838f6700/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +w838f6700/df-dev-shm/percent_inodes-used: + value: 9.926267e-05 +w838f6700/df-root/df_complex-free: + value: 1.069915e+10 +w838f6700/df-root/df_complex-reserved: + value: 6.442435e+08 +w838f6700/df-root/df_complex-used: + value: 1.339314e+09 +w838f6700/df-root/df_inodes-free: + value: 7.466750e+05 +w838f6700/df-root/df_inodes-reserved: + value: 0.000000e+00 +w838f6700/df-root/df_inodes-used: + value: 3.975700e+04 +w838f6700/df-root/percent_bytes-free: + value: 8.436014e+01 +w838f6700/df-root/percent_bytes-reserved: + value: 5.079700e+00 +w838f6700/df-root/percent_bytes-used: + value: 1.056016e+01 +w838f6700/df-root/percent_inodes-free: + value: 9.494464e+01 +w838f6700/df-root/percent_inodes-reserved: + value: 0.000000e+00 +w838f6700/df-root/percent_inodes-used: + value: 5.055364e+00 +w838f6700/df-var/df_complex-free: + value: 6.687375e+09 +w838f6700/df-var/df_complex-reserved: + value: 4.294943e+08 +w838f6700/df-var/df_complex-used: + value: 1.338249e+09 +w838f6700/df-var/df_inodes-free: + value: 5.212840e+05 +w838f6700/df-var/df_inodes-reserved: + value: 0.000000e+00 +w838f6700/df-var/df_inodes-used: + value: 3.004000e+03 +w838f6700/df-var/percent_bytes-free: + value: 7.909262e+01 +w838f6700/df-var/percent_bytes-reserved: + value: 5.079695e+00 +w838f6700/df-var/percent_bytes-used: + value: 1.582768e+01 +w838f6700/df-var/percent_inodes-free: + value: 9.942703e+01 +w838f6700/df-var/percent_inodes-reserved: + value: 0.000000e+00 +w838f6700/df-var/percent_inodes-used: + value: 5.729675e-01 +w838f6700/disk-vda/disk_merged: + read: 0.000000e+00 + write: 1.000002e-01 +w838f6700/disk-vda/disk_octets: + read: 0.000000e+00 + write: 2.457603e+03 +w838f6700/disk-vda/disk_ops: + read: 0.000000e+00 + write: 5.000007e-01 +w838f6700/disk-vda/disk_time: + read: 0.000000e+00 + write: 1.200001e+00 +w838f6700/disk-vda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda2/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda2/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda2/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda2/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda3/disk_merged: + read: 0.000000e+00 + write: 1.000001e-01 +w838f6700/disk-vda3/disk_octets: + read: 0.000000e+00 + write: 2.457604e+03 +w838f6700/disk-vda3/disk_ops: + read: 0.000000e+00 + write: 5.000007e-01 +w838f6700/disk-vda3/disk_time: + read: 0.000000e+00 + write: 1.200002e+00 +w838f6700/disk-vda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda6/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda6/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda6/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/disk-vda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6700/load/load: + longterm: 2.000000e-02 + midterm: 4.000000e-02 + shortterm: 0.000000e+00 +w838f6700/memory/memory-buffered: + value: 1.980662e+08 +w838f6700/memory/memory-cached: + value: 1.702576e+09 +w838f6700/memory/memory-free: + value: 4.717773e+09 +w838f6700/memory/memory-used: + value: 1.634439e+09 +w838f6700/network/if_octets: + rx: 0.000000e+00 + tx: 9.293005e+02 +w838f6700/network/if_packets: + rx: 0.000000e+00 + tx: 7.000008e-01 +w838f6700/network/queue_length: + value: 0.000000e+00 +w838f6700/network/total_values-dispatch-accepted: + value: 0.000000e+00 +w838f6700/network/total_values-dispatch-rejected: + value: 0.000000e+00 +w838f6700/network/total_values-send-accepted: + value: 1.640000e+01 +w838f6700/network/total_values-send-rejected: + value: 0.000000e+00 +w838f6700/swap/swap-cached: + value: 0.000000e+00 +w838f6700/swap/swap-free: + value: 2.147475e+09 +w838f6700/swap/swap-used: + value: 0.000000e+00 +w838f6700/swap/swap_io-in: + value: 0.000000e+00 +w838f6700/swap/swap_io-out: + value: 0.000000e+00 +w838f6700/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 2.519992e+01 +w838f6700/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 1.999993e+00 +w838f6700/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +w838f6700/vmem/vmpage_number-active_anon: + value: 2.680560e+05 +w838f6700/vmem/vmpage_number-active_file: + value: 1.344860e+05 +w838f6700/vmem/vmpage_number-anon_pages: + value: 1.661620e+05 +w838f6700/vmem/vmpage_number-anon_transparent_hugepages: + value: 1.990000e+02 +w838f6700/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +w838f6700/vmem/vmpage_number-dirty: + value: 6.000000e+00 +w838f6700/vmem/vmpage_number-file_pages: + value: 4.640230e+05 +w838f6700/vmem/vmpage_number-free_pages: + value: 1.151800e+06 +w838f6700/vmem/vmpage_number-inactive_anon: + value: 6.300000e+01 +w838f6700/vmem/vmpage_number-inactive_file: + value: 3.294730e+05 +w838f6700/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +w838f6700/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +w838f6700/vmem/vmpage_number-kernel_stack: + value: 2.060000e+02 +w838f6700/vmem/vmpage_number-mapped: + value: 7.423000e+03 +w838f6700/vmem/vmpage_number-mlock: + value: 0.000000e+00 +w838f6700/vmem/vmpage_number-page_table_pages: + value: 2.612000e+03 +w838f6700/vmem/vmpage_number-shmem: + value: 6.900000e+01 +w838f6700/vmem/vmpage_number-slab_reclaimable: + value: 1.048400e+05 +w838f6700/vmem/vmpage_number-slab_unreclaimable: + value: 6.180000e+03 +w838f6700/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +w838f6700/vmem/vmpage_number-unstable: + value: 0.000000e+00 +w838f6700/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +w838f6700/vmem/vmpage_number-writeback: + value: 0.000000e+00 +w838f6700/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +w838f6800/cpu-0/cpu-idle: + value: 1.000001e+02 +w838f6800/cpu-0/cpu-interrupt: + value: 0.000000e+00 +w838f6800/cpu-0/cpu-nice: + value: 0.000000e+00 +w838f6800/cpu-0/cpu-softirq: + value: 0.000000e+00 +w838f6800/cpu-0/cpu-steal: + value: 0.000000e+00 +w838f6800/cpu-0/cpu-system: + value: 0.000000e+00 +w838f6800/cpu-0/cpu-user: + value: 0.000000e+00 +w838f6800/cpu-0/cpu-wait: + value: 0.000000e+00 +w838f6800/cpu-1/cpu-idle: + value: 9.989984e+01 +w838f6800/cpu-1/cpu-interrupt: + value: 0.000000e+00 +w838f6800/cpu-1/cpu-nice: + value: 0.000000e+00 +w838f6800/cpu-1/cpu-softirq: + value: 0.000000e+00 +w838f6800/cpu-1/cpu-steal: + value: 0.000000e+00 +w838f6800/cpu-1/cpu-system: + value: 0.000000e+00 +w838f6800/cpu-1/cpu-user: + value: 0.000000e+00 +w838f6800/cpu-1/cpu-wait: + value: 0.000000e+00 +w838f6800/cpu-2/cpu-idle: + value: 9.989981e+01 +w838f6800/cpu-2/cpu-interrupt: + value: 0.000000e+00 +w838f6800/cpu-2/cpu-nice: + value: 0.000000e+00 +w838f6800/cpu-2/cpu-softirq: + value: 0.000000e+00 +w838f6800/cpu-2/cpu-steal: + value: 0.000000e+00 +w838f6800/cpu-2/cpu-system: + value: 0.000000e+00 +w838f6800/cpu-2/cpu-user: + value: 0.000000e+00 +w838f6800/cpu-2/cpu-wait: + value: 0.000000e+00 +w838f6800/cpu-3/cpu-idle: + value: 9.989982e+01 +w838f6800/cpu-3/cpu-interrupt: + value: 0.000000e+00 +w838f6800/cpu-3/cpu-nice: + value: 0.000000e+00 +w838f6800/cpu-3/cpu-softirq: + value: 0.000000e+00 +w838f6800/cpu-3/cpu-steal: + value: 0.000000e+00 +w838f6800/cpu-3/cpu-system: + value: 0.000000e+00 +w838f6800/cpu-3/cpu-user: + value: 0.000000e+00 +w838f6800/cpu-3/cpu-wait: + value: 0.000000e+00 +w838f6800/df-boot/df_complex-free: + value: 4.793917e+08 +w838f6800/df-boot/df_complex-reserved: + value: 2.684109e+07 +w838f6800/df-boot/df_complex-used: + value: 2.219213e+07 +w838f6800/df-boot/df_inodes-free: + value: 3.273000e+04 +w838f6800/df-boot/df_inodes-reserved: + value: 0.000000e+00 +w838f6800/df-boot/df_inodes-used: + value: 3.800000e+01 +w838f6800/df-boot/percent_bytes-free: + value: 9.072087e+01 +w838f6800/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +w838f6800/df-boot/percent_bytes-used: + value: 4.199674e+00 +w838f6800/df-boot/percent_inodes-free: + value: 9.988403e+01 +w838f6800/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +w838f6800/df-boot/percent_inodes-used: + value: 1.159668e-01 +w838f6800/df-data1/df_complex-free: + value: 2.740491e+10 +w838f6800/df-data1/df_complex-reserved: + value: 1.476235e+09 +w838f6800/df-data1/df_complex-used: + value: 1.802977e+08 +w838f6800/df-data1/df_inodes-free: + value: 1.802227e+06 +w838f6800/df-data1/df_inodes-reserved: + value: 0.000000e+00 +w838f6800/df-data1/df_inodes-used: + value: 1.300000e+01 +w838f6800/df-data1/percent_bytes-free: + value: 9.429990e+01 +w838f6800/df-data1/percent_bytes-reserved: + value: 5.079704e+00 +w838f6800/df-data1/percent_bytes-used: + value: 6.204019e-01 +w838f6800/df-data1/percent_inodes-free: + value: 9.999928e+01 +w838f6800/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +w838f6800/df-data1/percent_inodes-used: + value: 7.213246e-04 +w838f6800/df-dev-shm/df_complex-free: + value: 4.126425e+09 +w838f6800/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +w838f6800/df-dev-shm/df_complex-used: + value: 0.000000e+00 +w838f6800/df-dev-shm/df_inodes-free: + value: 1.007427e+06 +w838f6800/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +w838f6800/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +w838f6800/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +w838f6800/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +w838f6800/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +w838f6800/df-dev-shm/percent_inodes-free: + value: 9.999990e+01 +w838f6800/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +w838f6800/df-dev-shm/percent_inodes-used: + value: 9.926267e-05 +w838f6800/df-root/df_complex-free: + value: 1.099071e+10 +w838f6800/df-root/df_complex-reserved: + value: 6.442435e+08 +w838f6800/df-root/df_complex-used: + value: 1.047757e+09 +w838f6800/df-root/df_inodes-free: + value: 7.509280e+05 +w838f6800/df-root/df_inodes-reserved: + value: 0.000000e+00 +w838f6800/df-root/df_inodes-used: + value: 3.550400e+04 +w838f6800/df-root/percent_bytes-free: + value: 8.665900e+01 +w838f6800/df-root/percent_bytes-reserved: + value: 5.079700e+00 +w838f6800/df-root/percent_bytes-used: + value: 8.261303e+00 +w838f6800/df-root/percent_inodes-free: + value: 9.548543e+01 +w838f6800/df-root/percent_inodes-reserved: + value: 0.000000e+00 +w838f6800/df-root/percent_inodes-used: + value: 4.514567e+00 +w838f6800/df-var/df_complex-free: + value: 7.635927e+09 +w838f6800/df-var/df_complex-reserved: + value: 4.294943e+08 +w838f6800/df-var/df_complex-used: + value: 3.896975e+08 +w838f6800/df-var/df_inodes-free: + value: 5.230400e+05 +w838f6800/df-var/df_inodes-reserved: + value: 0.000000e+00 +w838f6800/df-var/df_inodes-used: + value: 1.248000e+03 +w838f6800/df-var/percent_bytes-free: + value: 9.031129e+01 +w838f6800/df-var/percent_bytes-reserved: + value: 5.079695e+00 +w838f6800/df-var/percent_bytes-used: + value: 4.609013e+00 +w838f6800/df-var/percent_inodes-free: + value: 9.976196e+01 +w838f6800/df-var/percent_inodes-reserved: + value: 0.000000e+00 +w838f6800/df-var/percent_inodes-used: + value: 2.380371e-01 +w838f6800/disk-vda/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda2/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda2/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda2/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda2/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda3/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda3/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda3/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda3/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda6/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda6/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda6/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/disk-vda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6800/load/load: + longterm: 0.000000e+00 + midterm: 0.000000e+00 + shortterm: 0.000000e+00 +w838f6800/memory/memory-buffered: + value: 1.443430e+08 +w838f6800/memory/memory-cached: + value: 4.507607e+08 +w838f6800/memory/memory-free: + value: 7.122756e+09 +w838f6800/memory/memory-used: + value: 5.349949e+08 +w838f6800/network/if_octets: + rx: 0.000000e+00 + tx: 7.896001e+02 +w838f6800/network/if_packets: + rx: 0.000000e+00 + tx: 6.000121e-01 +w838f6800/network/queue_length: + value: 0.000000e+00 +w838f6800/network/total_values-dispatch-accepted: + value: 0.000000e+00 +w838f6800/network/total_values-dispatch-rejected: + value: 0.000000e+00 +w838f6800/network/total_values-send-accepted: + value: 1.530036e+01 +w838f6800/network/total_values-send-rejected: + value: 0.000000e+00 +w838f6800/swap/swap-cached: + value: 0.000000e+00 +w838f6800/swap/swap-free: + value: 2.147475e+09 +w838f6800/swap/swap-used: + value: 0.000000e+00 +w838f6800/swap/swap_io-in: + value: 0.000000e+00 +w838f6800/swap/swap_io-out: + value: 0.000000e+00 +w838f6800/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 4.500056e+00 +w838f6800/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 0.000000e+00 +w838f6800/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +w838f6800/vmem/vmpage_number-active_anon: + value: 1.298400e+04 +w838f6800/vmem/vmpage_number-active_file: + value: 7.437200e+04 +w838f6800/vmem/vmpage_number-anon_pages: + value: 1.042100e+04 +w838f6800/vmem/vmpage_number-anon_transparent_hugepages: + value: 5.000000e+00 +w838f6800/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +w838f6800/vmem/vmpage_number-dirty: + value: 0.000000e+00 +w838f6800/vmem/vmpage_number-file_pages: + value: 1.452890e+05 +w838f6800/vmem/vmpage_number-free_pages: + value: 1.738954e+06 +w838f6800/vmem/vmpage_number-inactive_anon: + value: 4.200000e+01 +w838f6800/vmem/vmpage_number-inactive_file: + value: 7.087600e+04 +w838f6800/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +w838f6800/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +w838f6800/vmem/vmpage_number-kernel_stack: + value: 1.390000e+02 +w838f6800/vmem/vmpage_number-mapped: + value: 1.478000e+03 +w838f6800/vmem/vmpage_number-mlock: + value: 0.000000e+00 +w838f6800/vmem/vmpage_number-page_table_pages: + value: 4.100000e+02 +w838f6800/vmem/vmpage_number-shmem: + value: 4.500000e+01 +w838f6800/vmem/vmpage_number-slab_reclaimable: + value: 9.488500e+04 +w838f6800/vmem/vmpage_number-slab_unreclaimable: + value: 5.513000e+03 +w838f6800/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +w838f6800/vmem/vmpage_number-unstable: + value: 0.000000e+00 +w838f6800/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +w838f6800/vmem/vmpage_number-writeback: + value: 0.000000e+00 +w838f6800/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +w838f6900/cpu-0/cpu-idle: + value: 9.700088e+01 +w838f6900/cpu-0/cpu-interrupt: + value: 0.000000e+00 +w838f6900/cpu-0/cpu-nice: + value: 0.000000e+00 +w838f6900/cpu-0/cpu-softirq: + value: 0.000000e+00 +w838f6900/cpu-0/cpu-steal: + value: 0.000000e+00 +w838f6900/cpu-0/cpu-system: + value: 1.000009e-01 +w838f6900/cpu-0/cpu-user: + value: 2.900025e+00 +w838f6900/cpu-0/cpu-wait: + value: 0.000000e+00 +w838f6900/cpu-1/cpu-idle: + value: 9.960079e+01 +w838f6900/cpu-1/cpu-interrupt: + value: 0.000000e+00 +w838f6900/cpu-1/cpu-nice: + value: 0.000000e+00 +w838f6900/cpu-1/cpu-softirq: + value: 0.000000e+00 +w838f6900/cpu-1/cpu-steal: + value: 0.000000e+00 +w838f6900/cpu-1/cpu-system: + value: 0.000000e+00 +w838f6900/cpu-1/cpu-user: + value: 0.000000e+00 +w838f6900/cpu-1/cpu-wait: + value: 0.000000e+00 +w838f6900/df-boot/df_complex-free: + value: 4.793836e+08 +w838f6900/df-boot/df_complex-reserved: + value: 2.684109e+07 +w838f6900/df-boot/df_complex-used: + value: 2.220032e+07 +w838f6900/df-boot/df_inodes-free: + value: 3.273000e+04 +w838f6900/df-boot/df_inodes-reserved: + value: 0.000000e+00 +w838f6900/df-boot/df_inodes-used: + value: 3.800000e+01 +w838f6900/df-boot/percent_bytes-free: + value: 9.071932e+01 +w838f6900/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +w838f6900/df-boot/percent_bytes-used: + value: 4.201225e+00 +w838f6900/df-boot/percent_inodes-free: + value: 9.988403e+01 +w838f6900/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +w838f6900/df-boot/percent_inodes-used: + value: 1.159668e-01 +w838f6900/df-data1/df_complex-free: + value: 2.740491e+10 +w838f6900/df-data1/df_complex-reserved: + value: 1.476235e+09 +w838f6900/df-data1/df_complex-used: + value: 1.802977e+08 +w838f6900/df-data1/df_inodes-free: + value: 1.802227e+06 +w838f6900/df-data1/df_inodes-reserved: + value: 0.000000e+00 +w838f6900/df-data1/df_inodes-used: + value: 1.300000e+01 +w838f6900/df-data1/percent_bytes-free: + value: 9.429990e+01 +w838f6900/df-data1/percent_bytes-reserved: + value: 5.079704e+00 +w838f6900/df-data1/percent_bytes-used: + value: 6.204019e-01 +w838f6900/df-data1/percent_inodes-free: + value: 9.999928e+01 +w838f6900/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +w838f6900/df-data1/percent_inodes-used: + value: 7.213246e-04 +w838f6900/df-dev-shm/df_complex-free: + value: 9.842483e+08 +w838f6900/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +w838f6900/df-dev-shm/df_complex-used: + value: 0.000000e+00 +w838f6900/df-dev-shm/df_inodes-free: + value: 2.402940e+05 +w838f6900/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +w838f6900/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +w838f6900/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +w838f6900/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +w838f6900/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +w838f6900/df-dev-shm/percent_inodes-free: + value: 9.999958e+01 +w838f6900/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +w838f6900/df-dev-shm/percent_inodes-used: + value: 4.161551e-04 +w838f6900/df-root/df_complex-free: + value: 1.097382e+10 +w838f6900/df-root/df_complex-reserved: + value: 6.442435e+08 +w838f6900/df-root/df_complex-used: + value: 1.064645e+09 +w838f6900/df-root/df_inodes-free: + value: 7.501330e+05 +w838f6900/df-root/df_inodes-reserved: + value: 0.000000e+00 +w838f6900/df-root/df_inodes-used: + value: 3.629900e+04 +w838f6900/df-root/percent_bytes-free: + value: 8.652584e+01 +w838f6900/df-root/percent_bytes-reserved: + value: 5.079700e+00 +w838f6900/df-root/percent_bytes-used: + value: 8.394459e+00 +w838f6900/df-root/percent_inodes-free: + value: 9.538434e+01 +w838f6900/df-root/percent_inodes-reserved: + value: 0.000000e+00 +w838f6900/df-root/percent_inodes-used: + value: 4.615657e+00 +w838f6900/df-var/df_complex-free: + value: 7.637877e+09 +w838f6900/df-var/df_complex-reserved: + value: 4.294943e+08 +w838f6900/df-var/df_complex-used: + value: 3.877478e+08 +w838f6900/df-var/df_inodes-free: + value: 5.229840e+05 +w838f6900/df-var/df_inodes-reserved: + value: 0.000000e+00 +w838f6900/df-var/df_inodes-used: + value: 1.304000e+03 +w838f6900/df-var/percent_bytes-free: + value: 9.033435e+01 +w838f6900/df-var/percent_bytes-reserved: + value: 5.079695e+00 +w838f6900/df-var/percent_bytes-used: + value: 4.585954e+00 +w838f6900/df-var/percent_inodes-free: + value: 9.975128e+01 +w838f6900/df-var/percent_inodes-reserved: + value: 0.000000e+00 +w838f6900/df-var/percent_inodes-used: + value: 2.487183e-01 +w838f6900/disk-vda/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda2/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda2/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda2/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda2/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda3/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda3/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda3/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda3/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda6/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda6/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda6/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/disk-vda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w838f6900/load/load: + longterm: 0.000000e+00 + midterm: 0.000000e+00 + shortterm: 0.000000e+00 +w838f6900/memory/memory-buffered: + value: 1.040671e+08 +w838f6900/memory/memory-cached: + value: 4.379361e+08 +w838f6900/memory/memory-free: + value: 9.871852e+08 +w838f6900/memory/memory-used: + value: 4.393083e+08 +w838f6900/network/if_octets: + rx: 0.000000e+00 + tx: 6.614006e+02 +w838f6900/network/if_packets: + rx: 0.000000e+00 + tx: 4.999994e-01 +w838f6900/network/queue_length: + value: 0.000000e+00 +w838f6900/network/total_values-dispatch-accepted: + value: 0.000000e+00 +w838f6900/network/total_values-dispatch-rejected: + value: 0.000000e+00 +w838f6900/network/total_values-send-accepted: + value: 1.479996e+01 +w838f6900/network/total_values-send-rejected: + value: 0.000000e+00 +w838f6900/swap/swap-cached: + value: 0.000000e+00 +w838f6900/swap/swap-free: + value: 2.147475e+09 +w838f6900/swap/swap-used: + value: 0.000000e+00 +w838f6900/swap/swap_io-in: + value: 0.000000e+00 +w838f6900/swap/swap_io-out: + value: 0.000000e+00 +w838f6900/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 4.300042e+00 +w838f6900/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 0.000000e+00 +w838f6900/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +w838f6900/vmem/vmpage_number-active_anon: + value: 3.653600e+04 +w838f6900/vmem/vmpage_number-active_file: + value: 7.163800e+04 +w838f6900/vmem/vmpage_number-anon_pages: + value: 2.014900e+04 +w838f6900/vmem/vmpage_number-anon_transparent_hugepages: + value: 3.200000e+01 +w838f6900/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +w838f6900/vmem/vmpage_number-dirty: + value: 0.000000e+00 +w838f6900/vmem/vmpage_number-file_pages: + value: 1.323250e+05 +w838f6900/vmem/vmpage_number-free_pages: + value: 2.410120e+05 +w838f6900/vmem/vmpage_number-inactive_anon: + value: 4.300000e+01 +w838f6900/vmem/vmpage_number-inactive_file: + value: 6.064500e+04 +w838f6900/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +w838f6900/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +w838f6900/vmem/vmpage_number-kernel_stack: + value: 1.280000e+02 +w838f6900/vmem/vmpage_number-mapped: + value: 3.447000e+03 +w838f6900/vmem/vmpage_number-mlock: + value: 0.000000e+00 +w838f6900/vmem/vmpage_number-page_table_pages: + value: 6.660000e+02 +w838f6900/vmem/vmpage_number-shmem: + value: 4.600000e+01 +w838f6900/vmem/vmpage_number-slab_reclaimable: + value: 5.838000e+04 +w838f6900/vmem/vmpage_number-slab_unreclaimable: + value: 5.330000e+03 +w838f6900/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +w838f6900/vmem/vmpage_number-unstable: + value: 0.000000e+00 +w838f6900/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +w838f6900/vmem/vmpage_number-writeback: + value: 0.000000e+00 +w838f6900/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +w83df6100/cpu-0/cpu-idle: + value: 9.979989e+01 +w83df6100/cpu-0/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-0/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-0/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-0/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-0/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-0/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-0/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-1/cpu-idle: + value: 9.999984e+01 +w83df6100/cpu-1/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-1/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-1/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-1/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-1/cpu-system: + value: 9.999985e-02 +w83df6100/cpu-1/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-1/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-10/cpu-idle: + value: 9.989993e+01 +w83df6100/cpu-10/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-10/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-10/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-10/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-10/cpu-system: + value: 9.999993e-02 +w83df6100/cpu-10/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-10/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-11/cpu-idle: + value: 9.999994e+01 +w83df6100/cpu-11/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-11/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-11/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-11/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-11/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-11/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-11/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-12/cpu-idle: + value: 9.999992e+01 +w83df6100/cpu-12/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-12/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-12/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-12/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-12/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-12/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-12/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-13/cpu-idle: + value: 9.989989e+01 +w83df6100/cpu-13/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-13/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-13/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-13/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-13/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-13/cpu-user: + value: 9.999990e-02 +w83df6100/cpu-13/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-14/cpu-idle: + value: 9.999994e+01 +w83df6100/cpu-14/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-14/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-14/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-14/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-14/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-14/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-14/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-15/cpu-idle: + value: 9.990003e+01 +w83df6100/cpu-15/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-15/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-15/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-15/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-15/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-15/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-15/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-16/cpu-idle: + value: 1.000001e+02 +w83df6100/cpu-16/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-16/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-16/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-16/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-16/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-16/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-16/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-17/cpu-idle: + value: 9.999995e+01 +w83df6100/cpu-17/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-17/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-17/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-17/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-17/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-17/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-17/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-18/cpu-idle: + value: 9.999993e+01 +w83df6100/cpu-18/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-18/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-18/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-18/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-18/cpu-system: + value: 9.999993e-02 +w83df6100/cpu-18/cpu-user: + value: 9.999991e-02 +w83df6100/cpu-18/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-19/cpu-idle: + value: 9.989974e+01 +w83df6100/cpu-19/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-19/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-19/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-19/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-19/cpu-system: + value: 9.999975e-02 +w83df6100/cpu-19/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-19/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-2/cpu-idle: + value: 9.999995e+01 +w83df6100/cpu-2/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-2/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-2/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-2/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-2/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-2/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-2/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-20/cpu-idle: + value: 9.999968e+01 +w83df6100/cpu-20/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-20/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-20/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-20/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-20/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-20/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-20/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-21/cpu-idle: + value: 9.999958e+01 +w83df6100/cpu-21/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-21/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-21/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-21/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-21/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-21/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-21/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-22/cpu-idle: + value: 9.999951e+01 +w83df6100/cpu-22/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-22/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-22/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-22/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-22/cpu-system: + value: 9.999951e-02 +w83df6100/cpu-22/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-22/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-23/cpu-idle: + value: 9.989947e+01 +w83df6100/cpu-23/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-23/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-23/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-23/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-23/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-23/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-23/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-3/cpu-idle: + value: 1.000002e+02 +w83df6100/cpu-3/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-3/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-3/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-3/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-3/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-3/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-3/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-4/cpu-idle: + value: 1.000004e+02 +w83df6100/cpu-4/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-4/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-4/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-4/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-4/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-4/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-4/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-5/cpu-idle: + value: 1.000004e+02 +w83df6100/cpu-5/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-5/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-5/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-5/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-5/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-5/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-5/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-6/cpu-idle: + value: 9.990037e+01 +w83df6100/cpu-6/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-6/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-6/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-6/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-6/cpu-system: + value: 1.000004e-01 +w83df6100/cpu-6/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-6/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-7/cpu-idle: + value: 9.990034e+01 +w83df6100/cpu-7/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-7/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-7/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-7/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-7/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-7/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-7/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-8/cpu-idle: + value: 9.990024e+01 +w83df6100/cpu-8/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-8/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-8/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-8/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-8/cpu-system: + value: 3.000007e-01 +w83df6100/cpu-8/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-8/cpu-wait: + value: 0.000000e+00 +w83df6100/cpu-9/cpu-idle: + value: 9.999998e+01 +w83df6100/cpu-9/cpu-interrupt: + value: 0.000000e+00 +w83df6100/cpu-9/cpu-nice: + value: 0.000000e+00 +w83df6100/cpu-9/cpu-softirq: + value: 0.000000e+00 +w83df6100/cpu-9/cpu-steal: + value: 0.000000e+00 +w83df6100/cpu-9/cpu-system: + value: 0.000000e+00 +w83df6100/cpu-9/cpu-user: + value: 0.000000e+00 +w83df6100/cpu-9/cpu-wait: + value: 0.000000e+00 +w83df6100/df-boot/df_complex-free: + value: 4.369900e+08 +w83df6100/df-boot/df_complex-reserved: + value: 2.684109e+07 +w83df6100/df-boot/df_complex-used: + value: 6.459392e+07 +w83df6100/df-boot/df_inodes-free: + value: 3.271800e+04 +w83df6100/df-boot/df_inodes-reserved: + value: 0.000000e+00 +w83df6100/df-boot/df_inodes-used: + value: 5.000000e+01 +w83df6100/df-boot/percent_bytes-free: + value: 8.269669e+01 +w83df6100/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +w83df6100/df-boot/percent_bytes-used: + value: 1.222386e+01 +w83df6100/df-boot/percent_inodes-free: + value: 9.984741e+01 +w83df6100/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +w83df6100/df-boot/percent_inodes-used: + value: 1.525879e-01 +w83df6100/df-data1/df_complex-free: + value: 2.574625e+11 +w83df6100/df-data1/df_complex-reserved: + value: 1.378982e+10 +w83df6100/df-data1/df_complex-used: + value: 2.165924e+08 +w83df6100/df-data1/df_inodes-free: + value: 1.683452e+07 +w83df6100/df-data1/df_inodes-reserved: + value: 0.000000e+00 +w83df6100/df-data1/df_inodes-used: + value: 4.400000e+01 +w83df6100/df-data1/percent_bytes-free: + value: 9.484051e+01 +w83df6100/df-data1/percent_bytes-reserved: + value: 5.079707e+00 +w83df6100/df-data1/percent_bytes-used: + value: 7.978535e-02 +w83df6100/df-data1/percent_inodes-free: + value: 9.999974e+01 +w83df6100/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +w83df6100/df-data1/percent_inodes-used: + value: 2.613671e-04 +w83df6100/df-dev-shm/df_complex-free: + value: 3.375709e+10 +w83df6100/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +w83df6100/df-dev-shm/df_complex-used: + value: 0.000000e+00 +w83df6100/df-dev-shm/df_inodes-free: + value: 8.241475e+06 +w83df6100/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +w83df6100/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +w83df6100/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +w83df6100/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +w83df6100/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +w83df6100/df-dev-shm/percent_inodes-free: + value: 9.999998e+01 +w83df6100/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +w83df6100/df-dev-shm/percent_inodes-used: + value: 1.213375e-05 +w83df6100/df-root/df_complex-free: + value: 1.076427e+10 +w83df6100/df-root/df_complex-reserved: + value: 6.442435e+08 +w83df6100/df-root/df_complex-used: + value: 1.274192e+09 +w83df6100/df-root/df_inodes-free: + value: 7.458150e+05 +w83df6100/df-root/df_inodes-reserved: + value: 0.000000e+00 +w83df6100/df-root/df_inodes-used: + value: 4.061700e+04 +w83df6100/df-root/percent_bytes-free: + value: 8.487361e+01 +w83df6100/df-root/percent_bytes-reserved: + value: 5.079700e+00 +w83df6100/df-root/percent_bytes-used: + value: 1.004669e+01 +w83df6100/df-root/percent_inodes-free: + value: 9.483528e+01 +w83df6100/df-root/percent_inodes-reserved: + value: 0.000000e+00 +w83df6100/df-root/percent_inodes-used: + value: 5.164719e+00 +w83df6100/df-var/df_complex-free: + value: 7.566651e+09 +w83df6100/df-var/df_complex-reserved: + value: 4.294943e+08 +w83df6100/df-var/df_complex-used: + value: 4.589732e+08 +w83df6100/df-var/df_inodes-free: + value: 5.227920e+05 +w83df6100/df-var/df_inodes-reserved: + value: 0.000000e+00 +w83df6100/df-var/df_inodes-used: + value: 1.496000e+03 +w83df6100/df-var/percent_bytes-free: + value: 8.949196e+01 +w83df6100/df-var/percent_bytes-reserved: + value: 5.079695e+00 +w83df6100/df-var/percent_bytes-used: + value: 5.428347e+00 +w83df6100/df-var/percent_inodes-free: + value: 9.971466e+01 +w83df6100/df-var/percent_inodes-reserved: + value: 0.000000e+00 +w83df6100/df-var/percent_inodes-used: + value: 2.853394e-01 +w83df6100/disk-sda/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda2/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda2/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda2/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda2/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda3/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda3/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda3/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda3/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda6/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda6/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda6/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/disk-sda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6100/load/load: + longterm: 0.000000e+00 + midterm: 0.000000e+00 + shortterm: 0.000000e+00 +w83df6100/memory/memory-buffered: + value: 2.127012e+08 +w83df6100/memory/memory-cached: + value: 5.203763e+08 +w83df6100/memory/memory-free: + value: 6.526190e+10 +w83df6100/memory/memory-used: + value: 1.519194e+09 +w83df6100/network/if_octets: + rx: 0.000000e+00 + tx: 1.580500e+03 +w83df6100/network/if_packets: + rx: 0.000000e+00 + tx: 1.200000e+00 +w83df6100/network/queue_length: + value: 0.000000e+00 +w83df6100/network/total_values-dispatch-accepted: + value: 0.000000e+00 +w83df6100/network/total_values-dispatch-rejected: + value: 0.000000e+00 +w83df6100/network/total_values-send-accepted: + value: 3.239997e+01 +w83df6100/network/total_values-send-rejected: + value: 0.000000e+00 +w83df6100/swap/swap-cached: + value: 0.000000e+00 +w83df6100/swap/swap-free: + value: 2.147475e+09 +w83df6100/swap/swap-used: + value: 0.000000e+00 +w83df6100/swap/swap_io-in: + value: 0.000000e+00 +w83df6100/swap/swap_io-out: + value: 0.000000e+00 +w83df6100/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 3.899998e+00 +w83df6100/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 0.000000e+00 +w83df6100/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +w83df6100/vmem/vmpage_number-active_anon: + value: 1.617900e+04 +w83df6100/vmem/vmpage_number-active_file: + value: 1.166460e+05 +w83df6100/vmem/vmpage_number-anon_pages: + value: 1.208200e+04 +w83df6100/vmem/vmpage_number-anon_transparent_hugepages: + value: 8.000000e+00 +w83df6100/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +w83df6100/vmem/vmpage_number-dirty: + value: 0.000000e+00 +w83df6100/vmem/vmpage_number-file_pages: + value: 1.789740e+05 +w83df6100/vmem/vmpage_number-free_pages: + value: 1.593308e+07 +w83df6100/vmem/vmpage_number-inactive_anon: + value: 4.500000e+01 +w83df6100/vmem/vmpage_number-inactive_file: + value: 6.228400e+04 +w83df6100/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +w83df6100/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +w83df6100/vmem/vmpage_number-kernel_stack: + value: 4.390000e+02 +w83df6100/vmem/vmpage_number-mapped: + value: 1.670000e+03 +w83df6100/vmem/vmpage_number-mlock: + value: 0.000000e+00 +w83df6100/vmem/vmpage_number-page_table_pages: + value: 5.870000e+02 +w83df6100/vmem/vmpage_number-shmem: + value: 4.700000e+01 +w83df6100/vmem/vmpage_number-slab_reclaimable: + value: 2.364110e+05 +w83df6100/vmem/vmpage_number-slab_unreclaimable: + value: 1.472600e+04 +w83df6100/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +w83df6100/vmem/vmpage_number-unstable: + value: 0.000000e+00 +w83df6100/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +w83df6100/vmem/vmpage_number-writeback: + value: 0.000000e+00 +w83df6100/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +w83df6200/cpu-0/cpu-idle: + value: 9.970004e+01 +w83df6200/cpu-0/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-0/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-0/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-0/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-0/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-0/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-0/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-1/cpu-idle: + value: 1.000000e+02 +w83df6200/cpu-1/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-1/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-1/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-1/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-1/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-1/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-1/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-10/cpu-idle: + value: 9.990010e+01 +w83df6200/cpu-10/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-10/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-10/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-10/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-10/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-10/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-10/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-11/cpu-idle: + value: 1.000000e+02 +w83df6200/cpu-11/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-11/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-11/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-11/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-11/cpu-system: + value: 1.000001e-01 +w83df6200/cpu-11/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-11/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-12/cpu-idle: + value: 9.990011e+01 +w83df6200/cpu-12/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-12/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-12/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-12/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-12/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-12/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-12/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-13/cpu-idle: + value: 9.990010e+01 +w83df6200/cpu-13/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-13/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-13/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-13/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-13/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-13/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-13/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-14/cpu-idle: + value: 1.000000e+02 +w83df6200/cpu-14/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-14/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-14/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-14/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-14/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-14/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-14/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-15/cpu-idle: + value: 1.000000e+02 +w83df6200/cpu-15/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-15/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-15/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-15/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-15/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-15/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-15/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-16/cpu-idle: + value: 9.999999e+01 +w83df6200/cpu-16/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-16/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-16/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-16/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-16/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-16/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-16/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-17/cpu-idle: + value: 1.000000e+02 +w83df6200/cpu-17/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-17/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-17/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-17/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-17/cpu-system: + value: 1.000000e-01 +w83df6200/cpu-17/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-17/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-18/cpu-idle: + value: 9.990002e+01 +w83df6200/cpu-18/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-18/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-18/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-18/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-18/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-18/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-18/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-19/cpu-idle: + value: 9.989997e+01 +w83df6200/cpu-19/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-19/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-19/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-19/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-19/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-19/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-19/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-2/cpu-idle: + value: 9.980002e+01 +w83df6200/cpu-2/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-2/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-2/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-2/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-2/cpu-system: + value: 1.000000e-01 +w83df6200/cpu-2/cpu-user: + value: 1.000000e-01 +w83df6200/cpu-2/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-20/cpu-idle: + value: 9.999997e+01 +w83df6200/cpu-20/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-20/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-20/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-20/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-20/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-20/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-20/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-21/cpu-idle: + value: 9.989997e+01 +w83df6200/cpu-21/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-21/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-21/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-21/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-21/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-21/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-21/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-22/cpu-idle: + value: 9.990010e+01 +w83df6200/cpu-22/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-22/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-22/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-22/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-22/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-22/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-22/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-23/cpu-idle: + value: 1.000000e+02 +w83df6200/cpu-23/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-23/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-23/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-23/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-23/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-23/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-23/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-3/cpu-idle: + value: 9.990001e+01 +w83df6200/cpu-3/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-3/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-3/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-3/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-3/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-3/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-3/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-4/cpu-idle: + value: 9.989997e+01 +w83df6200/cpu-4/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-4/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-4/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-4/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-4/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-4/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-4/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-5/cpu-idle: + value: 9.989993e+01 +w83df6200/cpu-5/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-5/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-5/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-5/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-5/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-5/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-5/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-6/cpu-idle: + value: 9.989989e+01 +w83df6200/cpu-6/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-6/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-6/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-6/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-6/cpu-system: + value: 9.999989e-02 +w83df6200/cpu-6/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-6/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-7/cpu-idle: + value: 9.990003e+01 +w83df6200/cpu-7/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-7/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-7/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-7/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-7/cpu-system: + value: 2.000001e-01 +w83df6200/cpu-7/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-7/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-8/cpu-idle: + value: 9.990009e+01 +w83df6200/cpu-8/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-8/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-8/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-8/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-8/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-8/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-8/cpu-wait: + value: 0.000000e+00 +w83df6200/cpu-9/cpu-idle: + value: 1.000001e+02 +w83df6200/cpu-9/cpu-interrupt: + value: 0.000000e+00 +w83df6200/cpu-9/cpu-nice: + value: 0.000000e+00 +w83df6200/cpu-9/cpu-softirq: + value: 0.000000e+00 +w83df6200/cpu-9/cpu-steal: + value: 0.000000e+00 +w83df6200/cpu-9/cpu-system: + value: 0.000000e+00 +w83df6200/cpu-9/cpu-user: + value: 0.000000e+00 +w83df6200/cpu-9/cpu-wait: + value: 0.000000e+00 +w83df6200/df-boot/df_complex-free: + value: 4.369490e+08 +w83df6200/df-boot/df_complex-reserved: + value: 2.684109e+07 +w83df6200/df-boot/df_complex-used: + value: 6.463488e+07 +w83df6200/df-boot/df_inodes-free: + value: 3.271800e+04 +w83df6200/df-boot/df_inodes-reserved: + value: 0.000000e+00 +w83df6200/df-boot/df_inodes-used: + value: 5.000000e+01 +w83df6200/df-boot/percent_bytes-free: + value: 8.268894e+01 +w83df6200/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +w83df6200/df-boot/percent_bytes-used: + value: 1.223161e+01 +w83df6200/df-boot/percent_inodes-free: + value: 9.984741e+01 +w83df6200/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +w83df6200/df-boot/percent_inodes-used: + value: 1.525879e-01 +w83df6200/df-data1/df_complex-free: + value: 2.574625e+11 +w83df6200/df-data1/df_complex-reserved: + value: 1.378982e+10 +w83df6200/df-data1/df_complex-used: + value: 2.165924e+08 +w83df6200/df-data1/df_inodes-free: + value: 1.683452e+07 +w83df6200/df-data1/df_inodes-reserved: + value: 0.000000e+00 +w83df6200/df-data1/df_inodes-used: + value: 4.400000e+01 +w83df6200/df-data1/percent_bytes-free: + value: 9.484051e+01 +w83df6200/df-data1/percent_bytes-reserved: + value: 5.079707e+00 +w83df6200/df-data1/percent_bytes-used: + value: 7.978535e-02 +w83df6200/df-data1/percent_inodes-free: + value: 9.999974e+01 +w83df6200/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +w83df6200/df-data1/percent_inodes-used: + value: 2.613671e-04 +w83df6200/df-dev-shm/df_complex-free: + value: 3.375709e+10 +w83df6200/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +w83df6200/df-dev-shm/df_complex-used: + value: 0.000000e+00 +w83df6200/df-dev-shm/df_inodes-free: + value: 8.241475e+06 +w83df6200/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +w83df6200/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +w83df6200/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +w83df6200/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +w83df6200/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +w83df6200/df-dev-shm/percent_inodes-free: + value: 9.999998e+01 +w83df6200/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +w83df6200/df-dev-shm/percent_inodes-used: + value: 1.213375e-05 +w83df6200/df-root/df_complex-free: + value: 1.076426e+10 +w83df6200/df-root/df_complex-reserved: + value: 6.442435e+08 +w83df6200/df-root/df_complex-used: + value: 1.274200e+09 +w83df6200/df-root/df_inodes-free: + value: 7.458150e+05 +w83df6200/df-root/df_inodes-reserved: + value: 0.000000e+00 +w83df6200/df-root/df_inodes-used: + value: 4.061700e+04 +w83df6200/df-root/percent_bytes-free: + value: 8.487355e+01 +w83df6200/df-root/percent_bytes-reserved: + value: 5.079700e+00 +w83df6200/df-root/percent_bytes-used: + value: 1.004675e+01 +w83df6200/df-root/percent_inodes-free: + value: 9.483528e+01 +w83df6200/df-root/percent_inodes-reserved: + value: 0.000000e+00 +w83df6200/df-root/percent_inodes-used: + value: 5.164719e+00 +w83df6200/df-var/df_complex-free: + value: 7.567688e+09 +w83df6200/df-var/df_complex-reserved: + value: 4.294943e+08 +w83df6200/df-var/df_complex-used: + value: 4.579369e+08 +w83df6200/df-var/df_inodes-free: + value: 5.227970e+05 +w83df6200/df-var/df_inodes-reserved: + value: 0.000000e+00 +w83df6200/df-var/df_inodes-used: + value: 1.491000e+03 +w83df6200/df-var/percent_bytes-free: + value: 8.950421e+01 +w83df6200/df-var/percent_bytes-reserved: + value: 5.079695e+00 +w83df6200/df-var/percent_bytes-used: + value: 5.416090e+00 +w83df6200/df-var/percent_inodes-free: + value: 9.971561e+01 +w83df6200/df-var/percent_inodes-reserved: + value: 0.000000e+00 +w83df6200/df-var/percent_inodes-used: + value: 2.843857e-01 +w83df6200/disk-sda/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda2/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda2/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda2/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda2/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda3/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda3/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda3/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda3/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda6/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda6/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda6/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/disk-sda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6200/load/load: + longterm: 0.000000e+00 + midterm: 2.000000e-02 + shortterm: 1.000000e-02 +w83df6200/memory/memory-buffered: + value: 2.156175e+08 +w83df6200/memory/memory-cached: + value: 5.203517e+08 +w83df6200/memory/memory-free: + value: 6.524863e+10 +w83df6200/memory/memory-used: + value: 1.529577e+09 +w83df6200/network/if_octets: + rx: 0.000000e+00 + tx: 2.117499e+03 +w83df6200/network/if_packets: + rx: 0.000000e+00 + tx: 1.600001e+00 +w83df6200/network/queue_length: + value: 0.000000e+00 +w83df6200/network/total_values-dispatch-accepted: + value: 0.000000e+00 +w83df6200/network/total_values-dispatch-rejected: + value: 0.000000e+00 +w83df6200/network/total_values-send-accepted: + value: 4.570050e+01 +w83df6200/network/total_values-send-rejected: + value: 0.000000e+00 +w83df6200/swap/swap-cached: + value: 0.000000e+00 +w83df6200/swap/swap-free: + value: 2.147475e+09 +w83df6200/swap/swap-used: + value: 0.000000e+00 +w83df6200/swap/swap_io-in: + value: 0.000000e+00 +w83df6200/swap/swap_io-out: + value: 0.000000e+00 +w83df6200/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 8.000883e-01 +w83df6200/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 0.000000e+00 +w83df6200/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +w83df6200/vmem/vmpage_number-active_anon: + value: 1.666900e+04 +w83df6200/vmem/vmpage_number-active_file: + value: 1.167210e+05 +w83df6200/vmem/vmpage_number-anon_pages: + value: 1.154700e+04 +w83df6200/vmem/vmpage_number-anon_transparent_hugepages: + value: 1.000000e+01 +w83df6200/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +w83df6200/vmem/vmpage_number-dirty: + value: 2.000000e+00 +w83df6200/vmem/vmpage_number-file_pages: + value: 1.796800e+05 +w83df6200/vmem/vmpage_number-free_pages: + value: 1.592984e+07 +w83df6200/vmem/vmpage_number-inactive_anon: + value: 4.500000e+01 +w83df6200/vmem/vmpage_number-inactive_file: + value: 6.291600e+04 +w83df6200/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +w83df6200/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +w83df6200/vmem/vmpage_number-kernel_stack: + value: 4.390000e+02 +w83df6200/vmem/vmpage_number-mapped: + value: 1.669000e+03 +w83df6200/vmem/vmpage_number-mlock: + value: 0.000000e+00 +w83df6200/vmem/vmpage_number-page_table_pages: + value: 5.770000e+02 +w83df6200/vmem/vmpage_number-shmem: + value: 4.700000e+01 +w83df6200/vmem/vmpage_number-slab_reclaimable: + value: 2.386770e+05 +w83df6200/vmem/vmpage_number-slab_unreclaimable: + value: 1.476200e+04 +w83df6200/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +w83df6200/vmem/vmpage_number-unstable: + value: 0.000000e+00 +w83df6200/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +w83df6200/vmem/vmpage_number-writeback: + value: 0.000000e+00 +w83df6200/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +w83df6300/cpu-0/cpu-idle: + value: 9.980074e+01 +w83df6300/cpu-0/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-0/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-0/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-0/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-0/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-0/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-0/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-1/cpu-idle: + value: 9.990070e+01 +w83df6300/cpu-1/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-1/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-1/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-1/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-1/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-1/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-1/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-10/cpu-idle: + value: 1.000010e+02 +w83df6300/cpu-10/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-10/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-10/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-10/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-10/cpu-system: + value: 1.000011e-01 +w83df6300/cpu-10/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-10/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-11/cpu-idle: + value: 1.000011e+02 +w83df6300/cpu-11/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-11/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-11/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-11/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-11/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-11/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-11/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-12/cpu-idle: + value: 9.980111e+01 +w83df6300/cpu-12/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-12/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-12/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-12/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-12/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-12/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-12/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-13/cpu-idle: + value: 9.990102e+01 +w83df6300/cpu-13/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-13/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-13/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-13/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-13/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-13/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-13/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-14/cpu-idle: + value: 9.990101e+01 +w83df6300/cpu-14/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-14/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-14/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-14/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-14/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-14/cpu-user: + value: 1.000010e-01 +w83df6300/cpu-14/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-15/cpu-idle: + value: 1.000010e+02 +w83df6300/cpu-15/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-15/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-15/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-15/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-15/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-15/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-15/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-16/cpu-idle: + value: 1.000010e+02 +w83df6300/cpu-16/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-16/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-16/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-16/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-16/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-16/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-16/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-17/cpu-idle: + value: 1.000010e+02 +w83df6300/cpu-17/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-17/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-17/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-17/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-17/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-17/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-17/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-18/cpu-idle: + value: 1.000009e+02 +w83df6300/cpu-18/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-18/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-18/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-18/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-18/cpu-system: + value: 1.000009e-01 +w83df6300/cpu-18/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-18/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-19/cpu-idle: + value: 9.990092e+01 +w83df6300/cpu-19/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-19/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-19/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-19/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-19/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-19/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-19/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-2/cpu-idle: + value: 1.000009e+02 +w83df6300/cpu-2/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-2/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-2/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-2/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-2/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-2/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-2/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-20/cpu-idle: + value: 1.000010e+02 +w83df6300/cpu-20/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-20/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-20/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-20/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-20/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-20/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-20/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-21/cpu-idle: + value: 1.000011e+02 +w83df6300/cpu-21/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-21/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-21/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-21/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-21/cpu-system: + value: 1.000011e-01 +w83df6300/cpu-21/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-21/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-22/cpu-idle: + value: 1.000012e+02 +w83df6300/cpu-22/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-22/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-22/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-22/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-22/cpu-system: + value: 1.000012e-01 +w83df6300/cpu-22/cpu-user: + value: 1.000012e-01 +w83df6300/cpu-22/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-23/cpu-idle: + value: 9.990117e+01 +w83df6300/cpu-23/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-23/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-23/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-23/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-23/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-23/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-23/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-3/cpu-idle: + value: 1.000009e+02 +w83df6300/cpu-3/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-3/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-3/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-3/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-3/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-3/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-3/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-4/cpu-idle: + value: 9.990089e+01 +w83df6300/cpu-4/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-4/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-4/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-4/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-4/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-4/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-4/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-5/cpu-idle: + value: 1.000010e+02 +w83df6300/cpu-5/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-5/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-5/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-5/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-5/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-5/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-5/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-6/cpu-idle: + value: 1.000010e+02 +w83df6300/cpu-6/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-6/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-6/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-6/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-6/cpu-system: + value: 1.000010e-01 +w83df6300/cpu-6/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-6/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-7/cpu-idle: + value: 1.000011e+02 +w83df6300/cpu-7/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-7/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-7/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-7/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-7/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-7/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-7/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-8/cpu-idle: + value: 9.990103e+01 +w83df6300/cpu-8/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-8/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-8/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-8/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-8/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-8/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-8/cpu-wait: + value: 0.000000e+00 +w83df6300/cpu-9/cpu-idle: + value: 1.000010e+02 +w83df6300/cpu-9/cpu-interrupt: + value: 0.000000e+00 +w83df6300/cpu-9/cpu-nice: + value: 0.000000e+00 +w83df6300/cpu-9/cpu-softirq: + value: 0.000000e+00 +w83df6300/cpu-9/cpu-steal: + value: 0.000000e+00 +w83df6300/cpu-9/cpu-system: + value: 0.000000e+00 +w83df6300/cpu-9/cpu-user: + value: 0.000000e+00 +w83df6300/cpu-9/cpu-wait: + value: 0.000000e+00 +w83df6300/df-boot/df_complex-free: + value: 4.369449e+08 +w83df6300/df-boot/df_complex-reserved: + value: 2.684109e+07 +w83df6300/df-boot/df_complex-used: + value: 6.463898e+07 +w83df6300/df-boot/df_inodes-free: + value: 3.271800e+04 +w83df6300/df-boot/df_inodes-reserved: + value: 0.000000e+00 +w83df6300/df-boot/df_inodes-used: + value: 5.000000e+01 +w83df6300/df-boot/percent_bytes-free: + value: 8.268816e+01 +w83df6300/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +w83df6300/df-boot/percent_bytes-used: + value: 1.223238e+01 +w83df6300/df-boot/percent_inodes-free: + value: 9.984741e+01 +w83df6300/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +w83df6300/df-boot/percent_inodes-used: + value: 1.525879e-01 +w83df6300/df-data1/df_complex-free: + value: 2.574625e+11 +w83df6300/df-data1/df_complex-reserved: + value: 1.378982e+10 +w83df6300/df-data1/df_complex-used: + value: 2.165924e+08 +w83df6300/df-data1/df_inodes-free: + value: 1.683452e+07 +w83df6300/df-data1/df_inodes-reserved: + value: 0.000000e+00 +w83df6300/df-data1/df_inodes-used: + value: 4.400000e+01 +w83df6300/df-data1/percent_bytes-free: + value: 9.484051e+01 +w83df6300/df-data1/percent_bytes-reserved: + value: 5.079707e+00 +w83df6300/df-data1/percent_bytes-used: + value: 7.978535e-02 +w83df6300/df-data1/percent_inodes-free: + value: 9.999974e+01 +w83df6300/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +w83df6300/df-data1/percent_inodes-used: + value: 2.613671e-04 +w83df6300/df-dev-shm/df_complex-free: + value: 3.375709e+10 +w83df6300/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +w83df6300/df-dev-shm/df_complex-used: + value: 0.000000e+00 +w83df6300/df-dev-shm/df_inodes-free: + value: 8.241475e+06 +w83df6300/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +w83df6300/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +w83df6300/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +w83df6300/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +w83df6300/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +w83df6300/df-dev-shm/percent_inodes-free: + value: 9.999998e+01 +w83df6300/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +w83df6300/df-dev-shm/percent_inodes-used: + value: 1.213375e-05 +w83df6300/df-root/df_complex-free: + value: 1.022576e+10 +w83df6300/df-root/df_complex-reserved: + value: 6.442435e+08 +w83df6300/df-root/df_complex-used: + value: 1.812701e+09 +w83df6300/df-root/df_inodes-free: + value: 7.415980e+05 +w83df6300/df-root/df_inodes-reserved: + value: 0.000000e+00 +w83df6300/df-root/df_inodes-used: + value: 4.483400e+04 +w83df6300/df-root/percent_bytes-free: + value: 8.062760e+01 +w83df6300/df-root/percent_bytes-reserved: + value: 5.079700e+00 +w83df6300/df-root/percent_bytes-used: + value: 1.429270e+01 +w83df6300/df-root/percent_inodes-free: + value: 9.429906e+01 +w83df6300/df-root/percent_inodes-reserved: + value: 0.000000e+00 +w83df6300/df-root/percent_inodes-used: + value: 5.700938e+00 +w83df6300/df-var/df_complex-free: + value: 7.485731e+09 +w83df6300/df-var/df_complex-reserved: + value: 4.294943e+08 +w83df6300/df-var/df_complex-used: + value: 5.398938e+08 +w83df6300/df-var/df_inodes-free: + value: 5.224290e+05 +w83df6300/df-var/df_inodes-reserved: + value: 0.000000e+00 +w83df6300/df-var/df_inodes-used: + value: 1.859000e+03 +w83df6300/df-var/percent_bytes-free: + value: 8.853490e+01 +w83df6300/df-var/percent_bytes-reserved: + value: 5.079695e+00 +w83df6300/df-var/percent_bytes-used: + value: 6.385407e+00 +w83df6300/df-var/percent_inodes-free: + value: 9.964542e+01 +w83df6300/df-var/percent_inodes-reserved: + value: 0.000000e+00 +w83df6300/df-var/percent_inodes-used: + value: 3.545761e-01 +w83df6300/disk-sda/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda2/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda2/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda2/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda2/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda3/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda3/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda3/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda3/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda6/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda6/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda6/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/disk-sda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6300/load/load: + longterm: 0.000000e+00 + midterm: 2.000000e-02 + shortterm: 1.000000e-02 +w83df6300/memory/memory-buffered: + value: 2.686280e+08 +w83df6300/memory/memory-cached: + value: 1.142759e+09 +w83df6300/memory/memory-free: + value: 6.452790e+10 +w83df6300/memory/memory-used: + value: 1.574883e+09 +w83df6300/network/if_octets: + rx: 0.000000e+00 + tx: 1.575799e+03 +w83df6300/network/if_packets: + rx: 0.000000e+00 + tx: 1.199999e+00 +w83df6300/network/queue_length: + value: 0.000000e+00 +w83df6300/network/total_values-dispatch-accepted: + value: 0.000000e+00 +w83df6300/network/total_values-dispatch-rejected: + value: 0.000000e+00 +w83df6300/network/total_values-send-accepted: + value: 3.240001e+01 +w83df6300/network/total_values-send-rejected: + value: 0.000000e+00 +w83df6300/swap/swap-cached: + value: 0.000000e+00 +w83df6300/swap/swap-free: + value: 2.147475e+09 +w83df6300/swap/swap-used: + value: 0.000000e+00 +w83df6300/swap/swap_io-in: + value: 0.000000e+00 +w83df6300/swap/swap_io-out: + value: 0.000000e+00 +w83df6300/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 3.800015e+00 +w83df6300/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 0.000000e+00 +w83df6300/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +w83df6300/vmem/vmpage_number-active_anon: + value: 1.835300e+04 +w83df6300/vmem/vmpage_number-active_file: + value: 1.867190e+05 +w83df6300/vmem/vmpage_number-anon_pages: + value: 1.272000e+04 +w83df6300/vmem/vmpage_number-anon_transparent_hugepages: + value: 1.100000e+01 +w83df6300/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +w83df6300/vmem/vmpage_number-dirty: + value: 4.000000e+00 +w83df6300/vmem/vmpage_number-file_pages: + value: 3.445770e+05 +w83df6300/vmem/vmpage_number-free_pages: + value: 1.575388e+07 +w83df6300/vmem/vmpage_number-inactive_anon: + value: 4.900000e+01 +w83df6300/vmem/vmpage_number-inactive_file: + value: 1.578110e+05 +w83df6300/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +w83df6300/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +w83df6300/vmem/vmpage_number-kernel_stack: + value: 4.460000e+02 +w83df6300/vmem/vmpage_number-mapped: + value: 2.404000e+03 +w83df6300/vmem/vmpage_number-mlock: + value: 0.000000e+00 +w83df6300/vmem/vmpage_number-page_table_pages: + value: 8.250000e+02 +w83df6300/vmem/vmpage_number-shmem: + value: 5.100000e+01 +w83df6300/vmem/vmpage_number-slab_reclaimable: + value: 2.469330e+05 +w83df6300/vmem/vmpage_number-slab_unreclaimable: + value: 1.504900e+04 +w83df6300/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +w83df6300/vmem/vmpage_number-unstable: + value: 0.000000e+00 +w83df6300/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +w83df6300/vmem/vmpage_number-writeback: + value: 0.000000e+00 +w83df6300/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +w83df6400/cpu-0/cpu-idle: + value: 9.979917e+01 +w83df6400/cpu-0/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-0/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-0/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-0/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-0/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-0/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-0/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-1/cpu-idle: + value: 9.989810e+01 +w83df6400/cpu-1/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-1/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-1/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-1/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-1/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-1/cpu-user: + value: 9.999843e-02 +w83df6400/cpu-1/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-10/cpu-idle: + value: 9.999853e+01 +w83df6400/cpu-10/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-10/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-10/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-10/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-10/cpu-system: + value: 9.999853e-02 +w83df6400/cpu-10/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-10/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-11/cpu-idle: + value: 9.989854e+01 +w83df6400/cpu-11/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-11/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-11/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-11/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-11/cpu-system: + value: 9.999853e-02 +w83df6400/cpu-11/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-11/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-12/cpu-idle: + value: 9.989849e+01 +w83df6400/cpu-12/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-12/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-12/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-12/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-12/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-12/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-12/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-13/cpu-idle: + value: 9.989843e+01 +w83df6400/cpu-13/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-13/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-13/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-13/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-13/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-13/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-13/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-14/cpu-idle: + value: 9.999838e+01 +w83df6400/cpu-14/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-14/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-14/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-14/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-14/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-14/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-14/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-15/cpu-idle: + value: 9.989833e+01 +w83df6400/cpu-15/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-15/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-15/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-15/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-15/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-15/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-15/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-16/cpu-idle: + value: 9.999832e+01 +w83df6400/cpu-16/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-16/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-16/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-16/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-16/cpu-system: + value: 9.999834e-02 +w83df6400/cpu-16/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-16/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-17/cpu-idle: + value: 9.989833e+01 +w83df6400/cpu-17/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-17/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-17/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-17/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-17/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-17/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-17/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-18/cpu-idle: + value: 9.999827e+01 +w83df6400/cpu-18/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-18/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-18/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-18/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-18/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-18/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-18/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-19/cpu-idle: + value: 9.999815e+01 +w83df6400/cpu-19/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-19/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-19/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-19/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-19/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-19/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-19/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-2/cpu-idle: + value: 9.979807e+01 +w83df6400/cpu-2/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-2/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-2/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-2/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-2/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-2/cpu-user: + value: 9.999811e-02 +w83df6400/cpu-2/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-20/cpu-idle: + value: 9.999811e+01 +w83df6400/cpu-20/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-20/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-20/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-20/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-20/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-20/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-20/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-21/cpu-idle: + value: 9.999773e+01 +w83df6400/cpu-21/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-21/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-21/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-21/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-21/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-21/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-21/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-22/cpu-idle: + value: 9.999773e+01 +w83df6400/cpu-22/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-22/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-22/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-22/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-22/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-22/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-22/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-23/cpu-idle: + value: 9.989763e+01 +w83df6400/cpu-23/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-23/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-23/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-23/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-23/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-23/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-23/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-3/cpu-idle: + value: 9.999817e+01 +w83df6400/cpu-3/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-3/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-3/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-3/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-3/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-3/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-3/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-4/cpu-idle: + value: 9.989839e+01 +w83df6400/cpu-4/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-4/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-4/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-4/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-4/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-4/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-4/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-5/cpu-idle: + value: 9.999820e+01 +w83df6400/cpu-5/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-5/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-5/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-5/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-5/cpu-system: + value: 9.999815e-02 +w83df6400/cpu-5/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-5/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-6/cpu-idle: + value: 9.989865e+01 +w83df6400/cpu-6/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-6/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-6/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-6/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-6/cpu-system: + value: 0.000000e+00 +w83df6400/cpu-6/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-6/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-7/cpu-idle: + value: 9.999866e+01 +w83df6400/cpu-7/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-7/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-7/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-7/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-7/cpu-system: + value: 9.999866e-02 +w83df6400/cpu-7/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-7/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-8/cpu-idle: + value: 9.999857e+01 +w83df6400/cpu-8/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-8/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-8/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-8/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-8/cpu-system: + value: 9.999860e-02 +w83df6400/cpu-8/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-8/cpu-wait: + value: 0.000000e+00 +w83df6400/cpu-9/cpu-idle: + value: 9.989853e+01 +w83df6400/cpu-9/cpu-interrupt: + value: 0.000000e+00 +w83df6400/cpu-9/cpu-nice: + value: 0.000000e+00 +w83df6400/cpu-9/cpu-softirq: + value: 0.000000e+00 +w83df6400/cpu-9/cpu-steal: + value: 0.000000e+00 +w83df6400/cpu-9/cpu-system: + value: 9.999854e-02 +w83df6400/cpu-9/cpu-user: + value: 0.000000e+00 +w83df6400/cpu-9/cpu-wait: + value: 0.000000e+00 +w83df6400/df-boot/df_complex-free: + value: 4.369449e+08 +w83df6400/df-boot/df_complex-reserved: + value: 2.684109e+07 +w83df6400/df-boot/df_complex-used: + value: 6.463898e+07 +w83df6400/df-boot/df_inodes-free: + value: 3.271800e+04 +w83df6400/df-boot/df_inodes-reserved: + value: 0.000000e+00 +w83df6400/df-boot/df_inodes-used: + value: 5.000000e+01 +w83df6400/df-boot/percent_bytes-free: + value: 8.268816e+01 +w83df6400/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +w83df6400/df-boot/percent_bytes-used: + value: 1.223238e+01 +w83df6400/df-boot/percent_inodes-free: + value: 9.984741e+01 +w83df6400/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +w83df6400/df-boot/percent_inodes-used: + value: 1.525879e-01 +w83df6400/df-data1/df_complex-free: + value: 2.574625e+11 +w83df6400/df-data1/df_complex-reserved: + value: 1.378982e+10 +w83df6400/df-data1/df_complex-used: + value: 2.165924e+08 +w83df6400/df-data1/df_inodes-free: + value: 1.683452e+07 +w83df6400/df-data1/df_inodes-reserved: + value: 0.000000e+00 +w83df6400/df-data1/df_inodes-used: + value: 4.400000e+01 +w83df6400/df-data1/percent_bytes-free: + value: 9.484051e+01 +w83df6400/df-data1/percent_bytes-reserved: + value: 5.079707e+00 +w83df6400/df-data1/percent_bytes-used: + value: 7.978535e-02 +w83df6400/df-data1/percent_inodes-free: + value: 9.999974e+01 +w83df6400/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +w83df6400/df-data1/percent_inodes-used: + value: 2.613671e-04 +w83df6400/df-dev-shm/df_complex-free: + value: 3.375709e+10 +w83df6400/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +w83df6400/df-dev-shm/df_complex-used: + value: 0.000000e+00 +w83df6400/df-dev-shm/df_inodes-free: + value: 8.241475e+06 +w83df6400/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +w83df6400/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +w83df6400/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +w83df6400/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +w83df6400/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +w83df6400/df-dev-shm/percent_inodes-free: + value: 9.999998e+01 +w83df6400/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +w83df6400/df-dev-shm/percent_inodes-used: + value: 1.213375e-05 +w83df6400/df-root/df_complex-free: + value: 1.062062e+10 +w83df6400/df-root/df_complex-reserved: + value: 6.442435e+08 +w83df6400/df-root/df_complex-used: + value: 1.417847e+09 +w83df6400/df-root/df_inodes-free: + value: 7.449690e+05 +w83df6400/df-root/df_inodes-reserved: + value: 0.000000e+00 +w83df6400/df-root/df_inodes-used: + value: 4.146300e+04 +w83df6400/df-root/percent_bytes-free: + value: 8.374093e+01 +w83df6400/df-root/percent_bytes-reserved: + value: 5.079700e+00 +w83df6400/df-root/percent_bytes-used: + value: 1.117937e+01 +w83df6400/df-root/percent_inodes-free: + value: 9.472771e+01 +w83df6400/df-root/percent_inodes-reserved: + value: 0.000000e+00 +w83df6400/df-root/percent_inodes-used: + value: 5.272293e+00 +w83df6400/df-var/df_complex-free: + value: 7.567413e+09 +w83df6400/df-var/df_complex-reserved: + value: 4.294943e+08 +w83df6400/df-var/df_complex-used: + value: 4.582113e+08 +w83df6400/df-var/df_inodes-free: + value: 5.227820e+05 +w83df6400/df-var/df_inodes-reserved: + value: 0.000000e+00 +w83df6400/df-var/df_inodes-used: + value: 1.506000e+03 +w83df6400/df-var/percent_bytes-free: + value: 8.950097e+01 +w83df6400/df-var/percent_bytes-reserved: + value: 5.079695e+00 +w83df6400/df-var/percent_bytes-used: + value: 5.419336e+00 +w83df6400/df-var/percent_inodes-free: + value: 9.971275e+01 +w83df6400/df-var/percent_inodes-reserved: + value: 0.000000e+00 +w83df6400/df-var/percent_inodes-used: + value: 2.872467e-01 +w83df6400/disk-sda/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda2/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda2/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda2/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda2/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda3/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda3/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda3/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda3/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda6/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda6/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda6/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/disk-sda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6400/load/load: + longterm: 0.000000e+00 + midterm: 2.000000e-02 + shortterm: 3.000000e-02 +w83df6400/memory/memory-buffered: + value: 2.072453e+08 +w83df6400/memory/memory-cached: + value: 6.651863e+08 +w83df6400/memory/memory-free: + value: 6.511982e+10 +w83df6400/memory/memory-used: + value: 1.521922e+09 +w83df6400/network/if_octets: + rx: 0.000000e+00 + tx: 1.849000e+03 +w83df6400/network/if_packets: + rx: 0.000000e+00 + tx: 1.400000e+00 +w83df6400/network/queue_length: + value: 0.000000e+00 +w83df6400/network/total_values-dispatch-accepted: + value: 0.000000e+00 +w83df6400/network/total_values-dispatch-rejected: + value: 0.000000e+00 +w83df6400/network/total_values-send-accepted: + value: 3.370000e+01 +w83df6400/network/total_values-send-rejected: + value: 0.000000e+00 +w83df6400/swap/swap-cached: + value: 0.000000e+00 +w83df6400/swap/swap-free: + value: 2.147475e+09 +w83df6400/swap/swap-used: + value: 0.000000e+00 +w83df6400/swap/swap_io-in: + value: 0.000000e+00 +w83df6400/swap/swap_io-out: + value: 0.000000e+00 +w83df6400/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 4.700028e+00 +w83df6400/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 0.000000e+00 +w83df6400/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +w83df6400/vmem/vmpage_number-active_anon: + value: 1.704400e+04 +w83df6400/vmem/vmpage_number-active_file: + value: 1.158240e+05 +w83df6400/vmem/vmpage_number-anon_pages: + value: 1.090600e+04 +w83df6400/vmem/vmpage_number-anon_transparent_hugepages: + value: 1.200000e+01 +w83df6400/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +w83df6400/vmem/vmpage_number-dirty: + value: 0.000000e+00 +w83df6400/vmem/vmpage_number-file_pages: + value: 2.129960e+05 +w83df6400/vmem/vmpage_number-free_pages: + value: 1.589839e+07 +w83df6400/vmem/vmpage_number-inactive_anon: + value: 4.400000e+01 +w83df6400/vmem/vmpage_number-inactive_file: + value: 9.713000e+04 +w83df6400/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +w83df6400/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +w83df6400/vmem/vmpage_number-kernel_stack: + value: 4.350000e+02 +w83df6400/vmem/vmpage_number-mapped: + value: 1.621000e+03 +w83df6400/vmem/vmpage_number-mlock: + value: 0.000000e+00 +w83df6400/vmem/vmpage_number-page_table_pages: + value: 4.680000e+02 +w83df6400/vmem/vmpage_number-shmem: + value: 4.600000e+01 +w83df6400/vmem/vmpage_number-slab_reclaimable: + value: 2.361780e+05 +w83df6400/vmem/vmpage_number-slab_unreclaimable: + value: 1.468100e+04 +w83df6400/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +w83df6400/vmem/vmpage_number-unstable: + value: 0.000000e+00 +w83df6400/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +w83df6400/vmem/vmpage_number-writeback: + value: 0.000000e+00 +w83df6400/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +w83df6500/cpu-0/cpu-idle: + value: 8.689957e+01 +w83df6500/cpu-0/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-0/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-0/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-0/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-0/cpu-system: + value: 2.299989e+00 +w83df6500/cpu-0/cpu-user: + value: 1.059998e+01 +w83df6500/cpu-0/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-1/cpu-idle: + value: 9.869419e+01 +w83df6500/cpu-1/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-1/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-1/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-1/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-1/cpu-system: + value: 3.999803e-01 +w83df6500/cpu-1/cpu-user: + value: 6.999674e-01 +w83df6500/cpu-1/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-10/cpu-idle: + value: 9.999000e+01 +w83df6500/cpu-10/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-10/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-10/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-10/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-10/cpu-system: + value: 9.999001e-02 +w83df6500/cpu-10/cpu-user: + value: 0.000000e+00 +w83df6500/cpu-10/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-11/cpu-idle: + value: 9.988985e+01 +w83df6500/cpu-11/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-11/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-11/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-11/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-11/cpu-system: + value: 9.998982e-02 +w83df6500/cpu-11/cpu-user: + value: 0.000000e+00 +w83df6500/cpu-11/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-12/cpu-idle: + value: 9.988970e+01 +w83df6500/cpu-12/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-12/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-12/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-12/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-12/cpu-system: + value: 0.000000e+00 +w83df6500/cpu-12/cpu-user: + value: 9.998982e-02 +w83df6500/cpu-12/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-13/cpu-idle: + value: 9.239045e+01 +w83df6500/cpu-13/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-13/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-13/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-13/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-13/cpu-system: + value: 2.999690e+00 +w83df6500/cpu-13/cpu-user: + value: 4.399545e+00 +w83df6500/cpu-13/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-14/cpu-idle: + value: 9.639002e+01 +w83df6500/cpu-14/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-14/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-14/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-14/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-14/cpu-system: + value: 2.999689e-01 +w83df6500/cpu-14/cpu-user: + value: 3.299658e+00 +w83df6500/cpu-14/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-15/cpu-idle: + value: 9.998962e+01 +w83df6500/cpu-15/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-15/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-15/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-15/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-15/cpu-system: + value: 0.000000e+00 +w83df6500/cpu-15/cpu-user: + value: 0.000000e+00 +w83df6500/cpu-15/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-16/cpu-idle: + value: 9.998964e+01 +w83df6500/cpu-16/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-16/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-16/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-16/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-16/cpu-system: + value: 0.000000e+00 +w83df6500/cpu-16/cpu-user: + value: 0.000000e+00 +w83df6500/cpu-16/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-17/cpu-idle: + value: 9.998943e+01 +w83df6500/cpu-17/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-17/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-17/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-17/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-17/cpu-system: + value: 0.000000e+00 +w83df6500/cpu-17/cpu-user: + value: 0.000000e+00 +w83df6500/cpu-17/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-18/cpu-idle: + value: 9.978947e+01 +w83df6500/cpu-18/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-18/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-18/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-18/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-18/cpu-system: + value: 0.000000e+00 +w83df6500/cpu-18/cpu-user: + value: 9.998947e-02 +w83df6500/cpu-18/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-19/cpu-idle: + value: 9.149020e+01 +w83df6500/cpu-19/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-19/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-19/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-19/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-19/cpu-system: + value: 3.299646e+00 +w83df6500/cpu-19/cpu-user: + value: 5.099453e+00 +w83df6500/cpu-19/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-2/cpu-idle: + value: 9.999229e+01 +w83df6500/cpu-2/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-2/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-2/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-2/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-2/cpu-system: + value: 0.000000e+00 +w83df6500/cpu-2/cpu-user: + value: 0.000000e+00 +w83df6500/cpu-2/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-20/cpu-idle: + value: 9.988926e+01 +w83df6500/cpu-20/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-20/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-20/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-20/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-20/cpu-system: + value: 0.000000e+00 +w83df6500/cpu-20/cpu-user: + value: 0.000000e+00 +w83df6500/cpu-20/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-21/cpu-idle: + value: 9.888932e+01 +w83df6500/cpu-21/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-21/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-21/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-21/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-21/cpu-system: + value: 9.998920e-02 +w83df6500/cpu-21/cpu-user: + value: 7.999136e-01 +w83df6500/cpu-21/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-22/cpu-idle: + value: 9.998916e+01 +w83df6500/cpu-22/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-22/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-22/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-22/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-22/cpu-system: + value: 9.998916e-02 +w83df6500/cpu-22/cpu-user: + value: 0.000000e+00 +w83df6500/cpu-22/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-23/cpu-idle: + value: 9.988925e+01 +w83df6500/cpu-23/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-23/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-23/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-23/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-23/cpu-system: + value: 0.000000e+00 +w83df6500/cpu-23/cpu-user: + value: 9.998923e-02 +w83df6500/cpu-23/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-3/cpu-idle: + value: 9.989136e+01 +w83df6500/cpu-3/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-3/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-3/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-3/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-3/cpu-system: + value: 0.000000e+00 +w83df6500/cpu-3/cpu-user: + value: 0.000000e+00 +w83df6500/cpu-3/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-4/cpu-idle: + value: 9.989094e+01 +w83df6500/cpu-4/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-4/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-4/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-4/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-4/cpu-system: + value: 0.000000e+00 +w83df6500/cpu-4/cpu-user: + value: 0.000000e+00 +w83df6500/cpu-4/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-5/cpu-idle: + value: 9.999060e+01 +w83df6500/cpu-5/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-5/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-5/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-5/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-5/cpu-system: + value: 0.000000e+00 +w83df6500/cpu-5/cpu-user: + value: 0.000000e+00 +w83df6500/cpu-5/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-6/cpu-idle: + value: 9.959022e+01 +w83df6500/cpu-6/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-6/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-6/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-6/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-6/cpu-system: + value: 9.999033e-02 +w83df6500/cpu-6/cpu-user: + value: 2.999711e-01 +w83df6500/cpu-6/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-7/cpu-idle: + value: 9.809048e+01 +w83df6500/cpu-7/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-7/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-7/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-7/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-7/cpu-system: + value: 4.999515e-01 +w83df6500/cpu-7/cpu-user: + value: 1.299874e+00 +w83df6500/cpu-7/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-8/cpu-idle: + value: 9.999017e+01 +w83df6500/cpu-8/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-8/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-8/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-8/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-8/cpu-system: + value: 0.000000e+00 +w83df6500/cpu-8/cpu-user: + value: 0.000000e+00 +w83df6500/cpu-8/cpu-wait: + value: 0.000000e+00 +w83df6500/cpu-9/cpu-idle: + value: 9.989011e+01 +w83df6500/cpu-9/cpu-interrupt: + value: 0.000000e+00 +w83df6500/cpu-9/cpu-nice: + value: 0.000000e+00 +w83df6500/cpu-9/cpu-softirq: + value: 0.000000e+00 +w83df6500/cpu-9/cpu-steal: + value: 0.000000e+00 +w83df6500/cpu-9/cpu-system: + value: 0.000000e+00 +w83df6500/cpu-9/cpu-user: + value: 0.000000e+00 +w83df6500/cpu-9/cpu-wait: + value: 0.000000e+00 +w83df6500/df-boot/df_complex-free: + value: 4.793876e+08 +w83df6500/df-boot/df_complex-reserved: + value: 2.684109e+07 +w83df6500/df-boot/df_complex-used: + value: 2.219622e+07 +w83df6500/df-boot/df_inodes-free: + value: 3.273000e+04 +w83df6500/df-boot/df_inodes-reserved: + value: 0.000000e+00 +w83df6500/df-boot/df_inodes-used: + value: 3.800000e+01 +w83df6500/df-boot/percent_bytes-free: + value: 9.072010e+01 +w83df6500/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +w83df6500/df-boot/percent_bytes-used: + value: 4.200449e+00 +w83df6500/df-boot/percent_inodes-free: + value: 9.988403e+01 +w83df6500/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +w83df6500/df-boot/percent_inodes-used: + value: 1.159668e-01 +w83df6500/df-data1/df_complex-free: + value: 2.574625e+11 +w83df6500/df-data1/df_complex-reserved: + value: 1.378982e+10 +w83df6500/df-data1/df_complex-used: + value: 2.165883e+08 +w83df6500/df-data1/df_inodes-free: + value: 1.683452e+07 +w83df6500/df-data1/df_inodes-reserved: + value: 0.000000e+00 +w83df6500/df-data1/df_inodes-used: + value: 4.300000e+01 +w83df6500/df-data1/percent_bytes-free: + value: 9.484052e+01 +w83df6500/df-data1/percent_bytes-reserved: + value: 5.079707e+00 +w83df6500/df-data1/percent_bytes-used: + value: 7.978383e-02 +w83df6500/df-data1/percent_inodes-free: + value: 9.999974e+01 +w83df6500/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +w83df6500/df-data1/percent_inodes-used: + value: 2.554269e-04 +w83df6500/df-dev-shm/df_complex-free: + value: 3.375709e+10 +w83df6500/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +w83df6500/df-dev-shm/df_complex-used: + value: 0.000000e+00 +w83df6500/df-dev-shm/df_inodes-free: + value: 8.241475e+06 +w83df6500/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +w83df6500/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +w83df6500/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +w83df6500/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +w83df6500/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +w83df6500/df-dev-shm/percent_inodes-free: + value: 9.999998e+01 +w83df6500/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +w83df6500/df-dev-shm/percent_inodes-used: + value: 1.213375e-05 +w83df6500/df-root/df_complex-free: + value: 1.055831e+10 +w83df6500/df-root/df_complex-reserved: + value: 6.442435e+08 +w83df6500/df-root/df_complex-used: + value: 1.480151e+09 +w83df6500/df-root/df_inodes-free: + value: 7.465750e+05 +w83df6500/df-root/df_inodes-reserved: + value: 0.000000e+00 +w83df6500/df-root/df_inodes-used: + value: 3.985700e+04 +w83df6500/df-root/percent_bytes-free: + value: 8.324968e+01 +w83df6500/df-root/percent_bytes-reserved: + value: 5.079700e+00 +w83df6500/df-root/percent_bytes-used: + value: 1.167062e+01 +w83df6500/df-root/percent_inodes-free: + value: 9.493192e+01 +w83df6500/df-root/percent_inodes-reserved: + value: 0.000000e+00 +w83df6500/df-root/percent_inodes-used: + value: 5.068080e+00 +w83df6500/df-var/df_complex-free: + value: 7.641543e+09 +w83df6500/df-var/df_complex-reserved: + value: 4.294943e+08 +w83df6500/df-var/df_complex-used: + value: 3.840819e+08 +w83df6500/df-var/df_inodes-free: + value: 5.228880e+05 +w83df6500/df-var/df_inodes-reserved: + value: 0.000000e+00 +w83df6500/df-var/df_inodes-used: + value: 1.400000e+03 +w83df6500/df-var/percent_bytes-free: + value: 9.037771e+01 +w83df6500/df-var/percent_bytes-reserved: + value: 5.079695e+00 +w83df6500/df-var/percent_bytes-used: + value: 4.542596e+00 +w83df6500/df-var/percent_inodes-free: + value: 9.973297e+01 +w83df6500/df-var/percent_inodes-reserved: + value: 0.000000e+00 +w83df6500/df-var/percent_inodes-used: + value: 2.670288e-01 +w83df6500/disk-sda/disk_merged: + read: 0.000000e+00 + write: 7.199968e+00 +w83df6500/disk-sda/disk_octets: + read: 0.000000e+00 + write: 3.850286e+04 +w83df6500/disk-sda/disk_ops: + read: 0.000000e+00 + write: 2.200014e+00 +w83df6500/disk-sda/disk_time: + read: 0.000000e+00 + write: 4.000026e-01 +w83df6500/disk-sda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6500/disk-sda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6500/disk-sda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6500/disk-sda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6500/disk-sda2/disk_merged: + read: 0.000000e+00 + write: 2.299968e+00 +w83df6500/disk-sda2/disk_octets: + read: 0.000000e+00 + write: 1.146866e+04 +w83df6500/disk-sda2/disk_ops: + read: 0.000000e+00 + write: 4.999937e-01 +w83df6500/disk-sda2/disk_time: + read: 0.000000e+00 + write: 1.999972e-01 +w83df6500/disk-sda3/disk_merged: + read: 0.000000e+00 + write: 4.899926e+00 +w83df6500/disk-sda3/disk_octets: + read: 0.000000e+00 + write: 2.703321e+04 +w83df6500/disk-sda3/disk_ops: + read: 0.000000e+00 + write: 1.699975e+00 +w83df6500/disk-sda3/disk_time: + read: 0.000000e+00 + write: 4.999926e-01 +w83df6500/disk-sda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6500/disk-sda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6500/disk-sda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6500/disk-sda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6500/disk-sda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6500/disk-sda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6500/disk-sda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6500/disk-sda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6500/disk-sda6/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6500/disk-sda6/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6500/disk-sda6/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6500/disk-sda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6500/load/load: + longterm: 2.000000e-02 + midterm: 9.000000e-02 + shortterm: 1.600000e-01 +w83df6500/memory/memory-buffered: + value: 4.858675e+07 +w83df6500/memory/memory-cached: + value: 7.746028e+08 +w83df6500/memory/memory-free: + value: 6.579641e+10 +w83df6500/memory/memory-used: + value: 8.945746e+08 +w83df6500/network/if_octets: + rx: 0.000000e+00 + tx: 1.591300e+03 +w83df6500/network/if_packets: + rx: 0.000000e+00 + tx: 1.199999e+00 +w83df6500/network/queue_length: + value: 0.000000e+00 +w83df6500/network/total_values-dispatch-accepted: + value: 0.000000e+00 +w83df6500/network/total_values-dispatch-rejected: + value: 0.000000e+00 +w83df6500/network/total_values-send-accepted: + value: 3.239995e+01 +w83df6500/network/total_values-send-rejected: + value: 0.000000e+00 +w83df6500/swap/swap-cached: + value: 0.000000e+00 +w83df6500/swap/swap-free: + value: 2.147475e+09 +w83df6500/swap/swap-used: + value: 0.000000e+00 +w83df6500/swap/swap_io-in: + value: 0.000000e+00 +w83df6500/swap/swap_io-out: + value: 0.000000e+00 +w83df6500/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 1.747727e+04 +w83df6500/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 3.759999e+01 +w83df6500/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +w83df6500/vmem/vmpage_number-active_anon: + value: 7.795900e+04 +w83df6500/vmem/vmpage_number-active_file: + value: 8.036800e+04 +w83df6500/vmem/vmpage_number-anon_pages: + value: 2.727800e+04 +w83df6500/vmem/vmpage_number-anon_transparent_hugepages: + value: 1.000000e+02 +w83df6500/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +w83df6500/vmem/vmpage_number-dirty: + value: 3.920000e+02 +w83df6500/vmem/vmpage_number-file_pages: + value: 2.009740e+05 +w83df6500/vmem/vmpage_number-free_pages: + value: 1.606358e+07 +w83df6500/vmem/vmpage_number-inactive_anon: + value: 4.600000e+01 +w83df6500/vmem/vmpage_number-inactive_file: + value: 1.205540e+05 +w83df6500/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +w83df6500/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +w83df6500/vmem/vmpage_number-kernel_stack: + value: 5.970000e+02 +w83df6500/vmem/vmpage_number-mapped: + value: 6.373000e+03 +w83df6500/vmem/vmpage_number-mlock: + value: 0.000000e+00 +w83df6500/vmem/vmpage_number-page_table_pages: + value: 1.091000e+03 +w83df6500/vmem/vmpage_number-shmem: + value: 4.800000e+01 +w83df6500/vmem/vmpage_number-slab_reclaimable: + value: 1.991400e+04 +w83df6500/vmem/vmpage_number-slab_unreclaimable: + value: 1.512500e+04 +w83df6500/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +w83df6500/vmem/vmpage_number-unstable: + value: 0.000000e+00 +w83df6500/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +w83df6500/vmem/vmpage_number-writeback: + value: 0.000000e+00 +w83df6500/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 +w83df6600/cpu-0/cpu-idle: + value: 9.980063e+01 +w83df6600/cpu-0/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-0/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-0/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-0/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-0/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-0/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-0/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-1/cpu-idle: + value: 9.990608e+01 +w83df6600/cpu-1/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-1/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-1/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-1/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-1/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-1/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-1/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-10/cpu-idle: + value: 9.991430e+01 +w83df6600/cpu-10/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-10/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-10/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-10/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-10/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-10/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-10/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-11/cpu-idle: + value: 1.000143e+02 +w83df6600/cpu-11/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-11/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-11/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-11/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-11/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-11/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-11/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-12/cpu-idle: + value: 1.000143e+02 +w83df6600/cpu-12/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-12/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-12/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-12/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-12/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-12/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-12/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-13/cpu-idle: + value: 9.991410e+01 +w83df6600/cpu-13/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-13/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-13/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-13/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-13/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-13/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-13/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-14/cpu-idle: + value: 1.000141e+02 +w83df6600/cpu-14/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-14/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-14/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-14/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-14/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-14/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-14/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-15/cpu-idle: + value: 9.998509e+01 +w83df6600/cpu-15/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-15/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-15/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-15/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-15/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-15/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-15/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-16/cpu-idle: + value: 9.998503e+01 +w83df6600/cpu-16/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-16/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-16/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-16/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-16/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-16/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-16/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-17/cpu-idle: + value: 9.988509e+01 +w83df6600/cpu-17/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-17/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-17/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-17/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-17/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-17/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-17/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-18/cpu-idle: + value: 9.988507e+01 +w83df6600/cpu-18/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-18/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-18/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-18/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-18/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-18/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-18/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-19/cpu-idle: + value: 9.978521e+01 +w83df6600/cpu-19/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-19/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-19/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-19/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-19/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-19/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-19/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-2/cpu-idle: + value: 9.999391e+01 +w83df6600/cpu-2/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-2/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-2/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-2/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-2/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-2/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-2/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-20/cpu-idle: + value: 1.000140e+02 +w83df6600/cpu-20/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-20/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-20/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-20/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-20/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-20/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-20/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-21/cpu-idle: + value: 1.000139e+02 +w83df6600/cpu-21/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-21/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-21/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-21/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-21/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-21/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-21/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-22/cpu-idle: + value: 1.000138e+02 +w83df6600/cpu-22/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-22/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-22/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-22/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-22/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-22/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-22/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-23/cpu-idle: + value: 1.000137e+02 +w83df6600/cpu-23/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-23/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-23/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-23/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-23/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-23/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-23/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-3/cpu-idle: + value: 9.989001e+01 +w83df6600/cpu-3/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-3/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-3/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-3/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-3/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-3/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-3/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-4/cpu-idle: + value: 9.998791e+01 +w83df6600/cpu-4/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-4/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-4/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-4/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-4/cpu-system: + value: 9.998773e-02 +w83df6600/cpu-4/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-4/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-5/cpu-idle: + value: 9.988613e+01 +w83df6600/cpu-5/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-5/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-5/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-5/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-5/cpu-system: + value: 9.998665e-02 +w83df6600/cpu-5/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-5/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-6/cpu-idle: + value: 9.988577e+01 +w83df6600/cpu-6/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-6/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-6/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-6/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-6/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-6/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-6/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-7/cpu-idle: + value: 9.988529e+01 +w83df6600/cpu-7/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-7/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-7/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-7/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-7/cpu-system: + value: 3.999412e-01 +w83df6600/cpu-7/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-7/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-8/cpu-idle: + value: 9.998504e+01 +w83df6600/cpu-8/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-8/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-8/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-8/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-8/cpu-system: + value: 0.000000e+00 +w83df6600/cpu-8/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-8/cpu-wait: + value: 0.000000e+00 +w83df6600/cpu-9/cpu-idle: + value: 9.988501e+01 +w83df6600/cpu-9/cpu-interrupt: + value: 0.000000e+00 +w83df6600/cpu-9/cpu-nice: + value: 0.000000e+00 +w83df6600/cpu-9/cpu-softirq: + value: 0.000000e+00 +w83df6600/cpu-9/cpu-steal: + value: 0.000000e+00 +w83df6600/cpu-9/cpu-system: + value: 9.998501e-02 +w83df6600/cpu-9/cpu-user: + value: 0.000000e+00 +w83df6600/cpu-9/cpu-wait: + value: 0.000000e+00 +w83df6600/df-boot/df_complex-free: + value: 4.793631e+08 +w83df6600/df-boot/df_complex-reserved: + value: 2.684109e+07 +w83df6600/df-boot/df_complex-used: + value: 2.222080e+07 +w83df6600/df-boot/df_inodes-free: + value: 3.273000e+04 +w83df6600/df-boot/df_inodes-reserved: + value: 0.000000e+00 +w83df6600/df-boot/df_inodes-used: + value: 3.800000e+01 +w83df6600/df-boot/percent_bytes-free: + value: 9.071545e+01 +w83df6600/df-boot/percent_bytes-reserved: + value: 5.079451e+00 +w83df6600/df-boot/percent_bytes-used: + value: 4.205100e+00 +w83df6600/df-boot/percent_inodes-free: + value: 9.988403e+01 +w83df6600/df-boot/percent_inodes-reserved: + value: 0.000000e+00 +w83df6600/df-boot/percent_inodes-used: + value: 1.159668e-01 +w83df6600/df-data1/df_complex-free: + value: 2.574625e+11 +w83df6600/df-data1/df_complex-reserved: + value: 1.378982e+10 +w83df6600/df-data1/df_complex-used: + value: 2.165883e+08 +w83df6600/df-data1/df_inodes-free: + value: 1.683452e+07 +w83df6600/df-data1/df_inodes-reserved: + value: 0.000000e+00 +w83df6600/df-data1/df_inodes-used: + value: 4.300000e+01 +w83df6600/df-data1/percent_bytes-free: + value: 9.484052e+01 +w83df6600/df-data1/percent_bytes-reserved: + value: 5.079707e+00 +w83df6600/df-data1/percent_bytes-used: + value: 7.978383e-02 +w83df6600/df-data1/percent_inodes-free: + value: 9.999974e+01 +w83df6600/df-data1/percent_inodes-reserved: + value: 0.000000e+00 +w83df6600/df-data1/percent_inodes-used: + value: 2.554269e-04 +w83df6600/df-dev-shm/df_complex-free: + value: 3.375709e+10 +w83df6600/df-dev-shm/df_complex-reserved: + value: 0.000000e+00 +w83df6600/df-dev-shm/df_complex-used: + value: 0.000000e+00 +w83df6600/df-dev-shm/df_inodes-free: + value: 8.241475e+06 +w83df6600/df-dev-shm/df_inodes-reserved: + value: 0.000000e+00 +w83df6600/df-dev-shm/df_inodes-used: + value: 1.000000e+00 +w83df6600/df-dev-shm/percent_bytes-free: + value: 1.000000e+02 +w83df6600/df-dev-shm/percent_bytes-reserved: + value: 0.000000e+00 +w83df6600/df-dev-shm/percent_bytes-used: + value: 0.000000e+00 +w83df6600/df-dev-shm/percent_inodes-free: + value: 9.999998e+01 +w83df6600/df-dev-shm/percent_inodes-reserved: + value: 0.000000e+00 +w83df6600/df-dev-shm/percent_inodes-used: + value: 1.213375e-05 +w83df6600/df-root/df_complex-free: + value: 1.055849e+10 +w83df6600/df-root/df_complex-reserved: + value: 6.442435e+08 +w83df6600/df-root/df_complex-used: + value: 1.479975e+09 +w83df6600/df-root/df_inodes-free: + value: 7.466050e+05 +w83df6600/df-root/df_inodes-reserved: + value: 0.000000e+00 +w83df6600/df-root/df_inodes-used: + value: 3.982700e+04 +w83df6600/df-root/percent_bytes-free: + value: 8.325107e+01 +w83df6600/df-root/percent_bytes-reserved: + value: 5.079700e+00 +w83df6600/df-root/percent_bytes-used: + value: 1.166924e+01 +w83df6600/df-root/percent_inodes-free: + value: 9.493573e+01 +w83df6600/df-root/percent_inodes-reserved: + value: 0.000000e+00 +w83df6600/df-root/percent_inodes-used: + value: 5.064265e+00 +w83df6600/df-var/df_complex-free: + value: 7.642092e+09 +w83df6600/df-var/df_complex-reserved: + value: 4.294943e+08 +w83df6600/df-var/df_complex-used: + value: 3.835331e+08 +w83df6600/df-var/df_inodes-free: + value: 5.229150e+05 +w83df6600/df-var/df_inodes-reserved: + value: 0.000000e+00 +w83df6600/df-var/df_inodes-used: + value: 1.373000e+03 +w83df6600/df-var/percent_bytes-free: + value: 9.038420e+01 +w83df6600/df-var/percent_bytes-reserved: + value: 5.079695e+00 +w83df6600/df-var/percent_bytes-used: + value: 4.536105e+00 +w83df6600/df-var/percent_inodes-free: + value: 9.973812e+01 +w83df6600/df-var/percent_inodes-reserved: + value: 0.000000e+00 +w83df6600/df-var/percent_inodes-used: + value: 2.618790e-01 +w83df6600/disk-sda/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda1/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda1/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda1/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda1/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda2/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda2/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda2/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda2/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda3/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda3/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda3/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda3/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda4/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda4/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda4/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda4/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda5/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda5/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda5/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda5/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda6/disk_merged: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda6/disk_octets: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda6/disk_ops: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/disk-sda6/disk_time: + read: 0.000000e+00 + write: 0.000000e+00 +w83df6600/load/load: + longterm: 0.000000e+00 + midterm: 0.000000e+00 + shortterm: 0.000000e+00 +w83df6600/memory/memory-buffered: + value: 4.378624e+07 +w83df6600/memory/memory-cached: + value: 7.730299e+08 +w83df6600/memory/memory-free: + value: 6.607691e+10 +w83df6600/memory/memory-used: + value: 6.204498e+08 +w83df6600/network/if_octets: + rx: 0.000000e+00 + tx: 1.043100e+03 +w83df6600/network/if_packets: + rx: 0.000000e+00 + tx: 7.999960e-01 +w83df6600/network/queue_length: + value: 0.000000e+00 +w83df6600/network/total_values-dispatch-accepted: + value: 0.000000e+00 +w83df6600/network/total_values-dispatch-rejected: + value: 0.000000e+00 +w83df6600/network/total_values-send-accepted: + value: 2.019973e+01 +w83df6600/network/total_values-send-rejected: + value: 0.000000e+00 +w83df6600/swap/swap-cached: + value: 0.000000e+00 +w83df6600/swap/swap-free: + value: 2.147475e+09 +w83df6600/swap/swap-used: + value: 0.000000e+00 +w83df6600/swap/swap_io-in: + value: 0.000000e+00 +w83df6600/swap/swap_io-out: + value: 0.000000e+00 +w83df6600/vmem/vmpage_faults: + majflt: 0.000000e+00 + minflt: 8.999036e-01 +w83df6600/vmem/vmpage_io-memory: + in: 0.000000e+00 + out: 0.000000e+00 +w83df6600/vmem/vmpage_io-swap: + in: 0.000000e+00 + out: 0.000000e+00 +w83df6600/vmem/vmpage_number-active_anon: + value: 1.469200e+04 +w83df6600/vmem/vmpage_number-active_file: + value: 6.927600e+04 +w83df6600/vmem/vmpage_number-anon_pages: + value: 1.110500e+04 +w83df6600/vmem/vmpage_number-anon_transparent_hugepages: + value: 7.000000e+00 +w83df6600/vmem/vmpage_number-boudfe: + value: 0.000000e+00 +w83df6600/vmem/vmpage_number-dirty: + value: 9.000000e+00 +w83df6600/vmem/vmpage_number-file_pages: + value: 1.994180e+05 +w83df6600/vmem/vmpage_number-free_pages: + value: 1.613205e+07 +w83df6600/vmem/vmpage_number-inactive_anon: + value: 4.300000e+01 +w83df6600/vmem/vmpage_number-inactive_file: + value: 1.300980e+05 +w83df6600/vmem/vmpage_number-isolated_anon: + value: 0.000000e+00 +w83df6600/vmem/vmpage_number-isolated_file: + value: 0.000000e+00 +w83df6600/vmem/vmpage_number-kernel_stack: + value: 4.330000e+02 +w83df6600/vmem/vmpage_number-mapped: + value: 1.253000e+03 +w83df6600/vmem/vmpage_number-mlock: + value: 0.000000e+00 +w83df6600/vmem/vmpage_number-page_table_pages: + value: 4.520000e+02 +w83df6600/vmem/vmpage_number-shmem: + value: 4.600000e+01 +w83df6600/vmem/vmpage_number-slab_reclaimable: + value: 1.905300e+04 +w83df6600/vmem/vmpage_number-slab_unreclaimable: + value: 1.455200e+04 +w83df6600/vmem/vmpage_number-unevictable: + value: 0.000000e+00 +w83df6600/vmem/vmpage_number-unstable: + value: 0.000000e+00 +w83df6600/vmem/vmpage_number-vmscan_write: + value: 0.000000e+00 +w83df6600/vmem/vmpage_number-writeback: + value: 0.000000e+00 +w83df6600/vmem/vmpage_number-writeback_temp: + value: 0.000000e+00 diff --git a/bindings/perl/lib/Collectd/Plugins/Monitorus.pm b/bindings/perl/lib/Collectd/Plugins/Monitorus.pm new file mode 100644 index 0000000..7054fbf --- /dev/null +++ b/bindings/perl/lib/Collectd/Plugins/Monitorus.pm @@ -0,0 +1,104 @@ +# +# collectd - mon.itor.us collectd plugin +# Copyright (C) 2009 Jeff Green +# +# This program is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by the +# Free Software Foundation; only version 2 of the License is applicable. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# Authors: +# Jeff Green +# + +package Collectd::Plugins::Monitorus; + +use strict; +use warnings; + +use Collectd qw( :all ); +use LWP; +use threads::shared; + +use constant NUM_OF_INTERVALS => 90; + +my $intervalcnt :shared; +$intervalcnt=NUM_OF_INTERVALS; +my $prev_value :shared; +$prev_value=0; + +plugin_register (TYPE_READ, "monitorus", "monitorus_read"); + +sub monitorus_read +{ + my $vl = { plugin => 'monitorus', type => 'gauge' }; + + # Only retrieve a value occasionally in order to not overload mon.itor.us + if (++$intervalcnt{'values'} = [ $prev_value ]; + plugin_dispatch_values ($vl); + return 1; + } + + $intervalcnt=0; + + my $site = 'http://mon.itor.us'; + my $username = 'me@example.org'; + my $target = $site.'/user/api/'.$username.'/secretpassword'; + + my $ua = LWP::UserAgent->new; + my $req = HTTP::Request->new(GET => "$target"); + $req->header('Accept' => 'text/html'); #Accept HTML Page + + my $key; + my $res = $ua->get($target); + if ($res->is_success) {# Success....all content of page has been received + $res->content() =~ m/\[CDATA\[(.*)\]\]/; + $key = $1; + } else { + INFO("monitorus: Error in retrieving login page."); + } + + $target = $site.'/test/api/'.$key.'/testNames'; + my $testid; + $res = $ua->get($target); + if ($res->is_success) {# Success....all content of page has been received + $res->content() =~ m/get($target); + if ($res->is_success) {# Success....all content of page has been received + $res->content() =~ m/\<\/row\>\s*(\.*?sitetest_http.*?\<\/row\>)/s; + $result = $1; + $result =~ s/\.*?CDATA.*?\<\/cell\>//g; + $result =~ m|\([0-9]*)\<\/cell\>|; + $value = $1; + } else { + INFO("monitorus: Error in retrieving testsLastValues page."); + } + + $prev_value = $value; + $vl->{'values'} = [ $value ]; + plugin_dispatch_values ($vl); + + return 1; +} + +1; diff --git a/bindings/perl/lib/Collectd/Plugins/OpenVZ.pm b/bindings/perl/lib/Collectd/Plugins/OpenVZ.pm new file mode 100644 index 0000000..66359da --- /dev/null +++ b/bindings/perl/lib/Collectd/Plugins/OpenVZ.pm @@ -0,0 +1,247 @@ +# +# collectd - OpenVZ collectd plugin +# Copyright (C) 2009 Jonathan Kolb +# +# This program is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# Author: +# Jonathan Kolb +# + +package Collectd::Plugins::OpenVZ; + +use strict; +use warnings; + +use Collectd qw( :all ); + +my $vzctl = '/usr/sbin/vzctl'; +my $vzlist = '/usr/sbin/vzlist'; + +# Since OpenVZ is container based, all guests see all the host's CPUs, +# and would report the same data. So we disable CPU by default. +my $enable_interface = 1; +my $enable_cpu = 0; +my $enable_df = 1; +my $enable_load = 1; +my $enable_processes = 1; +my $enable_users = 1; + +# We probably don't care about loopback transfer +my @ignored_interfaces = ( "lo" ); + +sub interface_read { + my ($veid, $name) = @_; + my @rx_fields = qw(if_octets if_packets if_errors drop fifo frame compressed multicast); + my @tx_fields = qw(if_octets if_packets if_errors drop fifo frame compressed); + my %v = _build_report_hash($name); + + my @lines = `$vzctl exec $veid cat /proc/net/dev`; + + for my $line (@lines) { + # skip explanatory text + next if $line !~ /:/; + + $line =~ s/^\s+|\s+$//g; + + my ($iface, %rx, %tx); + + # read /proc/net/dev fields + ($iface, @rx{@rx_fields}, @tx{@tx_fields}) = split /[: ]+/, $line; + + # Skip this interface if it is in the ignored list + next if grep { $iface eq $_ } @ignored_interfaces; + + for my $instance (qw(if_octets if_packets if_errors)) { + plugin_dispatch_values({ + 'plugin' => 'interface', + 'plugin_instance' => $iface, + 'type' => $instance, + 'values' => [ $rx{$instance}, $tx{$instance} ], + %v, + }); + } + } +} + +sub cpu_read { + my $veid = shift; + my $name = shift; + my ($key, $val, $i, @lines, @counters); + my @cpu_instances = ('user', 'nice', 'system', 'idle', 'wait', 'interrupt', 'softirq', 'steal'); + my $last_stat = {}; + my %v = _build_report_hash($name); + + $v{'plugin'} = 'cpu'; + $v{'type'} = 'cpu'; + + $i = 0; + @lines = split(/\n/, `$vzctl exec $veid cat /proc/stat`); + foreach (@lines) { + next if (!/^cpu[0-9]/); + + @counters = split(/ +/); + shift(@counters); + + # Remove once OpenVZ bug 1376 is resolved + if (48485 == $counters[3]) { + $counters[3] = $last_stat->{"$veid-$i-idle"}; + $counters[4] = $last_stat->{"$veid-$i-wait"}; + } + else { + $last_stat->{"$veid-$i-idle"} = $counters[3]; + $last_stat->{"$veid-$i-wait"} = $counters[4]; + } + + $v{'plugin_instance'} = $i++; + for ($key = 0; $key <= $#counters; ++$key) { + $v{'type_instance'} = $cpu_instances[$key]; + $v{'values'} = [ $counters[$key] ]; + plugin_dispatch_values(\%v); + } + } +} + +sub df_read { + my $veid = shift; + my $name = shift; + my ($key, $val, @lines, @parts); + my %v = _build_report_hash($name); + + $v{'plugin'} = 'df'; + delete $v{'plugin_instance'}; + $v{'type'} = 'df'; + + $val = join(' ', map { (split)[1] } split(/\n/, `$vzctl exec $veid cat /proc/mounts`)); + @lines = split(/\n/, `$vzctl exec $veid stat -tf $val`); + foreach (@lines) { + @parts = split(/ /); + next if (0 == $parts[7]); + + $val = substr($parts[0], 1); + $val = 'root' if ($val =~ /^$/); + $val =~ s#/#-#g; + + $v{'type_instance'} = $val; + $v{'values'} = [ $parts[5] * ($parts[6] - $parts[7]), $parts[5] * $parts[7] ]; + plugin_dispatch_values(\%v); + } +} + +sub load_read { + my $veid = shift; + my $name = shift; + my ($key, $val, @lines, @parts); + my %v = _build_report_hash($name); + + $v{'plugin'} = 'load'; + delete $v{'plugin_instance'}; + $v{'type'} = 'load'; + delete $v{'type_instance'}; + + @parts = split(/ +/, `$vzctl exec $veid cat /proc/loadavg`); + $v{'values'} = [ $parts[0], $parts[1], $parts[2] ]; + plugin_dispatch_values(\%v); +} + +sub processes_read { + my $veid = shift; + my $name = shift; + my ($key, $val, @lines); + my %v = _build_report_hash($name); + + my $ps_states = { 'paging' => 0, 'blocked' => 0, 'zombies' => 0, 'stopped' => 0, + 'running' => 0, 'sleeping' => 0 }; + my $state_map = { 'R' => 'running', 'S' => 'sleeping', 'D' => 'blocked', + 'Z' => 'zombies', 'T' => 'stopped', 'W' => 'paging' }; + + $v{'plugin'} = 'processes'; + delete $v{'plugin_instance'}; + $v{'type'} = 'ps_state'; + + @lines = map { (split)[2] } split(/\n/, `$vzctl exec $veid cat '/proc/[0-9]*/stat'`); + foreach $key (@lines) { + ++$ps_states->{$state_map->{$key}}; + } + + foreach $key (keys %{$ps_states}) { + $v{'type_instance'} = $key; + $v{'values'} = [ $ps_states->{$key} ]; + plugin_dispatch_values(\%v); + } +} + +sub users_read { + my $veid = shift; + my $name = shift; + my ($key, $val, @lines); + my %v = _build_report_hash($name); + + $v{'plugin'} = 'users'; + delete $v{'plugin_instance'}; + $v{'type'} = 'users'; + delete $v{'type_instance'}; + + @lines = split(/\n/, `$vzctl exec $veid w -h`); + $v{'values'} = [ scalar(@lines) ]; + plugin_dispatch_values(\%v); +} + +sub _build_report_hash { + my $name = shift; + return (time => time(), interval => plugin_get_interval(), host => $name); +} + +sub openvz_read { + my (@veids, $veid, $name); + + @veids = map { s/ //g; $_; } split(/\n/, `$vzlist -Ho veid`); + + foreach $veid (@veids) { + ($name = `$vzlist -Ho name $veid`) =~ s/^\s*(.*?)\s*$/$1/; + ($name = `$vzlist -Ho hostname $veid`) =~ s/^\s*(.*?)\s*$/$1/ if($name =~ /^-$/); + $name = $veid if ($name =~ /^-$/); + + if($enable_interface) { + interface_read($veid, $name); + } + + if($enable_cpu) { + cpu_read($veid, $name); + } + + if($enable_df) { + df_read($veid, $name); + } + + if($enable_load) { + load_read($veid, $name); + } + + if($enable_processes) { + processes_read($veid, $name); + } + + if($enable_users) { + users_read($veid, $name); + } + + return 1; + } +} + +plugin_register(TYPE_READ, 'OpenVZ', 'openvz_read'); + +return 1; diff --git a/bindings/perl/lib/Collectd/Unixsock.pm b/bindings/perl/lib/Collectd/Unixsock.pm new file mode 100644 index 0000000..28dbd57 --- /dev/null +++ b/bindings/perl/lib/Collectd/Unixsock.pm @@ -0,0 +1,678 @@ +# +# collectd - bindings/buildperl/Collectd/Unixsock.pm +# Copyright (C) 2007,2008 Florian octo Forster +# +# Permission is hereby granted, free of charge, to any person obtaining a +# copy of this software and associated documentation files (the "Software"), +# to deal in the Software without restriction, including without limitation +# the rights to use, copy, modify, merge, publish, distribute, sublicense, +# and/or sell copies of the Software, and to permit persons to whom the +# Software is furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +# +# Authors: +# Florian Forster +# + +package Collectd::Unixsock; + +=head1 NAME + +Collectd::Unixsock - Abstraction layer for accessing the functionality by +collectd's unixsock plugin. + +=head1 SYNOPSIS + + use Collectd::Unixsock; + + my $sock = Collectd::Unixsock->new ($path); + + my $value = $sock->getval (%identifier); + $sock->putval (%identifier, + time => time (), + values => [123, 234, 345]); + + $sock->destroy (); + +=head1 DESCRIPTION + +collectd's unixsock plugin allows external programs to access the values it has +collected or received and to submit own values. This Perl-module is simply a +little abstraction layer over this interface to make it even easier for +programmers to interact with the daemon. + +=cut + +use strict; +use warnings; + +use Carp qw(cluck confess carp croak); +use POSIX; +use IO::Socket::UNIX; +use Scalar::Util qw( looks_like_number ); + +our $Debug = 0; + +sub _debug +{ + print @_ if $Debug; +} + +sub _create_socket +{ + my $path = shift; + my $sock = IO::Socket::UNIX->new (Type => SOCK_STREAM, Peer => $path); + if (!$sock) + { + cluck ("Cannot open UNIX-socket $path: $!"); + return; + } + return ($sock); +} # _create_socket + +=head1 VALUE IDENTIFIERS + +The values in the collectd are identified using a five-tuple (host, plugin, +plugin-instance, type, type-instance) where only plugin instance and type +instance may be undef. Many functions expect an I<%identifier> hash that has at +least the members B, B, and B, possibly completed by +B and B. + +Usually you can pass this hash as follows: + + $self->method (host => $host, plugin => $plugin, type => $type, %other_args); + +=cut + +sub _create_identifier +{ + my $args = shift; + my ($host, $plugin, $type); + + if (!$args->{host} || !$args->{plugin} || !$args->{type}) + { + cluck ("Need `host', `plugin' and `type'"); + return; + } + + $host = $args->{host}; + $plugin = $args->{plugin}; + $plugin .= '-' . $args->{plugin_instance} if defined $args->{plugin_instance}; + $type = $args->{type}; + $type .= '-' . $args->{type_instance} if defined $args->{type_instance}; + + return "$host/$plugin/$type"; +} # _create_identifier + +sub _parse_identifier +{ + my $string = shift; + my ($plugin_instance, $type_instance); + + my ($host, $plugin, $type) = split /\//, $string; + + ($plugin, $plugin_instance) = split /-/, $plugin, 2; + ($type, $type_instance) = split /-/, $type, 2; + + my $ident = + { + host => $host, + plugin => $plugin, + type => $type + }; + $ident->{plugin_instance} = $plugin_instance if defined $plugin_instance; + $ident->{type_instance} = $type_instance if defined $type_instance; + + return $ident; +} # _parse_identifier + +sub _escape_argument +{ + my $arg = shift; + + return $arg if $arg =~ /^\w+$/; + + $arg =~ s#\\#\\\\#g; + $arg =~ s#"#\\"#g; + return "\"$arg\""; +} + +# Handle socket errors. +sub _socket_error { + my ($self, $where) = @_; + + # If the peer has reset the connection, try to reconnect, + # otherwise fail. + if ($! == EPIPE) { + _debug "^^ error on $where: $!; reconnecting\n"; + $self->destroy; + $self->{sock} = _create_socket ($self->{path}) or return 1; + return; + } else { + carp ("error on $where: $!; aborting action\n"); + $self->{error} = $!; + return 1; + } +} + +# Send a command on a socket, including any required argument escaping. +# Return a single line of result. +sub _socket_command { + my ($self, $command, $args) = @_; + + my $fh = $self->{sock} or confess ('object has no filehandle'); + + if($args) { + my $identifier = _create_identifier ($args) or return; + $command .= ' ' . _escape_argument ($identifier) . "\n"; + } else { + $command .= "\n"; + } + _debug "-> $command"; + while (not $fh->print($command)) { + return if $self->_socket_error ('print'); + $fh = $self->{sock}; + } + + my $response; + while (not defined ($response = $fh->getline)) { + return if $self->_socket_error ('getline'); + $fh = $self->{sock}; + } + chomp $response; + _debug "<- $response\n"; + return $response; +} + +# Read any remaining results from a socket and pass them to +# a callback for caller-defined mangling. +sub _socket_chat +{ + my ($self, $msg, $callback, $cbdata) = @_; + my ($nresults, $ret); + my $fh = $self->{sock} or confess ('object has no filehandle'); + + ($nresults, $msg) = split / /, $msg, 2; + if ($nresults <= 0) + { + $self->{error} = $msg; + return; + } + + for (1 .. $nresults) + { + my $entry; + while (not defined($entry = $fh->getline)) { + return if $self->_socket_error ('getline'); + $fh = $self->{sock}; + } + chomp $entry; + _debug "<- $entry\n"; + $callback->($entry, $cbdata); + } + return $cbdata; +} + +# Send a raw message on a socket. +# Returns true upon success and false otherwise. +sub _send_message +{ + my ($self, $msg) = @_; + + my $fh = $self->{'sock'} or confess ('object has no filehandle'); + + $msg .= "\n" unless $msg =~/\n$/; + + #1024 is default buffer size at unixsock.c us_handle_client() + warn "Collectd::Unixsock->_send_message(\$msg): message is too long!" if length($msg) > 1024; + + _debug "-> $msg"; + while (not $fh->print($msg)) { + return if $self->_socket_error ('print'); + $fh = $self->{sock}; + } + + while (not defined ($msg = <$fh>)) { + return if $self->_socket_error ('readline'); + $fh = $self->{sock}; + } + chomp ($msg); + _debug "<- $msg\n"; + + my ($status, $error) = split / /, $msg, 2; + return 1 if $status == 0; + + $self->{error} = $error; + return; +} + +=head1 PUBLIC METHODS + +=over 4 + +=item I<$self> = Collectd::Unixsock->B ([I<$path>]); + +Creates a new connection to the daemon. The optional I<$path> argument gives +the path to the UNIX socket of the C and defaults to +F. Returns the newly created object on success and +false on error. + +=cut + +sub new +{ + my $class = shift; + my $path = shift || '/var/run/collectd-unixsock'; + my $sock = _create_socket ($path) or return; + return bless + { + path => $path, + sock => $sock, + error => 'No error' + }, $class; +} # new + +=item I<$res> = I<$self>-EB (I<%identifier>); + +Requests a value-list from the daemon. On success a hash-ref is returned with +the name of each data-source as the key and the according value as, well, the +value. On error false is returned. + +=cut + +sub getval # {{{ +{ + my $self = shift; + my %args = @_; + my $ret = {}; + + my $msg = $self->_socket_command('GETVAL', \%args) or return; + $self->_socket_chat($msg, sub { + local $_ = shift; + my $ret = shift; + /^(\w+)=NaN$/ and $ret->{$1} = undef, return; + /^(\w+)=(.*)$/ and looks_like_number($2) and $ret->{$1} = 0 + $2, return; + }, $ret + ); + return $ret; +} # }}} sub getval + +=item I<$res> = I<$self>-EB (I<%identifier>); + +Requests a threshold from the daemon. On success a hash-ref is returned with +the threshold data. On error false is returned. + +=cut + +sub getthreshold # {{{ +{ + my $self = shift; + my %args = @_; + my $ret = {}; + + my $msg = $self->_socket_command('GETTHRESHOLD', \%args) or return; + $self->_socket_chat($msg, sub { + local $_ = shift; + my $ret = shift; + my ( $key, $val ); + ( $key, $val ) = /^\s*([^:]+):\s*(.*)/ and do { + $key =~ s/\s*$//; + $ret->{$key} = $val; + }; + }, $ret + ); + return $ret; +} # }}} sub getthreshold + +=item I<$self>-EB (I<%identifier>, B