1

I'm trying to collect some stats from a calibre library which stores metadata in an sqlite database. I'm attempting to use collectd's dbi plugin but I can't figure out the right options to get it to open the database.

All options I've tried have given the following error:

collectd[1214]: dbi plugin: cdbi_connect_database (calibre): dbi_conn_connect failed: dbi_conn_error failed with status -3

Here's the relevant part of the collectd config:

LoadPlugin dbi

<Plugin dbi>
  <Query "books">
    Statement "SELECT COUNT(*) AS value FROM books"
    <Result>
      Type "gauge"
      InstancePrefix "calibre_books"
      ValuesFrom "value"
    </Result>
  </Query>
  <Query "languages">
    Statement "SELECT COUNT(*) AS value FROM languages"
    <Result>
      Type "gauge"
      InstancePrefix "calibre_languages"
      ValuesFrom "value"
    </Result>
  </Query>
  <Query "series">
    Statement "SELECT COUNT(*) AS value FROM series"
    <Result>
      Type "gauge"
      InstancePrefix "calibre_series"
      ValuesFrom "value"
    </Result>
  </Query>
  <Query "tags">
    Statement "SELECT COUNT(*) AS value FROM tags"
    <Result>
      Type "gauge"
      InstancePrefix "calibre_tags"
      ValuesFrom "value"
    </Result>
  </Query>
  <Database "calibre">
    Driver "sqlite3"
#    DriverOption "path" "/books/metadata.db"
    DriverOption "dbname" "/books/metadata.db"
#    SelectDB "calibre"
    Query "books"
    Query "languages"
    Query "series"
    Query "tags"
  </Database>
</Plugin>

1 Answers1

0

just for record: Add DriverOption "sqlite3_dbdir" "/dir"

VtG
  • 41
  • 1