domingo, 9 de outubro de 2016

Como instalar o Elasticsearch + Kibana + Logstash

Esse tutorial tem o objetivo de apresentar como instalar de forma fácil e rápida um ambiente de desenvolvimento com Elasticsearch, Kibana e Logstash.

O Elasticsearch, Kibana e Logstash são projetos de código aberto, saiba mais através do link https://www.elastic.co/products .

A instalação realizada neste post foi em ambiente Linux com as versões Elasticsearch 2.4.1, Kibana 4.6.21 e Logstash 2.4.0 .

Antes de começar, verifique se você possui na sua máquina a versão do Java Oracle 7 ou superior.

Após instalação do Java, siga os passos: 

1. Efetue o download através dos links:
2. Descompacte os arquivos
tar -xvf elasticsearch-2.4.1.tar.gz
tar -xvf kibana-4.6.1-linux-x86_64.tar.gz
tar -xvf logstash-2.4.0.tar.gz
3. Mude algumas configurações básicas do Elasticsearch para evitar possíveis problemas (esse passo pode ser pulado)
cd elasticsearch-2.4.1/
vi config/elasticsearch.yml
Alterar as configurações:
node.name: node-davi-dev-1
bootstrap.memory_lock: true
O parâmetro node.name indica o nome do nó que você vai utilizar no elasticsearch, se você deixar com o nome padrão você pode ter problemas se house outra instalação de elasticsearch na rede com o mesmo nome.
Já o parâmetro bootstrap.memory_lock se setado para true, faz com que a memória RAM destinada ao elasticsearch esteja logo alocada para ele desde o o início.

Os passos 4 e 5, mostram como instalar o Marvel um plugin que permite monitorar as instâncias do seu Elasticsearch. Esse plugin é um produto que necessita de licença para usar todas as suas funcionalidades.

4. Instale o plugin marvel-agent no Elasticsearch, observe nos passos abaixo que instalamos também uma licença que no caso nos permite acesso a todas as funcionalidades do Marvel por 30 dias.
cd elasticsearch-2.4.1/
bin/plugin install license

bin/plugin install marvel-agent
5. Instale o plugin marvel no Kibana
cd kibana-4.6.1-linux-x86_64/
bin/kibana plugin --install elasticsearch/marvel/latest


Pronto! Instalação concluída.

Para testar, iniciei os servidores elasticseach e kibana:

elasticsearch-2.4.1/bin/elasticsearch -d
kibana-4.6.1-linux-x86_64/bin/kibana &

Se você usar o usuário root, você terá problemas ao iniciar os servidores.
Neste caso, crie um usuário chamado elasticsearch:
useradd elasticsearch
 e altere o dono das pastas para estes usuário.
chown -R elasticsearch  elasticsearch-2.4.1/
chown -R elasticsearch  kibana-4.6.1-linux-x86_64/
chown -R elasticsearch  logstash-2.4.0/


Após iniciar os servidores, você pode acessar o Marvel através da url:
http://localhost:5601/app/marvel



Parabéns!!! Você terminou a instalação do ambiente de desenvolvimento.

Em breve teremos um post sobre carga do Elasticsearch usando Logstash.
Até mais!

quarta-feira, 1 de junho de 2016

Artimanhas para Instalar MapServer no SuSe Linux Enterprise Server (SLES)

Consegui instalar finalmente o MapServer com MapScript no SuSe Linux Enterprise Server 11 SP 3

Apache 2.2
PHP 5.5.16
MapServer 6.2.2

./configure --with-php=yes --with-postgis=yes
make
make install


Em caso de recompilação execute antes do make, o comando:
make clean

Obtive o seguinte erro ao tentar executar o seguinte comando: php /dados/MDSMapas/MapControlAjax0.php  
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib64/php5/extensions/php_mapscript-6.2.2.so' - libmapserver-6.2.2.so: cannot open shared object file: No such file or directory in Unknown on line 0
PHP Fatal error:  Call to undefined function ms_newMapObj() in /dados/wwwroot/MDSMapas/MapControlAjax0.php on line 93

Ao efetuar a seguinte busca no google: https://www.google.com.br/search?q=libmapserver++cannot+open+shared+object+file

Encontrei o link: http://osgeo-org.1560.x6.nabble.com/ERROR-WORKING-WITH-MAPSERVER-td5037405.html

Executei o comando:
ldconfig

ldconfig creates the necessary links and cache to the most recent shared libraries found in the directories specified on the command line

E tudo passou a funcionar.


quarta-feira, 9 de março de 2016

Como instalar a extensão SOLR para o PHP

1. Instalar o curl mais recente:

# wget http://curl.haxx.se/download/curl-7.47.1.tar.gz
# tar -xvf curl-7.47.1.tar.gz
# cd curl-7.47.1/
# ./configure --prefix=/root/custom/software
# make && make install


2. Instalar o libxml mais recente:

# wget ftp://xmlsoft.org/libxml2/libxml2-2.9.3.tar.gz
# tar -xvf libxml2-2.9.3.tar.gz
# cd libxml2-2.9.3/
# ./configure --prefix=/root/custom/software
# make && make install

Observação:
This example assumes that the libxml2 and libcurl libraries were compiled from source and installed using "/root/custom/software" as the --prefix

So the absolute path to the easy.h header file will be
/root/custom/software/include/curl/easy.h

And the absolute path to the libxml/parser.h header file wil be
/root/custom/software/include/libxml2/libxml/parser.h



3. Instalar o solr mais recente:

# wget https://pecl.php.net/get/solr-2.3.0.tgz
# tar -xvf solr-2.3.0.tgz
# cd solr-2.3.0/
# phpize
# ./configure --enable-solr --with-curl=/root/custom/software --with-libxml-dir=/root/custom/software
# make && make install


4. Configurar o PHP para carregar a extensão solr.so:


# echo 'extension=solr.so' >  /etc/php5/conf.d/solr.ini 




quarta-feira, 30 de setembro de 2015

Site bacana que fala de comandos shell para quem trabalha com dados..


http://mazamascience.com/WorkingWithData/?p=213

segunda-feira, 28 de setembro de 2015

Mudar os índices de tablespace

Comandos a serem executados na CLI do servidor de banco de dados.


psql -t -d [NOME_DO_BANCO] -c "select 'ALTER INDEX '||schemaname||'.'||indexname||' SET TABLESPACE fastspace ;' from pg_catalog.pg_indexes order by tablename;" > temp.result
 

psql -d [NOME_DO_BANCO]  < temp.result

quarta-feira, 10 de junho de 2015

POSTGRES - Quais os bancos que ocupam mais espaço em disco?

 
SELECT d.datname AS Name,  pg_catalog.pg_get_userbyid(d.datdba) AS Owner,
    CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')
        THEN pg_catalog.pg_size_pretty(pg_catalog.pg_database_size(d.datname))
        ELSE 'No Access'
    END AS Size
FROM pg_catalog.pg_database d
    ORDER BY
    CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT')
        THEN pg_catalog.pg_database_size(d.datname)
        ELSE NULL
    END DESC -- nulls first
    LIMIT 20
 
 
Fonte: https://wiki.postgresql.org/wiki/Disk_Usage 

POSTGRES - Quais os SQLs que estão demorando mais tempo para serem executados neste momento?


SELECT datname, usename, now()-query_start as tempo_execucao, waiting, client_addr, current_query FROM pg_stat_activity WHERE current_query <> ''order by 3 desc;


Versões de Postgres 9:
SELECT datname, usename, now()-query_start as tempo_execucao, waiting, client_addr, query FROM pg_stat_activity WHERE query <> ''order by 3 desc;