🚀 Day 4:安全第一 —— 配置插件全局凭证 (Setup Parameters)
今日目标:严格遵循 AOB 的向导规则,完成数据采集任务的初始化,设计全局变量配置页面 UI。随后进入测试向导界面,填入真实的 API 样例数据,并完成最终保存。
🛠️ Step 1:初始化数据输入基座 (Data Input Properties)
在 AOB 中,全局设置(Setup)是依附在“新建数据输入任务”向导中的。我们需要先走完基础流程。
- 在浏览器中登录 Splunk (
http://localhost:8000)。 - 进入 Splunk Add-on Builder -> 点击进入 PEAK-llm-analyzer 项目。
- 点击顶部导航栏的 Configure Data Collection。
- [cite_start]点击右上角的 New Input 按钮,选择大图标:Modular input using your own Python code [cite: 735]。
🎯 满足必填规则: 停留在第一页 Data Input Properties。严格填写以下信息:
*Source type name:peak:llm:execution*Input display name:PEAK AI Hunter*Input name:peak_hunter_task- Description:
The automated threat hunting task driven by LLM. *Collection interval:300seconds
🛠️ Step 2:拖拽生成你的“全局控制台” (Add-on Setup Parameters)
把目光移到向导顶部的标签栏,点击 Add-on Setup Parameters 标签。在这里设计我们的全英文配置界面。
2.1 创建 Base URL 字段
- 从左侧拖拽 Text 控件到中间画布。
- 右侧属性填写:
- Internal Name:
base_url - Label:
LLM Base URL - Help string:
Enter an OpenAI-compatible API endpoint URL.
- Internal Name:
2.2 创建 Model Name 字段
- 再次拖拽一个 Text 控件到画布上。
- 右侧属性填写:
- Internal Name:
model_name - Label:
LLM Model Name - Help string:
Enter the exact model name (e.g., qwen3.5-plus, gpt-4o, deepseek-chat).
- Internal Name:
2.3 创建 API Key 字段 (🛡️ 绝密安全保护!)
- 从左侧拖拽一个 Password 控件到画布最下方。
- 右侧属性填写:
- Internal Name:
api_key - Label:
API Key - Help string:
Enter your API key (sk-...). This credential will be securely encrypted by Splunk's credential store.
- Internal Name:
🛠️ Step 3:进入代码与测试向导 (Define & Test)
[cite_start]这是极其关键的一步。完成 UI 设计后,请点击向导底部的 Next 按钮 [cite: 750]。
此时,你会进入如你截图所示的 Define Inputs 页面:
- [cite_start]代码编辑器 (Code Editor):页面的右侧会自动生成包含基础框架的 Python 代码 [cite: 751]。我们今天先不写代码,保留它的默认状态即可。
- [cite_start]填入测试样例 (Test Values):在页面的左侧,点击 Add-on Setup Parameters 标签页 [cite: 763]。你会看到刚才设计的输入框。
[cite_start]官方文档要求,在这里必须输入样例数据以供测试使用 [cite: 763]。
- LLM Base URL: 填入
https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions - LLM Model Name: 填入
qwen3.5-plus - API Key: 填入你真实的阿里云
sk-...秘钥。
- LLM Base URL: 填入
🛠️ Step 4:保存与前端验证
- [cite_start]样例数据填写完毕后,先点击右上角的 Save 按钮,等待底层文件生成完毕 [cite: 766]。
- [cite_start]保存成功后,点击绿色的 Finish> 按钮结束向导 [cite: 766]。
👀 看看我们的最终成果:
- 点击左上角的
Splunk>enterprise回到 Splunk 全局首页。 - 在左侧列表中,点击进入我们自己的插件:PEAK-llm-analyzer。
- 点击顶部导航栏的 Configuration -> 切换到 Add-on Settings 子标签。
你会看到极具国际化专业质感的 LLM Base URL、LLM Model Name 和 API Key 表单已经完美部署。在这里再次输入你的真实配置并点击绿色的 Save,大模型的参数就彻底在 Splunk 底层扎根了!
🧠 极客探秘:Splunk 把你的密码藏哪了?
当你点击 Save 后,Splunk 把明文的 URL 和 Model Name 写进了 /opt/splunk/etc/apps/TA-peak-llm-analyzer/local/app.conf 里。但你去翻遍所有文本,也绝对找不到那串 API Key!它已经被加密存入了底层的 passwords.conf 中。
[cite_start]在未来我们要写的 Python 代码里,只需要一句极其优雅的官方内置函数 [cite: 1442]:
api_key = helper.get_global_setting("api_key")
Splunk 就会在内存中自动解密并喂给代码,极致安全!
🎉 恭喜你!Day 4 完美收官! 你不仅彻底掌握了在 AOB 中配置和管理插件全局参数的技巧,还学会了如何利用底层保险箱机制极其安全地加密存储用户的敏感密码。接下来,我们将正式启动 AOB 的任务调度引擎,准备进入 Day 5:任务调度器 —— 唤醒 AI 的“心跳” (Data Inputs)!