Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Exemplo: Personalize a saída das interfaces de show terse Command usando um script op

Este exemplo usa um script de operação para personalizar a saída do show interfaces terse comando. Uma explicação linha a linha do script XSLT é fornecida.

Requisitos

Este exemplo usa um dispositivo que executa o Junos OS.

Visão geral e script de op

Por padrão, o layout do show interfaces terse comando se parece com este:

No Junos XML, os campos de saída são representados da seguinte forma:

Sintaxe XSLT

O script a seguir personaliza a saída do show interfaces terse comando. Uma explicação linha a linha do script é fornecida.

Explicação linha a linha

As linhas 1 a 7, Linha 20 e Linhas 105 e 106 são a plataforma de caldeira que você inclui em todos os scripts de operação. Para obter mais informações, consulte o Required Boilerplate for Op Scripts.

As linhas 8 a 17 declaram uma variável chamada arguments, contendo dois argumentos ao script: interface e protocol. Essa declaração variável faz interface com que e protocol apareçam na interface de linha de comando (CLI) como argumentos disponíveis para o script.

As linhas 18 e 19 declaram dois parâmetros ao script, correspondentes aos argumentos criados nas Linhas 8 a 17. Os nomes dos parâmetros devem corresponder exatamente aos nomes dos argumentos.

As linhas 20 a 31 declaram uma variável nomeada rpc. O show interfaces terse comando é atribuído à rpc variável. Se você incluir o interface argumento quando executa o script, o valor do argumento (o nome da interface) é passado para o script.

A Linha 32 declara uma variável nomeada out e aplica-se a ela a execução da rpc variável (show interfaces terse comando).

A Linha 33 especifica que o nível de saída do show interfaces comando que está sendo modificado é terse (em extensivevez de , detaile assim por diante).

As linhas 34 a 39 especificam que, se você incluir o protocol argumento quando executa o script e se o valor do protocolo que você especifica forinet, inet6outnpmpls, o intf modelo é aplicado a cada instância desse tipo de protocolo na saída.

As linhas 40 a 47 especificam que se você incluir o protocol argumento quando executa o script e se o valor do protocolo que você especifica for diferente inetde, inet6oumplstnp, uma mensagem de erro é gerada.

As linhas 48 a 52 especificam que, se você não incluir o protocol argumento quando executa o script, o intf modelo é aplicado a cada interface lógica na saída.

As linhas 53 a 56 estão fechando etiquetas.

A Linha 57 abre o intf modelo. Este modelo personaliza a saída do show interfaces terse comando.

A Linha 58 declara uma variável chamada status, com a finalidade de especificar como o status da interface é relatado. As linhas 59 a 78 contêm uma <xsl:choose> instrução que povoa a status variável considerando todos os estados possíveis. Como sempre no XSLT, a primeira <xsl:when> instrução que avalia como TRUE é executada, e o restante é ignorado. Cada <xsl:when> instrução é explicada separadamente.

As linhas 60 a 62 especificam que, se admin-status estiver 'ativa' e oper-status estiver 'ativa', nenhuma saída é gerada. Nesse caso, a status variável permanece vazia.

As linhas 63 a 65 especificam que, se admin-status estiver "baixa", a status variável contém o texto offline.

As linhas 66 a 68 especificam que, se oper-status estiver 'baixa' e a interface admin-status física estiver 'baixa', a status variável contém o texto p-offline. (../ selecione a interface física.)

As linhas 69 a 71 especificam que, se oper-status estiver 'baixa' e a interface oper-status física estiver 'baixa', a status variável contém o texto p-down. (../ selecione a interface física.)

As linhas 72 a 74 especificam que, se oper-status estiver "baixa", a status variável contém o texto down.

As linhas 75 a 77 especificam que, se nenhum dos casos de teste for verdadeiro, a status variável contém oper-status e admin-status concatenada com uma barra como separador.

As linhas 78 e 79 estão fechando etiquetas.

As linhas 80 a 89 definem uma variável chamada desc. Uma <xsl:choose> instrução povoa a variável selecionando a descrição da interface mais específica disponível. Se uma descrição lógica da interface estiver incluída na configuração, ela é usada para povoar a desc variável. Se não, a descrição da interface física é usada. Se nenhuma descrição da interface física for incluída na configuração, a variável permanecerá vazia. Como sempre no XSLT, a primeira <xsl:when> instrução que avalia como TRUE é executada, e o restante é ignorado.

O restante do script especifica como a saída do modo operacional é exibida.

As linhas 90 e 91 especificam que o nome da interface lógica é exibido primeiro na saída.

As linhas 92 a 94 testam se a desc variável tem um número não zero de caracteres. Se o número de caracteres for superior a zero, a descrição da interface será exibida na localização padrão do admin-status campo. (Na saída padrão, o admin-status campo é exibido na segunda linha.)

A Linha 95 especifica que o status da interface conforme definido na variável é exibido em status seguida.

As linhas 96 a 103 especificam que, se você incluir o protocol argumento quando executa o script, apenas interfaces com esse protocolo configurado são exibidas. Se você não incluir o protocol argumento, todas as interfaces são exibidas.

As linhas 104 a 106 são etiquetas de fechamento.

Sintaxe SLAX

A versão SLAX do script é a seguinte:

Configuração

Procedimento

Procedimento passo a passo

Baixar, habilitar e testar o script:

  1. Copie o script XSLT ou SLAX em um arquivo de texto, nomeie a interface do arquivo.xsl ou interface.slax conforme apropriado e copie-o para o /var/db/scripts/op/ directory no dispositivo.

  2. No modo de configuração, inclua a file declaração no nível de [edit system scripts op] hierarquia e interface.xsl ou interface.slax conforme apropriado.

  3. Emita o commit and-quit comando para comprometer a configuração e voltar ao modo operacional.

  4. Execute o script de operação emitindo o comando do op interface modo operacional.

Verificação

Verificando a saída de script de confirmação

Propósito

Verifique se o script se comporta como esperado.

Ação

Emite os show interfaces terse comandos operacionais e op interface compare a saída. O show interfaces terse comando exibe a saída padrão. O op interface comando exibe a saída personalizada.

Emita o op interface comando operacional para diferentes níveis de hierarquia e revise a saída. Por exemplo: