-
Notifications
You must be signed in to change notification settings - Fork 8
Como sobrescrever as configurações através URL?
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.