searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

CosBench工具设置用户名密码

2023-07-05 03:11:42
20
0
 

一,Cosbench工具介绍

COSBench是Intel基于java开发的,用于对象存储的性能测试的开源工具,全称是Cloud object Storage Bench。

Cosbench主要由两个组件组成:

● Driver(Load Generator):负责生成工作负载,向目标云对象存储发出操作;性能统计,可通过 http://:18088/driver/index.html 访问

● Controller:负责协调drivers集体执行工作,收集和汇总聚合来自driver实例的运行时状态或基准测试结果,可通过 http://:19088/controller/index.html访问

两个组件可以混合部署在一个节点上,也可以分开来部署。

 

二,Cosbench工作流程

根据Cosbench的使用介绍可以了解到,有两种方式提交测试任务,一是使用命令行提交测试配置文件执行,二是通过web页面提交测试配置文件。第二种方式对应的工作流程图如下:

 

流程说明:

1.  用户通过Cosbench页面提交xml文件,生成测试任务

2.  Controller进行获取和校验xml文件的内容,执行三种动作:

S3 client auth:如果是S3对象存储,则执行S3的认证,获取session

识别任务类型:包括init, write,delete,read等

分发任务到各个driver:将work分发给指定的driver,driver按照逻辑执行对应的任务

3.  配置文件中的每一个workstage结束后,都会在web页面自动更新状态

三,Cosbench页面认证

当Cosbench启动以后,可以在本地使用浏览器访问用户Web控制台提交测试任务,浏览器地址栏输入http://ip:19088/controller,页面访问正常,且driver状态为绿色,则表示cosbench工具运行成功。如下图所示:

 

 

在首次访问Cosbench Web控制台时,细心的用户会注意到,浏览器会弹出是否保存cosbench默认的用户名和密码。说明在使用web控制台时,cosbench是需要做验证的。可是为什么会自动进行登录呢?默认的用户名密码是怎么定义的呢?

四,Cosbench用户认证

带着疑问,查看cosbench的配置文件,找到如下配置,定义了使用cosbench默认的用户名和密码:

[root@host1 conf]$ cat cosbench-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="cosbench"/>
  <user username="anonymous" password="cosbench" roles="cosbench"/>
</tomcat-users>
 

用户名密码定义之后,Cosbench是如何获取的呢?继续查看代码,cosbench在启动时会调用脚本顺序如下:

查看conf目录下的controller-tomcat-server.xml文件,指定了web访问的用户名密码信息。

[root@host1 conf]$ cat controller-tomcat-server.xml
<Server>
	<Service name="Catalina">
		<Connector port="19088" protocol="HTTP/1.1" />
		<Engine name="Standalone" defaultHost="0.0.0.0">
		    <Realm className="org.apache.catalina.realm.MemoryRealm"
				pathname="./conf/cosbench-users.xml"/>
			<Host name="0.0.0.0" unpackWARs="false" autoDeploy="false"
				liveDeploy="false" deployOnStartup="false" xmlValidation="false"
				xmlNamespaceAware="false" />
		</Engine>
	</Service>
</Server>
 

指定了用户名密码,在执行任务时,cosbench又是如何获取这些认证信息的呢?根据第二章节的介绍,提交任务其实就是后台调用了cli.sh中的submit操作。于是可以分析cli.sh的代码发现,username和password两个参数默认值为空,在usage()中也介绍了,当参数为空时,默认使用anonymouscosbench。正好和controller-tomcat-server.xml文件中指定的一致。

address=127.0.0.1:19088
username=""   ------------------------默认为空
password=""   ------------------------默认为空

usage()
{
        echo
        echo "Usage: $0 <action: submit|cancel|info> <parameter> <web username:password@ip:port>"
        echo "  - action:"
        echo "          - <submit> <configuration file>: submit configuration and start workload"
        echo "          - <cancel> <workload id>: cancel workload"
        echo "          - <info>: check status"
        echo "  - <web username:password@ip:port> anonymous:cosbench@127.0.0.1:19088 by default"
        echo
}
 

五,安全加固

通过第四章节的分析得知,如果在内部集群环境上使用Cosbench进行对象存储的测试,会使用默认的用户名和密码,而且还是匿名用户,这样会给集群带来很大的安全隐患,因此在内部使用时,建议修改Cosbench Web页面访问的用户认证信息。操作如下:

1.  修改Cosbench conf目录下的cosbench-users.xml配置文件中的用户名和密码,满足密码格式要求即可

2.  修改Cosbench 目录下的cli.sh中username和password两个参数的值

3.  重启Cosbench Controller服务

4.  重新访问Cosbench Web页面。

5.  输入正确的用户名和密码信息,即可登录到第三章节展示的Web页面。

至此,便完成了Cosbench的用户名密码修改,为了加强安全,建议将Cosbench的访问信息进行单独设置。

0条评论
作者已关闭评论
Mr. 油
89文章数
0粉丝数
Mr. 油
89 文章 | 0 粉丝
原创

