The high event volume (100M daily, 25M from agents) and the delays with your integrations, it's likely that Wazuh's integrations (Telegram, MISP, etc.) are struggling to keep up with the processing load.
Few things that needs to be considered are as follows:
Integration Throughput: The integrations may have rate limits that are too slow to handle such a high volume. Implementing a multithreaded process could help by sending high volume logs to the API more efficiently.
API Limits: When the integrations relies on external APIs (e.g., Telegram), ensure that no rate limits are being hit on those services.
You can configure a loadbalancer in such a way that all the logs that are being received on the environment can be loadbalanced among all the worker nodes and configure the integration script on all the nodes so that a single manager doesn't need to forward those events to the external endpoints.
For more information, You can visit the URL given below:
https://documentation.wazuh.com/current/user-manual/wazuh-server-cluster/load-balancers.htmlhttps://documentation.wazuh.com/current/user-manual/manager/integration-with-external-apis.htmlAdditionally, you can reduce the data sent to external APIs by creating custom rules to only forward the necessary logs. For example, if similar alerts are expected within the same time frame, You can create a rule based on the time frame and only send a alerts that is really necessary to the external platforms:
For an example:
<rule id="30202" level="10" frequency="10" timeframe="120">
<if_matched_sid>30201</if_matched_sid>
<description>ModSecurity: Multiple attempts blocked.</description>
<mitre>
<id>T1110</id>
</mitre>
<group>access_denied,modsecurity,pci_dss_10.2.4,pci_dss_11.4</group>
</rule>In this case, if rule 30201 is triggered 10 times within 2 minutes, only a single alert with rule ID 30202 will be sent.
For more reference, Please visit the URL given below:
https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/rules.html#if-matched-sid