Skip to content

Como sobrescrever as configurações através URL?

João Ribeiro edited this page Jun 23, 2020 · 2 revisions

A sobrescrita de configuração foi pensada para os cenários onde existe mais de um monitor exibindo informações do Nagmap Reborn, por exemplo, um monitora os servidores e o outro roteadores.

Antigamente para alcançar esse objetivo era necessário ter duas cópias do projeto cada uma com um config.php diferente.

Com a opção de sobrescrita o cenário muda, fazendo necessária somente uma cópia do projeto, e fazendo as alterações das opções de forma dinâmica através da URL.

Primeiramente é importante ressaltar que por questões de segurança, somente algumas configurações podem ser sobrescritas sendo elas:

general.debug ngreborn.changes_bar.size ngreborn.priorities.critical
map.centre ngreborn.changes_bar.font_size ngreborn.priorities.down
map.zoom ngreborn.changes_bar.filter ngreborn.play_sound
ngreborn.filter_hostgroup ngreborn.priorities.unknown ngreborn.default_icon_style
ngreborn.filter_service ngreborn.priorities.up ngreborn.update_animation
ngreborn.changes_bar.mode ngreborn.priorities.warning ngreborn.lines

Para realizar a sobrescrita de configurações, você deve seguir esses passos:

No arquivo de configuração defina essa opção (em 'security'):

'allow_overwrite' => 1,

Tendo a opção habilitada, basta passar as configurações em forma de parâmetro na URL do projeto, exemplo:

Sendo a URL para acesso ao projeto: domain.com/nagmapReborn/

Para sobrescrever a opção de centro_mapa e ChangesBar_mode seria necessário adicionar ao final da URL: ?map.centre=-17.120,-61.688&ngreborn.changes_bar.mode=1

Gerando a URL completa: domain.com/nagmapReborn/?map.centre=-17.120,-61.688&ngreborn.changes_bar.mode=1

Dessa forma ao acessar o projeto com essa URL essas opções seriam sobrescritas e o as alterações aplicadas de forma dinâmica.

Retornando ao exemplo dos dois monitores para monitorar servidores e roteadores, o cenário seria o seguinte.

No config.php ficariam as configurações iniciais para monitorar os servidores, como por exemplo:

'filter_hostgroup' => "servers",
'default_icon_style' => "marker_shadow",
'filter_service' => "PING"

E para monitorar os roteadores no segundo monitor, seria feita a sobrescrita de opções, gerando a seguinte URL completa:

domain.com/nagmapReborn/?ngreborn.filter_hostgroup=ROUTERS&ngreborn.default_icon_style=router_border_dark&ngreborn.filter_service=SPEED

Dessa forma o mapa gerado estaria limitado ao Grupo de Hosts "ROUTERS", com o ícone de router com bordas escuras e o serviço primário seria o SPEED, assim possibilitando o monitoramento com somente um config.

Em versões futuras é pretendido criar um painel dentro do projto para gerar essas URLS de forma facilitada.


João Ribeiro.

See here in English.