CosBench工具设置用户名密码

2023-07-05 03:11:42
20
0
 

一,Cosbench工具介绍

COSBench是Intel基于java开发的,用于对象存储的性能测试的开源工具,全称是Cloud object Storage Bench。

Cosbench主要由两个组件组成:

● Driver(Load Generator):负责生成工作负载,向目标云对象存储发出操作;性能统计,可通过 http://:18088/driver/index.html 访问

● Controller:负责协调drivers集体执行工作,收集和汇总聚合来自driver实例的运行时状态或基准测试结果,可通过 http://:19088/controller/index.html访问

两个组件可以混合部署在一个节点上,也可以分开来部署。

 

二,Cosbench工作流程

根据Cosbench的使用介绍可以了解到,有两种方式提交测试任务,一是使用命令行提交测试配置文件执行,二是通过web页面提交测试配置文件。第二种方式对应的工作流程图如下:

 

流程说明:

1.  用户通过Cosbench页面提交xml文件,生成测试任务

2.  Controller进行获取和校验xml文件的内容,执行三种动作:

S3 client auth:如果是S3对象存储,则执行S3的认证,获取session

识别任务类型:包括init, write,delete,read等

分发任务到各个driver:将work分发给指定的driver,driver按照逻辑执行对应的任务

3.  配置文件中的每一个workstage结束后,都会在web页面自动更新状态

三,Cosbench页面认证

当Cosbench启动以后,可以在本地使用浏览器访问用户Web控制台提交测试任务,浏览器地址栏输入http://ip:19088/controller,页面访问正常,且driver状态为绿色,则表示cosbench工具运行成功。如下图所示:

 

 

在首次访问Cosbench Web控制台时,细心的用户会注意到,浏览器会弹出是否保存cosbench默认的用户名和密码。说明在使用web控制台时,cosbench是需要做验证的。可是为什么会自动进行登录呢?默认的用户名密码是怎么定义的呢?

四,Cosbench用户认证

带着疑问,查看cosbench的配置文件,找到如下配置,定义了使用cosbench默认的用户名和密码:

[root@host1 conf]$ cat cosbench-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="cosbench"/>
  <user username="anonymous" password="cosbench" roles="cosbench"/>
</tomcat-users>
 

用户名密码定义之后,Cosbench是如何获取的呢?继续查看代码,cosbench在启动时会调用脚本顺序如下:

查看conf目录下的controller-tomcat-server.xml文件,指定了web访问的用户名密码信息。

[root@host1 conf]$ cat controller-tomcat-server.xml
<Server>
	<Service name="Catalina">
		<Connector port="19088" protocol="HTTP/1.1" />
		<Engine name="Standalone" defaultHost="0.0.0.0">
		    <Realm className="org.apache.catalina.realm.MemoryRealm"
				pathname="./conf/cosbench-users.xml"/>
			<Host name="0.0.0.0" unpackWARs="false" autoDeploy="false"
				liveDeploy="false" deployOnStartup="false" xmlValidation="false"
				xmlNamespaceAware="false" />
		</Engine>
	</Service>
</Server>
 

指定了用户名密码,在执行任务时,cosbench又是如何获取这些认证信息的呢?根据第二章节的介绍,提交任务其实就是后台调用了cli.sh中的submit操作。于是可以分析cli.sh的代码发现,username和password两个参数默认值为空,在usage()中也介绍了,当参数为空时,默认使用anonymouscosbench。正好和controller-tomcat-server.xml文件中指定的一致。

address=127.0.0.1:19088
username=""   ------------------------默认为空
password=""   ------------------------默认为空

usage()
{
        echo
        echo "Usage: $0 <action: submit|cancel|info> <parameter> <web username:password@ip:port>"
        echo "  - action:"
        echo "          - <submit> <configuration file>: submit configuration and start workload"
        echo "          - <cancel> <workload id>: cancel workload"
        echo "          - <info>: check status"
        echo "  - <web username:password@ip:port> anonymous:cosbench@127.0.0.1:19088 by default"
        echo
}
 

五,安全加固

通过第四章节的分析得知,如果在内部集群环境上使用Cosbench进行对象存储的测试,会使用默认的用户名和密码,而且还是匿名用户,这样会给集群带来很大的安全隐患,因此在内部使用时,建议修改Cosbench Web页面访问的用户认证信息。操作如下:

1.  修改Cosbench conf目录下的cosbench-users.xml配置文件中的用户名和密码,满足密码格式要求即可

2.  修改Cosbench 目录下的cli.sh中username和password两个参数的值

3.  重启Cosbench Controller服务

4.  重新访问Cosbench Web页面。

5.  输入正确的用户名和密码信息,即可登录到第三章节展示的Web页面。

至此,便完成了Cosbench的用户名密码修改,为了加强安全,建议将Cosbench的访问信息进行单独设置。

文章来自个人专栏
文章 | 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0