Update README.md

This commit is contained in:
窦凤虎
2024-04-29 06:50:53 +00:00
parent c861c4fee0
commit 680ea25b36

View File

@@ -2,22 +2,17 @@
## 概述
TSG OLAP的数据摄入分为三种类型Logs、Metrics 和 File Chunks。为确保能够正确处理并写入相应存储系统需要支持端到端业务自检。支持部署方式:
- 集中式部署
- 多数据中心部署
![End-to-End Workflow](images/e2e-test-flow-figure.png)
TSG OLAP的数据摄入分为三种类型Logs、Metrics 和 File Chunks。为确保能够正确处理并写入相应存储系统需要支持端到端业务自检。
## 环境依赖
- Logs和Metric生成工具 `kafka-operation.sh` ,详细参考[帮助文档](https://docs.geedge.net/pages/viewpage.action?pageId=8029767)
- File Chunks生成工具 `file-chunk-generator.jar`
- 测试数据生成工具 `e2e-mockdata-generator.jar`
- 安装`Newman`,详细参考[帮助文档](https://learning.postman.com/docs/collections/using-newman-cli/newman-options/)
## 使用方法
### 配置Newman CLI enviroment.json
### Newman CLI enviroment.json 修改如下配置
`Newman CLI 使用QGW HTTP Rest API 接口输出诊断报告,一般部署至国家中心`
```json
{
"key": "qgw_ip",
@@ -30,28 +25,12 @@ TSG OLAP的数据摄入分为三种类型Logs、Metrics 和 File Chunks。为
"value": "9999",
"type": "default",
"enabled": true
},
{
"key": "hos_ip",
"value": "192.168.44.30",
"type": "default",
"enabled": true
},
{
"key": "hos_port",
"value": "9098",
"type": "default",
"enabled": true
},
{
"key": "hos_token",
"value": "xxxxxx",
"type": "default",
"enabled": true
}
```
### 配置File Chunks 生成工具
### 测试数据生成工具修改Kafka地址
`Kafka需为分中心地址`
- 修改`config.properties`, 增加Kafka访问地址
```props
@@ -61,62 +40,75 @@ TSG OLAP的数据摄入分为三种类型Logs、Metrics 和 File Chunks。为
### 写入测试集至Kafka
- Logs
```shell
cd tsg_olap_e2e_test/
kafka-operation.sh producer SESSION-RECORD < ./datasets/logs/session_record.dat
cd e2e-mockdata-generator/
kafka-operation.sh producer VOIP-RECORD < ./datasets/logs/voip_record.dat
java -cp e2e-mockdata-generator.jar com.geedgenetworks.LogGenerator --topic SESSION-RECORD -f ./datasets/logs/session_record.dat
java -cp e2e-mockdata-generator.jar com.geedgenetworks.LogGenerator --topic VOIP-RECORD -f ./datasets/logs/voip_record.dat
java -cp e2e-mockdata-generator.jar com.geedgenetworks.LogGenerator --topic PROXY-EVENT -f ./datasets/logs/proxy_event.dat
kafka-operation.sh producer PROXY-EVENT < ./datasets/logs/proxy_event.dat
```
- Metrics
```shell
cd tsg_olap_e2e_test/
cd e2e-mockdata-generator/
kafka-operation.sh producer NETWORK-TRAFFIC-METRIC < ./datasets/metrics/network_traffic_metric.dat
java -cp e2e-mockdata-generator.jar com.geedgenetworks.LogGenerator --topic NETWORK-TRAFFIC-METRIC -f ./datasets/metrics/network_traffic_metric.dat
kafka-operation.sh producer POLICY-RULE-METRIC < ./datasets/metrics/policy_rule_metric.dat
java -cp e2e-mockdata-generator.jar com.geedgenetworks.LogGenerator --topic POLICY-RULE-METRIC -f ./datasets/metrics/policy_rule_metric.dat
kafka-operation.sh producer OBJECT-STATISTICS-METRIC < ./datasets/metrics/object_statistics_metric.dat
java -cp e2e-mockdata-generator.jar com.geedgenetworks.LogGenerator --topic OBJECT-STATISTICS-METRIC -f ./datasets/metrics/object_statistics_metric.dat
java -cp e2e-mockdata-generator.jar com.geedgenetworks.LogGenerator --topic STATISTICS-RULE-METRIC -f ./datasets/metrics/statistics_rule_metric.dat
kafka-operation.sh producer STATISTICS-RULE-METRIC < ./datasets/metrics/statistics_rule_metric.dat
```
- Files(与日志路径对应)
- Files
- 123e4567-e89b-12d3-a456-426614174001 监测策略 PcapNG
- 123e4567-e89b-12d3-a456-426614174002 HTTP Request Body
- 123e4567-e89b-12d3-a456-426614174003 HTTP Response Body
- 123e4567-e89b-12d3-a456-426614174004 MAIL EML
- 123e4567-e89b-12d3-a456-426614174005 RTP PcapNG
- 123e4567-e89b-12d3-a456-426614174006 Troubleshooting PcapNG
```shell
cd file-chunk-generator/
cd e2e-mockdata-generator/
java -jar file-chunk-generator.jar --topic TRAFFIC-FILE-STREAM-RECORD -n 123e4567-e89b-12d3-a456-426614174001 --file_type traffic_pcapng
java -cp e2e-mockdata-generator.jar com.geedgenetworks.FileChunkGenerator --topic TRAFFIC-FILE-STREAM-RECORD -n 123e4567-e89b-12d3-a456-426614174001 --file_type traffic_pcapng
java -jar file-chunk-generator.jar --topic TRAFFIC-FILE-STREAM-RECORD -n 123e4567-e89b-12d3-a456-426614174002 --file_type html
java -cp e2e-mockdata-generator.jar com.geedgenetworks.FileChunkGenerator --topic TRAFFIC-FILE-STREAM-RECORD -n 123e4567-e89b-12d3-a456-426614174002 --file_type html
java -jar file-chunk-generator.jar --topic TRAFFIC-FILE-STREAM-RECORD -n 123e4567-e89b-12d3-a456-426614174003 --file_type html
java -cp e2e-mockdata-generator.jar com.geedgenetworks.FileChunkGenerator --topic TRAFFIC-FILE-STREAM-RECORD -n 123e4567-e89b-12d3-a456-426614174003 --file_type html
java -jar file-chunk-generator.jar --topic TRAFFIC-FILE-STREAM-RECORD -n 123e4567-e89b-12d3-a456-426614174004 --file_type eml
java -cp e2e-mockdata-generator.jar com.geedgenetworks.FileChunkGenerator --topic TRAFFIC-FILE-STREAM-RECORD -n 123e4567-e89b-12d3-a456-426614174004 --file_type eml
java -jar file-chunk-generator.jar --topic TRAFFIC-FILE-STREAM-RECORD -n 123e4567-e89b-12d3-a456-426614174005 --file_type traffic_pcapng
java -cp e2e-mockdata-generator.jar com.geedgenetworks.FileChunkGenerator --topic TRAFFIC-FILE-STREAM-RECORD -n 123e4567-e89b-12d3-a456-426614174005 --file_type traffic_pcapng
java -jar file-chunk-generator.jar --topic TROUBLESHOOTING-FILE-STREAM-RECORD -n 123e4567-e89b-12d3-a456-426614174006 --file_type troubleshooting_pcapng
java -jar file-chunk-generator.jar --topic TROUBLESHOOTING-FILE-STREAM-RECORD -n 123e4567-e89b-12d3-a456-426614174007 --file_type datapath_telemetry_pcapng
java -cp e2e-mockdata-generator.jar com.geedgenetworks.FileChunkGenerator --topic TROUBLESHOOTING-FILE-STREAM-RECORD -n 123e4567-e89b-12d3-a456-426614174006 --file_type troubleshooting_pcapng
java -cp e2e-mockdata-generator.jar com.geedgenetworks.FileChunkGenerator --topic DATAPATH-TELEMETRY-RECORD -n 123e4567-e89b-12d3-a456-426614174007 --file_type datapath_telemetry_pcapng
```
### 输出故障诊断报告等待3-5分钟
```shell
# -n 执行次数 --folder 测试目录logsmetricsfiles不指定将对所有模块进行自检
# Logs进行故障诊断输出诊断明细
newman run ./collection.json -n 1 -e ./environment.json --delay-request 500 --timeout-script 10000 --timeout-request 300000 --timeout 3600000 --insecure --verbose --ignore-redirects --folder logs
#Logs进行故障诊断通过表情形式输出测试结果
newman run ./collection.json -n 1 --delay-request 500 -e ./environment.json --ignore-redirects --folder logs -r emojitrain
# -folder logs 对日志进行故障诊断输出诊断明细指定data_center。
# -folder metrics对Metrics进行故障诊断输出诊断明细指定data_center。
# -folder files对文件进行故障诊断输出诊断明细指定分中心HOS访问地址。
newman run ./collection.json -n 1 -e ./environment.json --delay-request 500 --timeout-script 10000 --timeout-request 300000 --timeout 3600000 --insecure --verbose --ignore-redirects --env-var "data_center=tsg_olap" --folder logs
#Logs进行故障诊断输出报告json格式自动存储newman目录
newman run ./collection.json -n 1 --delay-request 500 -e ./environment.json --ignore-redirects --folder logs -r cli,json
newman run ./collection.json -n 1 -e ./environment.json --delay-request 500 --timeout-script 10000 --timeout-request 300000 --timeout 3600000 --insecure --verbose --ignore-redirects --env-var "data_center=tsg_olap" --folder metrics
newman run ./collection.json -n 1 -e ./environment.json --delay-request 500 --timeout-script 10000 --timeout-request 300000 --timeout 3600000 --insecure --verbose --ignore-redirects --env-var "hos_ip=127.0.0.1" --folder files
# -folder logs对日志进行故障诊断通过表情形式输出测试结果
# -folder files对文件进行故障诊断通过表情形式输出测试结果
newman run ./collection.json -n 1 --delay-request 500 -e ./environment.json --env-var "data_center=tsg_olap" --ignore-redirects --folder logs -r emojitrain
newman run ./collection.json -n 1 --delay-request 500 -e ./environment.json --env-var "hos_ip=127.0.0.1" --ignore-redirects --folder files -r emojitrain
#清除测试数据(暂支持对文件的删除)
newman run ./collection.json -n 1 --delay-request 500 -e ./environment.json --ignore-redirects --folder clear_test_data -r emojitrain
@@ -124,3 +116,4 @@ newman run ./collection.json -n 1 --delay-request 500 -e ./environment.json --ig
```