Olá,
Tive um problema para subir um varnish em produção e gostaria de compartilhar a solução:
- Ao tentar o start, ocorre o erro:
[root@varnish-machine ~]# /etc/init.d/varnish start
[root@varnish-machine ~]# or: [FAILED]
- Ao tentar startar apenas usando o daemon, ocorre:
[root@varnish-machine ~]# varnishd
storage_file: filename: ./varnish.4lLrqn size 3586 MB.
Using old SHMFILE
- Tentei então fazer um debug no init do varnish e então no final ele mostra o seguinte trecho em negrito
[root@varnish-machine ~]# sh -x /etc/init.d/varnish start
+ echo -n 'Starting varnish HTTP accelerator: '
Starting varnish HTTP accelerator: + ulimit -n 131072
+ ulimit -l 82000
+ '[' '-a :80 -T 127.0.0.1:6082 -f /etc/varnish/default.vcl -u varnish -g varnish -h classic,116387 -p listen_depth=16384 -p overflow_max=10000 -p sess_timeout=5 -p session_linger=50 -p thread_pools=16 -p lru_interval=900 -p cli_timeout=20 -p ping_interval=5 -w 300,4096,60 -t 60 -s file,/var/lib/varnish/varnish_storage.bin,20G' = '' ']'
- Então tentei subir manualmente o varnish, e ai que encontrei o erro e a solução:
[root@varnish-machine ~]# varnishd -a :80 -T 127.0.0.1:6082 -f /etc/varnish/default.vcl -u varnish -g varnish -h classic,116387 -p listen_depth=16384 -p overflow_max=10000 -p sess_timeout=5 -p session_linger=50 -p thread_pools=16 -p lru_interval=900 -p cli_timeout=20 -p ping_interval=5 -w 300,4096,60 -t 60 -s file,/var/lib/varnish/varnish_storage.bin,20G
storage_file: filename: /var/lib/varnish/varnish_storage.bin size 20480 MB.
Message from VCC-compiler:
Unused backend backend1, defined:
(/etc/varnish/backends.inc Line 29 Pos 9)backend backend1 {
--------########################--
Running VCC-compiler failed, exit 1
VCL compilation failed
Havia um problema na VCL, acessei o arquivo, fui até a linha, corrigi e problema solucionado.
Espero que ajude, abs.
sexta-feira, 26 de agosto de 2011
terça-feira, 9 de agosto de 2011
sqlplus
Falae galera!
Hoje precisei realizar a conexão em um banco oracle de um parceiro para homologar se a conexão com o mesmo encontrava-se ok. Consultei nossos amigos DBA's e os mesmos sugeriram utilizar o client sqlpus.
Quando realizei a instalação me deparei com ajustes que foram necessário realizar e graças aos skills de nosso amigo Arnaldo Pedroso, demorei apenas 2 minutos para configurar, e gostaria de compartilhar com vocês para caso haja uma necessidade futura. (:
1 - Deve-se fazer o export das bibliotecas do client, para evitar o seguinte erro: sqlplus64: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
Essa configuração pode ser adicionada para ser exportada automaticamente via .bashrc, porém isso fica a critério e necessidade de cada um.
export LD_LIBRARY_PATH="/usr/lib/oracle/10.2.0.3/client64/lib/"
ou
echo "/usr/lib/oracle/10.2.0.3/client64/lib/" > /etc/ld.so.conf.d/sqlplus
2 - Você deve criar o arquivo aonde ficarão os dados para a conexão com o banco:
Por default ele busca esse arquivo na seguinte ordem:
/root/.tnsnames.ora #Podendo variar de acorodo com o usuário logado, no meu caso estava como root, por isso ele buscou primeiro no /root
/etc/tnsnames.ora
/usr/lib/oracle/10.2.0.3/client64/lib/network/admin/tnsnames.ora
Utilizei a última opção em vermelho
3 - Dentro do arquivo, adicionei a seguinte configuração:
nomeConexaoOracle =
#O nome acima será o mesmo nome utilizado para a conexão
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = 127.0.0.1)(Port = 1542))
# Acima colocam-se o IP e a porta a qual deseja-se conectar.
)
(CONNECT_DATA =
(SERVICE_NAME = SINNPROD)
)
)
4 - Para realizar a conexão basta:
sqlplus username/password@conexão
sqlplus USERtest/PASSWORD@nomeConexaoOracle
Se todas as informações estiverem corretas, sucesso total.
Espero que ajude em algum momento, abs.
Referências: http://www.orafaq.com/wiki/Tnsnames.ora
DBA: Arnaldo Pedroso's mind (:
Hoje precisei realizar a conexão em um banco oracle de um parceiro para homologar se a conexão com o mesmo encontrava-se ok. Consultei nossos amigos DBA's e os mesmos sugeriram utilizar o client sqlpus.
Quando realizei a instalação me deparei com ajustes que foram necessário realizar e graças aos skills de nosso amigo Arnaldo Pedroso, demorei apenas 2 minutos para configurar, e gostaria de compartilhar com vocês para caso haja uma necessidade futura. (:
1 - Deve-se fazer o export das bibliotecas do client, para evitar o seguinte erro: sqlplus64: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory
Essa configuração pode ser adicionada para ser exportada automaticamente via .bashrc, porém isso fica a critério e necessidade de cada um.
export LD_LIBRARY_PATH="/usr/lib/oracle/10.2.0.3/client64/lib/"
ou
echo "/usr/lib/oracle/10.2.0.3/client64/lib/" > /etc/ld.so.conf.d/sqlplus
2 - Você deve criar o arquivo aonde ficarão os dados para a conexão com o banco:
Por default ele busca esse arquivo na seguinte ordem:
/root/.tnsnames.ora #Podendo variar de acorodo com o usuário logado, no meu caso estava como root, por isso ele buscou primeiro no /root
/etc/tnsnames.ora
/usr/lib/oracle/10.2.0.3/client64/lib/network/admin/tnsnames.ora
Utilizei a última opção em vermelho
3 - Dentro do arquivo, adicionei a seguinte configuração:
nomeConexaoOracle =
#O nome acima será o mesmo nome utilizado para a conexão
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = 127.0.0.1)(Port = 1542))
# Acima colocam-se o IP e a porta a qual deseja-se conectar.
)
(CONNECT_DATA =
(SERVICE_NAME = SINNPROD)
)
)
4 - Para realizar a conexão basta:
sqlplus username/password@conexão
sqlplus USERtest/PASSWORD@nomeConexaoOracle
Se todas as informações estiverem corretas, sucesso total.
Espero que ajude em algum momento, abs.
Referências: http://www.orafaq.com/wiki/Tnsnames.ora
DBA: Arnaldo Pedroso's mind (:
quarta-feira, 29 de junho de 2011
segunda-feira, 25 de abril de 2011
TCPDUMP SQL style :D
Um amigo do trabalho Julio, nos passou esse cara abaixo, achei bastante útil, estou repassando :D
Nesse caso estamos monitorando o MySQL, podemos ver pela porta 3306, porém apesar de não ter testado ainda ele pegue qualquer linguagem SQL, claro adaptando para a porta do mesmo, ainda vou testar ou caso você tenha testado por favor poste :D Grato.
Espero que ajude assim como me auxiliou, abraço.
Nesse caso estamos monitorando o MySQL, podemos ver pela porta 3306, porém apesar de não ter testado ainda ele pegue qualquer linguagem SQL, claro adaptando para a porta do mesmo, ainda vou testar ou caso você tenha testado por favor poste :D Grato.
tcpdump -i eth0 -s 0 -l -w - dst port 3306 | strings | perl -e '
while(<>){
chomp; next if /^[^ ]+[ ]*$/;
if(/^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER)/i){
if (defined $q){
print "$q\n";
}
$q=$_;
}
else{
$_ =~ s/^[ \t]+//; $q.=" $_";
}
}'
while(<>){
chomp; next if /^[^ ]+[ ]*$/;
if(/^(SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER)/i){
if (defined $q){
print "$q\n";
}
$q=$_;
}
else{
$_ =~ s/^[ \t]+//; $q.=" $_";
}
}'
quinta-feira, 20 de janeiro de 2011
Links úteis
Achei interessantes... estou fazendo um share, abs.
http://www.thegeekstuff.com/2010/07/screen-command-examples/
http://www.thegeekstuff.com/2010/12/50-unix-linux-sysadmin-tutorials/
http://www.thegeekstuff.com/2010/11/50-linux-commands/
http://www.thegeekstuff.com/2009/03/15-practical-linux-find-command-examples/
http://www.thegeekstuff.com/2009/01/12-amazing-and-essential-linux-books-to-enrich-your-brain-and-library/
http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/
=D
http://www.thegeekstuff.com/2010/07/screen-command-examples/
http://www.thegeekstuff.com/2010/12/50-unix-linux-sysadmin-tutorials/
http://www.thegeekstuff.com/2010/11/50-linux-commands/
http://www.thegeekstuff.com/2009/03/15-practical-linux-find-command-examples/
http://www.thegeekstuff.com/2009/01/12-amazing-and-essential-linux-books-to-enrich-your-brain-and-library/
http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/
=D
segunda-feira, 10 de janeiro de 2011
Listar crontabs e listar vhosts de várias instâncias de apache
Hoje tive a necessidade de verificar os crontabs de algumas máquinas e como possuia alguns usuários e eu necessitava analisar todos fiz um for simples porém funcional e gostaria de compartilhar pois pode ser que alguém necessite, e apesar de sua simplicidade gostaria de compartilhar mesmo assim.
https://github.com/abargiela/scripts/blob/master/crontab_list.sh
Aproveitando também hoje precisei listar um ambiente legado aonde possuo vários servidores apache rodando N sites, então achei mais fácil automatizar isso para saber rapidamente em qual instância o vhost que eu precisava está, então segue o "forzinho" simples porém funcional para mim e espero que para alguém também seja um dia :D.
https://github.com/abargiela/scripts/blob/master/vhost_list.sh
Abs.
https://github.com/abargiela/scripts/blob/master/crontab_list.sh
Aproveitando também hoje precisei listar um ambiente legado aonde possuo vários servidores apache rodando N sites, então achei mais fácil automatizar isso para saber rapidamente em qual instância o vhost que eu precisava está, então segue o "forzinho" simples porém funcional para mim e espero que para alguém também seja um dia :D.
https://github.com/abargiela/scripts/blob/master/vhost_list.sh
Abs.
Assinar:
Postagens (Atom)