Debugar remotamente aplicação no ambiente de produção

11 views
Skip to first unread message

Lessandro Notaroberto Pyrâmides

unread,
Dec 11, 2014, 1:39:50 PM12/11/14
to jav...@googlegroups.com, jav...@googlegroups.com, javano...@googlegroups.com

Pessoal, boa tarde.

Alguém poderia contribuir com um passo a passo de como configurar o servidor

de aplicações para permitir debugar remotamente a aplicação no ambiente de produção?

Lembrando que minha máquina em produção é o Ubuntu 14.10.

Já tentei algo como isso: http://javarevisited.blogspot.com.br/2011/02/how-to-setup-remote-debugging-in.html

mas não vai de jeito nenhum, sempre obtenho que a conexão não foi realizada.

Obrigado,

Att,

 

--------------------------------------------------------------------------------------------------
Lessandro Notaroberto Pyrâmides
Analista de Sistemas Java Web e Android

Bacharelado em Sistemas de Informação - FMG
MBA em Gestão de Projetos em TI – UFJF
MSN: 
lessa...@hotmail.com
Emails: 
lessandron...@gmail.com

Skype: lessandromg

Tels: +55 (32) 9108-6144 / +55 (32) 8871-3868
Juiz de Fora - MG
--------------------------------------------------------------------------------------------------

 

Lessandro Notaroberto Pyrâmides

unread,
Dec 11, 2014, 3:45:14 PM12/11/14
to jav...@googlegroups.com, jav...@googlegroups.com, javano...@googlegroups.com

Porque não? Me dê um motivo...

É muito trabalhoso ficar tentando descobrir alguns erros que só ocorrem

no ambiente em produção, mesmo tendo uma máquina virtual bem

similar.

Att,

Lessandro

 

De: jav...@googlegroups.com [mailto:jav...@googlegroups.com] Em nome de Daniel Tavares
Enviada em: quinta-feira, 11 de dezembro de 2014 18:16
Para: javace
Assunto: Re: [javace] Debugar remotamente aplicação no ambiente de produção

 

Cara, um conselho. Não faça isso.

 

--
Você recebeu essa mensagem porque está inscrito no grupo "java.ce" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javace+un...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para jav...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/javace.
Para mais opções, acesse https://groups.google.com/d/optout.



 

--

Abraços, Regards, Salutos.

Daniel Tavares

--
Você recebeu essa mensagem porque está inscrito no grupo "java.ce" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javace+un...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para jav...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/javace.
Para mais opções, acesse https://groups.google.com/d/optout.

Lessandro Notaroberto Pyrâmides

unread,
Dec 11, 2014, 3:45:21 PM12/11/14
to jav...@googlegroups.com, jav...@googlegroups.com, javano...@googlegroups.com

Sim.

Dei um: sudo ufw disable

Att,

Lessandro

 

De: jav...@googlegroups.com [mailto:jav...@googlegroups.com] Em nome de Everton Fujimoto
Enviada em: quinta-feira, 11 de dezembro de 2014 17:14
Para: javasf: JavaServer Faces International Group
Cc: jav...@googlegroups.com; javano...@googlegroups.com
Assunto: Re: [javasf] Debugar remotamente aplicação no ambiente de produção

 

Liberou o firewall no Ubuntu?


Att.
Everton William Fujimoto

 

--
Você recebeu essa mensagem porque está inscrito no grupo "javasf: JavaServer Faces Group" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javasf+un...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/javasf.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/!%26!AAAAAAAAAAAYAAAAAAAAAIDG0h5s2GpCnXYRfYpy6fuigQAAEAAAAAXVlx4Np3hCnd6KkUorv9oBAAAAAA%3D%3D%40gmail.com.


Para mais opções, acesse https://groups.google.com/d/optout.

 

