Windows Server2022运行JMeter测试RHEL8上Splunk登录报错如何解决
问题核心原因
Splunk登录请求携带的cval是服务端生成的CSRF防护令牌,每次会话都会更新,录制的固定值直接使用必然校验失败,是你出现未授权/错误请求的核心诱因。
完整修复步骤
1. 动态提取cval参数
- 在登录请求前新增1个HTTP请求,目标为Splunk登录页,默认路径为
/en-US/account/login,无需携带认证参数 - 给该请求添加正则表达式提取器,配置如下:
- 引用名称:
cval - 正则表达式:
"cval"\s*:\s*"([^"]+)" - 模板:
$1$ - 匹配数字:
1
- 引用名称:
- 全局添加HTTP Cookie管理器,放在所有请求的最顶部,自动托管会话ID、cval相关Cookie值,无需手动配置Cookie字段
2. 调整认证配置
- 已添加的HTTP Authorization Manager按如下规则配置:
- 基础URL:填你的Splunk服务根地址,例:
https://192.168.xxx.xxx:8000 - 用户名、密码:填写对应Splunk账号的正确凭据
- 认证机制:选择
Basic
- 基础URL:填你的Splunk服务根地址,例:
3. 登录请求参数配置
- 登录请求为POST类型,路径同登录页路径
/en-US/account/login,携带以下必填参数:username:Splunk用户名password:Splunk密码cval:填写提取的变量${cval}set_has_logged_in:值为true
4. 验证效果
- 添加查看结果树监听器,运行测试后查看登录请求响应:返回302跳转至首页、或响应体包含
splunkd_token字段即为登录成功 - 若仍报错,查看响应体具体提示,确认是否为账号权限不足、Splunk服务端开启了额外IP白名单限制等问题
内容的提问来源于stack exchange,提问作者linuxnoob
相关产品推荐
相关产品推荐

