Publicado el :
Administración CREATION_INTERNE

Extracción de puertos y servicios del servidor de metadatos

Este código también está disponible en: Deutsch English Français
En espera de validación
Attention : Este código requiere privilegios de administrador.
El programa se conecta al servidor de metadatos (SAS© Metadata Server) a través de las opciones globales. Luego utiliza las funciones de interfaz de metadatos (`metadata_resolve`, `metadata_getnobj`, `metadata_getnasn`, `metadata_getattr`) para recorrer el objeto `ServerComponent`. Para cada servidor encontrado, extrae las conexiones de origen, los protocolos y los números de puerto asociados, almacenando todo en una tabla `servers`. Se genera un informe final. Nota: Este código es específico para la arquitectura SAS© 9.x y requiere un servidor de metadatos activo; no es adecuado para la arquitectura nativa de SAS© Viya 4 sin la configuración de un puente a un entorno SAS© 9.
Análisis de datos

Type : CREATION_INTERNE


Los datos se generan consultando el repositorio de metadatos del sistema a través de funciones SAS especializadas.

1 Bloque de código
OPTIONS
Explicación :
Definición de variables de conexión y configuración de opciones globales para conectarse al servidor de metadatos SAS (Metadata Server).
¡Copiado!
1%let metaserve=meta.demo.sas.com;
2%let metaport=8561;
3%let userid=sasadm @saspw;
4%let pass=password;
5 
6options metaserver="&metaserve"
7 metaport=&metaport
8 metauser="&userid"
9 metapass="&pass"
10 metarepository=Foundation
11 metaprotocol=BRIDGE;
2 Bloque de código
DATA STEP Data
Explicación :
Paso Data que consulta los metadatos para listar los objetos 'ServerComponent', extraer sus atributos (nombres) y sus conexiones asociadas (puertos, protocolos) a través de bucles y funciones `metadata_*`.
¡Copiado!
1DATA servers;
2 LENGTH type id $ 17 server_uri conn_uri $ 50 server_name conn_name $ 256 conn_prot conn_port $ 5 conn_port_num 3;
3 /* ... labels et initialisation ... */
4 obj="omsobj:ServerComponent? @code_sas_json_prod_multi/get_number_column_names_de.json contains '.'";
5 server_cnt=metadata_resolve(obj,type,id);
6
7 IF server_cnt > 0 THEN DO n=1 to server_cnt;
8 /* Extraction des infos serveur et connexions */
9 rc=metadata_getnobj(obj,n,server_uri);
10 /* ... logique d'extraction des ports ... */
11 IF conn_port_num ne 0 THEN OUTPUT;
12 END;
13 ELSE put "ERROR: No server definitions found in Metadata.";
14RUN;
3 Bloque de código
PROC SORT
Explicación :
Clasificación de la tabla resultante por nombre de servidor.
¡Copiado!
1PROC SORT DATA=servers;
2 BY server_name;
3RUN;
4 Bloque de código
PROC REPORT
Explicación :
Generación de un informe que muestra la lista de servidores y puertos extraídos.
¡Copiado!
1 
2PROC REPORT
3DATA=servers;
4title "Port use defined in Metadata Server &metaserve";
5RUN;
6 
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
Información de copyright : Author: Greg Wootton Date: 15JAN2018


Banner
Consejo del Experto
Expert
Michael
Responsable de l'infrastructure Viya.
« La extracción de puertos y protocolos directamente desde el Servidor de Metadatos es un paso vital para auditar y asegurar una plataforma SAS 9. Este script transforma la visión lógica de su infraestructura en una matriz de tráfico de red concreta, la cual es indispensable para configurar firewalls o diagnosticar problemas de conectividad entre componentes como los servidores Workspace, Stored Process u OLAP. »