Splunk Integration
Forward Noxys AI interaction events to Splunk via HTTP Event Collector (HEC) for centralized security monitoring and analysis.
Overview
This integration enables:
- Real-time event streaming from Noxys to Splunk
- Custom searches and dashboards on AI interaction data
- Automated alerting based on policy violations
- Compliance reporting combining AI and security data
Data Flow:
Noxys Event → Webhook → Splunk HEC → Splunk Indexer → Splunk Search → Alerts & Dashboards
Prerequisites
- Splunk Enterprise or Cloud
- HTTP Event Collector (HEC) enabled
- Splunk admin access
- Noxys admin role
Step 1: Create HEC Token
Enable HTTP Event Collector and create a token.
- Splunk → Settings → Data Inputs → HTTP Event Collector
- Click New Token
- Configure:
- Name:
Noxys AI Firewall - Source name override:
noxys - Default Index:
main(or create custom index)
- Name:
- Next
- Choose index:
- Create custom:
noxys_interactions - Or use existing:
security
- Create custom:
- Review settings
- Create Token
- Copy the token value (shown only once!)
Step 2: Verify HEC is Enabled
Ensure HTTP Event Collector is globally enabled.
- Settings → Data Inputs → HTTP Event Collector
- In the toolbar, verify All Tokens is enabled (toggle should be ON)
- Note the HEC URL and Port:
- Cloud:
https://your-instance.splunkcloud.com:8088 - Enterprise:
https://your-splunk-server.com:8088
- Cloud:
Step 3: Configure in Noxys
Set up webhook forwarding to Splunk HEC.
- Noxys Admin Panel → Integrations → Webhooks
- Click Create Webhook
- Configure:
| Field | Value |
|---|---|
| URL | https://your-instance.splunkcloud.com:8088/services/collector |
| Events | Select: interaction.policy_violated, interaction.high_risk, alert.severity_critical |
| Headers | Add custom header: Authorization: Splunk <token-from-step-1> |
| Description | "Splunk HEC Integration" |
- Click Create
Step 4: Test Connection
Verify events are flowing to Splunk.
- In Noxys: Click webhook → Test
- In Splunk:
- Navigate to: Search & Reporting
- Search:
source="noxys" - Should see test event
- Create a test interaction in Noxys
- Should appear in Splunk within seconds
Step 5: Create Index (Optional)
Create dedicated index for Noxys data.
- Settings → Indexes → New Index
- Configure:
- Index name:
noxys_interactions - Max KB:
500000(reasonable default) - Max Raw Size MB:
1000
- Index name:
- Save
- Update HEC token to use this index (Step 1)
Step 6: Create Searches
Build searches to analyze Noxys data.
Search 1: High-Risk Interactions (24h)
source="noxys" event_type="interaction.high_risk"
| stats count by platform_id, risk_score
| sort - count
Search 2: Policy Violations by Platform
source="noxys" event_type="interaction.policy_violated"
| stats count by data.platform_id as platform
| rename platform as Platform, count as "Violation Count"
Search 3: Top Users with Violations
source="noxys" event_type="interaction.policy_violated"
| stats count by data.user_id
| rename data.user_id as User, count as Violations
| top 10 User
Search 4: Blocked Interactions Timeline
source="noxys" event_type="interaction.policy_violated"
| search "policy_decisions{}.action"=block
| timechart count by data.platform_id
Step 7: Create Alerts
Set up automated alerts for critical events.
Alert: Multiple Violations from One User
- Search → Run search:
source="noxys" event_type="interaction.policy_violated"
| stats count as violation_count by data.user_id
| where violation_count > 10
- Save as Alert
- Configure:
- Alert name: "High violation user detected"
- Frequency: Every hour
- Trigger condition: When violation_count > 10
- Add actions:
- Send email to security@acme.fr
- Create incident in ServiceNow
- Save
Alert: Blocked Access to Financial Data
- Search:
source="noxys" event_type="interaction.policy_violated"
| search "data.classifications{}.type"=CREDIT_CARD OR "data.classifications{}.type"=IBAN
| search "policy_decisions{}.action"=block
- Save as alert, trigger immediately
- Add actions to escalate
Step 8: Build Dashboards
Create visualization dashboards.
- Dashboards → Create Dashboard
- Add panels:
Panel 1: Interaction Volume (24h)
source="noxys" | timechart count
Panel 2: Policy Violations by Platform
source="noxys" event_type="interaction.policy_violated"
| stats count by data.platform_id
| chart count by data.platform_id
Panel 3: Risk Score Distribution
source="noxys"
| bucket data.risk_score range=0-0.2, 0.2-0.5, 0.5-0.8, 0.8-1.0
| stats count by data.risk_score
| chart count by data.risk_score
Panel 4: Top Classifications Detected
source="noxys"
| mvexpand data.classifications{}
| stats count by "data.classifications{}.type"
| top 10 "data.classifications{}.type"
Panel 5: Blocked Interactions
source="noxys" event_type="interaction.policy_violated"
| search "policy_decisions{}.action"=block
| stats count as blocked_count, latest(_time) as last_violation by data.user_id
Step 9: Verify Data
Confirm events are indexed and searchable.
- Search & Reporting
- Search:
source="noxys" earliest=-1h - Should show recent events with fields:
event_type— interaction, alert, policydata.platform_id— chatgpt, claude, etc.data.risk_score— numeric riskdata.classifications{}— PII types detecteddata.policy_decisions{}— Block/Coach/Log actions
Advanced: Log Forwarding
Forward Splunk indexed data to other systems.
- Settings → Forwarding and receiving
- Configure destination:
- Elasticsearch
- S3
- Syslog
- HTTP endpoint
- Create forwarding rule:
- Source index:
noxys_interactions - Destination: Your endpoint
- Source index:
- Verify data flows through
Troubleshooting
Events Not Appearing in Splunk
- Verify HEC token:
- Check token is active (not disabled)
- Token may be single-use; test with Splunk verification
- Check webhook is active:
- Noxys: Integrations → Webhooks → Status
- Review webhook deliveries:
- Noxys: Webhooks → Deliveries
- Look for HTTP status code
- Test HEC connectivity:
curl -k https://your-splunk.com:8088/services/collector \
-H "Authorization: Splunk <token>" \
-d '{"event":"test"}'
- Check Splunk HEC logs:
- Splunk: Search & Reporting →
source::splunkd token=<token>
- Splunk: Search & Reporting →
Searches Return No Data
- Verify event source matches:
- Search:
index=main source="noxys" - If no results, check HEC index configuration
- Search:
- Verify event format:
- Check raw events for JSON structure
- Ensure required fields are present
- Check time range:
- Default search: last 24 hours
- Try:
earliest=-7dfor wider window
High Latency (Events delayed)
- Check HEC input load:
- Settings → Data Inputs → HTTP Event Collector → Monitor
- Look for queued events
- Increase HEC throughput:
- Settings → Data Inputs → HTTP Event Collector → Edit
- Increase
maxKBpsif rate-limited
- Check network latency:
- Ping Splunk HEC endpoint
- Check firewall rules
Cost Optimization
Splunk costs are based on daily indexing volume:
- Noxys event size: ~2-5 KB per event
- Daily volume estimate: 100 events/day = 200-500 KB
- Monthly estimate: 6-15 MB
- Typical Splunk cost: $100-300/month (depends on plan)
To reduce costs:
- Filter events before sending (send only critical ones)
- Increase webhook batch size
- Archive old logs to S3
- Use Splunk Cloud vs. Enterprise (lower cost)
Best Practices
-
Filter events wisely:
- Send:
policy_violated,high_risk,alert.critical - Skip:
interaction.created(too verbose)
- Send:
-
Use custom index:
- Separates Noxys data from security events
- Easier to manage retention
-
Implement field extraction:
- Create
props.conffor automatic field parsing - Extract
platform_id,risk_score,user_id,action
- Create
-
Monitor HEC health:
- Create alert: "HEC connectivity lost"
- Alert on missing events
-
Archive data appropriately:
- Hot: 7 days
- Warm: 30 days
- Cold: 90 days
- Frozen: Delete or archive to S3
Splunk Configuration Files
props.conf (Field Extraction)
[source::noxys]
SHOULD_LINEMERGE = false
KV_MODE = json
TRANSFORMS = noxys_routing
[noxys_interactions]
SHOULD_LINEMERGE = false
KV_MODE = json
transforms.conf (Routing)
[noxys_routing]
REGEX = .
DEST_KEY = _MetaData:Index
FORMAT = noxys_interactions
Support & Resources
- Splunk Docs: https://docs.splunk.com/
- HEC Guide: https://docs.splunk.com/Documentation/Splunk/latest/Data/UsetheHTTPEventCollector
- Noxys Support: support@noxys.eu
- Splunk Community: https://community.splunk.com/
Related Integrations
- Microsoft Sentinel — Microsoft SIEM
- Sekoia XDR — European XDR
- Webhooks API — Custom webhook configuration