# Configuración

##### **Instalación**

Copiar el plugin al directorio de plugins del agente, distrubuyéndolo mediante file collections. Lo mismo con el archivo conf. La llamada desde el agente será similar a esta, pero usando los paths donde esté instalado el plugin y el conf.

```bash
module_plugin "<ruta-powershell>\powershell.exe" -file C:\'<rutaplugin>\pandora_citrix.ps1' -perf C:\'<ruta-conf>\counters_data.txt' -serv C:\'<rutaconf>\services.txt’ -inc C:\'<ruta-conf>\counters_inc.txt' 2> error.log 
```

En el caso de que no querramos monitorizar ningún tipo de contador o solo de algún tipo específico, habria que realizar estas ejecuciones:

- Solo con contadores generic\_data:

```bash
module_plugin "<ruta-powershell>\powershell.exe" -file C:\'<rutaplugin>\pandora_citrix.ps1' -perf C:\'<ruta-conf>\counters_data.txt' -serv C:\'<rutaconf>\services.txt' 2> error.log 
```

- Solo con contadores generic\_inc:

```bash
module_plugin "<ruta-powershell>\powershell.exe" -file C:\'<ruta-plugin>\pandora_ citrix.ps1' -perf none -serv C:\'<ruta-conf>\services.txt'   -inc C:\'<rutaconf>\counters_inc.txt'' 2> error.log 
```

- Sin contadores:

```bash
module_plugin "<ruta-powershell>\powershell.exe" -file C:\'<ruta-plugin>\pandora_ citrix.ps1' -perf none -serv C:\'<ruta-conf>\services.txt' 2> error.log 
```

- Con contadores y sin servicios:

```bash
module_plugin "<ruta-powershell>\powershell.exe" -file C:\'<ruta-plugin>\pandora_ citrix.ps1' -perf C:\'<ruta-conf>\counters_data.txt' -inc C:\'<ruta-conf>\counters_inc.txt' 2> error.log 
```

**Configuración**

Antes de todo debemos tener activada la ejecución de plugins desde el terminal de powershell Para ello debemos ejecutar este comando en la terminal de powershell:

```powershell
set-executionPolicy -Scope Process -ExecutionPolicy Bypass 
```

o bien

```powershell
set-executionPolicy RemoteSigned 
```

En el caso de que viésemos que si ejecutamos el plugin desde la terminal nos devuelve la información correctamente, pero en el caso de que lo ejecutemos en el agente de pandora no devuelve ningún resultado y en modo debug nos dice que el remote\_signed no se encuentra habilitado, deberíamos añadir el siguiente módulo para que se active dentro de la ejecución del agente. Esto solo lo tenemos que añadir la primera vez, después se quedara habilitado y no tendremos problemas.

```powershell
module_begin 
module_name Remote_signed 
module_type generic_data_string 
module_exec powershell.exe –command set-executionPolicy -Scope Process -ExecutionPolicy bypass 
module_end 
```

o bien

```powershell
module_begin 
module_name Remote_signed 
module_type generic_data_string
module_exec powershell.exe -command set-executionPolicy RemoteSigned 
module_end 
```

Como hemos observado en la ejecución del plugin, va acompañado de dos o tres ficheros de configuración, uno con el nombre de los servicios y otro dos con el nombre de los contadores de rendimiento que se van a monitorizar, en uno indicaremos los contadores que queremos ver como tipo generic\_data y en el segundo los que usaremos de tipo incremental ( generic\_data\_inc ). En el caso de que el de tipo incremental no se utilice no deberá añadirse a la ejecución. Únicamente deben llevar esta información los dos o tres ficheros de configuración. Cada servicio o cada contador de rendimiento debe estar en una línea y en el caso de que no se utilice eliminarlo del listado.

**Ejemplo de estos ficheros de configuración**

*Services.txt*

```powershell
Citrix Independent Management Architecture
Citrix XML
Citrix XTE Server
Citrix CPU Utilization Management/Resource Management
Citrix CPU Utilization Management/User Session sync
Citrix CPU Utilization Management/CPU Rebalancer services states
Citrix Print Manager
Citrix Virtual Memory Optimization
Citrix MF COM Remote Desktop Services/Terminal Services
Citrix WMI
Citrix Client Network
Citrix Streaming/Citrix Streaming Helper
Server
Netlogon
Remote Procedure Call (RPC)
Workstation
Print Spooler
```

*Counters\_data.txt*

```powershell
\Processor(*)\% Processor Time
\System\Processor Queue Length
\Memory\Available Bytes
\Memory\Pages /sec
\Paging File\% Usage
\PhysicalDisk(_Total)\% Free Space
\LogicalDisk(_Total)\% Free Space
\LogicalDisk(_Total)\% Disk Time
\PhysicalDisk(_Total)\Current Disk Queue Length
\LogicalDisk(_Total)\Current Disk Queue Length
\LogicalDisk(_Total)\ Avg. Disk Sec/Read
\LogicalDisk(_Total)\ Avg. Disk Sec/Write
\LogicalDisk(_Total)\ Avg. Disk Sec/Transfer
\PhysicalDisk(_Total)\ Avg. Disk Sec/Read
\PhysicalDisk(_Total)\ Avg. Disk Sec/Write
\PhysicalDisk(_Total)\ Avg. Disk Sec/Transfer
\Citrix MetaFrame Presentation Server\Application Resolution Time (ms)
\Citrix MetaFrame Presentation Server\DataStore Connection Failure
\Citrix MetaFrame Presentation Server\Number of busy XML threads
\Citrix MetaFrame Presentation Server\Resolution WorkItem Queue Ready Count
\Citrix MetaFrame Presentation Server\WorkItem Queue Ready Count
\Citrix Licensing\Citrix Licensing - License Server Connection Failure
\Citrix Licensing\Citrix Licensing - Last Recorded License Check - Out Response Time
\Process(ImaSrv)\Private Bytes 
```