--
Você recebeu essa mensagem porque está inscrito no grupo "javasf: JavaServer Faces Group" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javasf+un...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/javasf.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/javasf/CAGThSzoso3bqVhWU3iKNpcv7ZZj1ZOrHkrC1P-%2Btr3rnuWq1Mg%40mail.gmail.com.

Vagner Araujo

unread,
Dec 11, 2014, 4:56:08 PM12/11/14
to javano...@googlegroups.com, jav...@googlegroups.com
Então,

eu não uso Ubuntu, mas GNU/Linux é GNU/Linux independente da distribuição... Em meu Slackware quando quero iniciar alguma coisa remotamente eu uso o SSH...

Como descrevi anteriormente, você pode redirecionar um aplicativo gráfico para a sua máquina cliente via ssh, mas se você for fazer isso, seria bom configurar o firewall para aceitar conexões no seu servidor apenas vinda do ip da sua máquina cliente.... Como tenho ip fixo, fica fácil.... :-)

em seu servidor você faz o seguinte

export DISPLAY=ipdasuamáquinacliente:displayNumber:ScreenNumber

Na sua máquina cliente você faz o seguinte....

xhost +ipdoseuservidor

As instruções acima é para quem usa máquinas GNU/Linux, no meu caso tanto o servidor como as máquinas clientes são Slackware Linux, se você usa Windows, aí você terá que ver como fazer, eu não uso Windows já faz mais de 10 anos... hhihihihhihihihihi... Viva a Liberdade.... ;-)


Lessandro Notaroberto Pyrâmides

unread,
Dec 12, 2014, 5:28:58 AM12/12/14
to jav...@googlegroups.com, jav...@googlegroups.com, javano...@googlegroups.com

Então Charles, eu me expressei mal, o meu ambiente é de certificação,

uma cópia fiel do ambiente de produção.

No meu caso estou utilizando uma instância da Digital Ocean, onde não tenho nenhum

gerenciador gráfico, e pelo que observei não é possível fazer a instalação, até porque

se isso fosse permitido consumiria mais memória e processamento, deixando de disponibilizar

para a minha aplicação.

Obrigado,

Att,

Lessandro

 

De: jav...@googlegroups.com [mailto:jav...@googlegroups.com] Em nome de Charles Gleison


Enviada em: quinta-feira, 11 de dezembro de 2014 18:41
Para: jav...@googlegroups.com
Cc: jav...@googlegroups.com; javano...@googlegroups.com

Assunto: Re: [javace] RES: [javasf] Debugar remotamente aplicação no ambiente de produção

 

Olá Lessandro,

Bom, não é comum alguém "debugar" a aplicação em produção, e pior acessando remotamente.
É um cenário com dois fatores de altíssimos risco e que podem impactar na continuidade do seu negócio.

Entretanto, uma saída possível seria:

1 - Criar uma cópia quente da sua base de produção com as mesma configurações.

2 - Criar uma versão "homologação" da aplicação de produção com as mesmas configurações.

3 - Configurar um meio de acesso remoto a uma máquina interna através de softwares como TeamView!

Mas, caso esteja confiante e realmente queira habilitar acesso direto e testar em produção:

"Segura na mão de Deus e vai!"

Abraços

 

--

Você recebeu essa mensagem porque está inscrito no grupo "java.ce" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javace+un...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para jav...@googlegroups.com.


Para mais opções, acesse https://groups.google.com/d/optout.




--

Atenciosamente,

Charles Gleison

Bacharel em Ciência da Computação
Analista de Sistema

"Em terra de sapo, mosquito não dá rasante"

--

Você recebeu essa mensagem porque está inscrito no grupo "java.ce" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javace+un...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para jav...@googlegroups.com.

Vagner Araujo

unread,
Dec 12, 2014, 5:29:09 AM12/12/14
to jav...@googlegroups.com, jav...@googlegroups.com, javano...@googlegroups.com
Então,

