Wazuh has an integrated decoder feature, tailored for JSON logs, enabling the extraction of data from any source utilizing this format. The log you provided can be extracted using the built-in JSON decoder, as exemplified below:
<decoder name="ESET">
<prematch>VM-ESET-\d+</prematch>
</decoder>
<decoder name="VM-ESET">
<parent>ESET</parent>
<prematch> \.+ \d+ - - </prematch>
<plugin_decoder offset="after_prematch">JSON_Decoder</plugin_decoder>
</decoder>
Given the common prematch pattern in the provided log, as a parent decoder, it will align with this decoder and subsequently be decoded by the JSON_Decoder,. Then create the rule like:
<group name="ESET">
<rule id="100216" level="3" >
<decoded_as>ESET</decoded_as>
<description>ESET:Website certificate revoked</description>
</rule>
</group>

Then to apply the changes restart wazuh-manager using the command: systemctl restart wazuh-manager

For further insights, please refer to the
Wazuh documentation on JSON decoder. and
https://wazuh.com/blog/creating-decoders-and-rules-from-scratch/Hope this helps