Grafana功能管控方法、装置、电子设备及介质
技术领域
本发明涉及软件测试领域,特别涉及一种Grafana功能管控方法、装置、电子设备及存储介质。
背景技术
Grafana是一个数据可视化平台,用于数据监控和数据统计。相关技术中,开发人员可以将Grafana平台嵌入至自有平台,以使用Grafana所提供的功能,然而此时Grafana平台仅能为自有平台提供公共功能,难以为自有平台中的每一用户提供专有服务,影响自有平台对Grafana功能的管控。
发明内容
本发明的目的是提供一种Grafana功能管控方法、装置、电子设备及存储介质,可利用Grafana平台的用户信息管理机制为自有平台的用户提供相应功能,进而确保Grafana平台能为自有平台的用户提供专有功能,提升自有平台对相关功能的管控能力。
为解决上述技术问题,本发明提供一种Grafana功能管控方法,包括:
当接收到登录信息时,将所述登录信息发送至Grafana平台,以使所述Grafana平台对所述登录信息进行验证,并在验证通过后返回响应信息;
利用所述响应信息组装Cookie数据,并在检测到所述Grafana平台被激活时,将所述Cookie数据发送至所述Grafana平台,以使所述Grafana平台对所述Cookie数据进行验证,并在验证通过后返回对应用户的Grafana功能数据。
可选地,所述将所述Cookie数据发送至所述Grafana平台,包括:
利用预设父域名确定所述Grafana平台对应的子域名;
跳转至所述子域名,并将所述Cookie数据写入所述子域名,以使所述Grafana平台通过所述子域名获取所述Cookie数据。
可选地,所述跳转至所述子域名,包括:
将所述子域名对应的页面设置为嵌套页面,并跳转至所述子域名。
可选地,在利用所述响应信息组装Cookie数据之后,还包括:
当检测到退出事件时,调用所述Grafana平台的登出接口将所述Cookie数据设置失效。
可选地,所述将所述登录信息发送至Grafana平台,包括:
通过所述Grafana平台的登录接口将所述登录信息发送至所述Grafana平台。
可选地,在接收登录信息之前,还包括:
当接收到注册信息时,将所述注册信息发送至所述Grafana平台,以使所述Grafana平台利用所述注册信息生成用户信息。
可选地,在所述Grafana平台利用所述注册信息生成用户信息之后,还包括:
当接收到用户变更信息时,将所述用户变更信息发送至所述Grafana平台,以使所述Grafana平台利用所述用户变更信息更新对应的用户信息。
本发明还提供一种Grafana功能管控装置,包括:
登录模块,用于当接收到登录信息时,将所述登录信息发送至Grafana平台,以使所述Grafana平台对所述登录信息进行验证,并在验证通过后返回响应信息;
Grafana激活模块,用于利用所述响应信息组装Cookie数据,并在检测到所述Grafana平台被激活时,将所述Cookie数据发送至所述Grafana平台,以使所述Grafana平台对所述Cookie数据进行验证,并在验证通过后返回对应用户的Grafana功能数据。
本发明还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的Grafana功能管控方法。
本发明还提供一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上述所述的Grafana功能管控方法。
本发明提供一种Grafana功能管控方法,包括:当接收到登录信息时,将所述登录信息发送至Grafana平台,以使所述Grafana平台对所述登录信息进行验证,并在验证通过后返回响应信息;利用所述响应信息组装Cookie数据,并在检测到所述Grafana平台被激活时,将所述Cookie数据发送至所述Grafana平台,以使所述Grafana平台对所述Cookie数据进行验证,并在验证通过后返回对应用户的Grafana功能数据。
可见,本发明在接收到登录信息时,会将登录信息发送至Grafana平台进行验证,并利用该平台返回的响应信息组装Cookie数据,以便Grafana平台利用该Cookie数据提供相应的功能服务,换而言之,本发明基于Grafana平台的用户信息管理机制为自有平台的用户提供Grafana功能,可确保Grafana平台为自有平台的用户提供专有功能,避免相关技术仅能利用Grafana平台为自有平台提供公共功能的情况,进而有效提升自有平台对Grafana功能的管控能力;同时,为了避免用户在自有平台中使用Grafana服务时需要再次登录的情况,本发明在确定Grafana平台被激活时,会将Cookie数据发送至该平台。由于Cookie数据由响应信息组装而来,包含用于用户验证的必要信息,因此能够确保Grafana平台利用Cookie数据进行高效验证,避免用户再次登陆的问题,进而有效提升Grafana平台为自有平台提供Grafana服务的效率。本发明还提供一种Grafana功能管控装置、电子设备及存储介质,具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种Grafana功能管控方法的流程图;
图2为本发明实施例所提供的一种Grafana功能管控装置的结构框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,开发人员可以将Grafana平台嵌入至自有平台,以使用Grafana所提供的功能,然而此时Grafana平台仅能为自有平台提供公共功能,难以为自有平台中的每一用户提供专有服务,影响自有平台对Grafana功能的管控。有鉴于此,本发明提供一种Grafana功能管控方法,可利用Grafana平台的用户信息管理机制为自有平台的用户提供相应功能,进而确保Grafana平台能为自有平台的用户提供专有功能,提升自有平台对相关功能的管控能力。请参考图1,图1为本发明实施例所提供的一种Grafana功能管控方法的流程图,该方法可以包括:
S101、当接收到登录信息时,将登录信息发送至Grafana平台,以使Grafana平台对登录信息进行验证,并在验证通过后返回响应信息。
需要说明的是,本发明所提供方法的执行主体为自有平台,其中自有平台指开发人员根据应用需求自行开发的平台。本发明实施例并不限定自有平台的开发框架,可根据实际应用需求进行选择,例如在一种可能的情况中,自有平台的开发框架可以为Flask框架,其中Flask为一个基于Python语言开发的网络应用框架。
相关技术中,为了将Grafana平台嵌入至自有平台,开发人员通常会将Grafana的登录模式设置为匿名登录,以使Grafana平台为自有平台中的所有用户提供公共服务。然而在这种情况中,每一用户都可以接触到Grafana平台的功能及其所管理的数据,这导致管理人员不仅难以对Grafana平台的权限进行管理,同时也难以管理用户数据,进而导致自有平台难以对Grafana所提供的功能进行有效管控。而在本发明中,则采用Grafana内建的用户信息管理机制为自有平台的用户提供相应的功能,换句话说,本发明将自有平台及Grafana的用户信息管理机制打通,确保Grafana平台也可以根据自有平台的用户信息提供专有的服务。进而在本发明中,当自有平台接收到登录信息时,会将该信息发送至Grafana平台进行验证,确保用户在登录自有平台的同时,也登录了Grafana平台。
需要说明的是,本发明实施例并不限定登录信息中包含的具体内容,例如可以为用户名、密码等,可根据实际应用需求进行设置。本发明也不限定如何将登录信息发送至Grafana平台,例如按照预定格式将登录信息进行封装,并将封装后的登录信息发送至Grafana平台,以使Grafana平台按照预设格式对登录信息进行解析并验证;当然,自有平台也可以通过调用Grafana平台所提供的登录接口,将登录信息作为参数发送至Grafana平台。考虑到登录接口为Grafana原生提供的功能接口,利用该接口进行数据传输能够有效避免再次开发,因此在本发明实施例中,可以通过Grafana平台的登录接口(具体为/login)将登录信息发送至Grafana平台。需要说明的是,本发明实施例并不限定该登录接口的具体形式,也不限定调用该接口的具体方式,可参考Grafana的相关技术。
在一种可能的情况中,将登录信息发送至Grafana平台,包括:
步骤11:通过Grafana平台的登录接口将登录信息发送至Grafana平台。
进一步,可以理解的是,自有平台为了利用Grafana平台的用户信息管理机制实现为用户提供专有的Grafana服务,在进行用户注册时,也需要将用户的注册信息发送至Grafana平台,以使Grafana平台利用注册信息创建了对应的用户信息,这样,自有平台在将登录信息发送到Grafana平台时,Grafana平台才能够利用已创建的用户信息对登录信息进行验证。
在一种可能的情况中,在接收登录信息之前,还包括:
步骤21:当接收到注册信息时,将注册信息发送至Grafana平台,以使Grafana平台利用注册信息生成用户信息。
需要说明的是,对自有平台如何将注册信息发送至Grafana平台的描述,与自有平台如何将登录信息发送至Grafana平台的限定描述一致,此处不再赘述。在一种可能的情况中,可以通过Grafana平台的注册接口(该接口具体为/api/admin/user)将注册信息发送至Grafana平台。本发明实施例也不限定注册信息中具体包含的内容,例如可以包含用户名、密码、邮箱、姓名等,可根据实际应用需求进行设置。
进一步,可以理解的是,当用户信息发生变更时,自有平台也应当将用户变更信息发送至Grafana平台进行相应的更新操作。
在一种可能的情况中,在Grafana平台利用注册信息生成用户信息之后,还包括:
步骤31:当接收到用户变更信息时,将用户变更信息发送至Grafana平台,以使Grafana平台利用用户变更信息更新对应的用户信息。
需要说明的是,本发明实施例并不限定用户变更信息中包含的内容,例如可以为用户名、密码、姓名、邮箱等,可根据实际应用需求进行设置。
进一步,本发明实施例并不限定自有平台是否可以设置单独的用户信息管理机制,该机制提供用户登录验证、用户注册及用户信息变更功能,而在将登录信息、注册信息及用户变更信息发送至Grafana平台之前,自有平台需要利用该独立的用户信息管理机制进行相应的操作,如对登录信息进行验证,利用注册信息生成用户信息,以及利用用户变更信息对对应的用户信息进行更新,只有当自有平台的用户信息管理机制完成相应操作后,才将这些信息发送至Grafana平台,以便Grafana平台利用这些信息进一步完成相应的操作。当Grafana平台所提供的用户信息管理机制已能够满足自有平台的应用需求时,自有平台可以不需要单独设置用户信息管理机制;当自有平台对用户信息管理机制进行扩展,或是自有平台中设置有其他功能,并非所有用户都需要使用Grafana平台的功能时,自有平台也可以设置单独的用户信息管理机制。
进一步,可以理解的是,Grafana平台确定登录信息通过验证后,便会向自有平台返回响应信息,该响应信息为登录信息通过验证时对应的响应信息。本发明实施例并不限定该响应信息中的具体内容,可参考Grafana的相关技术。当然,若Grafana平台在确定登录信息未通过验证时也会返回响应信息时,自有平台也可以根据响应信息的具体内容判断登录状态(登录成功、登录失败),并在登录状态为登录成功时利用响应信息组装Cookie数据,在登录状态为登录失败时向输出提示信息或不进行任何操作。
S102、利用响应信息组装Cookie数据,并在检测到Grafana平台被激活时,将Cookie数据发送至Grafana平台,以使Grafana平台对Cookie数据进行验证,并在验证通过后返回对应用户的Grafana功能数据。
Cookie是一种存储于用户本地终端上的、用于辨别用户身份的数据。由于Cookie数据中包含辨别用户身份的关键数据,因此在本发明实施例中可利用Cookie数据维持用户在Grafana平台中的登录状态,避免用户在自有平台中需要再次登录Grafana平台的问题。可以理解的是,由于Cookie数据存在于网络应用中,在本发明中,自有平台及Grafana平台均为网络应用,并都具有前端页面。
需要说明的是,本发明实施例并不限定利用响应信息中的哪些数据组装Cookie数据,具体可依照Grafana进行Cookie验证时所需的信息类型进行设置,例如可见响应信息中的grafana_remember记忆数据、grafana_sess会话数据及grafana_user用户数据组装至Cookie数据中。本发明也不限定组装Cookie数据的具体方式,可参考Cookie的相关技术。可以理解的是,在完成对Cookie数据的组装之后,自有平台也可以对该Cookie数据进行存储。
进一步,可以理解的是自有平台的前端页面设置有域名。本发明实施例并不限定自有平台如何将Cookie数据发送至Grafana平台,例如可以将Grafana平台的完整功能移植到自有平台中,并使用自有平台前端页面的域名直接访问Grafana平台(而并非使用页面跳转或是嵌入页面的方式访问Grafana平台),此时自有平台便可将Cookie数据设置于该域名下,而Grafana平台便可利用该域名获取到该Cookie数据;或者是自有平台将其前端页面的域名设置为父域名,并基于该父域名为Grafana平台设置子域名,此时自有平台便可将Cookie数据存储至子域名中,而Grafana平台可通过子域名获取到该Cookie数据。为了减少移植所带来的开发工作,在本发明实施例中,可以基于自由平台的父域名,为Grafana平台设置子域名,并将Cookie数据保存至该子域名中,以便Grafana平台通过子域名获取该Cookie数据。
在一种可能的情况中,将Cookie数据发送至Grafana平台,包括:
步骤41:利用预设父域名确定Grafana平台对应的子域名;
步骤42:跳转至子域名,并将Cookie数据写入子域名,以使Grafana平台通过子域名获取Cookie数据。
需要说明的是,本发明实施例并不限定Grafana通过子域名获取Cookie数据的具体方式,可参考HTTP超文本传输协议的相关技术;本发明实施例也不限定预设父域名及子域名的具体形式,可参考域名的相关技术进行设置。在一种可能的情况中,自有平台的父域名为qc.test.com,此时可以为Grafana平台设置子域名:grafana.qc.test.com。
进一步,本发明实施例并不限定域名跳转的具体方式,该方式与自有平台的具体开发框架有关,可根据具体情况进行选择,例如当自有平台的开发框架为Flask时,可利用Flask的redirect模块进行跳转。本发明实施例自有平台是采用直接跳转的方式进行页面跳转,抑或是采用在嵌套页面内进行跳转的方式进行页面跳转。当Grafana平台的功能为自有平台主要展示的功能时,可采用直接跳转的方式进行页面跳转;当自有平台设置有其他功能,需要对其他功能进行展示时,也可以在嵌套页面内进行跳转。考虑到自有平台可能提供其他的功能,若将子域名对应的页面在嵌套页面内进行跳转,还能够在自有平台前端页面中显示其他功能,因此在本发明实施例中,可以将子域名对应页面设置为嵌套页面,进而可在嵌套页面内进行跳转。本发明实施例并不限定将子域名对应页面设置为嵌套页面的方式,可参考HTML(HyperText Markup Language,超文本标记语言)的相关技术,例如可以采用<iframe>标签将子域名对应页面设置为嵌套页面,其中<iframe>为一个用于设置嵌套页面的HTML标签。
在一种可能的情况中,跳转至子域名,包括:
步骤51:将子域名对应的页面设置为嵌套页面,并跳转至子域名。
进一步,本发明实施例并不限定检测Grafana平台是否被激活的方式,例如可以在用户完成登录后自动判定Grafana平台被激活,也可以为Grafana平台设置对应菜单,并检测到用户点击该菜单时,判定Grafana平台被激活。考虑到Grafana平台具有诸多功能,为了提升用户使用体验,可以为Grafana平台设置对应菜单(该菜单具体可以为/Grafanameun),并在检测到用户点击该菜单时,判定Grafana平台被激活。
最后,可以理解的是,当用户登出自有平台时,需要将Cookie数据设置为无效,以消除用户在Grafana平台上的登录状态;同时,由于Cookie数据中包含有Grafana用于确认用户登录状态的关键数据,因此应当利用Grafana平台的登出接口(该接口具体可以为/logout)将这些关键数据设置失效,进而将Cookie数据设置失效。
在一种可能的情况中,在利用响应信息组装Cookie数据之后,还包括:
步骤61:当检测到退出事件时,调用Grafana平台的登出接口将Cookie数据设置失效。
基于上述实施例,本发明在接收到登录信息时,会将登录信息发送至Grafana平台进行验证,并利用该平台返回的响应信息组装Cookie数据,以便Grafana平台利用该Cookie数据提供相应的功能服务,换而言之,本发明基于Grafana平台的用户信息管理机制为自有平台的用户提供Grafana功能,可确保Grafana平台为自有平台的用户提供专有功能,避免相关技术仅能利用Grafana平台为自有平台提供公共功能的情况,进而有效提升自有平台对Grafana功能的管控能力;同时,为了避免用户在自有平台中使用Grafana服务时需要再次登录的情况,本发明在确定Grafana平台被激活时,会将Cookie数据发送至该平台。由于Cookie数据由响应信息组装而来,包含用于用户验证的必要信息,因此能够确保Grafana平台利用Cookie数据进行高效验证,避免用户再次登陆的问题,进而有效提升Grafana平台为自有平台提供Grafana服务的效率。
下面对本发明实施例提供的Grafana功能管控装置、电子设备及存储介质进行介绍,下文描述的Grafana功能管控装置、电子设备及存储介质与上文描述的Grafana功能管控方法可相互对应参照。
请参考图2,图2为本发明实施例所提供的一种Grafana功能管控装置的结构框图,该装置可以包括:
登录模块201,用于当接收到登录信息时,将登录信息发送至Grafana平台,以使Grafana平台对登录信息进行验证,并在验证通过后返回响应信息;
Grafana激活模块202,用于利用响应信息组装Cookie数据,并在检测到Grafana平台被激活时,将Cookie数据发送至Grafana平台,以使Grafana平台对Cookie数据进行验证,并在验证通过后返回对应用户的Grafana功能数据。
可选地,Grafana激活模块202,可以包括:
域名确定子模块,用于利用预设父域名确定Grafana平台对应的子域名;
跳转子模块,用于跳转至子域名,并将Cookie数据写入子域名,以使Grafana平台通过子域名获取Cookie数据。
可选地,跳转子模块,可以包括:
跳转单元,用于将子域名对应的页面设置为嵌套页面,并跳转至子域名。
可选地,该装置还可以包括:
退出模块,用于当检测到退出事件时,调用Grafana平台的登出接口将Cookie数据设置失效。
可选地,登录模块201,可以包括:
登录子模块,用于通过Grafana平台的登录接口将登录信息发送至Grafana平台。
可选地,该装置还可以包括:
注册模块,用于当接收到注册信息时,将注册信息发送至Grafana平台,以使Grafana平台利用注册信息生成用户信息。
可选地,该装置还可以包括:
信息变更模块,用于当接收到用户变更信息时,将用户变更信息发送至Grafana平台,以使Grafana平台利用用户变更信息更新对应的用户信息。
本发明实施例还提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现如上述的数据写入方法的步骤。
由于电子设备部分的实施例与Grafana功能管控方法部分的实施例相互对应,因此电子设备部分的实施例请参见Grafana功能管控方法部分的实施例的描述,这里暂不赘述。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例的Grafana功能管控方法的步骤。
由于计算机可读存储介质部分的实施例与Grafana功能管控方法部分的实施例相互对应,因此计算机可读存储介质部分的实施例请参见Grafana功能管控方法部分的实施例的描述,这里暂不赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的一种Grafana功能管控方法、装置、电子设备及存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种接口测试方法以及装置