se você não tem um ambiente gráfico as instruções que enviei anteriormente para você não serve... No meu caso eu não preciso instalar os pacotes gráfico para o servidor e com apenas poucos pacotes instalados o servidor fica no ar rapidamente em modo texto, mas prefiro ter os pacotes do X instalados pois quando quero editar um html, xml ou qualquer outro arquivo é mais rápido navegar e implementar a alteração em um editor gráfico em vez de utilizar o vi, normalmente alterno entre o vi e o editor gráfico como leafpad....

Lessandro Notaroberto Pyrâmides

unread,
Dec 12, 2014, 9:42:51 AM12/12/14
to jav...@googlegroups.com, jav...@googlegroups.com, javano...@googlegroups.com

Filipe, boa tarde.

Acho que essa dúvida faz parte sim de questões que devem ser expostas aqui no grupo.

Acredito que tudo que esteja envolvido desde a fase de análise e definição de requisitos,

até a fase de integração, que faz parte do processo de desenvolvimento, e independente

da linguagem, no caso Java, está dentro do escopo.

Se alguém mais discordar, por favor, deixe claro sua opinião.

Obrigado,

Att,

Lessandro

 

De: jav...@googlegroups.com [mailto:jav...@googlegroups.com] Em nome de Filipe Monteiro


Enviada em: quinta-feira, 11 de dezembro de 2014 17:40
Para: jav...@googlegroups.com
Cc: jav...@googlegroups.com; javano...@googlegroups.com

Assunto: [javace] Re: Debugar remotamente aplicação no ambiente de produção

 

Lessandro,

 

sem querer ser chato. Mas acredito que aqui não seja o lugar para este tipo de "dúvidas". Vamos prezar por discussões objetivas.

--

Lessandro Notaroberto Pyrâmides

unread,
Dec 12, 2014, 10:47:41 AM12/12/14
to jav...@googlegroups.com, jav...@googlegroups.com, javano...@googlegroups.com

Sim Daniel.

Então, e como disse num post a algum tempo atrás eu me expressei mal, a aplicação ainda está no ambiente

de homologação, ainda não foi para produção, nesse caso a ideia é depurar remotamente em homologação.

Obrigado,

Abs,

Att,

Lessandro

 

De: jav...@googlegroups.com [mailto:jav...@googlegroups.com] Em nome de Daniel Tavares
Enviada em: sexta-feira, 12 de dezembro de 2014 12:32
Para: javace
Assunto: Re: [javace] Re: Debugar remotamente aplicação no ambiente de produção

 

Bem, eu acho loucura querer debugar em produção, por mais trabalhoso que isto seja. Se o erro não acontece nem no ambiente de homologação, prefiro usar ferramentas como o Rafael Uchoa indicou ou, da forma mais simples possível, encher o log de linhas e analisar tudo depois.

 

Mas...

 

Mas eu tenho que defender o Lessandro agora. Essa pergunta é sim parte do escopo deste grupo, afinal, isso faz parte do que nós fazemos como desenvolvedores (em específico, desenvolvedores).

 

Dá muito mais gosto responder (ou perguntar) uma questão como essas do que perguntar como se faz isso ou aquilo com JSF, JPA, JWhatever, "questões objetivas" que o Google responde com mais facilidade e em menos tempo.

 

Abraços.

--

Abraços, Regards, Salutos.

Daniel Tavares

--

Lessandro Notaroberto Pyrâmides

unread,
Dec 15, 2014, 11:00:15 AM12/15/14
to jav...@googlegroups.com, jav...@googlegroups.com, javano...@googlegroups.com

Filipe, discordo completamente de você! Ninguém quer tutoriais, um simples compartilhamento de um

link pode ser muito útil! Dificilmente iremos encontrar um artigo sobre algo em apenas uma página.

Estou querendo um feedback das pessoas de qual técnica utilizar, qual framework, se existe, etc...

Nunca fui do tipo de querer as coisas de “mão beijada”, ou mastigada, inclusive tenho um blog justamente

para ajudar às pessoas em algo que também passei, quando até então não conhecia sobre determinado

