Ad Widget

Collapse

Zabbix 2.2 + SQLITE3 = Missing database

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • jlemes
    Junior Member
    • Dec 2013
    • 15

    #1

    Zabbix 2.2 + SQLITE3 = Missing database

    Olá pessoal,

    Estou implementando um pequeno projeto onde utilizo o Raspberry Pi para executar o Zabbix Server com a base de dados SQLITE3 para monitorar hosts em IPv6. Não preciso de escalabilidade mas sim de simplicidade pois tenho poucos recursos de hardware e irei monitorar apenas alguns hosts.

    PROBLEMA: No Passo 3 "Configure DB connection" da configuração via Web ele não encontra o banco de dados SQLITE que eu criei, quando testo a conexão surge o erro "Missing database".

    PROCEDIMENTOS:
    1. Executei o ./configure e make install corretamente conforme abaixo, fiz a importação do schema.sql, images.sql e data.sql para o zabbix.db que está localizado em /var/lib/slite/zabbix.db, esta pasta e arquivo estão como owner zabbix:zabbix e sua permissão é 644.

    2. No zabbix_server.conf a database está assim: DBName=/var/lib/slite/zabbix.db, os parâmetros de DBUser e DBPassword não estão setados.


    Code:
    # ./configure --prefix=/etc/zabbix --enable-server --enable-agent --enable-ipv6 --with-sqlite3 --with-net-snmp=/usr/bin/net-snmp-config --with-jabber --with-libcurl=/usr/bin/curl-config --with-ssh2 --with-openipmi
    
    --omitido--
    
    Configuration:
    
      Detected OS:           linux-gnu
      Install path:          /etc/zabbix
      Compilation arch:      linux
    
      Compiler:              gcc
      Compiler flags:        -g -O2     -I/usr/include      -I/usr/local/include -I/usr/lib/perl/5.14/CORE -I. -I/usr/include  -I/usr/include -I/usr/include  
    
      Enable server:         yes
      Server details:
        With database:         SQLite v3.x
        WEB Monitoring:        yes
        Native Jabber:         yes
        SNMP:                  net-snmp
        IPMI:                  openipmi
        SSH:                   yes
        ODBC:                  no
        Linker flags:          -rdynamic        -L/usr/lib    -L/usr/lib/i386-linux-gnu   -L/usr/lib  -L/usr/lib -L/usr/lib -L/usr/lib 
        Libraries:             -lm -ldl -lrt  -lresolv       -lsqlite3 -liksemel   -lcurl   -lnetsnmp -lcrypto  -lnetsnmp -lcrypto -lssh2 -lOpenIPMI -lOpenIPMIposix 
    
      Enable proxy:          no
    
      Enable agent:          yes
      Agent details:
        Linker flags:          -rdynamic     -L/usr/lib/i386-linux-gnu 
        Libraries:             -lm -ldl -lrt  -lresolv    -lcurl 
    
      Enable Java gateway:   no
    
      LDAP support:          no
      IPv6 support:          yes
    
    ***********************************************************
    *            Now run 'make install'                       *
    *                                                         *
    *            Thank you for using Zabbix!                  *
    *              <http://www.zabbix.com>                    *
    ***********************************************************
    AJUDA: Acredito que seja algo que estou fazendo errado, porém não tenho nem ideia do que seja. Sou novo no Zabbix e é minha segunda implementação da ferramenta, já configurei com MySQL e funcionou perfeitamente, inclusive com IPv6. Alguém tem alguma ideia de como me ajudar?

    Se precisar de mais detalhes é só pedir, e se possível me indiquem onde consigo tal detalhe pois não conheço toda a estrutura do Zabbix.

    Obrigado!

    João L.
  • thiagolmelo
    Junior Member
    Zabbix Certified Trainer
    Zabbix Certified Specialist
    • Dec 2009
    • 27

    #2
    Oi Joao, eu te indicaria algumas coisas aqui:

    1. ver no log do zabbix proxy se ele não está com erro de criação ou gravação neste arquivo
    2. não cria o banco, deixa que o zabbix proxy crie quando ele for iniciado
    3. tenta dar um 'touch' no arquivo do banco com o usuário do zabbix

    Att

    Thiago Melo
    www.unirede.net
    Unirede Soluções Corporativas
    __________________
    --
    Thiago Melo
    [url]www.zabbix.com.br[/url]
    [url]www.uniredeinfo.com.br[/url]
    Porto Alegre - RS - Brasil

    Comment

    • jlemes
      Junior Member
      • Dec 2013
      • 15

      #3
      Olá Thiago,

      Fiz o recomendado, descobri que eu estava apontando no momento errado o local da base, porém agora o erro mudou para o seguinte:

      Code:
      SQLite3::exec(): attempt to write a readonly database [setup.php:118 → CSetupWizard->__construct() → CSetupWizard->eventHandler() → CSetupWizard->checkConnection() → DBexecute() → SQLite3->exec() in /var/www/zabbix/include/db.inc.php:581]
      Error in query [CREATE TABLE zabbix_installation_test (test_row INTEGER)] Error code [8] Message [attempt to write a readonly database]
      SQLite3::exec(): no such table: zabbix_installation_test [setup.php:118 → CSetupWizard->__construct() → CSetupWizard->eventHandler() → CSetupWizard->checkConnection() → DBexecute() → SQLite3->exec() in /var/www/zabbix/include/db.inc.php:581]
      Error in query [DROP TABLE zabbix_installation_test] Error code [1] Message [no such table: zabbix_installation_test]
      Esta instalação não é do proxy, mas sim do Zabbix Server, ele é quem usará o SQLite.

      Obrigado!! =)

      Comment

      • jlemes
        Junior Member
        • Dec 2013
        • 15

        #4
        Pessoal,

        Consegui fazer rodar o Zabbix Server com SQLite, porém enfrento alguns problemas.

        O que fiz para rodar?
        Instalei tudo normalmente, porém no zabbix_server.conf alterei a base de dados com o caminho absoluto do arquivo (/var/lib/sqlite/zabbix.db), deixei como owner deste arquivo o usuário www-data do Apache, do contrário ele não consegue acessar o arquivo.

        Problemas atuais:
        - Se os serviços do Zabbix (server e agent) iniciam junto com o sistema, não consigo acessar ou configurar o Zabbix Frontend.
        Code:
        Inventory	Reports	Configuration	Administration
        Zabbix Server
        Overview  |  Hosts
        
        History:	 Configuration of hosts » Dashboard » Configuration of hosts » Dashboard » Host inventory 
        sem_get(): failed for key 0x7a020458: Permission denied [hosts.php:22 → require_once() → ZBase->run() → ZBase->initDB() → DBconnect() → init_sqlite3_access() → sem_get() in /var/www/zabbix/include/db.inc.php:1222]
        sem_acquire() expects parameter 1 to be resource, boolean given [hosts.php:22 → require_once() → ZBase->run() → ZBase->initDB() → DBconnect() → lock_sqlite3_access() → sem_acquire() in /var/www/zabbix/include/db.inc.php:1233]
        sem_release() expects parameter 1 to be resource, boolean given [hosts.php:22 → require_once() → ZBase->run() → ZBase->initDB() → DBconnect() → unlock_sqlite3_access() → sem_release() in /var/www/zabbix/include/db.inc.php:1244]
        - Parece que há uma concorrência de acesso a base de dados zabbix.db do SQLite, em alguns momentos noto que surge um erro conforme abaixo indicando que a database está travada.

        Code:
        SQLite3::exec(): database is locked [dashboard.php:21 → require_once() → ZBase->run() → ZBase->authenticateUser() → CWebUser::checkAuthentication() → CAPIObject->checkAuthentication() → CAPIObject->__call() → czbxrpc::call() → czbxrpc::callAPI() → czbxrpc::transactionEnd() → DBend() → DBcommit() → DBexecute() → SQLite3->exec() in /var/www/zabbix/include/db.inc.php:570]
        Error in query [COMMIT] Error code [5] Message [database is locked]
        
        SQLite3::exec(): cannot start a transaction within a transaction [dashboard.php:282 → make_sysmap_menu() → make_sysmap_submenu() → CAPIObject->get() → CAPIObject->__call() → czbxrpc::call() → czbxrpc::callAPI() → czbxrpc::transactionBegin() → DBstart() → DBexecute() → SQLite3->exec() in /var/www/zabbix/include/db.inc.php:570]
        Error in query [BEGIN] Error code [1] Message [cannot start a transaction within a transaction]
        SQLite3::exec(): database is locked [dashboard.php:491 → require_once() → add_user_history() → DBexecute() → SQLite3->exec() in /var/www/zabbix/include/db.inc.php:570]
        Error in query [UPDATE user_history SET title1=title2, url1=url2, title2=title3, url2=url3, title3=title4, url3=url4, title4=title5, url4=url5, title5='Dashboard', url5='dashboard.php' WHERE userid=1] Error code [5] Message [database is locked]
        SQLite3::exec(): database is locked [dashboard.php:491 → require_once() → CProfile::flush() → DBend() → DBcommit() → DBexecute() → SQLite3->exec() in /var/www/zabbix/include/db.inc.php:570]
        Error in query [COMMIT] Error code [5] Message [database is locked]
        Também não consigo adicionar hosts para serem monitorados, surge o erro abaixo:

        Code:
        Incorrect value "" for unsigned int field "valuemapid".
        Sei que o SQLite é apenas experimental, mas gostaria da ajuda dos senhores =).

        Muito obrigado.

        Comment

        Working...