Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Plate de caldeira necessária para scripts SNMP

Os scripts SNMP do Junos OS podem ser escritos em Extensible Stylesheet Language Transformations (XSLT), Stylesheet Language Alternative syntaX (SLAX) ou Python. Os scripts SNMP devem incluir a placa de serviço necessária para essa linguagem de script para funcionalidades básicas de script, bem como qualquer funcionalidade opcional usada dentro do script, como as funções de extensão do Junos OS e templates nomeados. Este tópico fornece placas padrão que podem ser usadas em scripts XSLT, SLAX e Python SNMP.

SLAX Boilerplate para scripts SNMP

A placa de script SLAX SNMP é a seguinte:

Nota:

Os scripts SLAX e XSLT SNMP são baseados em elementos de tag de protocolo Junos XML e Junos XML. Como todos os elementos XML, os suportes de ângulo incluem o nome de um elemento de tag de protocolo Junos XML ou Junos XML em suas tags de abertura e fechamento. Esta é uma convenção XML, e os suportes são uma parte necessária do nome completo do elemento tag. Eles não devem ser confusos com os suportes de ângulo usados na documentação para indicar partes opcionais das cordas de comando Junos OS CLI .

A linha 1 especifica a versão do XML como 1.0.

As linhas 2 a 6 listam todos os mapeamentos de namespace comumente usados em scripts SNMP. Nem todos esses prefixos são usados neste exemplo. Listar todos os mapeamentos de namespace evita erros se os mapeamentos forem usados em versões posteriores do script. Esses mapeamentos de namespace permitem que você use funções de extensão e modelos nomeados em seus scripts. Essas funções de extensão e modelos nomeados são discutidos na compreensão de funções de extensão nos scripts de automação do Junos OS e na compreensão de modelos nomeados nos scripts de automação do Junos OS.

A linha 5 e a linha 6 têm mapeamentos de namespace EXSLT. As funções de extensão de SNMP são definidas no namespace com o URI http://exslt.org/functions associado. A Linha 6 registra o namespace de snmp extensão com o namespace de funções EXSLT, permitindo que você defina funções personalizadas usando snmp como prefixo dentro de seu script SLAX. Para obter mais informações sobre o namespace EXSLT, consulte http://exslt.org/func/index.html.

A Linha 7 define um modelo não identificado, match /que representa o nível superior da hierarquia de configuração. Todas as expressões da XML Path Language (XPath) no script devem começar pelo elemento de alto nível na hierarquia de configuração. Isso permite que o script acesse todas as possíveis chamadas de procedimentos remotos de protocolo Junos XML e Junos XML (RPCs). Para obter mais informações, consulte a visão geral do XPath.

Após o match / elemento tag, a etiqueta de <snmp-script-results> contêiner deve ser a etiqueta infantil de alto nível, conforme mostrado na Linha 8. O valor deste contêiner é devolvido ao solicitante de OID.

As linhas 9 e 10 definem variáveis com base nos elementos correspondentes que você pode usar em seu código para determinar se a ação é obter ou obter o próximo, e o valor do OID.

Entre a Linha 10 e a Linha 11, você pode definir código adicional que inclui modelos XSLT que são chamados de dentro do match / modelo.

As linhas 11 a 13 definem os valores devolvidos pelo script SNMP ao solicitante de OID. O valor é <snmp-oid> retirado do valor de entrada de snmp-script-input/snmp-oid. Para o recurso de script SNMP, os seguintes tipos de identificador de objeto são <snmp-type> suportados:

  • Counter32

  • Counter64

  • Integer32

  • Unsigned32

  • Octet String

Você define o <snmp-value> valor de devolução do script.

Plataforma XSLT Para scripts SNMP

A plataforma XSLT correspondente é:

Python Boilerplate para scripts SNMP

Os scripts Python SNMP não têm uma placa de serviço necessária, mas precisam importar quaisquer objetos que sejam usados no script. Os scripts Python SNMP devem incluir a import jcs declaração para usar as get_snmp_action(), get_snmp_oid()e emit_snmp_attributes() funções que recuperam a ação e os valores de OID passados para o script e devolver os dados para o objeto MIB solicitado.

Os scripts de automação Python não precisam incluir uma linha de diretiva de intérprete (#!/usr/bin/env python) no início do script. No entanto, o programa ainda será executado corretamente se um estiver presente.