Los Agentes ServicePilot
¿Qué es un Agente ServicePilot?
Los Agentes ServicePilot están diseñados para recoger datos de monitorización de diversas fuentes y enviarlos a ServicePilot. Los Agentes ServicePilot requieren una configuración mínima. Una vez instalados, solo necesitan acceso web a ServicePilot y una clave API para proteger la comunicación. El resto de la configuración se realiza a través de la interfaz web de ServicePilot.
Se han diseñado para garantizar la eficacia en sus tareas de recopilación y transmisión de datos mediante varios mecanismos:
- Procesamiento local: parte del análisis se puede realizar de forma local. El filtrado y la agregación de los datos sin procesar para transmitir únicamente los KPI esenciales a ServicePilot limitan los flujos de entrada.
- Protocolo seguro: utiliza HTTP2 combinado con el protocolo HTTPS para facilitar la compresión, optimizar los intercambios y permitir una comunicación de datos segura.
Siempre es necesario tener al menos un Agente ServicePilot, ya que casi toda la recopilación de datos la realizan los agentes. El número de Agentes necesarios depende del tipo de supervisión que se pida a los Agentes y de que éstos puedan acceder a los datos necesarios.
Recopilación de datos local y remota
Cada agente ServicePilot tiene diferentes capacidades de recolección. Para saber si un Agente ServicePilot debe instalarse en el mismo servidor que los datos que va a recoger, consulte la columna Local Collect de la tabla Licenses - Agent details, disponible en la interfaz web de ServicePilot.
- Utilizando una cuenta con privilegios de admin, acceda a ServicePilot.
- Haga clic en Agentes > Instale un agente.
- Haga clic en Agent Details.
| Local data collection | Remote data collection |
|---|---|
Los Agentes pueden recoger datos del servidor en el que están instalados. Algunas recopilaciones de datos sólo pueden realizarse en el mismo host que un Agente ServicePilot. ![]() |
Los Agentes también pueden obtener datos de otros dispositivos y escuchar los eventos que se les transmiten, siempre que el acceso a la red de otros dispositivos no esté bloqueado. ![]() |
Tipos de Agentes ServicePilot
En la siguiente tabla se presentan los diferentes tipos de agentes de ServicePilot, sus plataformas, sus usos principales y sus características técnicas.
| Agente | Versiones mínimas y plataformas | Función principal |
|---|---|---|
| Agente Windows | Windows Server desde 2012 R2 | • Recopilación de datos locales o remotos • Recepción de eventos no solicitados |
| Agente Linux | Linux desde Ubuntu 16.04 / Debian 10 / CentOS Stream 9 / RHEL 7 o 8.7 minimum / Fedora 39 / Raspberry Pi OS 10 | • Recopilación de datos locales o remotos • Recepción de eventos no solicitados |
| Agente Docker | Agente de Linux para contenedores Docker y pods de Kubernetes | • Recopilación de datos locales • Imagen oficial de Docker • Ideal para entornos orquestados |
| Agente z/OS | IBM z/OS desde v1r5 a v3r2 | • Recopilación avanzada de datos en mainframe • Requiere NBA for z/OS (Full Edition) • Puede funcionar de forma independiente |
| Agente Endpoint | Desde Windows 10 x64 | • Inventario de hardware y software • Diseñado para puestos de usuario • Recopilación ligera y específica |
| Agente Webkit | Node.js Puppeteer y Playwright | • Escenarios y pruebas de medición de llamadas HTTP/HTTPS • Requiere el uso de scripts |
| Agente Open Source | A través del agente de Windows | • Pasarela hacia agentes de código abierto • El agente de Windows puede agregar y transmitir los datos de agentes de terceros |
| Status Monitor | Escritorio de Windows | • Visualización de alertas en tiempo real • Extensión de la interfaz de ServicePilot • Descargable desde el menú de usuario |
Instalación de Agentes ServicePilot
Descargar los Agentes ServicePilot
- Utilizando una cuenta con privilegios de admin, inicie sesión en ServicePilot.
- Haga clic en Agentes > Instale un agente.
- Seleccione el Agente que se va a instalar y siga las instrucciones en Empezar.
Obtener una clave de API ServicePilot
Los Agentes ServicePilot se comunican con ServicePilot mediante una Clave de API. Se pueden crear y utilizar múltiples claves de API, pero cada Agente debe estar configurado con una clave de API válida y con capacidad de escritura. Para ver qué claves de API se pueden usar, ve a la página de Claves de API:
- Utilizando una cuenta con privilegios de admin, inicie sesión en ServicePilot.
- Abrir CONFIGURACIÓN > Parámetros.
- Haga clic en Claves de API.
- Recuperar una clave de API con autorización Escribir.
Instalar un Agente ServicePilot
La instalación del Windows Agent se describe con más detalle en la ventana modal del producto dedicada a este agente.
Descarga el agente de Windows desde CONFIGURACIÓN > Agentes > Instale un agente > Windows Agent > Empezar.
Obtén una clave API Write.
Haz doble clic en el archivo para ejecutar el programa mediante la instalación gráfica o utiliza la línea de comandos.
Configure los parámetros para que el Agente de ServicePilot pueda comunicarse con ServicePilot.
Parámetro Descripción Clave de API Una clave de API habilitada para escritura como la que se encuentra en la lista de claves de API mencionada anteriormente Remote Command No habilite este parámetro a menos que un recurso monitoreado lo requiera. Las descripciones de los packages indicarán cuándo es necesario 
Parámetro Descripción Use proxy Si el acceso a ServicePilot requiere un proxy web, habilite esta opción y rellene los campos Dirección y Puerto Address Especificar la dirección IP del proxy Port Especifique el puerto proxy Username Especifique un nombre de usuario para permitir el acceso del proxy, si es necesario Password Especifique una contraseña para permitir el acceso del proxy, si es necesario Use SP proxy Si el acceso a ServicePilot requiere un proxy ServicePilot, habilite esta opción y rellene el campo URL del proxy URL Especificar la URL de un proxy ServicePilot accesible 
Comprueba que el agente aparezca en la lista de los Agentes.
La instalación del Linux Agent se describe con más detalle en la ventana modal del producto dedicada a este agente.
- Descarga el agente de Linux desde CONFIGURACIÓN > Agentes > Instale un agente > Linux Agent > Empezar.
Para x64 el fichero se llamaservicepilotlinuxagent.run.
Para ARM el fichero se llamaservicepilotlinuxarmagent.run. - Obtén una clave API Write.
- Comprueba que el archivo es ejecutable y luego ejecútalo como root. Al final de la instalación, el script pedirá una clave de API.
- Configure los parámetros para que el Agente de ServicePilot pueda comunicarse con ServicePilot. Puede detener e iniciar el servicio
spagentusando los comandos estándar de su distribución de Linux. - Comprueba que el agente aparezca en la lista de los Agentes.
# chmod +x servicepilotlinuxagent.run
# ./servicepilotlinuxagent.run
Creating directory _agent_files
Verifying archive integrity... 100% All good.
Uncompressing ServicePilot Linux Agent Package 100%
spagent install script running
No configuration found, awaiting input
Enter API KEY
10000000-0000-0000-0000-000000000000
Use web proxy? [default: n]
n
Use ServicePilot proxy? [default: n]
n
Run in debug mode? [default: n]
n
Enter ServicePilot Agent Log Path [default: '/var/log/servicepilot/']
/var/log/servicepilot/
This is debian based distro
Removing spagent files
Removing dotnetcoreagent files
Reset spagent
Created symlink /etc/systemd/system/multi-user.target.wants/spagent.service → /etc/systemd/system/spagent.service.
spagent started
#
Para obtener una lista completa de los parámetros de la línea de comandos, ejecute el instalador con la opción -- --help.
./servicepilotlinuxagent.run -- --help
La instalación del Docker Linux Agent se describe con más detalle en la ventana modal del producto dedicada a este agente desde CONFIGURACIÓN > Agentes > Instale un agente > SP Docker Agent > Empezar.
Copia la imagen del agente de Docker de ServicePilot (
servicepilot/agent) desde Docker Hub a tu registro privado.Obtén una clave API Write.
Instalar el Docker Agent.
Para supervisar Docker, es necesario instalar el agente de ServicePilot para Linux en los hosts de Docker, no dentro de los contenedores de Docker. El Hostname del contenedor Docker deberá ser único para que pueda ser configurado correctamente.
La conexión de un contenedor Docker para el Agente ServicePilot a la oferta de SaaS de ServicePilot requerirá la definición de una
SERVICEPILOT_API_KEY. También se pueden añadir variables de entorno proxy:docker run --detach --hostname spagent1 -e SERVICEPILOT_API_KEY=10000000-0000-0000-0000-000000000000 servicepilot/agent:latestPara las implantaciones On-Premise se requieren las variables de entorno
SERVICEPILOT_API_KEY,SERVICEPILOT_IP,SERVICEPILOT_PORTyHTTPS. También se pueden añadir variables de entorno del proxy:docker run --detach --hostname spagent1 -e SERVICEPILOT_API_KEY=00000000-0000-0000-0000-000000000000 -e SERVICEPILOT_IP=servicepilot.company.com -e SERVICEPILOT_PORT=443 -e HTTPS=1 servicepilot/agent:latestConfigure los parámetros para que el Agente de ServicePilot pueda comunicarse con ServicePilot.
Se proporciona un archivo de ejemplo
docker-compose.ymlpara su uso condocker-compose up --detach. Esta definición incluye el contenedor del Agente ServicePilot y un contenedor Watchtower opcional configurado para mantener el contenedor del Agente ServicePilot actualizado.Sample docker-compose.yml
services: ## ServicePilot Agent spagent: image: "servicepilot/agent:latest" hostname: spagent1 environment: SERVICEPILOT_API_KEY: "10000000-0000-0000-0000-000000000000" SERVICEPILOT_IP: "data.servicepilot.com" SERVICEPILOT_PORT: "443" HTTPS: "1" PROXYENABLE: "0" PROXYADDRESS: "127.0.0.1" PROXYPORT: "8888" PROXYUSERNAME: "" PROXYPASSWORD: "" SPPROXYENABLE: "0" SPPROXYADDRESS: "" labels: com.centurylinklabs.watchtower.enable: true restart: unless-stopped # Watchtower to upgrade ServicePilot Agent Docker watchtower: image: "containrrr/watchtower" volumes: - /var/run/docker.sock:/var/run/docker.sock environment: # https_proxy: "http[s]://user:pass@proxy-address:port" WATCHTOWER_LABEL_ENABLE: 1 WATCHTOWER_POLL_INTERVAL: 86400 WATCHTOWER_CLEANUP: 1 WATCHTOWER_INCLUDE_RESTARTING: 1 WATCHTOWER_INCLUDE_STOPPED: 1 WATCHTOWER_REVIVE_STOPPED: 1 restart: unless-stoppedComprueba que el agente aparezca en la lista de los Agentes.
El Agente Linux ServicePilot para se puede ejecutar en un Pod de Kubernetes.
El nombre de host del Pod de Kubernetes deberá ser único para que se pueda configurar correctamente.
Nota: ejecutar un Agente ServicePilot en un Pod de Kubernetes limitará sus capacidades a la obtención remota de información de Kubernetes.
Implemente un DaemonSet Agente ServicePilot en el clúster de Kubernetes. Tenga en cuenta las variables de entorno SERVICEPILOT_* que deben coincidir con su implementación de ServicePilot. Para ServicePilot SaaS, SERVICEPILOT_IP debe ser data.servicepilot.com. Para implementaciones On-Premise, se requieren las variables de entorno SERVICEPILOT_API_KEY, SERVICEPILOT_IP, SERVICEPILOT_PORT y HTTPS.
Para supervisar el entorno Kubernetes, establezca un nombre de recurso único en la variable de entorno SP_K8_RESOURCE. Las variables SP_K8_NAMESPACE_FILTER y SP_K8_POD_FILTER son opcionales y proporcionan filtros para los nombres de Namespace y Pod.
Ejemplo de configuración para Kubernetes
# Create a namespace for ServicePilot components
apiVersion: v1
kind: Namespace
metadata:
name: monitoring
labels:
app: servicepilot-agent
---
# To have ServicePilot retrieve metrics from Kubelets with authentication and
# authorization enabled (which is highly recommended and included in security
# benchmarks) the following flags must be set on the kubelet(s):
#
# --authentication-token-webhook
# --authorization-mode=Webhook
#
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: servicepilot-stats-viewer
labels:
rbac.authorization.k8s.io/servicepilot-stats-viewer: "true"
rules:
- apiGroups: [""]
resources:
- nodes
- nodes/proxy
- nodes/metrics
- nodes/stats
- services
- endpoints
- pods
- ingresses
- configmaps
- persistentvolumes
verbs: ["get", "list", "watch"]
- apiGroups: ["extensions", "networking.k8s.io"]
resources:
- ingresses/status
- ingresses
verbs: ["get", "list", "watch"]
- apiGroups: ["metrics.k8s.io"]
resources:
- pods
verbs: ["get", "list", "watch"]
- nonResourceURLs:
- "/metrics"
verbs: ["get"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: servicepilot
labels:
app: servicepilot-agent
aggregationRule:
clusterRoleSelectors:
- matchLabels:
rbac.authorization.k8s.io/servicepilot-stats-viewer: "true"
- matchLabels:
rbac.authorization.k8s.io/aggregate-to-view: "true"
rules: [] # Rules are automatically filled in by the controller manager.
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: servicepilot
labels:
app: servicepilot-agent
namespace: monitoring
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: servicepilot
labels:
app: servicepilot-agent
subjects:
- kind: ServiceAccount
name: servicepilot
namespace: monitoring
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: servicepilot
---
# ServicePilot Agent deployment
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: servicepilot-agent
namespace: monitoring
labels:
app: servicepilot-agent
spec:
selector:
matchLabels:
app: servicepilot-agent
template:
metadata:
labels:
app: servicepilot-agent
spec:
tolerations:
# this toleration is to have the daemonset runnable on master nodes
# remove it if your masters can't run pods
- key: node-role.kubernetes.io/control-plane
operator: Exists
effect: NoSchedule
- key: node-role.kubernetes.io/master
operator: Exists
effect: NoSchedule
serviceAccountName: servicepilot
containers:
- name: servicepilot
image: servicepilot/agent
env:
- name: SERVICEPILOT_API_KEY
value: "10000000-0000-0000-0000-000000000000"
- name: SERVICEPILOT_IP
value: "data.servicepilot.com"
- name: SERVICEPILOT_PORT
value: "443"
- name: HTTPS
value: "1"
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: NODE_IP
valueFrom:
fieldRef:
fieldPath: status.hostIP
- name: HOSTNAME
value: $(NODE_NAME)-pod
- name: SP_K8_RESOURCE
value: "K8 Cluster 1"
- name: SP_K8_NAMESPACE_FILTER
value: "*"
- name: SP_K8_POD_FILTER
value: "*"
La instalación de NBA for z/OS y del agente de z/OS se describe con más detalle en la sección Mainframe de la documentación.
La instalación del Endpoint Agent se describe con más detalle en la ventana modal del producto dedicada a este agente.
- Descarga el agente de Endpoint desde CONFIGURACIÓN > Agentes > Instale un agente > Endpoint Agent > Empezar.
- Obtén una clave API.
- Añade una regla de aprovisionamiento automático.
- Instala el agente mediante la instalación gráfica o desde la línea de comandos.
- Comprueba que, en un plazo de 15 minutos, el agente aparezca en la página de inventario de Endpoint.
La instalación del Webkit Agent se describe con más detalle en la ventana modal del producto dedicada a Playwright o Puppeteer.
Comprueba si un Agente ServicePilot está funcionando
Para asegurarse de que los Agentes ServicePilot se comunican correctamente con ServicePilot, abra la página de Agentes:
- Utilizando una cuenta con privilegios de admin, inicie sesión en ServicePilot.
- Abrir CONFIGURACIÓN > Agentes.
- El Agente debe aparecer en la lista con un estado amarillo o verde y un valor Visto hay de hace unos segundos. El estado amarillo indica que el Agente aún no ha recibido nada que hacer.
Establecer el Agente por defecto
Al aprovisionar recursos se puede configurar al menos un Agente de ServicePilot para indicar que realice el monitoreo de ese recurso en la misma máquina que el recurso o desde Agentes remotos.
Si los campos Agente se dejan en blanco, se utilizará el Agente por defecto para monitorear el recurso.
Para definir o cambiar el Agente ServicePilot por defecto:
- Utilizando una cuenta con privilegios de admin, inicie sesión en ServicePilot.
- Abrir CONFIGURACIÓN > Agentes.
- Haga clic en el icono de edición del campo Agente por defecto.
- Seleccione el nuevo Agente por defecto.
- Haga clic en OK.
Establecer un Agente de backup
Opcionalmente, se puede configurar un Agente de Backup que asumirá las responsabilidades de supervisión del Agente por Defecto transcurridos unos minutos si el Agente por Defecto pierde la conectividad con el Manager ServicePilot. El Agente de Backup necesita estar en posición de acceder a todos los mismos recursos que el Agente por Defecto y estar instalado en el mismo tipo de sistema operativo que el Agente por Defecto.
Para definir el Agente ServicePilot de backup:
- Utilizando una cuenta con privilegios de admin, inicie sesión en ServicePilot.
- Abrir CONFIGURACIÓN > Agentes.
- Haga clic en el icono de edición del campo Agente de backup.
- Seleccione el nuevo Agente de Backup.
- Haga clic en OK.
El Agente de backup no puede ser el mismo que el Agente por defecto.
Agente ServicePilot SPProxy
El SPProxy es una función de proxy del agente de ServicePilot que puede actuar como pasarela y concentrador entre varios agentes de ServicePilot y el ServicePilot Manager. En entornos distribuidos y en sitios remotos con poco ancho de banda, simplifica enormemente la implementación, ya que los agentes se conectan localmente al proxy. Contribuye a:
- Agrupación y optimización del tráfico: SPProxy agrega y comprime las comunicaciones de los agentes de un mismo sitio antes de transmitirlas. Al reducir el número de conexiones simultáneas al servidor central, disminuye el consumo de ancho de banda y agiliza los intercambios.
- Seguridad y simplificación del flujo: al consolidar las comunicaciones salientes, los agentes remotos ya no necesitan abrir sesiones externas de forma individual, lo que reduce la exposición al limitar las conexiones directas entre el sitio y la plataforma ServicePilot. Proporciona un cifrado sistemático de extremo a extremo de los intercambios para todos los agentes conectados.

Si los agentes de ServicePilot no pueden comunicarse con ServicePilot debido a restricciones del cortafuegos, se puede implementar un proxy para los agentes de ServicePilot. Solo es necesario conceder acceso al ServicePilot Manager al proxy del agente de ServicePilot, mientras que los agentes de ServicePilot se configurarán para enviar el tráfico al proxy.
El SPProxy dispone de una caché local para los archivos que necesitan los agentes con el fin de actualizarlos de forma centralizada, al tiempo que permite a la plataforma mantener una visión consolidada de todos los sitios remotos.
Por favor, póngase en contacto con nuestro soporte ([email protected]) de ServicePilot si desea configurar un proxy de Agente ServicePilot.
Logs del Agente ServicePilot
El Agente ServicePilot registra los errores de conectividad entre el Agente ServicePilot y ServicePilot, y los problemas de recuperación de datos de los dispositivos. Estos logs son particularmente útiles si la vigilancia no parece funcionar entre el Agente y los dispositivos remotos debido a una información de acceso incorrecta.
Abrir los logs del Agente con un editor de texto:
C:\Program Files\ServicePilot\ServicePilot ISM Enterprise\logs\ServicePilotAgent.log
/var/log/servicepilot/servicepilotagent.log
/var/log/servicepilot/spgoagent.log
Desinstalar un Agente ServicePilot
Si un Agente ServicePilot ya no se utiliza, se puede desinstalar.
Comprobar si un Agente está en uso
- Utilizando una cuenta con privilegios de admin, inicie sesión en ServicePilot.
- Abrir CONFIGURACIÓN > Agentes.
- Si no se utiliza un Agente, el estado será amarillo, lo que significa que está no configurado. Si el Agente sigue en uso, al hacer clic en la lupa azul se mostrarán los Detalles de Agentes incluyendo el Agent Data. Esto enumerará los recursos que están utilizando actualmente este Agente.
Desinstalación de un Agente ServicePilot
Para desinstalar correctamente un Agente Windows ServicePilot, asegúrese de que esté detenido antes de eliminarlo.
- Detener el servicio ServicePilotAgent.
- Desinstale el Agente ServicePilot del panel de control de Windows.
- Opcional: puede eliminar el directorio
C:\Program Files\ServicePilotsi no quiere mantener los logs del Agente. - Opcional: si no tiene previsto reinstalar un Agente ServicePilot en la máquina, puede eliminar la clave de registro
HKEY_LOCAL_MACHINE\SOFTWARE\ServicePilot Technologies.
Asegúrese de que el Agente Linux ServicePilot no se utiliza antes de desinstalar.
./servicepilotlinuxagent.run -- --uninstall
Eliminar los Agentes desinstalados de la lista de Agentes
Cuando se desinstala un agente de un sistema, los recursos asignados asociados (elementos supervisados, objetos creados automáticamente, configuraciones dependientes, etc.) siguen estando presentes en ServicePilot mientras el agente siga figurando en la lista de agentes. Por lo tanto, eliminar el agente de esta lista permite borrar correctamente todos los recursos vinculados.
Mientras un agente siga instalado y activo, eliminarlo de la lista no tendrá ningún efecto duradero: seguirá comunicándose con ServicePilot y se volverá a registrar automáticamente.
Estos son los pasos para eliminar un agente desinstalado:
- Utilizando una cuenta con privilegios de admin, inicie sesión en ServicePilot.
- Abrir CONFIGURACIÓN > Agentes.
- Haga clic en el icono basurero naranjo y luego haga clic en el botón Eliminar para eliminar un Agente de la lista de Agentes.
- ⚠️ Al eliminar el agente mediante este método, se eliminan automáticamente los recursos aprovisionados asociados a él.

