From 5834df691a52a5c9a2aeb9c2e8252c756f0ad3e5 Mon Sep 17 00:00:00 2001 From: Tod Detre Date: Fri, 21 Nov 2025 13:36:04 -0500 Subject: [PATCH] feat: allow a manual list of servers for a monitoring console to monitor --- docs/advanced/default.yml.spec.md | 22 +++++++++++++++++++++ roles/splunk_monitor/tasks/adding_peers.yml | 4 ++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/docs/advanced/default.yml.spec.md b/docs/advanced/default.yml.spec.md index 4a0257c1..9e67899e 100644 --- a/docs/advanced/default.yml.spec.md +++ b/docs/advanced/default.yml.spec.md @@ -176,7 +176,29 @@ splunk: * pass4SymmKey: thisisasecret * - url: https://master.us-east.corp.net:8089 * pass4SymmKey: thisisanothersecret + + manual_monitor_list: + * List of other splunk instances that a monitoring console should monitor in addition to automatically added servers from other groups. + * Default: [] + * Example: + * manual_monitor_list: + * - extra-server-1.example.org + * - extra-server-2.example.org + * - different-auth-server-1.example.org + * - different-auth-server-2.example.org + remote-credentials: + * List of credentials for splunk servers that don't match the defaults + * Default: {} + * Example: + * remote-credentials: + * different-auth-server-1.example.org: + * admin_user: my-adm-user + * admin_password: my-adm-password + * different-auth-server-2.example.org: + * admin_user: my-adm-user + * admin_password: my-adm-password + deployer_url: null * Hostname of Splunk Enterprise deployer instance. May be overridden using SPLUNK_DEPLOYER_URL environment variable. * Default: null diff --git a/roles/splunk_monitor/tasks/adding_peers.yml b/roles/splunk_monitor/tasks/adding_peers.yml index 4123ebbf..5272f029 100644 --- a/roles/splunk_monitor/tasks/adding_peers.yml +++ b/roles/splunk_monitor/tasks/adding_peers.yml @@ -29,7 +29,7 @@ - name: Create list of peers set_fact: - group_list: "{{ (groups['splunk_indexer'] | default([])) + (groups['splunk_search_head'] | default([])) + (groups['splunk_search_head_captain'] | default([])) + (groups['splunk_cluster_master'] | default([])) + (groups['splunk_deployment_server']| default([])) + (groups['splunk_license_master'] | default([])) + (groups['splunk_standalone'] | default([])) }}" + group_list: "{{ (groups['splunk_indexer'] | default([])) + (groups['splunk_search_head'] | default([])) + (groups['splunk_search_head_captain'] | default([])) + (groups['splunk_cluster_master'] | default([])) + (groups['splunk_deployment_server']| default([])) + (groups['splunk_license_master'] | default([])) + (groups['splunk_standalone'] | default([])) + (splunk['manual_monitor_list'] | default([])) }}" - name: Fetch existing peers splunk_api: @@ -88,7 +88,7 @@ with_items: "{{ group_list }}" - name: Set search peers - command: "{{ splunk.exec }} add search-server {{ cert_prefix }}://{{ item }}:{{ splunk.svc_port }} -auth {{ splunk.admin_user }}:{{ splunk.password }} -remoteUsername {{ splunk.admin_user }} -remotePassword {{ splunk.password }}" + command: "{{ splunk.exec }} add search-server {{ cert_prefix }}://{{ item }}:{{ splunk.svc_port }} -auth {{ splunk.admin_user }}:{{ splunk.password }} -remoteUsername {{ splunk['remote-credentials'][item]['admin_user'] | default(splunk.admin_user) }} -remotePassword {{ splunk['remote-credentials'][item]['admin_password'] | default(splunk.password) }}" become: yes become_user: "{{ splunk.user }}" register: set_as_peer