

Hi all,
I'm seeing a "No cached mapping for this field" warning in Discover on data.office365.SystemOverrides (screenshots attached, x2 — same warning shown consistently).
Environment: Wazuh 4.14.5, OpenSearch Dashboards, Office365 module, AWS module
What I've checked:
Hi Rahul,
Go to Dashboard management > Dashboards Management > Index patterns
And select wazuh-alerts-* template.
And click on the refresh icon. Similar to the screenshot. 

Restart the indexer service.
systemctl daemon-reload
systemctl restart wazuh-indexer
In the Wazuh dashboard, click on the hamburger icon at the top left > Index Management > Dev Tools. Please run and share the outputs of the following commands:
 GET wazuh-alerts-*/_mapping/field/<affectedfield>
Where <affectedfield> is the field that is not populated with data.
From the Index Management > Dev Tools. Please run and check the outputs of the following commands:
GET wazuh-alerts-*/_settings
It will show you the field's limit.
   "mapping": {
          "total_fields": {
            "limit": "10000"
          }
Next, go to Dashboard management > Dashboards Management > Index patterns
And select wazuh-alerts-* template.
Check how many fields you have currently on that index pattern.
If you have hit the index limit. You can use this to increase the index field limit.
Index Management > Dev Tools.
PUT wazuh-alerts-*/_settings
{
  "index.mapping.total_fields.limit": 20000
}
Also for the future indices.
Go to vi /etc/filebeat/wazuh-template.json
Change the total_fields.limit
"index.mapping.total_fields.limit": 20000,
And load the configuration
filebeat setup --pipelines
filebeat setup --index-management -E output.logstash.enabled=false
Restart Filebeat:
systemctl restart filebeat
Now reindex today's index.
Create a backup of the data with this command.
POST _reindex
{
  "source": {
    "index": "wazuh-alerts-4.x-2026.06.25"
  },
  "dest": {
    "index": "wazuh-alerts-4.x-backup"
  }
}
Delete your data index
DELETE /wazuh-alerts-4.x-2026.06.25
Recreate the data index from the backup
POST _reindex
{
  "source": {
    "index": "wazuh-alerts-4.x-backup"
  },
  "dest": {
    "index": "wazuh-alerts-4.x-2026.06.25"
  }
}
Delete the backup index
DELETE /wazuh-alerts-4.x-backup
Now, go to the indexer pattern, click on the refresh button as I instructed before.
After that, go to the Discover or Threat Hunting page and filter today and check if you are able to see the fields in searchable format in today's index.
Sorry for the delay in the follow-up. Fields with or without data can both get indexed.
Check this screenshot for reference.
Are you still facing the issue with fields not getting indexed?
If yes, go to
 Index Management > Dev Tools. Please run and share the outputs of the following commands:
 GET wazuh-alerts-*/_mapping/field/<affectedfield>
Where <affectedfield> is the field that is not populated with data.
Your command result confirms that, that confirms that this field is not mapped on the index pattern.
Edit /etc/filebeat/wazuh-template.json
Add SystemOverrides (as keyword) under the data.office365 properties block, then
Ex:
     "office365": {
            "properties": {
              "Actor": {
                "properties": {
                  "ID": {
                    "type": "keyword"
                  }
                }
              },
              "UserId": {
                "type": "keyword"
              },
              "Operation": {
                "type": "keyword"
              },
              "ClientIP": {
                "type": "keyword"
              },
              "ResultStatus": {
                "type": "keyword"
              },
       "SystemOverrides": {
                "type": "keyword"
              },
              "Subscription": {
                "type": "keyword"
              }
            }
          },
          "github": {
Now load the configuration and restart the filebeat.
sudo filebeat setup -index-management
sudo systemctl restart filebeat
After that, reindex today's index.
Go to Indexer Management > Dev Tools
Make a backup index.
POST _reindex
{
  "source": {
    "index": "wazuh-alerts-4.x-2026.07.03"
  },
  "dest": {
    "index": "wazuh-alerts-4.x-backup"
  }
}
Delete the main index
DELETE /wazuh-alerts-4.x-2026.07.03
Create the main index from the backup
POST _reindex
{
  "source": {
    "index": "wazuh-alerts-4.x-backup"
  },
  "dest": {
    "index": "wazuh-alerts-4.x-2026.07.03"
  }
}
Delete the backup index
DELETE /wazuh-alerts-4.x-backup
Â
Now try to generate a new alert, which has this field.
data.office365.SystemOverrides
Go to Dashboard management > Dashboards Management > Index patterns
And select wazuh-alerts-* template.
And click on the refresh icon.Â
Now check the field on the Discover or Threat Hunting page and let me know if this resolves the issue.
 I'm running into the same "no cached mapping" issue on several other  fields as well, not just this one (eg: aws as well). Manually adding each field to wazuh-template.json and reindexing every time a new one comes up doesn't seem sustainable long-term, especially since the O365/MS Graph schema keeps evolving.
Is editing the template field-by-field really the only way to handle this, or is there a way to map data.office365.* (or similar module fields) more broadly?
Also, noticed some of these fields show up empty even in archives.log
Thanks & Regards,
Rahul
Check the /etc/filebeat/wazuh-template.json file.
Make sure that under the dynamic_templates there's no configuration like "dynamic": false / "dynamic": "strict"
The configuration should look like this.
 "mappings": {
    "dynamic_templates": [
      {
        "string_as_keyword": {
          "mapping": {
            "type": "keyword"
          },
          "match_mapping_type": "string"
        }
      }
    ],
This tells the index: whenever a new, unmapped field shows up and its value is a string, automatically map it as keyword (exact-match, aggregatable) instead of the default text.
In other words, it's the catch-all rule that lets new O365/AWS/MS Graph fields get mapped on their own, no manual template edits needed.
If you make any changes to the configuration, load the configuration and restart Filebeat.
sudo filebeat setup -index-management
sudo systemctl restart filebeat
If you still face issues, please share the  /etc/filebeat/wazuh-template.json file so that I can review it from my end.