Changing windows service account for agent

I want to use the mssql check with integrated auth, so I’m trying to have the agent run as a different service account.

Set-IcingaServiceUser doesn’t seem to work. It just kept returning false; I finally enabled debugging and it says:

[Debug]: Trying to update user for service “icinga2” while the service is not installed yet

The service is absolutely installed; it’s working fine for disk, memory, network, and other checks. So I’m not sure why I’m getting this error.

I went ahead and changed the account manually in the services control panel and in the “user” file in the config directory, and then ran all the commands Test-IcingaAgent told me to for fixing permissions, and now it says all is A-OK:

[Passed]: Icinga Agent service is installed
[Passed]: The specified user “MYDOMAIN\service_icinga” is allowed to run as service
[Passed]: Directory “C:\ProgramData\icinga2\etc” is accessible and writable by the Icinga Service User “MYDOMAIN\service_icinga”
[Passed]: Directory “C:\ProgramData\icinga2\var” is accessible and writable by the Icinga Service User “MYDOMAIN\service_icinga”
[Passed]: Directory “C:\Program Files\WindowsPowerShell\Modules\icinga-powershell-framework\cache” is accessible and writable by the Icinga Service User “MYDOMAIN\service_icinga”
[Passed]: Directory “C:\Program Files\WindowsPowerShell\Modules\icinga-powershell-framework\config” is accessible and writable by the Icinga Service User “MYDOMAIN\service_icinga”
[Passed]: Directory “C:\Program Files\WindowsPowerShell\Modules\icinga-powershell-framework\certificate” is accessible and writable by the Icinga Service User “MYDOMAIN\service_icinga”
[Passed]: The Icinga Agent state file is healthy
[Passed]: Icinga Agent configuration is valid
[Passed]: Icinga Agent debug log is disabled

The agent starts with no errors, but now the icinga checks fail:

Check command ‘Invoke-IcingaCheckMemory’ does not exist.

Is there something else I need to do?

Arg. Never mind. I sorted out the issue. One of the things I had done while trying to figure out why Set-IcingaServiceUser said the service wasn’t installed yet was reinstall icinga. I told it to keep the same configuration, but evidently it overwrote the zones config and the global zone which defined the windows checks was no longer being replicated. Once I updated the config to replicate the zone it started working again.

1 Like