assunto, enfim, sempre prezei pela troca de conhecimento, acho que enquanto existir essa troca na

área de TI as coisas podem ser muito melhor do que imaginamos, e pessoas que simplesmente preferem

reter o conhecimento ao invés de compartilhá-lo, certamente o mercado irá deixa-lo de fora com o tempo.

Finalizando, acho que podemos ter o pensamento assim, se eu não posso ajudar em algo, não critique!

Att,

Lessandro

 

De: jav...@googlegroups.com [mailto:jav...@googlegroups.com] Em nome de Filipe Monteiro


Enviada em: sexta-feira, 12 de dezembro de 2014 15:31
Para: jav...@googlegroups.com
Cc: jav...@googlegroups.com; javano...@googlegroups.com

Assunto: Re: [javace] Re: Debugar remotamente aplicação no ambiente de produção

 

Lessandro, boa tarde.

 

O problema é que você não quer tirar uma dúvida, vc quer que as pessoas façam "tutorias". Isso pode pegar mal cara. Mas tudo bem é minha opnião. Vá em frente!

Lessandro Notaroberto Pyrâmides

unread,
Dec 15, 2014, 1:26:54 PM12/15/14
to jav...@googlegroups.com, jav...@googlegroups.com, javano...@googlegroups.com

Pessoal, boa tarde.

Agradeço o retorno, e reitero que quando disse ambiente de produção, considerem

ambiente de homologação, pois a aplicação ainda não está em produção, não

fiz o lançamento.

Quanto às perguntas, segue:

 

1. Sua aplicação possui alguma politica de verificação de Status?

 1.1. Possui acompanhamento Real-Time como, por exemplo, o google-analitycs ou outro? (não tenho, pretendo utilizar

antes de colocar em produção)

 1.2. Possui acompanhamento Pos-ativo como, por exemplo, logs para rastreio de bugs? (Sim, log4j)

2. Seu ambiente de certificação(homologação) de fato é um espelho da produção? (não existe ambiente de

produção por agora, apenas certificação)

 2.1. Há outras aplicações que rodam no mesmo servidor? (não, apenas essa aplicação web)

 2.2. Há rotinas: schedulers, jobs, time-procedures que utilizam os recursos de produção? (Jobs sim, envio de e-mail

enfileirados na caixa de saída)

 

O problema é, pelo log não estou conseguindo capturar alguns problemas, principalmente por desenvolver

numa máquina Windows e a aplicação estar num ambiente Linux. Criei uma máquina virtual, onde consigo debugar a

aplicação, e mesmo assim ficou um processo muito custoso. Se conseguisse debugar essa aplicação no ambiente da

Digital Ocean, sem dúvida nenhuma seria algo que agregaria muito mais valor.

Obrigado,

Att,

Lessandro

 

De: jav...@googlegroups.com [mailto:jav...@googlegroups.com] Em nome de Fabrício Cabral
Enviada em: segunda-feira, 15 de dezembro de 2014 15:10
Para: jav...@googlegroups.com
Assunto: Re: [javace] Re: Debugar remotamente aplicação no ambiente de produção

 

Olá todos!

 

Me corrijam se estiver enganado, mas a ideia do ambiente de homologação

não é justamente ser o mais fiel possível do ambiente de produção, para que

uma vez o software esteja homologado e testado possa ir para a produção

sem problemas?

 

Se sim, acho que o problema está no ambiente de homologação que não

está refletindo de forma correta o ambiente de produção. Talvez o melhor

seja fazer um snapshot do ambiente de produção, levá-lo para a homologação

e aí, passar o pente fino com tudo que tiver direito na procura do bug.

 

Faz sentido?

 

At.te.

 

2014-12-15 13:58 GMT-03:00 Charles Gleison <fidese...@gmail.com>:

Bom, já entendemos que a questão aqui não é um post 'how to solve your problem'.

