升级到v5.7.0之后的操作
创建时间:2024-04-17 最近修改时间:2024-04-17
#1. 升级到v5.7.0之后的操作
5.7.0提升了MySQL的安全等级,使用MySQL8默认密码策略,使用更复杂的MySQL密码
- 升级后pillar内的mysql密码将被替换,使用mt deepflow.reconfig刷新各个进程配置文件的密码
- 将root用户的密码修改为pillar内的密码,参考“部署扩容-组件配置文件-开源组件密码配置-MySQL修改密码”章节
5.7.0进程日志的记录直接使用
es client写入es。在/etc/web/路径寻找.rpmnew文件,如果存在,复制elasticsearch节点数据更新到对应的配置文件中,并配置正确的host-list、port、user_name、user_password后重启以下服务。
systemctl restart fauths
systemctl restart fuser
systemctl restart df-web-service
systemctl restart web-tools
1
2
3
4
2
3
4
警告
如果进程的配置文件 .yaml 中没有elasticsearch节点信息,进程会使用如下默认配置来和es服务通信。如果系统调整过es的配置,建议按照上文更新yaml文件,并重启服务。
host-list:['127.0.0.1']
port:20042
user_name:None
user_password:None
1
2
3
4
2
3
4
#2. 升级到v5.7.1之后的操作
#2.1 配置ClickHouse
- 若5.7.0时数据存储双副本,5.7.1也要存储双副本
- 需要确保zookeeper状态正常, 否则不支持双副本
- 查看zookeeper状态, 执行
echo ruok|nc 127.0.0.1 2181看是否返回imok(若不支持nc可执行yum install nc -y --disablerepo=* --enablerepo=deepflow安装)
- 查看zookeeper状态, 执行
- 需要保证该区域
master节点个数至少3个,数据节点(tsdb)个数至少2个mt saltstack.list查看roles中分别包含master和tsdb的节点个数
- 配置
mt saltstack.config clickhouse_0_tiers=$path1 clickhouse_1_tiers=$path2, 必需配置2个路径 - 并且配置
/usr/local/deepflow/saltstack/pillar/droplet.sls文件的metrics_replica_enabled为true
- 需要确保zookeeper状态正常, 否则不支持双副本
- 若5.7.1存储只须单副本
- 配置
mt saltstack.config clickhouse_0_tiers=$path1, 只需配置1个路径即可
- 配置
- 配置完成后执行如下命令:
salt -N tsdb state.apply tsdb.stop
salt -N tsdb state.apply clickhouse.install
salt -N tsdb state.apply clickhouse.config
salt -N tsdb state.apply clickhouse.start
salt -N tsdb state.apply tsdb.config
salt -N tsdb state.apply tsdb.start
salt -N tsdb state.apply telegraf.config
salt -N tsdb state.apply telegraf.stop
salt -N tsdb state.apply telegraf.start
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
#2.2 全景图数据源配置更新
- 进入
系统->数据节点->全景图存储配置页面 - 对于全景图原始数据源(1s,1m)若修改过默认保留时长, 升级后需要重新设置下保留时长
- 对于自定义数据源, 需要删除再重建, 名字需保持一致,否则影响数据迁移
注意: 5.7.1版本只支持基于1s,1m的原始数据源创建自定义数据源。- 若存在自定义数据源基于数据源
1h创建,需要修改为基于1m的数据源创建。
- 对于
流量日志的保留时长,如果570修改过默认值(3天),也需要重新设置下
#2.3 采集器组配置更新
- 检查容器-V/容器-P类型采集器配置的
同步资源信息是否为开启;如果是开启,则需要置为关闭。
#2.4 流量日志默认限速改变
- 5.7.0流量日志默认写入限速是
1k条/秒, 5.7.1增大为50k条/秒 - 若流量日志写入达到最大值,每天的写入数据将占用超过500G磁盘空间
- 请评估流量日志的写入增多对磁盘容量和磁盘IO的影响, 并作出相应调整, 如:
- 扩容磁盘
- 调整流量日志的保留时间: 登录管理平台, 进入
系统->数据节点->全景图存储配置->数据源列表->流量日志->操作进行修改 - 调整流量日志写入限速: 参考
功能介绍->全景图->流量搜索->功能规格->4.5. 流日志写入限速
#2.5 5.7.0到5.7.1数据迁移
#2.5.1 预处理和说明
- 确保升级后基本业务正常
- 确保
全景图数据源配置更新步骤已完成 - 不支持全景图秒级数据的迁移
- 不支持流量日志数据的迁移
#2.5.2 数据迁移操作
迁移工具说明
- 升级后,默认数据节点已部署迁移工具
- 可执行文件路径:
/usr/bin/influxdb-migrate - 配置文件路径:
/etc/influxdb_migrate.yaml- 迁移速率设置:
limit-write-rate默认限制100000条每秒, 可根据实际情况调整.
- 迁移速率设置:
- 迁移日志:
/var/log/influxdb_migrate.log
登录所有数据节点
分钟级数据迁移配置
默认配置如下,将自动迁移所有分钟级数据。
migrates-1m: - dbs: # 迁移的数据库列表. 流统计: 包含vtap_flow,vtap_flow_edge,vtap_flow_port,vtap_flow_edge_port 子数据库 - vtap_flow - vtap_flow_edge - vtap_flow_port - vtap_flow_edge_port time-range: "" # 迁移数据的时间范围, 如只迁移最近1天的数据: "time > now()-1d and time < now()", 默认: "", 表示迁移所有数据 - dbs: # 包统计: 包含vtap_packet,vtap_packet_edge 子数据库 - vtap_packet - vtap_packet_edge time-range: "" - dbs: # 广域网: 包含vtap_wan,vtap_wan_port 子数据库 - vtap_wan - vtap_wan_port time-range: "" - dbs: - vtap_acl time-range: ""1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1自定义数据源数据迁移配置
- 默认为空, 不迁移自定义数据源数据, 需要根据实际情况具体配置。
- 如果小时/天的数据基于分钟的数据聚合而成, 则在分钟数据迁移的时间范围内,小时/天的数据无须再迁移。
- 例如: 分钟迁移的时长是最近7天,则小时/天数据的迁移的时长
time-range应设置为"time < now()-7d"
- 例如: 分钟迁移的时长是最近7天,则小时/天数据的迁移的时长
- 如果天的数据基于小时的数据聚合而成, 则在小时数据迁移的时间范围内,天的数据无须再迁移。
- 例如: 小时迁移的时长是最近30天,则天迁移的时长
time-range应设置为"time < now()-30d"
- 例如: 小时迁移的时长是最近30天,则天迁移的时长
# 配置示例: migrates-1h1d: # `dbs`配置说明: # - 流统计: 包含vtap_flow, vtap_flow_edge, vtap_flow_port, vtap_flow_edge_port 子数据库 # - 包统计: 包含vtap_packet, vtap_packet_edge 子数据库 # - 广域网: 包含vtap_wan, vtap_wan_port 子数据库 - dbs: # 例如: 迁移`流统计`名称为`1h`的按`小时`聚合的自定义数据源 - vtap_flow - vtap_flow_port - vtap_flow_edge - vtap_flow_edge_port rp: 1h # 数据源名称: web界面显示的名称(实际底层存储会使用rp_1h) ck-table: 1h # 一般和rp相同, 除非要迁移后改名 unsummable: avg # 非累加聚合的值, 只支持: avg, max, min interval: 1h # 聚合的时间粒度, 只支持: 1h, 1d time-range: "time < now()-7d" # 迁移7天前的数据, # 迁移数据的时间范围, 如只迁移最近1天的数据: "time > now()-1d and time < now()", 默认:"", 表示迁移所有数据 - dbs: # 例如: 迁移`流统计`名称为`1d`的按`天`聚合的自定义数据源 - vtap_flow - vtap_flow_port - vtap_flow_edge - vtap_flow_edge_port rp: 1d ck-table: 1d unsummable: avg interval: 1d time-range: "time < now()-30d" # 迁移30天前的数据1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26迁移执行
influxdb-migrate # 若迁移数据量大, 可使用后台执行 # nohup influxdb-migrate > influxdb-mig.log 2>&1 &1
2
3迁移后操作
- 验证迁移后,可以正确查询到历史数据信息
- 若数据节点不同时为控制器,停止influxdb服务,清理influxdb数据
systemctl stop influxdb yum remove influxdb -y --disablerepo=* --enablerepo=deepflow # 找到influxdb的存储目录 cat /etc/influxdb/influxdb.conf |grep "TSM storage" -A2 # 删除目录数据1
2
3
4
5
6
#3. 升级到v5.7.2之后的操作
#3.1 设置ClickHouse系统日志保留时长为30天
- 设置数据节点ClickHouse实例0的系统日志保留时长,执行:
salt -N tsdb cmd.run "clickhouse-client -q 'ALTER TABLE system.query_log MODIFY TTL event_date + INTERVAL 30 DAY '" salt -N tsdb cmd.run "clickhouse-client -q 'ALTER TABLE system.trace_log MODIFY TTL event_date + INTERVAL 30 DAY'" salt -N tsdb cmd.run "clickhouse-client -q 'ALTER TABLE system.query_thread_log MODIFY TTL event_date + INTERVAL 30 DAY'" salt -N tsdb cmd.run "clickhouse-client -q 'ALTER TABLE system.metric_log MODIFY TTL event_date + INTERVAL 30 DAY'" salt -N tsdb cmd.run "clickhouse-client -q 'ALTER TABLE system.asynchronous_metric_log MODIFY TTL event_date + INTERVAL 30 DAY'"1
2
3
4
5 - 设置数据节点ClickHouse实例1的系统日志保留时长(
如果不存在实例1,则无须执行),执行:salt -N tsdb cmd.run "clickhouse-client --port 9001 -q 'ALTER TABLE system.query_log MODIFY TTL event_date + INTERVAL 30 DAY'" salt -N tsdb cmd.run "clickhouse-client --port 9001 -q 'ALTER TABLE system.trace_log MODIFY TTL event_date + INTERVAL 30 DAY'" salt -N tsdb cmd.run "clickhouse-client --port 9001 -q 'ALTER TABLE system.query_thread_log MODIFY TTL event_date + INTERVAL 30 DAY'" salt -N tsdb cmd.run "clickhouse-client --port 9001 -q 'ALTER TABLE system.metric_log MODIFY TTL event_date + INTERVAL 30 DAY'" salt -N tsdb cmd.run "clickhouse-client --port 9001 -q 'ALTER TABLE system.asynchronous_metric_log MODIFY TTL event_date + INTERVAL 30 DAY'"1
2
3
4
5
#3.2 Influxdb停止监听20049端口
- 停止监听20049端口,执行:
salt -N controller state.sls influxdb.config salt -N controller state.sls influxdb.stop salt -N controller state.sls influxdb.start1
2
3
#3.3 视图升级
- 对视图中告警策略进行升级
- 需要修改主控制器上
/var/www/lcweb/public/app_config_user.js的VIEW_UPDATE为true - 到视图页面,点击右上
视图升级按钮,即可把当前视图内所有的告警策略升级 - 重复所有需要升级的视图页面