easyconfig用户操作指南

https://gitee.com/sleepywang1024/easyconfig/blob/master/user-guide.md 

easyconfig用户操作指南

面向研发团队(包括产品)配参日常维护及管理工作,介绍easyconfig管理控制台的操作指导。如果你还在做系统的开发建设,请移驾quickstart开发指南,如果你在早期设计阶段,请移驾设计指南

访问管理控制台

默认访问地址

easyconfig的管理控制台的默认地址为**/easyconfig-admin/home.html** ,如果重新配置了这个地址,请通过修改后的地址访问。

默认访问账号

easyconfig开启内置安全控制机制,需要登陆才能访问。首次访问**/easyconfig-admin/home.html** 时看到不是首页,而是登陆页面,如下所示:

easyconfig内置的默认账号是easy,密码为config。安全考虑,easyconfig用户需要及时修改此账号密码,或者删除此账号。详细操作请参考用户及安全管理

配参管理首页

录入用户名、密码,点击【登录】,easyconfig验证成功后,就可以进入easyconfig首页了,如下示意:

【首页】是easyconfig的门户,通常情况所有用户操作都在这里进行,或者由这里导航到相应功能页面。

已有配参装载

概述

easyconfig是系统参数的仓库和库管员。要让它行使管理职责,并不需要你把货物拉过来,easyconfig会自己去拉。

对于系统代码中已经定义的配参,easyconfig能自动检测并展示给出来,供用户选择及导入。而不需要通过线下手段复制粘贴——繁琐且容易出错。

访问地址

【首页】-> 【配参工具】 -> 【查看并装载】

操作介绍

操作界面如下图所示。展示所有通过@Value、@EasyValue、@ValueEx标注,但并没有纳入到easyconfig管理和更新的配参,都会展示出来。

选中并执行导入,立即生效。

如果不想导入所有,过滤框辅助定位你要导入的内容。

内容说明

表格列说明

操作选中为待导入项

配参代码属性代码,程序引用配参项使用

推导名称来自@EasyValue 和 @ValueEx的name属性,没有name属性,则为配参代码

当前数值Bean对象中相应属性的当前数值

推导格式基于Bean对象中相应属性,推导的配参数据类型、对象属性等

被适用于当前配参在什么地方被使用了

推导格式

easyconfig会尝试推导出配参的数据类型格式,如果是Bean对象,会推导其属性以及各个属性的类型等。这些都会与代码、名称、数值一起导入进来,给配参的管理带来很多便利。

推导的类型和格式还不尽完善,对配参的管理已经有很大帮助,欢迎研发同学在推导的基础上进一步完善,详情参见配参设置与校验

配参维护与更新

概述

配参维护和实时更新都是配参管理的核心功能,其它功能围绕这个核心的展开的。

访问地址

【首页】-> 【编辑】(【操作列】的编辑按钮)

【首页】-> 鼠标双击【配参数值】 单元格

【首页】 -> 【设置】 (【操作列】的设置按钮)

内容说明

表格列说明

配参代码配参属性的代码,供程序使用、不能修改、自动增序排列

配参名称配参属性的名称,供人阅读、使用,可修改

配参数值配参对应的内容,双击可就地编辑。内容过多时截断展示,悬浮框展示全部。

最后修改配参最后的修改人和 修改时间

操作针对当前配参行的操作:修改设置历史探查及删除历史 提供恢复功能。

快捷编辑配参数值

通过鼠标双击配参项配参数值单元格,可以直接对配参进行修改。

点击【操作列】的编辑按钮具有与双击配参数值同样效果。

详细设置配参属性

通过配参设置功能可以设计配参数值、加解密、以及配参名称、类型、结构、各类约束,管理属性如必需、只读等。特别适合于对复杂数据类型配参的维护,以及用于特殊管理要求的配参维护。

保存编辑的配参

无论是快捷编辑,还是通过设置编辑,都是在客户端进行,不会立即生效。生效需要点击执行**【保存配参】**操作。

配参项过滤查找

【首页】提供配参项过滤查找功能(左侧上部)。输入查找内容时,配参列表实时基于输入进行过滤。

过滤内容包括:代码、名称、数值。

变更历史及恢复

概述

变更历史及恢复功能通过记录修改历史、以及基于修改记录恢复配参,承担了以下管理职责:

问题盘查

合规审计

错误快速恢复

版本快速切换

访问地址

【主页】 -> 【配参管理】 -> 【管理变更】 -> 【整体回滚】 、 【批次回滚】 、 【批次修复】

【主页]】-> 【历史】(操作列)

单一配参恢复

