Skip to content
zongfei.fu edited this page Aug 27, 2024 · 4 revisions

目录

内容

GoInsight服务启动时需要指定一个配置文件,该配置文件包含了必要的数据库、账号等配置信息。

获取配置文件

解压安装包后,会看到一个config.yaml.template模版配置文件,将模版文件重命名为:

cp config.yaml.template config.yaml

配置参数

下面是配置文件参数的说明,请按照注释进行适当配置:

## 应用配置
app:
  title: "MyInsight"                 # 网站Title,可以随意更改
  listen_address: "localhost:8083"   # 应用监听地址
  environment: "prod"                # 环境设置,可选值为dev/prod
  secret_key: "m3cfrcrlbikc16h+u8c4!gru$h8@4k)@m^p4$f=pwqi1o$r_c^" # 应用密钥,强烈建议更改

## 定时任务配置
crontab:
  sync_db_metas: "*/5 * * * *" # 每5分钟同步一次远程数据库库表元数据到本地数据库,最小1分钟

## 日志配置,可以不用调整
log:
  level: "info"        # 日志级别
  root_dir: "./logs"   # 日志根目录


## MySQL数据库配置,用于存储goinsight应用数据
database:
  driver: "mysql"                   # 数据库驱动
  host: "127.0.0.1"                 # 数据库主机
  port: 3306                        # 数据库端口
  database: "goinsight"             # 数据库名称,需要先手动创建
  username: "goinsight_rw"          # 数据库用户名
  password: "goinsight@1234.Com"    # 数据库密码
  charset: "utf8mb4"                # 数据库字符集
  max_idle_conns: 64                # 最大空闲连接数
  max_open_conns: 64                # 最大打开连接数
  conn_max_life_time: 3600          # 连接的最大存活时间
  conn_max_idle_time: 3600          # 连接的最大空闲时间

## Redis配置,用于缓存goinsight应用数据
redis:
  host: "127.0.0.1"    # Redis主机
  port: 6379           # Redis端口
  password: "1234.com" # Redis密码
  db: 0 


# 远程实例DB账号,需要在目标数据库创建
# 请确保通过该账号可以访问远程数据库,该账号用于工单审核、执行、数据查询、库表元信息采集等
# 注意:请保管好此账号,不要泄露,否则可能会导致安全风险
# create user 'goinsight_rw'@'%' identified by 'goinsight@1234.com';
# grant select,insert,update,delete,Alter,Create,Create view,Drop,Index,Replication slave on *.* to 'goinsight_rw'@'%';
# flush privileges;
remotedb:
  username: "goinsight_rw"        # 更改为您自己的密码
  password: "goinsight@1234.com"  # 建议更换为复杂的密码

# 数据查询配置
das:
  max_execution_time: 600000  # 查询语句最大查询执行时间
  default_return_rows: 100    # 查询默认返回行数
  max_return_rows: 100        # 查询默认最大返回行数
  allowed_useragents: [
      "Chrome",
      "Firefox",
      "Safari",
      "Trident",
      "Presto",
      "Postman",
    ]                          # 允许访问的UA

# GitHub's Online Schema-migration Tool for MySQL
# 详情请参考:https://github.com/github/gh-ost
# MySQL改表会自动使用该工具
ghost:
  path: "/usr/local/bin/gh-ost" # Gh-ost工具路径
  args:                         # Gh-ost工具参数列表,您可以按照下面格式增删
    [
      "--allow-on-master",
      "--assume-rbr",
      "--initially-drop-ghost-table",
      "--initially-drop-old-table",
      "-initially-drop-socket-file",
      "-exact-rowcount",
      "--approve-renamed-columns",
      "--concurrent-rowcount=false",
      "--chunk-size=800",
    ]

# 消息通知配置,用于工单消息推送
## 企业微信、钉钉、邮件可以同时开启,也可以至少开启一个。
## 例如,您开启了企业微信和邮件,那么同一条消息将同时通过企业微信和邮件发送提醒
notify:
  notice_url: "http://localhost:8083" # 消息中的域名,点击后可跳转到具体页面,如工单详情页面
  wechat:                             # 企业微信
    enable: true    
    webhook: "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=1234"
  dingtalk:                           # 钉钉
    enable: false   
    webhook: "https://oapi.dingtalk.com/robot/send?access_token=1234"
    keywords: "goinsight"             # 需要和您在钉钉上设置的关键字一样
  mail:                               # 邮件
    enable: false
    username: "xxx@163.com"
    password: "1234.com"
    host: "smtp.163.com"
    port: 465

启动服务

./goinsight -config config.yaml

应用库表存储位置

服务启动后,会在下面配置文件中指定的数据库自动生成GoInsight应用使用的表,如果没有生成,请检查日志或确认配置的数据库账号是否可以访问数据库。

## MySQL数据库配置,用于存储goinsight应用数据
database:
  driver: "mysql"                   # 数据库驱动
  host: "127.0.0.1"                 # 数据库主机
  port: 3306                        # 数据库端口
  database: "goinsight"             # 数据库名称
  username: "goinsight_rw"          # 数据库用户名
  password: "goinsight@1234.Com"    # 数据库密码
  charset: "utf8mb4"                # 数据库字符集
  max_idle_conns: 64                # 最大空闲连接数
  max_open_conns: 64                # 最大打开连接数
  conn_max_life_time: 3600          # 连接的最大存活时间
  conn_max_idle_time: 3600          # 连接的最大空闲时间

生成的表如下图:

image