Descobrir node desativado e puppet dashboard

78 views
Skip to first unread message

José Carlos Colzani

unread,
Jan 23, 2020, 3:11:01 PM1/23/20
to puppet-users-br
Olá pessoal:

Sou um novato no mundo do puppet, estou lendo bastante e aprendendo, inclusive comprei o livro do Aécio aqui do site, porém ainda não consegui ler até o fim.

Tenho um ambiente puppet6 (Servidor em Debian 10) no qual consegui instalar o puppetdb seguindo o tutorial do Aécio. No painel do puppetdb tenho a informação que 2 nodes estão inativos, porém não consegui descobrir quais são esses nodes.



A outra dúvida que eu tenho seria sobre o puppet dashboard, eu segui as dicas aqui do Aécio porém tenho o seguinte erro após configurar o manifest e tentar instalar o dashboard:

 ⚡ root@puppetserver  ~  puppet agent -t
Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Retrieving locales
Info: Loading facts
Info: Caching catalog for puppetserver.host.corp
Info: Applying configuration version '1579796336'
Notice: /Stage[main]/Puppetboard/Python::Virtualenv[/srv/puppetboard/virtenv-puppetboard]/Exec[python_virtualenv_/srv/puppetboard/virt
env-puppetboard]/returns: New python executable in /srv/puppetboard/virtenv-puppetboard/bin/python
Notice: /Stage[main]/Puppetboard/Python::Virtualenv[/srv/puppetboard/virtenv-puppetboard]/Exec[python_virtualenv_/srv/puppetboard/virt
env-puppetboard]/returns: Installing setuptools, pkg_resources, pip, wheel...
Notice: /Stage[main]/Puppetboard/Python::Virtualenv[/srv/puppetboard/virtenv-puppetboard]/Exec[python_virtualenv_/srv/puppetboard/virt
env-puppetboard]/returns:   Complete output from command /srv/puppetboard/vir...ppetboard/bin/python - setuptools pkg_resources pip wh
eel:
Notice: /Stage[main]/Puppetboard/Python::Virtualenv[/srv/puppetboard/virtenv-puppetboard]/Exec[python_virtualenv_/srv/puppetboard/virt
env-puppetboard]/returns:   Looking in links: /usr/lib/python3/dist-packages, /usr/share/python-wheels/
Notice: /Stage[main]/Puppetboard/Python::Virtualenv[/srv/puppetboard/virtenv-puppetboard]/Exec[python_virtualenv_/srv/puppetboard/virt
env-puppetboard]/returns: Collecting setuptools
Notice: /Stage[main]/Puppetboard/Python::Virtualenv[/srv/puppetboard/virtenv-puppetboard]/Exec[python_virtualenv_/srv/puppetboard/virt
env-puppetboard]/returns:   Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by
'ProtocolError('Connection aborted.', error(104, 'Conex\xc3\xa3o fechada pela outra ponta'))': /packages/f9/d3/955738b20d3832dfa3cd3d9
b07e29a8162edb480bf988332f5e6e48ca444/setuptools-44.0.0-py2.py3-none-any.whl
Notice: /Stage[main]/Puppetboard/Python::Virtualenv[/srv/puppetboard/virtenv-puppetboard]/Exec[python_virtualenv_/srv/puppetboard/virt
env-puppetboard]/returns:   Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by
'ProtocolError('Connection aborted.', error(104, 'Conex\xc3\xa3o fechada pela outra ponta'))': /packages/f9/d3/955738b20d3832dfa3cd3d9
b07e29a8162edb480bf988332f5e6e48ca444/setuptools-44.0.0-py2.py3-none-any.whl

2020-01-23 13_25_55-Window.png

Aécio

unread,
Jan 23, 2020, 7:18:36 PM1/23/20
to puppet-...@googlegroups.com
Boa noite, José!

Seja bem vindo à comunidade Puppet-BR.

Obrigado pela confiança ao comprar o livro e ler o tutorial no meu blog. Espero que isso lhe ajude.

Eu não testei a instalação no Debian 10 e já faz um tempo que trabalhei com Puppet. O desenvolvimento do PuppetBoard é mantido independente do Puppet e as dependências ou configuração podem ter mudado...

Eu vou testar e atualizar o tutorial, se necessário... mas para você não ficar esperando, tentar montar este ambiente no Ubuntu Server 18.04 ou Centos 7.

--
Você recebeu essa mensagem porque está inscrito no grupo "puppet-users-br" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para puppet-users-br+unsubscribe@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/puppet-users-br/feb5de3a-ad9b-4608-890c-68a80cb4893d%40googlegroups.com.


--
Abraço e fica com Deus.

Aécio
Livros sobre Jenkins, Puppet e Zabbix

José Colzani

