安裝collectd的結果:
Configuration: Libraries: intel mic . . . . . . no (MicAccessApi not found) libaquaero5 . . . . . no (libaquaero5.h not found) libatasmart . . . . . no (atasmart.h not found) libcurl . . . . . . . no (curl-config failed) libdbi . . . . . . . no (dbi/dbi.h not found) libesmtp . . . . . . no (libesmtp not found) libganglia . . . . . no (gm_protocol.h not found) libgcrypt . . . . . . no (gcrypt.h not found) libhal . . . . . . . no libhiredis . . . . . no (hiredis.h not found) libi2c-dev . . . . . no (symbol i2c_smbus_read_i2c_block_data not found - have you installed libi2c-dev ?) libiokit . . . . . . no libiptc . . . . . . . no (pkg-config doesn't know libiptc) libjvm . . . . . . . no (jar not found) libkstat . . . . . . no (Solaris only) libkvm . . . . . . . no libldap . . . . . . . no ('ldap.h' not found) liblvm2app . . . . . no (lvm2app.h not found) libmemcached . . . . no (libmemcached/memcached.h not found) libmnl . . . . . . . no (symbol 'mnl_nlmsg_get_payload' not found) libmodbus . . . . . . no (pkg-config doesn't know libmodbus) libmongoc . . . . . . no ('mongo.h' not found) libmysql . . . . . . yes libnetapp . . . . . . no (netapp_api.h not found) libnetsnmp . . . . . no (net-snmp-config failed) libnotify . . . . . . no (No package 'libnotify' found) liboconfig . . . . . yes (shipped version) libopenipmi . . . . . no (pkg-config doesn't know OpenIPMIpthread) liboping . . . . . . no (oping.h not found) libowcapi . . . . . . no (owcapi.h not found) libpcap . . . . . . . no (pcap.h misses PCAP_ERROR_IFACE_NOT_UP) libperfstat . . . . . no (AIX only) libperl . . . . . . . yes (version 5.10.1) libpq . . . . . . . . no (libpq-fe.h not found) libpthread . . . . . yes librabbitmq . . . . . no (amqp.h not found) librdkafka . . . . . no (librdkafka/rdkafka.h not found) librouteros . . . . . no (routeros_api.h not found) librrd . . . . . . . no (rrd.h not found) libsensors . . . . . no (sensors/sensors.h not found) libsigrok . . . . . no (libsigrok/libsigrok.h not found) libstatgrab . . . . . no (pkg-config doesn't know libstatgrab) libtokyotyrant . . . no (tcrdb.h not found) libudev . . . . . . . no (libudev.h not found) libupsclient . . . . no (pkg-config doesn't know libupsclient) libvarnish . . . . . no (pkg-config doesn't know varnishapi) libvirt . . . . . . . no (pkg-config doesn't know libvirt) libxml2 . . . . . . . yes libxmms . . . . . . . no libyajl . . . . . . . no (yajl/yajl_parse.h not found) oracle . . . . . . . no (ORACLE_HOME is not set) protobuf-c . . . . . no python . . . . . . . yes Features: daemon mode . . . . . yes debug . . . . . . . . no Bindings: perl . . . . . . . . yes (PREFIX=NONE) Modules: aggregation . . . . . yes amqp . . . . . . . no apache . . . . . . . no apcups . . . . . . . yes apple_sensors . . . . no aquaero . . . . . . . no ascent . . . . . . . no barometer . . . . . . no battery . . . . . . . yes bind . . . . . . . . no ceph . . . . . . . . no cgroups . . . . . . . yes conntrack . . . . . . yes contextswitch . . . . yes cpu . . . . . . . . . yes cpufreq . . . . . . . yes csv . . . . . . . . . yes curl . . . . . . . . no curl_json . . . . . . no curl_xml . . . . . . no dbi . . . . . . . . . no df . . . . . . . . . yes disk . . . . . . . . yes dns . . . . . . . . . no drbd . . . . . . . . yes email . . . . . . . . yes entropy . . . . . . . yes ethstat . . . . . . . yes exec . . . . . . . . yes fhcount . . . . . . . yes filecount . . . . . . yes fscache . . . . . . . yes gmond . . . . . . . . no hddtemp . . . . . . . yes interface . . . . . . yes ipc . . . . . . . . . yes ipmi . . . . . . . . no iptables . . . . . . no ipvs . . . . . . . . yes irq . . . . . . . . . yes java . . . . . . . . no load . . . . . . . . yes logfile . . . . . . . yes log_logstash . . . . no lpar . . . . . . . . no lvm . . . . . . . . . no madwifi . . . . . . . yes match_empty_counter . yes match_hashed . . . . yes match_regex . . . . . yes match_timediff . . . yes match_value . . . . . yes mbmon . . . . . . . . yes md . . . . . . . . . yes memcachec . . . . . . no memcached . . . . . . yes memory . . . . . . . yes mic . . . . . . . . . no modbus . . . . . . . no multimeter . . . . . yes mysql . . . . . . . . yes netapp . . . . . . . no netlink . . . . . . . no network . . . . . . . yes nfs . . . . . . . . . yes nginx . . . . . . . . no notify_desktop . . . no notify_email . . . . no ntpd . . . . . . . . yes numa . . . . . . . . yes nut . . . . . . . . . no olsrd . . . . . . . . yes onewire . . . . . . . no openldap . . . . . . no openvpn . . . . . . . yes oracle . . . . . . . no perl . . . . . . . . yes pf . . . . . . . . . no pinba . . . . . . . . no ping . . . . . . . . no (dependency error) postgresql . . . . . no powerdns . . . . . . yes processes . . . . . . yes protocols . . . . . . yes python . . . . . . . yes redis . . . . . . . . no (dependency error) routeros . . . . . . no rrdcached . . . . . . no rrdtool . . . . . . . no sensors . . . . . . . no serial . . . . . . . yes sigrok . . . . . . . no smart . . . . . . . . no snmp . . . . . . . . no statsd . . . . . . . yes swap . . . . . . . . yes syslog . . . . . . . yes table . . . . . . . . yes tail_csv . . . . . . yes tail . . . . . . . . yes tape . . . . . . . . no target_notification . yes target_replace . . . yes target_scale . . . . yes target_set . . . . . yes target_v5upgrade . . yes tcpconns . . . . . . yes teamspeak2 . . . . . yes ted . . . . . . . . . yes thermal . . . . . . . yes threshold . . . . . . yes tokyotyrant . . . . . no turbostat . . . . . . yes unixsock . . . . . . yes uptime . . . . . . . yes users . . . . . . . . yes uuid . . . . . . . . yes varnish . . . . . . . no virt . . . . . . . . no vmem . . . . . . . . yes vserver . . . . . . . yes wireless . . . . . . yes write_graphite . . . yes write_http . . . . . no write_kafka . . . . . no write_log . . . . . . yes write_mongodb . . . . no write_redis . . . . . no write_riemann . . . . no write_sensu . . . . . yes write_tsdb . . . . . yes xmms . . . . . . . . no zfs_arc . . . . . . . yes zookeeper . . . . . . yesconfigure: error: "Some plugins are missing dependencies - see the summary above for details"
其中
...libhiredis . . . . . no (hiredis.h not found)...redis . . . . . . . . no (dependency error)...write_redis . . . . . no
表明redis外掛程式安裝失敗
Hiredis是Redis開源庫對C語言介面的API開發庫。
初學者很容易搞混,redis-server redis-client都是應用程式,跟開發介面不相關。
Hiredis 在官網 http://redis.io/clients 中有說明This is the official C client. Support for the whole command set, pipelining, event driven programming.
下載地址為: https://github.com/redis/hiredis
在Linux平台下載hiredis開發包,解壓
在命令列中 cd進入解壓後的檔案夾執行 Make 這樣C用戶端編譯完畢。
接下來也是最關鍵的 配置。
可以手動設定 將對應.h與.so .a等檔案拷貝到/usr/local/lib /user/local/include對應檔案夾
或者直接執行自動設定 make install 建議直接使用此方法。
至此hiredis開發包配置完畢
git clone https://github.com/redis/hiredis.git
cd hiredis
make install
再安裝collectd:
./configure --enable-cpu --enable-df --enable-disk --enable-interface --enable-load --enable-memory --enable-ping --enable-swap --enable-users --enable-uptime --enable-redis
安裝成功。