# install server
mv /opt/soft/soar/soar /opt/install/soar
# 目录介绍:
# 配置文件为yaml格式。一般情况下只需要配置online-dsn, test-dsn, log-
output
等少数几个参数。即使不创建配置文件SOAR仍然会给出基本的启发式建议。
# 默认文件会按照/etc/soar.yaml, ./etc/soar.yaml, ./soar.yaml顺序加载,
# 找到第一个后不再继续加载后面的配置文件。如需指定其他配置文件可以通过-config参数指定。
# 关于数据库权限online-dsn需要相应库表的
SELECT
权限,test-dsn需要root最高权限。
# 修改默认配置参数,如下
# 参考
# # 1. 修改soar.conf的基本参数
root >> cat > /opt/install/soar/conf/soar.yaml << EOF
# 线上环境配置
online-dsn:
addr: CNT7XMYSQLD01:13306
schema
: sakila
user
: root
password
: 1t
'sB1g3rt
disable: false
# 测试环境配置
test-dsn:
addr: CNT7XMYSQLD01:13307
schema: test
user: root
password: 1t'
sB1g3rt
disable:
false
# 是否允许测试环境与线上环境配置相同
allow-online-
as
-test:
true
# 是否清理测试时产生的临时文件
drop
-test-
temporary
:
true
# 语法检查小工具
only
-syntax-
check
:
false
sampling-statistic-target: 100
sampling:
false
# 日志级别,[0:Emergency, 1:Alert, 2:Critical, 3:Error, 4:Warning, 5:Notice, 6:Informational, 7:Debug]
log-
level
: 7
log-
output
: ${SOAR_LOG_DIR}/soar.log
# 优化建议输出格式
report-type: markdown
ignore
-rules:
-
""
# 黑名单中的 SQL 将不会给评审意见。一行一条 SQL,可以是正则也可以是指纹,填写指纹时注意问号需要加反斜线转义。
blacklist: ${SOAR_CONF_DIR}/soar.blacklist
# 启发式算法相关配置
max
-
join
-
table
-
count
: 5
max
-
group
-
by
-cols-
count
: 5
max
-
distinct
-
count
: 5
max
-
index
-cols-
count
: 5
max
-total-
rows
: 9999999
spaghetti-query-length: 2048
allow-
drop
-
index
:
false
# EXPLAIN相关配置
explain-sql-report-type: pretty
explain-type: extended
explain-format: traditional
explain-warn-
select
-type:
-
""
explain-warn-access-type:
-
ALL
explain-
max
-keys: 3
explain-
min
-keys: 0
explain-
max
-
rows
: 10000
explain-warn-extra:
-
""
explain-
max
-filtered: 100
explain-warn-scalability:
- O(n)
query:
""
list-heuristic-rules:
false
list-test-sqls:
false
verbose:
true
root >> EOF
step 3: 准备环境变量
# env parameter
and
path
echo
''
>> /etc/profile && \
echo
'SOAR_HOME=/opt/install/soar'
>> /etc/profile && \
echo
'SOAR_CONF_DIR=$SOAR_HOME/conf'
>> /etc/profile && \
echo
'SOAR_LOG_DIR=$SOAR_HOME/log'
>> /etc/profile && \
echo
'PATH=$PATH:$SOAR_HOME'
>> /etc/profile && \
source /etc/profile
step 4: 文件赋予权限
chmod -R 777 $SOAR_HOME/soar
step 5: 检查soar全局配置生效
# 查看版本
soar -version
# 打印所有的启发式规则
soar -list-heuristic-rules
# 打印支持的报告格式
soar -list-report-types