-
Notifications
You must be signed in to change notification settings - Fork 202
Config
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 # 连接的最大空闲时间
生成的表如下图: