I successfully compiled the oracle plugin for collectd but I can't get it to work.
I installed oracle-instantclient12.1-devel-12.1.0.1.0-1.x86_64 and oracle-instantclient12.1-basic-12.1.0.1.0-1.x86_64. I set $ORACLE_HOME in /etc/profile.d and I set the LD_LIBRARY_PATH in /etc/ld.so.conf.d. Here is my oracle config in /etc/collectd.d/ LoadPlugin oracle <Plugin oracle> <Query "io_per_tablespace"> Statement "SELECT sum(vf.PHYBLKRD)*8192 AS PHY_BLK_R, \ sum(vf.PHYBLKWRT)*8192 AS PHY_BLK_W, \ 'tablespace' AS i_prefix, \ dt.tablespace_name \ FROM ((dba_data_files dd JOIN v$filestat vf ON dd.file_id = vf.file# ) \ JOIN dba_tablespaces dt ON dd.tablespace_name = dt.tablespace_name) \ GROUP BY dt.tablespace_name" <Result> Type "io_octets" InstancesFrom "i_prefix" "TABLESPACE_NAME" ValuesFrom "PHY_BLK_R" "PHY_BLK_W" </Result> </Query> <Database "DB1"> ConnectID "DEV" Username "collectd" Password "secret" Query "io_per_tablespace" </Database> </Plugin> This is the log entry from the oracle plugin: [2014-07-02 15:12:24] oracle plugin: o_read_database (db = DB1, query = (none)): OCILogon("DEV") failed: ORA-12154: TNS:could not resolve the connect identifier specified I have a tnsnames.ora in $ORACLE_HOME/network/admin but the daemon doesn't seem to be looking for it: strace -e access,open /usr/sbin/collectd -C /etc/collectd.conf -f open("/etc/collectd.d/oracle.conf", O_RDONLY) = 3 open("/usr/lib64/collectd/oracle.so", O_RDONLY) = 6 open("/usr/lib/oracle/12.1/client64/lib/libclntsh.so.12.1", O_RDONLY) = 6 open("/usr/lib/oracle/12.1/client64/lib/libnnz12.so", O_RDONLY) = 6 open("/usr/lib/oracle/12.1/client64/lib/libons.so", O_RDONLY) = 6 open("/usr/lib/oracle/12.1/client64/lib/libclntshcore.so.12.1", O_RDONLY) = 6 open("/usr/lib/oracle/12.1/client64/lib/libociei.so", O_RDONLY) = 5 open("/usr/lib/oracle/12.1/client64/network/admin/oraaccess.xml", O_RDONLY) = -1 ENOENT (No such file or directory) access("/usr/lib/oracle/12.1/client64/network/admin/oraaccess.xml", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib/oracle/12.1/client64/network/admin/oraaccess.xml", F_OK) = -1 ENOENT (No such file or directory) open("/usr/lib/oracle/12.1/client64/network/admin/oraaccess.xml", O_RDONLY) = -1 ENOENT (No such file or directory) access("/usr/lib/oracle/12.1/client64/network/admin/sqlnet.ora", F_OK) = 0 open("/usr/lib/oracle/12.1/client64/network/admin/sqlnet.ora", O_RDONLY) = 5 access("/root/.sqlnet.ora", F_OK) = -1 ENOENT (No such file or directory) open("/etc/orabasetab", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/oracle/12.1/client64/install/orabasetab", O_RDONLY) = -1 ENOENT (No such file or directory) access("/usr/lib/oracle/12.1/client64/network/admin/sqlnet.ora", F_OK) = 0 open("/usr/lib/oracle/12.1/client64/network/admin/sqlnet.ora", O_RDONLY) = 6 access("/usr/lib/oracle/12.1/client64/network/admin/intchg.ora", F_OK) = -1 ENOENT (No such file or directory) access("/etc/intchg.ora", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib/oracle/12.1/client64/network/admin/intchg.ora", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib/oracle/12.1/client64/network/admin/tnsnav.ora", F_OK) = -1 ENOENT (No such file or directory) access("/etc/tnsnav.ora", F_OK) = -1 ENOENT (No such file or directory) access("/usr/lib/oracle/12.1/client64/network/admin/tnsnav.ora", F_OK) = -1 ENOENT (No such file or directory) It doesn't appear to be looking for tnsnames.ora. My $ORACLE_HOME is /usr/lib/oracle/12.1/client64. This is the same ORACLE_HOME that was used when compiling the plugin, if that matters. Can someone point out what I may be doing wrong or what I have missed to get this to work? Thanks, Giovanni _______________________________________________ collectd mailing list collectd@verplant.org http://mailman.verplant.org/listinfo/collectd