From 04524215522009aed4d00427aae50ea62e6f5879 Mon Sep 17 00:00:00 2001 From: robester0403 Date: Wed, 8 Jul 2026 18:28:05 -0400 Subject: [PATCH 1/2] fix: Stop the date processors from throwing a error whenever grok_time_details fails. Declare error.message in the field mappings. --- packages/cisco_ise/changelog.yml | 5 ++++ .../test-pipeline-device-sensor-fragments.log | 1 + ...-device-sensor-fragments.log-expected.json | 30 +++++++++++++++++++ .../elasticsearch/ingest_pipeline/default.yml | 6 +++- .../cisco_ise/data_stream/log/fields/ecs.yml | 2 ++ packages/cisco_ise/docs/README.md | 1 + packages/cisco_ise/manifest.yml | 2 +- 7 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 packages/cisco_ise/data_stream/log/_dev/test/pipeline/test-pipeline-device-sensor-fragments.log create mode 100644 packages/cisco_ise/data_stream/log/_dev/test/pipeline/test-pipeline-device-sensor-fragments.log-expected.json diff --git a/packages/cisco_ise/changelog.yml b/packages/cisco_ise/changelog.yml index f3cd1d97311..2abaca16e37 100644 --- a/packages/cisco_ise/changelog.yml +++ b/packages/cisco_ise/changelog.yml @@ -1,4 +1,9 @@ # newer versions go on top +- version: "1.32.8" + changes: + - description: Stop the date processors from throwing a "field [_tmp] not present" error whenever grok_time_details fails. Declare error.message in the field mappings. + type: bugfix + link: https://github.com/elastic/integrations/pull/00001 - version: "1.32.7" changes: - description: Correctly parse key-value pairs where the value contains commas. diff --git a/packages/cisco_ise/data_stream/log/_dev/test/pipeline/test-pipeline-device-sensor-fragments.log b/packages/cisco_ise/data_stream/log/_dev/test/pipeline/test-pipeline-device-sensor-fragments.log new file mode 100644 index 00000000000..a3a3d081303 --- /dev/null +++ b/packages/cisco_ise/data_stream/log/_dev/test/pipeline/test-pipeline-device-sensor-fragments.log @@ -0,0 +1 @@ +CISE_Profiler 0000034521 2 1 cisco-av-pair=cdp-tlv=cdpCacheAddress=192.0.2.10, cisco-av-pair=lldp-tlv=lldpSystemDescription=Cisco IOS Software C3700 Software, cisco-av-pair=cdp-tlv=cdpCacheDeviceId=SAMPLE-AP-0001, diff --git a/packages/cisco_ise/data_stream/log/_dev/test/pipeline/test-pipeline-device-sensor-fragments.log-expected.json b/packages/cisco_ise/data_stream/log/_dev/test/pipeline/test-pipeline-device-sensor-fragments.log-expected.json new file mode 100644 index 00000000000..164efb8dc50 --- /dev/null +++ b/packages/cisco_ise/data_stream/log/_dev/test/pipeline/test-pipeline-device-sensor-fragments.log-expected.json @@ -0,0 +1,30 @@ +{ + "expected": [ + { + "cisco_ise": { + "log": { + "category": { + "name": "CISE_Profiler" + }, + "message": { + "id": "0000034521" + }, + "segment": { + "number": 1, + "total": 2 + } + } + }, + "ecs": { + "version": "8.17.0" + }, + "event": { + "original": "CISE_Profiler 0000034521 2 1 cisco-av-pair=cdp-tlv=cdpCacheAddress=192.0.2.10, cisco-av-pair=lldp-tlv=lldpSystemDescription=Cisco IOS Software C3700 Software, cisco-av-pair=cdp-tlv=cdpCacheDeviceId=SAMPLE-AP-0001," + }, + "message": "cisco-av-pair=cdp-tlv=cdpCacheAddress=192.0.2.10, cisco-av-pair=lldp-tlv=lldpSystemDescription=Cisco IOS Software C3700 Software, cisco-av-pair=cdp-tlv=cdpCacheDeviceId=SAMPLE-AP-0001,", + "tags": [ + "preserve_original_event" + ] + } + ] +} diff --git a/packages/cisco_ise/data_stream/log/elasticsearch/ingest_pipeline/default.yml b/packages/cisco_ise/data_stream/log/elasticsearch/ingest_pipeline/default.yml index b9c7692077b..c7b4c92c4db 100644 --- a/packages/cisco_ise/data_stream/log/elasticsearch/ingest_pipeline/default.yml +++ b/packages/cisco_ise/data_stream/log/elasticsearch/ingest_pipeline/default.yml @@ -85,6 +85,10 @@ processors: - date: field: _tmp.timestamp tag: default-tmp-timestamp parsing + description: >- + Avoid processing if _tmp.timestamp is unset, preventing a "field [_tmp] + not present" error on top of the grok_time_details failure. + if: ctx._tmp?.timestamp != null formats: - MMM [ ]d[d] HH:mm:ss[.SSSSSS][.SSS] - ISO8601 @@ -98,7 +102,7 @@ processors: field: error.message value: '{{{ _ingest.on_failure_processor_tag }}}: {{{_ingest.on_failure_message}}}' - date: - if: ctx.event?.timezone != null && ctx.event.timezone != '' + if: ctx._tmp?.timestamp != null && ctx.event?.timezone != null && ctx.event.timezone != '' field: _tmp.timestamp timezone: '{{{event.timezone}}}' tag: default-tmp-timestamp-with timezone parsing diff --git a/packages/cisco_ise/data_stream/log/fields/ecs.yml b/packages/cisco_ise/data_stream/log/fields/ecs.yml index 2f6119eef31..95dbdcb9af0 100644 --- a/packages/cisco_ise/data_stream/log/fields/ecs.yml +++ b/packages/cisco_ise/data_stream/log/fields/ecs.yml @@ -78,6 +78,8 @@ name: destination.user.name - external: ecs name: ecs.version +- external: ecs + name: error.message - external: ecs name: event.category - external: ecs diff --git a/packages/cisco_ise/docs/README.md b/packages/cisco_ise/docs/README.md index 43f0a0cfda5..c592fc31df6 100644 --- a/packages/cisco_ise/docs/README.md +++ b/packages/cisco_ise/docs/README.md @@ -661,6 +661,7 @@ The following table lists the exported fields for this data stream: | destination.user.name | Short name or login of the user. | keyword | | destination.user.name.text | Multi-field of `destination.user.name`. | match_only_text | | ecs.version | ECS version this event conforms to. `ecs.version` is a required field and must exist in all events. When querying across multiple indices -- which may conform to slightly different ECS versions -- this field lets integrations adjust to the schema version of the events. | keyword | +| error.message | Error message. | match_only_text | | event.category | This is one of four ECS Categorization Fields, and indicates the second level in the ECS category hierarchy. `event.category` represents the "big buckets" of ECS categories. For example, filtering on `event.category:process` yields all events relating to process activity. This field is closely related to `event.type`, which is used as a subcategory. This field is an array. This will allow proper categorization of some events that fall in multiple categories. | keyword | | event.code | Identification code for this event, if one exists. Some event sources use event codes to identify messages unambiguously, regardless of message language or wording adjustments over time. An example of this is the Windows Event ID. | keyword | | event.created | `event.created` contains the date/time when the event was first read by an agent, or by your pipeline. This field is distinct from `@timestamp` in that `@timestamp` typically contain the time extracted from the original event. In most situations, these two timestamps will be slightly different. The difference can be used to calculate the delay between your source generating an event, and the time when your agent first processed it. This can be used to monitor your agent's or pipeline's ability to keep up with your event source. In case the two timestamps are identical, `@timestamp` should be used. | date | diff --git a/packages/cisco_ise/manifest.yml b/packages/cisco_ise/manifest.yml index 9417392e1b0..98e05e4ca99 100644 --- a/packages/cisco_ise/manifest.yml +++ b/packages/cisco_ise/manifest.yml @@ -1,7 +1,7 @@ format_version: "3.0.3" name: cisco_ise title: Cisco ISE -version: "1.32.7" +version: "1.32.8" description: Collect logs from Cisco ISE with Elastic Agent. type: integration categories: From e4544a0898f02747cee52c5f0930d063d3af4890 Mon Sep 17 00:00:00 2001 From: robester0403 Date: Thu, 9 Jul 2026 12:13:12 -0400 Subject: [PATCH 2/2] chore: Update PR link --- packages/cisco_ise/changelog.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cisco_ise/changelog.yml b/packages/cisco_ise/changelog.yml index 2abaca16e37..616995c5db4 100644 --- a/packages/cisco_ise/changelog.yml +++ b/packages/cisco_ise/changelog.yml @@ -3,7 +3,7 @@ changes: - description: Stop the date processors from throwing a "field [_tmp] not present" error whenever grok_time_details fails. Declare error.message in the field mappings. type: bugfix - link: https://github.com/elastic/integrations/pull/00001 + link: https://github.com/elastic/integrations/pull/20069 - version: "1.32.7" changes: - description: Correctly parse key-value pairs where the value contains commas.