
使用 Centreon 检查 Citrix VDA 计算机的运行状况
我们所有使用 Citrix 环境的人都知道 VDA 计算机的重要性, 一种非常简单的了解您健康状况的方法, 将由 Centreon 进行监控. 我们将能够了解计算机的 VDA 代理的状态, 一方面,您得到的 VDA 计算机在 Delivery Controller 中注册有问题, 如果我们有一个处于维护模式,也很有趣.
不错, 我们将很容易做到, 跟 2 PowerShell 脚本, 一个用于识别处于维护模式的计算机,另一个用于未注册的计算机. 我们将这些脚本保留在 Delivery Controller 中,并使用 NRPE 从 Centreon 执行它们. 如果您对在 Delivery Controller 上安装 NRPE 需要安装什么或如何配置有疑问, 退房 本章.
我把 2 我们将使用的脚本, 我们将它们放在 '%ProgramFiles%NSClient++scripts' 中:
vdas_mantenimiento.ps1
[源代码]Citrix Asnp.*
$m = Get-BrokerDesktop -MaxRecordCount 5000 | ? {$_.InMaintenanceMode -eq 'True'} | fl DNSName | 量
如果 ($m.Count -gt 0) {
echo “有一个 VDA 处于维护模式"
Get-BrokerDesktop -MaxRecordCount 5000 | ? {$_.InMaintenanceMode -eq 'True'} | fl DNSName
退出 2
}
echo “所有 VDA 都在工作"
退出 0[/源代码]
vdas_registrados.ps1
[源代码]Citrix Asnp.*
$m = Get-BrokerDesktop -MaxRecordCount 5000 | ? {$_.RegistrationState -eq '未注册'} | fl DNSName | 量
如果 ($m.Count -gt 0) {
echo “存在任何未注册的 VDA"
Get-BrokerDesktop -MaxRecordCount 5000 | ? {$_.RegistrationState -eq '未注册'} | fl DNSName
退出 2
}
echo “所有 VDA 均已注册"
退出 0[/源代码]
我们修改文件nsclient.ini并添加我们留下的部分, 这将定义一个别名,当我们从 Centreon 呼叫他时,以及他将执行的命令. 我们添加了类似:
[源代码][/设置/外部脚本/脚本]
vdas_mantenimiento = cmd /c echo scripts\vdas_mantenimiento.ps1; 退出($lastexitcode) | powershell.exe -executionpolicy bypass -command –
vdas_registrados = cmd /c echo scripts\vdas_registrados.ps1; 退出($lastexitcode) | powershell.exe -executionpolicy bypass -command –
…
[/设置/外部脚本/别名]
vdas_mantenimiento = vdas_mantenimiento
vdas_registrados = vdas_registrados[/源代码]
保存文件并重新启动 NSClient++ 服务,
然后, 我们像往常一样在 Centreon 配置中注册服务, 通常针对 check_nrpe 命令,并在 Argument 中输入我们在 fichero.ini 中定义的别名. 照常, 我们导出 Centreon 配置,我们将能够看到我们已经监控了这些服务, 如果我们有一个 VDA 处于维护模式,我们将知道, 以及 VDA 是否未在 Citrix 站点上正确注册.