unread,
Jan 24, 2020, 5:56:19 AM1/24/20
to puppet-...@googlegroups.com
Obrigado Aécio pelo apoio. Quando fizer se puder me avisar ficarei grato.

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para puppet-users-...@googlegroups.com.


--
Abraço e fica com Deus.

Aécio
Livros sobre Jenkins, Puppet e Zabbix

--
Você recebeu essa mensagem porque está inscrito no grupo "puppet-users-br" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para puppet-users-...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/puppet-users-br/CALCxXJjT8Mjmb1MYpiC_uZwnYbNGYsA%3DJBbX9XpSzxouyQAvFw%40mail.gmail.com.


--
José Carlos Colzani

Formado em Gestão de Tecnologia da Informação
Analista de Informática 
User linux - #241077

José Carlos Colzani

unread,
Jan 29, 2020, 3:25:58 PM1/29/20
to puppet-users-br

Acabei descobrindo que meu problema é na verdade com o python-pip, como o modulo do puppet usa ele para instalar algumas dependências acaba dando o problema.

Só ainda não encontrei a solução, tenho uma VM com o mesmo Debian10 e o puppet instalado, executo o pip install modulo e funciona certinho, na maquina de produção da vários erros de certificado SSL. Cheguei a remover todos os pacotes do python-pip com purge e reinstalar mas mesmo assim não adiantou, pesquisei na internet mas até agora não entrei nenhuma solução. Caso alguém encontre eu agradeço.

Abraços...

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para puppet-...@googlegroups.com.

José Colzani

unread,
Jan 30, 2020, 1:08:23 PM1/30/20
to puppet-...@googlegroups.com
Me respondendo, descobri o problema dos módulos no pip, o administrador da rede me informou que a rede tinha restrições de acesso a internet, apensar de eu conseguir baixar pacotes pelo apt, tinha algo bloqueando o acesso ao repositório do pip, resumindo consegui fazer a instalação dos módulos e instalar o puppetboard, porém ele não funciona, dando o seguinte erro nos logs do apache:

[Thu Jan 30 14:58:36.818841 2020] [wsgi:error] [pid 3002:tid 140054062565120] [remote 172.16.30.221:23855] mod_wsgi (pid=3002): Failed to exec Python script file '/srv/puppetboard/puppetboard/wsgi.py'.
[Thu Jan 30 14:58:36.818881 2020] [wsgi:error] [pid 3002:tid 140054062565120] [remote 172.16.30.221:23855] mod_wsgi (pid=3002): Exception occurred processing WSGI script '/srv/puppetboard/puppetboard/wsgi.py'.
[Thu Jan 30 14:58:36.818896 2020] [wsgi:error] [pid 3002:tid 140054062565120] [remote 172.16.30.221:23855] Traceback (most recent call last):
[Thu Jan 30 14:58:36.818910 2020] [wsgi:error] [pid 3002:tid 140054062565120] [remote 172.16.30.221:23855]   File "/srv/puppetboard/puppetboard/wsgi.py", line 15, in <module>
[Thu Jan 30 14:58:36.818944 2020] [wsgi:error] [pid 3002:tid 140054062565120] [remote 172.16.30.221:23855]     from puppetboard.app import app as application
[Thu Jan 30 14:58:36.818953 2020] [wsgi:error] [pid 3002:tid 140054062565120] [remote 172.16.30.221:23855]   File "/srv/puppetboard/puppetboard/puppetboard/app.py", line 5, in <module>
[Thu Jan 30 14:58:36.818961 2020] [wsgi:error] [pid 3002:tid 140054062565120] [remote 172.16.30.221:23855]     from urllib.parse import unquote, unquote_plus, quote_plus
[Thu Jan 30 14:58:36.818977 2020] [wsgi:error] [pid 3002:tid 140054062565120] [remote 172.16.30.221:23855] ImportError: No module named parse

Juro que a hora que conseguir colocar funcionar esse puppetboard vou fazer um churrasco. rsrs


Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para puppet-users-...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/puppet-users-br/fd7cbdd4-6597-4376-acb7-af85affd9de7%40googlegroups.com.

Juliano Guidini

unread,
Jan 30, 2020, 7:08:27 PM1/30/20
to puppet-...@googlegroups.com
Boa Tarde Pessoal, tudo bom?

Pequeno histórico: Uso puppet a muito tempo, desce a versão 2.7, junto com Debian ( 7,8 e 9 ) para o puppetserver, puppetdb e puppetdashboard.

Eu tive esse problema faz um tempo e investi um tempo para entender e resolver.

