Como obtenho um conjunto de todas as estatísticas de todos os vassalos do uWSGI usando o uwsgitop?

6

TL; DR

Alguém pode me dizer como eu posso obter uwsgitop para monitorar todos os meus vassalos na minha configuração imperador-vassalo de uma só vez?

Eu tenho uma configuração emperor-vassal para o meu servidor uWSGI e preciso monitorar todos os meus vassalos. Eu sempre podia verificar meus logs de aplicativos para os vários dados, mas é mais conveniente ter uma atualização em tempo real, exibição abrangente de todas as estatísticas.

Então, eu tentei algumas coisas:

  1. Eu criei um arquivo .ini comum que contém o seguinte:

    [uwsgi]
    stats = stats_vassal.sock
    

    Em seguida, no arquivo .ini de cada vassal, incluo esse arquivo .ini comum. O problema com essa abordagem é que não obtenho nenhum dado significativo quando executo uwsgitop com o arquivo stats_vassal.sock . Minha hipótese a respeito de por que isso está acontecendo é que os dados nesse soquete continuam sendo sobrescritos pelas estatísticas de algum vassalo que não está em uso.

    Então mudei para ....

  2. No arquivo .ini de cada vassalo, defino uma opção stats = stats_%n.sock . Agora, posso executar uwsgitop em cada arquivo stats_*.sock para monitorar esse vassalo específico.

    Mas eu quero ser capaz de monitorar todos os vassalos de uma só vez. uwsgitop parece aceitar apenas um argumento.

Eu consultei o Subsistema de métricas do uWSGI e o " file "stats pusher parece ser o que eu quero, pois continua anexando a um arquivo. No entanto, quando tentei colocar stats-push = file:path=stats_%n.sock,freq=1 em cada um dos meus arquivos .ini vassal OR quando tentei colocar stats-push = file:path=stats_vassal.sock,freq=1 em meu arquivo vassal comum .ini, recebo o seguinte erro ao reiniciar uWSGI:

unable to find "file" stats_pusher

Eu tentei incluir o plug-in stats_pusher_file no mesmo arquivo .ini, mas recebi o seguinte erro:

!!! UNABLE to load uWSGI plugin: ./stats_pusher_file_plugin.so: cannot open shared object file: No such file or directory !!!

E aqui é onde eu cheguei a um beco sem saída.

    
por Anish Ramaswamy 05.09.2015 / 00:14

1 resposta

0

Infelizmente o uwsgitop não tem essas possibilidades, mas eu escrevi "patch" e com as minhas alterações há a habilidade de usar o uwsgitop dessa maneira: uwsgitop /var/stats e mostra todas as informações dos vassalos separadamente em uma tela.

Você pode verificar o código aqui

Amostra

    
por 13.07.2017 / 22:45