QueryXML conditionally, based on what's installed on Windows server?
Hi all,
How do I divide my NxLog configuration file into conditionals based on queries? I have an nxlog.conf that doesn't apply equally to all hosts, and NxLog fails if it has to query something that doesn't exist on a Windows server.
I'd like to keep 1 nxlog.conf for all servers instead of having to maintain many confs for a variety of servers.
In psuedocode:
if [ exists Microsoft-Windows-TerminalServices ]
then
<query id="3">
<Select Path="Microsoft-Windows-TerminalServices-SessionBroker-Client/Operational">*</Select>
</query>
However I'm having a hard time translating a lot of the "if statements" I see to NxLog query formats.. anyone have any resources or tips to guide me?
Here's what I tried, obviously wrong, <Exec> cannot be in <QueryList>
<Exec>
if ($Channel == 'Microsoft-Windows-TerminalServices-SessionBroker/Operational')
<Query id="3">
<Select Path="Microsoft-Windows-TerminalServices-SessionBroker/Operational">*</Select>
</Query>
</Exec>
Also tried:
<Exec>
if ($Channel == 'Microsoft-Windows-TerminalServices-SessionBroker/Operational') \
<QueryXML> \
<QueryList> \
<Query id="3"> \
<Select Path="Microsoft-Windows-TerminalServices-SessionBroker/Operational">*</Select> \
</Query> \
</QueryList> \
</QueryXML>
</Exec>
</Input>
Thanks for your help.