É um problema de versão do python ( tem uma visão geral aqui - ImportError: No module named 'urlparse - : https://www.dariawan.com/tutorials/python/upgrade-python-2-to-3/ ).

Explico: No Debian 10 (buster) o python padrão é o 2.7.16 ( https://packages.debian.org/search?keywords=python&searchon=names&suite=stable&section=all ), dá para usar outra versão, no caso (sem fazer backports etc ) a 3.7.3 (https://packages.debian.org/search?suite=stable&section=all&arch=any&searchon=names&keywords=python3). E se você só der pip install <qq coisa> os trecos todos que está instalando geralmente não usam mais python 2.7.X. Alguns avisam outros quebram. No nosso caso quebra.

Esses dias atualizei para puppet 6 e fiz uma tabelinha, abaixo:

## puppetboard 0.3.0 - Debian 8 (atualmente EOL) e 9 (LTS atualmente)
apt-get install python-pip

# instale o apache e o modulo wsgi
apt-get install apache2 libapache2-mod-wsgi python-dev python-pip

pip install pypuppetdb==1.2.0
pip install commonmark==0.8.0
pip install puppetboard==0.3.0

## puppetboard 1.0.0 - Debian 8 (atualmente EOL) e 9 (LTS atualmente)
apt-get install python-pip

# instale o apache e o modulo wsgi
apt-get install apache2 libapache2-mod-wsgi python-dev python-pip

pip install pypuppetdb==1.2.0
pip install commonmark
pip install puppetboard==1.0.0

## puppetboard 1.1.0 - Debian 8 (atualmente EOL) e 9 (LTS atualmente) - Ultimo para Python 2.7
apt-get install python-pip

# instale o apache e o modulo wsgi
apt-get install apache2 libapache2-mod-wsgi python-dev python-pip

pip install pypuppetdb==1.2.0
pip install commonmark
pip install puppetboard==1.1.0

## puppetboard 2.0.0 - Debian 9 (LTS atualmente) - Só Python 3.5 e acima!
apt-get install apache2 libapache2-mod-wsgi-py3 python3-dev python3-pip

pip3 install pypuppetdb==1.2.0
pip3 install commonmark
pip3 install puppetboard==2.0.0

### Sobre o PIP
Se for utilizar um sistema mais antigo (tipo Debian 8, sabe-se lá por que motivo você faria isso.. ) terá problemas com o pip, então instale o pip manualmente (não use o repositório apt) até alguma versão um pouco mais nova, aí o pip vai funcionar direitinho.

Bom churrasco!! srsrrs

Atenciosamente,

  Juliano


José Colzani

unread,
Jan 30, 2020, 9:21:48 PM1/30/20
to puppet-...@googlegroups.com
Obrigado pela dica Juliano com certeza muito útil, lendo seu email eu acredito que fiz tudo certinho, mas amanhã no trabalho verifico novamente.

Abraços

José Carlos Colzani

José Colzani

unread,
Jan 31, 2020, 6:20:30 AM1/31/20
to puppet-...@googlegroups.com
Bom dia, achei o problema....

Por padrão o modulo puppetboard instala o libapache2-mod-wsgi, e não o libapache2-mod-wsgi-py3.
Instalei o libapache2-mod-wsgi-py3 e comentei a linha 8 do arquivo wsgi.py e carregou.

Ainda preciso resolver isso, mas já estou bem mais animado.

Abraços...

José Colzani

unread,
Jan 31, 2020, 6:50:04 AM1/31/20
to puppet-...@googlegroups.com
Acabei fazendo várias alterações no modulo puppetboard, e no arquivo wsgi.py fiz essa alteração.


Tudo funcionando.

Espero que possa ajudar outras pessoas.
 

Juliano Guidini

unread,
Jan 31, 2020, 7:05:28 AM1/31/20
to puppet-...@googlegroups.com
Bom Dia!!

Aí sim! Tudo rodando.. 

Fui investigar o wsgi.py e descobri porque não tive problemas com o ele. Eu não uso o módulo que está no forge, eu instalo manualmente o puppetboard (estranho né?) e com isso uso o wsgi.py que está descrito no github do módulo. São bem diferentes, o código descrito na documentação não contém a linha que deu problema para você.

## wsgi.py No módulo do forge:

from __future__ import absolute_import

import os
import sys

os.environ['PUPPETBOARD_SETTINGS'] = '<%= @basedir %>/puppetboard/settings.py'
activate_this = '<%= @basedir %>/virtenv-puppetboard/bin/activate_this.py'
execfile(activate_this, dict(__file__=activate_this))

me = os.path.dirname(os.path.abspath(__file__))
# Add us to the PYTHONPATH/sys.path if we're not on it
if not me in sys.path:
    sys.path.insert(0, me)


from puppetboard.app import app as application

## wsgi.py Na documentação:

from __future__ import absolute_import
import os

# Needed if a settings.py file exists
os.environ['PUPPETBOARD_SETTINGS'] = '/var/www/html/puppetboard/settings.py'

from puppetboard.app import app as application

application.secret_key = ' '


Atenciosamente,

  Juliano


Reply all
Reply to author
Forward
0 new messages