Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Utilisation de la fonction d’extension sysctl() sur les équipements Junos

Junos OS et Junos OS Evolved s’exécutent sur des systèmes d’exploitation de type *nix, qui vous permettent de récupérer diverses informations sur l’état du noyau et le processus. Vous pouvez appeler la sysctl() fonction d’extension de vos scripts d’automatisation pour récupérer ces mêmes informations d’état du noyau, comme vous utiliseriez la sysctl commande dans l’shell pour récupérer ces valeurs. La sysctl() fonction prend les mêmes noms de variable que vous fournissez pour la sysctl commande dans l’environnement de commande. Le nom de la variable est un nom de style MIB, qui utilise un ensemble de composants en pointillés. Étant donné que Junos OS est basé sur FreeBSD et que Junos OS Evolved s’exécute nativement sur Linux, les variables sysctl et les noms des variables sont différents pour chaque système d’exploitation.

Note:

Vous pouvez exécuter la sysctl -a commande dans le shell pour voir la liste complète des états disponibles et les noms correspondants que vous pouvez fournir en tant qu’arguments pour la sysctl() fonction. Cependant, la sortie peut être étendue.

Par exemple, sur Junos OS, l’exemple de script SLAX op suivant récupère et imprime les valeurs pour les états kern.hostname sysctl et hw.product.model:

De même, sur Junos OS Evolved, l’exemple de script d’exploitation SLAX suivant récupère et imprime les valeurs pour les états kernel.hostname sysctl et kernel.osrelease:

Note:

Pour Junos OS Evolved, le type de retour est toujours une chaîne (« s »). Si vous omettez l’argument de type, la valeur par défaut est « s ».

Junos OS et Junos OS Evolved ont des noms d’état différents sysctl , car les systèmes d’exploitation sous-jacents sont différents. Par exemple, dans Junos OS, vous pouvez récupérer l’état du noyau pour hw.product.model, mais Junos OS Evolved n’a pas de nom de variable similaire sysctl . Dans ces cas, vous pouvez utiliser des RPC ou d’autres moyens pour récupérer les mêmes informations.

Par exemple, le script op SLAX suivant exécute le RPC pour récupérer le get-software-information nom du modèle sur Junos OS Evolved, ce qui équivaut à renvoyer la sysctl hw.product.model valeur sur Junos OS.

Si vous appelez la sysctl() fonction dans un script et spécifiez un nom de variable sysctl inexistant, Junos OS ne génère pas d’erreur, mais Junos OS Evolved génère une sysctl error: No such file or directory erreur.

Par exemple, supposons que la sysctl() fonction demande la valeur pour hw.product.model, qui est un nom de variable sysctl valide sur Junos OS, mais pas un nom de variable sysctl valide sur Junos OS Evolved. Si vous exécutez le script sur un équipement exécutant Junos OS Evolved, le script émet le résultat suivant :