Pular para o conteúdo

Banner de site

Exiba um banner no seu site quando os serviços estiverem indisponíveis (“2 serviços estão indisponíveis”), acionado por uma página de status publicada. Quando tudo está bem, o banner fica oculto, a menos que você peça para ele ser exibido (“Todos os sistemas operacionais”).

Três maneiras de adicioná-lo, da mais simples à mais controlada. Arquivos prontos para copiar estão na pasta integrations/ do repositório.

No DumbMonit, abra as configurações da página de status (Páginas de status, Editar): a seção Faixa de status para o seu site, no final, traz os trechos HTML e PHP já preenchidos com um botão Copiar, um link para esta página e um botão para baixar o plugin WordPress em .zip, pronto para enviar.

Cole isto antes de </body>, com o endereço do seu servidor e o endereço da página:

<script async
src="https://monit.example.com/api/public/status/my-page/banner.js"
data-position="top" data-show="issues" data-lang="pt-BR"></script>
AtributoValoresPadrão
data-positiontop, bottomtop
data-showissues (apenas quando algo está errado), alwaysissues
data-langen, fr, de, es, it, pt, pt-BR, ru, zh-Hansidioma da página, caso contrário en

O script não possui dependências, desenha dentro de um Shadow DOM para que seus estilos não o afete, segue a preferência clara ou escura do visitante e pode ser descartado (até que a aba do navegador seja fechada). Ele lê o JSON público da página, que o servidor permite que qualquer site busque (Access-Control-Allow-Origin: *, sem cookies). Apenas o documento público da página de status é aberto desta forma; o resto da API mantém suas regras.

Copie integrations/wordpress/dumbmonit-status-banner para wp-content/plugins/, ative-o e então abra Configurações > DumbMonit Banner e insira a URL da página de status (https://monit.example.com/api/public/status/my-page), a posição e o modo de exibição. O plugin busca o JSON no servidor, o armazena em cache por um minuto e escapa tudo que imprime.

O servidor DumbMonit pode estar em um endereço privado (LAN): o plugin apenas solicita o URL exato que você salvou (verificado em relação ao padrão /api/public/status/<address>, redirecionamentos desabilitados). Se o endereço for inválido, a página de configurações mostra um erro e mantém o valor anterior. Se a página de status não puder ser buscada, um aviso é mostrado no admin do WordPress (e ao salvar), em vez de falhar silenciosamente.

O texto do banner é traduzível (domínio de texto dumbmonit-status-banner, modelo em languages/); ele segue o idioma do site WordPress. O JSON de status público não carrega nenhum idioma, portanto não pode escolher um.

Para qualquer site PHP, sem estrutura:

require __DIR__ . '/banner.php';
dumbmonit_banner('https://monit.example.com/api/public/status/my-page',
['position' => 'top', 'show' => 'issues', 'ttl' => 60]);

O auxiliar aceita apenas URLs http e https, usa um tempo limite de 3 segundos, não segue redirecionamentos, mantém um cache de arquivo no diretório temporário e não imprime nada se o servidor não puder ser alcançado (a falha é escrita para o log de erros do PHP). Os textos estão em inglês por padrão; passe 'lang' => 'pt-BR' ou uma matriz 'strings' para alterá-los. Um endereço privado (LAN) funciona. Consulte integrations/php/example.php.