Governance模块

Governance为用户提供一个事件治理的Web管理端。支持事件治理、区块链节点分析、系统监控预警等。

本节介绍Governance子模块的详细安装步骤,部署系统之前请确认系统要求WeEvent服务的快速安装请参见快速安装

以下安装以CentOS 7.2为例。

前置条件

  • Broker模块

    必选配置,通过Broker访问区块链。 具体安装步骤,请参见Broker模块安装

  • WeBase模块

    必选配置,通过WeBase查询区块和交易信息。

    推荐版本1.0.4。具体安装步骤,请参见WeBase安装

    注意

    • 修改webase-node-mgr服务中的conf/application.yml文件。
  • isUseSecurity配置成falseisDeleteInfo配置成false

  • Mysql数据库

    必选配置。Governance通过Mysql存储统计数据。

    推荐安装Mysql 5.7+版本。具体安装步骤,安装请参见Mysql安装

获取安装包

下载安装包weevent-governance安装包,并且解压到/usr/local/weevent/下。

$ cd /usr/local/weevent/
$ wget https://github.com/WeBankFinTech/WeEvent/releases/download/v1.0.0/weevent-governance-1.0.0.tar.gz
$ tar -xvf weevent-governance-1.0.0.tar.gz

如果机器无法访问外网wget执行失败,可以通过别的方式下载再rz上传。

解压后的目录结构如下

$ cd ./weevent-governance-1.0.0
$ tree -L 2
|-- apps
|   `-- weevent-governance-1.0.0.jar
|-- check-service.sh
|-- conf
|   |-- application-prod.yml
|   |-- application.yml
|   |-- banner.txt
|   |-- log4j2.xml
|   |-- mappers
|   `-- server.p12
|-- gen-cert-key.sh
|-- governance.sh
|-- html
|   |-- index.html
|   |-- README
|   `-- static
|-- init-governance.sh

修改配置文件

  • 配置端口

    在配置文件./conf/application-prod.yml中,Governance 的服务端口server:port ,默认8082

    server:
      port: ${server_port}
    
  • 配置Mysql数据库

    在配置文件./conf/application-prod.yml中,修改datasource中的url配置、usernamepassword

    spring:  
      datasource:
        url: jdbc:mysql://127.0.0.1:3306/governance?useUnicode=true&characterEncoding=utf-8&useSSL=false
        driver-class-name: org.mariadb.jdbc.Driver
        username: xxxx
        password: yyyy
        type: org.apache.commons.dbcp2.BasicDataSource
    

    初始化系统,执行脚本init-governance.sh ,成功输出如下。否则,用户需要检查配置项是否正常。

    注意:数据库要赋予username通过其它机器进行数据库增删操作的权限

    $ ./init-governance.sh
    init governance db success
    
  • 配置发送邮箱的地址

    在配置文件./conf/application-prod.yml中,修改mail中的host配置、usernamepassword` 。

    mail:
        default-encoding: UTF-8
        host: smtp.163.com
        username: mailusername@163.com
        password: mailpwd
    

服务启停

  • 服务启动 通过./governance.sh start命令启动服务,正常启动如下:

    $ ./governance.sh start
    start weevent-governance success (PID=53926)
    add the crontab job success
    

    通过./governance.sh stop命令停止服务。

    ./governance.sh start命令会启动进程,并且将进程监控命令./governance.sh monitor添加到crontab里。

    ./governance.sh stop命令在进程成功停止后会移除crontab监控任务。

  • 验证服务

    通过./check-service.sh 命令检查服务功能是否正常。

    $ ./check-service.sh
    check governance service
    governance service is ok
    

加入Nginx反向代理

WeEvent服务的所有请求都通过Nginx模块接入,Nginx模块的安装参见Nginx模块安装

如果需要部署多个进程实例,将上述步骤安装好的Governance目录打包拷贝到其他机器上,解压启动即可。

Nginx配置文件./conf/conf.d/rs.conf中,以下为配置2个Governance进程的样例。

upstream governance_backend{
    server 127.0.0.1:8099 weight=100 max_fails=3;
    server 127.0.0.2:8099 weight=100 max_fails=3;
    
    ip_hash;
    keepalive 1024; 
}

通过Nginx重新加载配置后生效,进入Nginx安装路径,执行以下命令。

$ ./sbin/nginx -t
.../nginx/conf/nginx.conf syntax is ok
.../nginx/conf/nginx.conf test is successful
$ ./sbin/nginx -s reload

用户可以通过浏览器访问http://localhost:8080/weevent-governance/。Governance页面如下:

../../_images/Governance-ui.png