单一配参记录的恢复操作在主界面的**【历史】对话框中,恢复操作后,需要保存配参**方能生效。

变更历史说明

主要的变更历史记录管理和恢复操作存在于**【管理变更】**页面。如下图所示:

表格列说明

#变更ID,递增,倒序(降序)排列

变更汇总此次变更修改的配参数量、以及变更的说明信息等

变更内容此次变更的详细记录。包括代码、变更动作、修改前后的数值、明文/密文、以及修改前的名称、约束等内容。

变更触发变更由谁在什么时间发起

操作【整体回滚】 、 【批次回滚】 、 【批次恢复】

变更详情的执行次序是由上至下。当执行变更恢复操纵时,系统执行依次执行逆向的反操作:改回原来的状态。当一个变更发生后又连续发生多次变更的情况下,恢复到当前变更时就会出现针对一个配参多次改回的情况,详细记录依次的修改。这种设计会适度增大日志数据,但不影响最终结果。

变更动作说明

动作标识动作说明

createdeasyconfig中新建配参项,由没有纳入管理到纳入管理

updated配参项的数值被修改

setup配参项被修改,包括数值、名称、密文/明文、约束等等

deleted配参项被从easyconfig中移除,不再接受其管理

批次配参恢复

针对一次配参变更的恢复支持两种情况:

【批次回滚】 :把此次变更所涉及的配参,恢复到此次变更之前的内容(此次结果错误,需修复)。

【批次恢复】:把此次变更所涉及的配参,恢复到此次变更之后的内容(此次结果正确,需保留)

整体配参恢复

把所有配参作为一个整体进行管理维护。

【整体回滚】:从最新(最后)一次变更开始,所有内容逆向依次恢复到当前变更之前(此次修改被恢复)。

配参分组管理

概述

配参、属性、变量这些都是技术术语,可用于任意系统和模块。研发的实际情况也是如此,只要是一个系统的,无论属于那个模块,混杂在一起管理。如果配参很多,就变得混乱和不便。

配参分组管理是针对上述问题的解决方案,归属于统一模块的配参放到一起单独管理,与其它配参分开。

分组管理 的基本方式是把相同配参代码前缀的配参归属到一起管理,【管理分组】就是维护分组代码前缀与分组名称的对照表,对于没有定义分组的配参,统一归属到【主页】的默认分组中。

访问地址

【首页】->【配参管理】 -> 【管理分组】

维护分组

分组维护界面如下图所示,包括分组的创建修改删除

配参详情探查

概述

配参可以在多种环境下配置,除了常见的配置properties、yml文件外,还有命令行参数、操作系统环境变量、配置中心等等。另外,一个配参可以在多处、以多种方式被使用。

配参详情探查 告诉用户配参都在什么地方被配置、配置的数值是什么、以及当前的生效数值是什么。还有配参都在什么地方被使用,使用此配参的对象的相应属性值是什么。通常都会与配参相同,但由于组合表达式的存在、默认值的存在、以及可能的处理异常,也会存在不一致的情况。

总之,配参详情探查帮助用户洞悉配参定义 和 使用,发现问题及不一致,以及评估配参变更对系统的影响。例如easyconfig删除动态配参,系统并不会保持当前数值不变、也不是设置为null或0,而是会导致前一个低优先级配置生效。

访问地址

【首页】 -> 【探查及删除】 (【操作列】的探查及删除按钮)

【首页】->【配参工具】 -> 【探查工具】

配参记录探查

针对已经纳入管理的配参,通过【主页】面【操作列】的探查及删除按钮就可以进行,如下图示意:

手工配参探查

针对还没有纳入管理的配参,例如其它模块引用、未使用@Value等标注引用等,可以手工输入配参代码进行探查。如下图示意:

探查说明

配参定义

数据项说明

数值配参在数据源中的数值。

来源配参来源的数据源的名称,通常是一些属性文件, easyconfig_dynamic_property_source就是easyconfig自己。

实现配参装载到系统中的实现类。

通过标注使用

数据项说明

beanName配参所在对象在Spring中的Bean Name

toString()配参所在对象toString()访问返回值

class配参所在对象的定义类

lib配参所在对象定义类所存放的目录或jar包

数值配参被引用的属性的当前数值

标注配参被引用的属性的标注声明

声明配参被引用的属性的定义声明

配参删除

已经纳入easyconfig管理的配参,可以通过执行**【删除此配参项】**删除。删除后次一优先级的定义生效。

环境变量查看

概述

应用系统的行为除了受研发人员定义的配参,还有受到操作系统环境变量,JAVA运行时变量,以及指定的profiles文件等影响。环境变量查看为用户提供这些信息的查看。

通过动态配参设置,也能对这类变量的数值进行覆盖,但要慎之又慎,动态配参的设置目的是研发人员创建的配参。

访问地址

【首页】->【辅助功能】 -> 【环境变量】

内容说明

Profiles。应用系统的active和default的profiles信息。

System Environment。操作系统的环境变量信息。

System Properties。Java相关的环境信息。

配参导出导入

概述

把一个系统环境下的全部部分配参,迁移到另一个环境中,easyconfig为此提供了导出导入工具。

访问地址

【首页】->【配参工具】 -> 【导出】

【首页】->【配参工具】 -> 【导入】

导出

【导出】当前页面的所有配参定义,包括代码、名称、数值、约束等。

注:【主页】面上的配参项过滤查找功能,会作用于【导出】功能。也就是只导出当前页面展示的配参。

导入

导入的操作界面如下图所示,导入操作过程如下:

选取配参文件,配参文件必须是easyconfig导出的json格式。

指定更新范围(可选)。导入只更新部分内容,名称数值约束复选,默认为选中为数值

过滤待导记录(可选)。只导入部分配参项,可以通过界面环境下拉框过滤框进行过滤定位。

选中导入记录(可选)。只导入部分配参项,通过选中/取消精确指定要导入的配参项。

指定导入的环境。

执行**【导入配参(保存后生效)】**。用导入数据更新【主页】相应配参的相应内容。

保存配参(【主页】)到配参数据源。导入操作不是立即生效,行为类似于编辑,需要保存配参方能生效。

配参加密与解密

概述

针对敏感信息,easyconfig支持已加密的形式保存在数据源,无论研发人员还是运维人员看到的都是密文。 尽管数据源存储的是密文,但应用系统接收到的仍然是明文,否则就无法基于这些配参做事情了。

访问地址

【首页】 -> 【设置】 (【操作列】的设置按钮) -> 【配参数值】

【首页】 -> 【配参工具】 -> 【加解密工具】

联机加密设置

在**【设置】功能的【配参数值】页签,可以对配参进行加解密,只需要选中取消选中【密文形式保存】** 复选框,然后【确认】及【保存配参】即可。如下图示意所示:

生成脱机密文

对于一些关键如基础的数据库连接、用户密码之类,且需要第一时间加载的配参,需要easyconfig工作之前生效,前述方法就不可以了。例如easyconfig动态配参数据源的连接用户密码,可以使用脱机方式设置密文。

使用独立的**【加解密工具】**获得密文,然后配置到属性文件中。具体方式是属性文件中放置密文,同时把加密属性的代码登记到easyconfig.cipher-keys属性下(不同加密项的代码逗号分割)。

加解密工具的界面如下图所示:

命令行加密设置

加解密工具 需要在easyconfig服务已经工作的情况下才能使用,有时候未必方便。还有另外一个更简单的方式,使用java命令行操作,只需要具有easyconfig的jar包即可。如下加解密示意:

java-jar.\easyconfig-core-0.7.0.jar-encrypthelloworld-saltmyappOX6wN3jBTdn+a2VNEuYbiQ==java-jar.\easyconfig-core-0.7.0.jar-decryptOX6wN3jBTdn+a2VNEuYbiQ==-saltmyapphelloworld

注意:

后面这两种加解密方式,是供开发人员研发阶段使用,并且需要配合easyconfig.cipher-keys属性一起使用,用于哪些需要在easyconfig完成启动之前就需要加解密的参数。

普通的配参加解密使用第一种方式即可,方便简单。

配参设置及校验

概述

配参联机修改、实时生效,会带来更多修改需求,以及更多人的参与,这会导致更多出错机会。详尽的约束定义和修改校验能大幅度较少出错概率。

通过管理控制台编辑配参数值,就会得到相应的校验检查,通不过校验则无法保存

正常情况下,校验规则设置和配参数值编辑归属于不同阶段的不同工作,校验规则设置属于研发阶段的一次性工作,而配参数值的修改属于测试、运维阶段的日常工作。

访问地址

约束设置:【首页】 -> 【设置】 (【操作列】的设置按钮)

数据类型检查

支持六种数据类型,如下图所示:

类型说明:

类型说明

string文本类型,可进一步约束模式、长度、枚举

boolean布尔类型,true、false取其一

integer整数,可进一步约束范围

number数字,可进一步约束范围

array数组,可约束元素数量、元素类型以及针对元素的约束

object对象,可约束属性清单、属性是否必需,以及针对属性的进一步约束

文本检验内容

最大做小长度

文本模式,内置常用模式以及正则表达式

合法候选枚举值,以[,]号分割的文本选项。

### 配参默认值

表示此配参通常情况下的倾向数值,辅助配参数值的设置和恢复。默认值并不能强制约束配参没有被easyconfig设置时,系统采用的默认值,依赖于@Value等标注的默认值、属性文件定义、命令行参数等一系列内容。

必需属性检查

表示此配参不能为空,必须设置。

只读属性设置

表示此配参不能修改,只能查看。实际中可能是无法动态修改,修改也无效;也可能只是比较关键,防止误操作。

描述说明信息

提供描述说明信息以便指导用户,并不作为校验检查内容。

完善的JSON Schema检查

easyconfig提供或编辑完善的JSON Schema规则的能力(如下图示意),系统会根据JSON Schema规则做校验检查。有关JSON Schema的能力和规范,请参考JSON Schema官方文档 。

注:

通过easyconfig已有配参装载加载进来的配参,数据类型已经基于程序中的属性类型进行了推导,满足许多用户的基本需要,简化设置工作。

两阶段修改发布

概述

配参可以先进行修改但不生效,经过确认、审批、或者特定情景满足后(例如1月1日0点)再生效。

easyconfig提供修改保存、修改发布独立操作的能力,并配合权限控制,很好地满足以上需求。

访问地址

【首页】 -> 【保存-等待发布】

【首页】 -> 【配参管理】->【管理变更】 ->【变更发布】、【灰度发布】、【变更撤销】

配参的灰度发布

概述

配参修改完成后,可以逐步逐节点进行生效,以便能

配参修改在生产环境中测试;

逐步、平稳地配参切换;

发现发布问题及时终止发布;

访问地址

【首页】 -> 【保存-灰度发布】

或者

【首页】 -> 【保存-等待发布】,然后在【首页】 -> 【配参管理】->【管理变更】 ->【灰度发布】

功能说明

选择灰度发布后,需要指定要发布的应用节点,确认进行发布后,相关节点配参生效。

在全部节点发布生效完成之前,可以分多次进行,也可以提前终止。

注:终止通常意味着回滚,否则终止也并不意味着相关节点永远不别更新,当节点重启时,没有回滚的内容仍然会被更新。

配参环境管理

概述

与springboot类似,easyconfig对多profiles提供支持,且更简便和强大。通过管理控制台,可以动态地维护各个profile的配参信息。

访问地址

【首页】 -> 【环境:${profile}】

【首页】 -> 【环境:管理环境...】

功能说明

环境切换

在管理控制台,可以切换当前管理的环境,以及对当前换环境配参的管理,如下所示。

环境配置

在管理控制台,可以对应用系统使用的环境进行配置,如下所示。

环境配置可以对环境增删改,但只是方便管理,应用系统节点启用哪些环境,并不由此决定。应用系统启动时,通过配参easyconfig.profiles.active指定所启动实例生效哪些环境。

用户及安全管理

概述

easyconfig提供了灵活的机制,独立或与宿主应用系统一起管理用户和控制安全。

安全模式

easyconfig提供四种安全控制方式:none、self、host、mixture,详细信息在developer-guide中介绍,此处主要介绍内置安全模式的操作,即:

easyconfig.security.mode=self

用户管理

访问地址

【首页】 -> 【辅助功能】 -> 【管理用户】

功能说明

用户管理提供对用户的创建(授权)和删除。对于不再允许使用系统的用户,需要进行删除。管理用户如下图所示:

新建用户需要提供用户名(登录名称)、用户密码等, 如下图示意:

权限管理

针对每一位用户,easyconfig提供功能和数据权限控制,以满足不同的需要。

功能支持四种权限:查看、变更、发布、管理,数据权限针对每一条每一组配参进行,支持三种权限:查看、变更、发布。各种权限语义如下:

查看:查看配参;

变更:对配参进行修改(不包括发布生效);

发布:对修改的配参进行发布(修改相关节点中Spring中的Bean的属性);

管理:管理用户、权限;

退出登录

访问地址在【首页】 -> {用户菜单}(首页右上角用户名称下拉菜单 -> 【退出登录】。

点击则立即退出,返回到登陆页面

用户登陆

开启安全控制但没有登陆会自动展示登陆页面。输入用户名、密码正确后可进行登陆。记住我功能默认有效期为30天。

修改密码

访问地址在【首页】 -> {用户菜单}(首页右上角用户名称下拉菜单 -> 【修改密码】

切换用户

访问地址在【首页】 -> {用户菜单}(首页右上角用户名称下拉菜单 -> 【切换用户】

点击则转到登陆页面,此时还没有退出,还可以重新返回主页面。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容