Estamos diante de uma situação curiosa, e nem tão incomum a nós da TI: uma falha, ou problema, que ocorre apenas em produção.

Lessandro, antes de qualquer implementação: JPDA, ou mesmo HotDebug, algumas precauções devem ser tomadas considerando seu cenário:

 

1. Sua aplicação possui alguma politica de verificação de Status?

 1.1. Possui acompanhamento Real-Time como, por exemplo, o google-analitycs ou outro?

 1.2. Possui acompanhamento Pos-ativo como, por exemplo, logs para rastreio de bugs?

2. Seu ambiente de certificação(homologação) de fato é um espelho da produção?

 2.1. Há outras aplicações que rodam no mesmo servidor?

 2.2. Há rotinas: schedulers, jobs, time-procedures que utilizam os recursos de produção?


Esse post não é um how to, até porque as medidas corretivas serão adotadas após a avaliação de todos os dados colhidos.

 

Bom Lessandro, espero ter ajudado. Agora só espero que o problema não seja intermitente, pois ai seria o pior caso!

Abraços.

Atenciosamente,



Charles Gleison

Bacharel em Ciência da Computação
Analista de Sistema

"Em terra de sapo, mosquito não dá rasante"

--

Você recebeu essa mensagem porque está inscrito no grupo "java.ce" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javace+un...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para jav...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/javace.
Para mais opções, acesse https://groups.google.com/d/optout.


 

--

--fx

Lessandro Notaroberto Pyrâmides

unread,
Dec 15, 2014, 3:10:41 PM12/15/14
to jav...@googlegroups.com, jav...@googlegroups.com, javano...@googlegroups.com

Paulo, são erros por exemplo, como passei outro dia, estou fazendo upload de imagens

utilizando servlet, não quero utilizar o componente do primefaces ou richfaces, que a

cada nova versão, param de funcionar. Então tenho um wrapper que basicamente pega os

campos do tipo file e prepara o objeto, mas tive problemas de encoding no Linux que

não ocorriam no Windows, quando fazia o post, entrava no filter, que disparava o wrapper,

e para os campos do tipo texto, o UTF-8 trocava “ç“ por “~”. Esse é apenas um exemplo que

estou colocando em evidência, como estou implementando no Windows, ótimo, belezinha,

tudo ok, quando coloquei na nuvem, começou a dor de cabeça, e como esse “erro”, outros

também ocorrem. No log não gerava erro, pois na verdade não tratava-se de um erro em si,

mas a forma como o código se comportava diante do ambiente (SO).

Att,

Lessandro

 

De: jav...@googlegroups.com [mailto:jav...@googlegroups.com] Em nome de Paulo Henrique Alves
Enviada em: segunda-feira, 15 de dezembro de 2014 16:03
Para: jav...@googlegroups.com
Assunto: Re: [javace] Re: Debugar remotamente aplicação no ambiente de produção

 

Pra mim é um post 'how to solve your problem', não ouvi argumentos suficientes para fazer eu mudar de idéia.

Concordo com a opção do Fabrício, replicar o ambiente de prod para homol e passar o pente fino (appdynamics, logs e tudo mais que for possível, jmeter para forçar o erro).

Qual o tipo de erro que ocorre?? Por enquanto só vi que foi falado que é um erro que só ocorre em prod.. tem o stacktrace??

Abraços.

Atenciosamente,
Paulo Henrique Alves
It is not necessary to do extraordinary things to get extraordinary results. (W. Buffett)



--

Atenciosamente,



Charles Gleison

Bacharel em Ciência da Computação
Analista de Sistema

"Em terra de sapo, mosquito não dá rasante"

--

Você recebeu essa mensagem porque está inscrito no grupo "java.ce" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javace+un...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para jav...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/javace.
Para mais opções, acesse https://groups.google.com/d/optout.


 

--

--fx

--
Você recebeu essa mensagem porque está inscrito no grupo "java.ce" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para javace+un...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para jav...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/javace.
Para mais opções, acesse https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages