When a WMI agent connects to the same machine it is running on (that is, localhost) using credentials that explicitly specify a user other than the currently logged on user, you must make certain registry changes to allow the required COM services to run.
The Agent Manager uses the wmiprvse.exe process to make use of WMI for remote Windows
® monitoring. However, in some situations, this process can lock the MySQL process,
mysqld.exe, preventing it from being uninstalled, deleted, moved, or updated.
WinRM connections using the default Negotiate authentication require a copy of the krb5.config file. On Windows
®, the Agent Manager attempts to auto-generate this file and places it under
<fglam_home>f/state/default/config/krb5.config. Under some circumstances, the Agent Manager is unable to auto-generate the file on Windows, in which case the file needs to be created. On UNIX
® systems, the file is never auto-generated and must always be provided.
If the file needs to be created, the format of the krb5.config file for the WinRM Negotiate authentication is as follows:
The values dns_suffix_upper_case,
dns_suffix_lower_case, and
DNS_Server_for_dns_suffix_upper_case must be replaced with their actual values.
The [domain_realm] section in the file maps the domain of the host being connected to, to a
realm.
The [realm] section provides the relevant
kdc (key distribution center) server with a specific realm to use for kerberos authentication. This is generally the DNS server for the relevant domain.
The default_realm value in the
libdefaults section is the
realm mapping to use when the domain of the host cannot be matched to a
realm.
For example, for connecting to hosts on the sample.domain.com domain with the
dnsserver.sample.domain.com DNS Server, the contents of the
krb5.config file should be as follows:
When connecting to a host1.sample.domain.com, the
host1’s domain is mapped to the
SAMPLE.DOMAIN.COM realm, which maps to the
DNSSERVER.SAMPLE.DOMAIN.COM kdc to use for kerberos authentication.
After creating the krb5.config file is created the absolute path to the generated krb5.config file should be provided in the
<config:krb5-config-file> tag value of the
<fglam_home>/state/default/config/fglam-config.xml file, so that it can be accessed by the Agent Manager. Any changes to the
fglam-config.xml file require the Agent Manager to be restarted in order for those changes to take effect. Therefore, if the Agent Manager is running while you are making these changes, you must restart it.
Windows Remote Management is the Microsoft® implementation of the Web Services Management Protocol (WSMAN) which is a Simple Object Access Protocol (SOAP) based protocol over HTTP/HTTPS and is used for system management. For more information, visit
https://msdn.microsoft.com/en-us/library/aa384470%28v=vs.85%29.aspx.
Foglight Agent Manager always generates an auth.login.config file that is used for Kerberos. It is generated by the Agent Manager on both UNIX
® and Windows
®, and is used to configure the Kerberos module that the Agent Manager uses for authentication. This file is located in the
<fglam_dir>/state/default/config directory, and must never be modified.
If the Kerberos configuration file is generated by the Agent Manager, it is placed in the <fglam_dir>/state/default/config/krb5.config file, and an entry is added to the
<fglam_dir>/state/default/config/fglam.config.xml file so that the Agent Manager is aware of the file location. An example of this entry on Windows is as follows:
If the file is not generated, you can generate your own file, add a value for the krb5-config-file entry in the
fglam.config.xml file, and restart the Agent Manager.
So for example, if connecting to a host A with user credential
example.com\UserX, the kerberos file is used as follows:
In another example, if connecting to a host B with user credential
other.domain\UserY, the same Kerberos file is used as follows:
To specify a non-default realm to use for the other.domain value is the second example, the Kerberos configuration file can be modified as follows
Now, if a domain of other.domain is encountered, the realm used will be
OTHER.DOMAIN instead of the
default_realm value since there is a domain mapping entry. This can be repeated for other domains and realms.