Как собрать данные из локальной базы данных sqlite с помощью плагина DBI для collectd - PullRequest
0 голосов
/ 01 мая 2018

Я пытаюсь собрать статистику из библиотеки калибра , которая хранит метаданные в базе данных sqlite. Я пытаюсь использовать dbi-плагин collectd , но не могу найти правильные варианты, чтобы заставить его открыть базу данных.

Все варианты, которые я пробовал, дали следующую ошибку:

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

Вот соответствующая часть конфигурации collectd:

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>
...