fix dash
This commit is contained in:
@@ -479,6 +479,7 @@ async function applySuggestedProfile(streamId) {
|
||||
graylog_mcp_url: config.graylog_mcp_url || '',
|
||||
graylog_query: config.graylog_query || '*',
|
||||
graylog_fetch_mode: config.graylog_fetch_mode || 'auto',
|
||||
graylog_tls_verify: config.graylog_tls_verify !== false,
|
||||
graylog_range_seconds: config.graylog_range_seconds || 300,
|
||||
graylog_max_events_per_stream: config.graylog_max_events_per_stream || 5000,
|
||||
graylog_raw_sample_events: config.graylog_raw_sample_events || 5000,
|
||||
@@ -535,6 +536,7 @@ document.getElementById('settingsForm').addEventListener('submit', async event =
|
||||
values.llm_enabled = form.elements.llm_enabled.checked;
|
||||
values.profile_advisor_enabled = form.elements.profile_advisor_enabled.checked;
|
||||
values.threat_intel_enabled = form.elements.threat_intel_enabled.checked;
|
||||
values.graylog_tls_verify = form.elements.graylog_tls_verify.checked;
|
||||
values.graylog_streams = [...document.querySelectorAll('.graylog-stream')].map(item => ({id:item.dataset.id, title:item.dataset.title, enabled:item.checked}));
|
||||
if (window.activeProfileStream) { let detectors={},fieldWeights={}; try { detectors=form.elements.profile_detectors.value.trim() ? JSON.parse(form.elements.profile_detectors.value) : {}; } catch { document.getElementById('settingsResult').textContent='Detector thresholds must be valid JSON.'; return; } try { fieldWeights=form.elements.profile_field_weights.value.trim() ? JSON.parse(form.elements.profile_field_weights.value) : {}; } catch { document.getElementById('settingsResult').textContent='Field weights must be valid JSON.'; return; } const entityFields=[...form.querySelectorAll('.profile-entity:checked')].map(item=>item.value); if (!entityFields.length) { document.getElementById('settingsResult').textContent='Select at least one Entity field for the active profile.'; return; } const profileTitle=window.activeProfileTitle || window.activeProfileStream; const profile={stream_id:window.activeProfileStream,name:form.elements.profile_name.value.trim() || `${profileTitle} profile`,entity_field:entityFields[0]||'',entity_fields:entityFields,timestamp_field:form.querySelector('[name="profile_timestamp"]:checked')?.value||'timestamp',categorical_fields:[...form.querySelectorAll('.profile-categorical:checked')].map(item=>item.value),numeric_fields:[...form.querySelectorAll('.profile-numeric:checked')].map(item=>item.value),detectors,field_weights:fieldWeights}; values.graylog_stream_profiles=[...(window.streamProfiles||[]).filter(item=>item.stream_id!==profile.stream_id),profile]; }
|
||||
const savedProfile = window.activeProfileStream ? ` Profile saved for ${window.activeProfileTitle || window.activeProfileStream}.` : ' No profile editor active, so profiles were not changed.';
|
||||
@@ -599,7 +601,7 @@ def serve_dashboard(host: str, port: int, status_file: str, *, image_dir: str |
|
||||
if self.path == "/api/graylog/streams":
|
||||
config = config_store.read()
|
||||
try:
|
||||
client = GraylogMcpClient(str(config.get("graylog_mcp_url", "")), str(config.get("graylog_mcp_token", "")))
|
||||
client = GraylogMcpClient(str(config.get("graylog_mcp_url", "")), str(config.get("graylog_mcp_token", "")), verify_tls=bool(config.get("graylog_tls_verify", True)))
|
||||
client.probe()
|
||||
result = client.call_tool("list_streams", {})
|
||||
content = result.get("result", {}).get("content", [])
|
||||
@@ -624,7 +626,7 @@ def serve_dashboard(host: str, port: int, status_file: str, *, image_dir: str |
|
||||
stream_id = self.path.split("stream_id=", 1)[-1].split("&", 1)[0]
|
||||
config = config_store.read()
|
||||
try:
|
||||
client = GraylogMcpClient(str(config.get("graylog_mcp_url", "")), str(config.get("graylog_mcp_token", "")))
|
||||
client = GraylogMcpClient(str(config.get("graylog_mcp_url", "")), str(config.get("graylog_mcp_token", "")), verify_tls=bool(config.get("graylog_tls_verify", True)))
|
||||
client.probe()
|
||||
result = client.call_tool("list_fields", {"streams": [stream_id]})
|
||||
content = result.get("result", {}).get("content", [])
|
||||
|
||||
Reference in New Issue
Block a user