提交tsg-olap 24.01版本初始化剧本
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
- name: Set arangodb check variable
|
||||
set_fact:
|
||||
pin: "root:{{ arangodb_default_pin }}"
|
||||
|
||||
- name: Check if collection exists in ArangoDB
|
||||
uri:
|
||||
url: "http://{{ groups.arangodb[0] }}:8529/_db/{{ arangodb_database }}/_api/collection/{{ item }}"
|
||||
method: GET
|
||||
headers:
|
||||
Authorization: Basic {{ pin | b64encode }}
|
||||
loop: "{{ arangodb_collections }}"
|
||||
@@ -0,0 +1,21 @@
|
||||
- name: Creating directory
|
||||
file:
|
||||
state: directory
|
||||
path: '{{ deploy_dir }}/{{ container_name }}/init'
|
||||
|
||||
- name: Copying init files
|
||||
template:
|
||||
src: "create_database.sh.j2"
|
||||
dest: "{{ deploy_dir }}/{{ container_name }}/init/create_database.sh"
|
||||
mode: 0755
|
||||
force: true
|
||||
|
||||
- name: Creating database and collection
|
||||
shell: 'cd {{ deploy_dir }}/{{ container_name }}/init && sh create_database.sh'
|
||||
register: response
|
||||
until: response.rc == 0
|
||||
retries: 3
|
||||
delay: 3
|
||||
failed_when: response.rc != 0
|
||||
run_once: true
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
- include: init.yml
|
||||
when: operation == 'install'
|
||||
- include: check.yml
|
||||
@@ -0,0 +1,54 @@
|
||||
#!/bin/bash
|
||||
source /etc/profile
|
||||
|
||||
arangodb_host={{ groups.arangodb[0] | default('localhost') }}
|
||||
username=root
|
||||
pin="{{ arangodb_default_pin }}"
|
||||
database="{{ arangodb_database }}"
|
||||
|
||||
function create_database() {
|
||||
# 检查数据库是否存在
|
||||
sleep 2
|
||||
check_database=$(curl -u $username:$pin -s -o /dev/null -w "%{http_code}" http://$arangodb_host:8529/_db/$database/_api/database/current)
|
||||
if [[ $check_database -eq 200 ]]; then
|
||||
echo "Database $database already exists."
|
||||
else
|
||||
# 创建数据库
|
||||
local response_code=$(curl -u $username:$pin -s -o /dev/null -w "%{http_code}" -X POST -H "accept: application/json" -d "{\"name\": \"$database\"}" http://$arangodb_host:8529/_api/database)
|
||||
if [[ $response_code -eq 201 ]]; then
|
||||
echo "Database $database created successfully."
|
||||
else
|
||||
echo "Failed to create database $database."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
sleep 2
|
||||
|
||||
}
|
||||
|
||||
function create_collection() {
|
||||
local collection_name=$1
|
||||
local collection_type=$2
|
||||
sleep 2
|
||||
# 检查文档是否存在
|
||||
check_collection=$(curl -u $username:$pin -s -o /dev/null -w "%{http_code}" http://$arangodb_host:8529/_db/$database/_api/collection/$collection_name)
|
||||
if [[ $check_collection -eq 200 ]]; then
|
||||
echo "Collection $collection_name already exists."
|
||||
else
|
||||
# 创建文档$collection_name
|
||||
local response_code=$(curl -u $username:$pin -s -o /dev/null -w "%{http_code}" -X POST -H 'accept: application/json' -d "{\"name\": \"$collection_name\",\"type\": $collection_type }" http://$arangodb_host:8529/_db/$database/_api/collection?isSystem=false)
|
||||
if [[ $response_code -eq 201 ]]; then
|
||||
echo "Collection $collection_name created successfully."
|
||||
else
|
||||
echo "Failed to create collection $collection_name."
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
sleep 2
|
||||
}
|
||||
|
||||
# 2: document 3: edges
|
||||
create_database
|
||||
create_collection IP 2
|
||||
create_collection R_LOCATE_FQDN2IP 3
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
container_name: arangodb
|
||||
|
||||
# 数据库
|
||||
arangodb_database: 'tsg_galaxy_v3'
|
||||
|
||||
# 库表
|
||||
arangodb_collections:
|
||||
- IP
|
||||
- R_LOCATE_FQDN2IP
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,9 @@
|
||||
create table IF NOT EXISTS `system`.tables_cluster ON CLUSTER ck_query as `system`.tables ENGINE =Distributed(ck_all,`system`,tables,rand());
|
||||
create table IF NOT EXISTS `system`.disks_cluster ON CLUSTER ck_query as `system`.disks ENGINE =Distributed(ck_all,`system`,disks,rand());
|
||||
create table IF NOT EXISTS `system`.parts_cluster ON CLUSTER ck_query as `system`.parts ENGINE =Distributed(ck_all,`system`,parts,rand());
|
||||
create table IF NOT EXISTS `system`.query_log_cluster ON CLUSTER ck_query as `system`.query_log ENGINE =Distributed(ck_all,`system`,query_log,rand());
|
||||
CREATE TABLE IF NOT EXISTS `system`.columns_cluster ON CLUSTER ck_query AS `system`.columns ENGINE=Distributed(ck_all,`system`,columns,rand());
|
||||
CREATE TABLE IF NOT EXISTS `system`.processes_cluster ON CLUSTER ck_query AS `system`.processes ENGINE=Distributed(ck_all,`system`,processes,rand());
|
||||
|
||||
alter table system.query_log on cluster ck_cluster modify TTL event_date + INTERVAL 60 DAY;
|
||||
alter table system.query_log on cluster ck_query modify TTL event_date + INTERVAL 60 DAY;
|
||||
@@ -0,0 +1,247 @@
|
||||
set distributed_ddl_task_timeout = 180;
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_app_full_path String after common_app_id;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_server_asn;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_server_fqdn String after common_server_asn;
|
||||
|
||||
|
||||
CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.session_record_common_server_domain_local ON CLUSTER ck_cluster(
|
||||
common_log_id UInt64,
|
||||
common_recv_time Int64,
|
||||
common_server_ip String,
|
||||
common_client_ip String,
|
||||
common_sled_ip String,
|
||||
common_entrance_id Int64,
|
||||
common_subscriber_id String,
|
||||
common_stream_trace_id UInt64,
|
||||
common_server_domain String,
|
||||
http_domain String,
|
||||
ssl_sni String,
|
||||
common_schema_type LowCardinality(String),
|
||||
common_vsys_id Int64 DEFAULT 1,
|
||||
common_client_port Int64,
|
||||
common_server_port Int64,
|
||||
common_app_label LowCardinality(String),
|
||||
common_direction Nullable(Int64),
|
||||
common_data_center String,
|
||||
common_device_group String
|
||||
)
|
||||
ENGINE=MergeTree PARTITION BY toYYYYMMDD(toDate(common_recv_time))
|
||||
ORDER BY (common_server_domain,common_recv_time);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.session_record_common_server_domain ON CLUSTER ck_cluster(
|
||||
common_log_id UInt64,
|
||||
common_recv_time Int64,
|
||||
common_server_ip String,
|
||||
common_client_ip String,
|
||||
common_sled_ip String,
|
||||
common_entrance_id Int64,
|
||||
common_subscriber_id String,
|
||||
common_stream_trace_id UInt64,
|
||||
common_server_domain String,
|
||||
http_domain String,
|
||||
ssl_sni String,
|
||||
common_schema_type LowCardinality(String),
|
||||
common_vsys_id Int64,
|
||||
common_client_port Int64,
|
||||
common_server_port Int64,
|
||||
common_app_label LowCardinality(String),
|
||||
common_direction Nullable(Int64),
|
||||
common_data_center String,
|
||||
common_device_group String
|
||||
) ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,session_record_common_server_domain_local,rand());
|
||||
|
||||
CREATE TABLE IF NOT EXISTS tsg_galaxy_v3.session_record_common_server_domain ON CLUSTER ck_query(
|
||||
common_log_id UInt64,
|
||||
common_recv_time Int64,
|
||||
common_server_ip String,
|
||||
common_client_ip String,
|
||||
common_sled_ip String,
|
||||
common_entrance_id Int64,
|
||||
common_subscriber_id String,
|
||||
common_stream_trace_id UInt64,
|
||||
common_server_domain String,
|
||||
http_domain String,
|
||||
ssl_sni String,
|
||||
common_schema_type LowCardinality(String),
|
||||
common_vsys_id Int64,
|
||||
common_client_port Int64,
|
||||
common_server_port Int64,
|
||||
common_app_label LowCardinality(String),
|
||||
common_direction Nullable(Int64),
|
||||
common_data_center String,
|
||||
common_device_group String
|
||||
) ENGINE =Distributed(ck_cluster,tsg_galaxy_v3,session_record_common_server_domain_local,rand());
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_common_client_ip_local on cluster ck_cluster add column IF NOT EXISTS common_device_group String after common_direction;
|
||||
ALTER table tsg_galaxy_v3.session_record_common_client_ip on cluster ck_cluster add column IF NOT EXISTS common_device_group String after common_direction;
|
||||
ALTER table tsg_galaxy_v3.session_record_common_client_ip on cluster ck_query add column IF NOT EXISTS common_device_group String after common_direction;
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_common_server_ip_local on cluster ck_cluster add column IF NOT EXISTS common_device_group String after common_direction;
|
||||
ALTER table tsg_galaxy_v3.session_record_common_server_ip on cluster ck_cluster add column IF NOT EXISTS common_device_group String after common_direction;
|
||||
ALTER table tsg_galaxy_v3.session_record_common_server_ip on cluster ck_query add column IF NOT EXISTS common_device_group String after common_direction;
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_http_domain_local on cluster ck_cluster add column IF NOT EXISTS common_device_group String after common_direction;
|
||||
ALTER table tsg_galaxy_v3.session_record_http_domain on cluster ck_cluster add column IF NOT EXISTS common_device_group String after common_direction;
|
||||
ALTER table tsg_galaxy_v3.session_record_http_domain on cluster ck_query add column IF NOT EXISTS common_device_group String after common_direction;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_common_client_ip_local on cluster ck_cluster add column IF NOT EXISTS common_data_center String after common_direction;
|
||||
ALTER table tsg_galaxy_v3.session_record_common_client_ip on cluster ck_cluster add column IF NOT EXISTS common_data_center String after common_direction;
|
||||
ALTER table tsg_galaxy_v3.session_record_common_client_ip on cluster ck_query add column IF NOT EXISTS common_data_center String after common_direction;
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_common_server_ip_local on cluster ck_cluster add column IF NOT EXISTS common_data_center String after common_direction;
|
||||
ALTER table tsg_galaxy_v3.session_record_common_server_ip on cluster ck_cluster add column IF NOT EXISTS common_data_center String after common_direction;
|
||||
ALTER table tsg_galaxy_v3.session_record_common_server_ip on cluster ck_query add column IF NOT EXISTS common_data_center String after common_direction;
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_http_domain_local on cluster ck_cluster add column IF NOT EXISTS common_data_center String after common_direction;
|
||||
ALTER table tsg_galaxy_v3.session_record_http_domain on cluster ck_cluster add column IF NOT EXISTS common_data_center String after common_direction;
|
||||
ALTER table tsg_galaxy_v3.session_record_http_domain on cluster ck_query add column IF NOT EXISTS common_data_center String after common_direction;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_common_client_ip_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_stream_trace_id;
|
||||
ALTER table tsg_galaxy_v3.session_record_common_client_ip on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_stream_trace_id;
|
||||
ALTER table tsg_galaxy_v3.session_record_common_client_ip on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_stream_trace_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_common_server_ip_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_stream_trace_id;
|
||||
ALTER table tsg_galaxy_v3.session_record_common_server_ip on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_stream_trace_id;
|
||||
ALTER table tsg_galaxy_v3.session_record_common_server_ip on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_stream_trace_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_http_domain_local on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_stream_trace_id;
|
||||
ALTER table tsg_galaxy_v3.session_record_http_domain on cluster ck_cluster add column IF NOT EXISTS common_server_domain String after common_stream_trace_id;
|
||||
ALTER table tsg_galaxy_v3.session_record_http_domain on cluster ck_query add column IF NOT EXISTS common_server_domain String after common_stream_trace_id;
|
||||
|
||||
|
||||
drop view IF EXISTS tsg_galaxy_v3.common_client_ip ON CLUSTER ck_cluster;
|
||||
drop view IF EXISTS tsg_galaxy_v3.common_http_domain ON CLUSTER ck_cluster;
|
||||
drop view IF EXISTS tsg_galaxy_v3.common_server_ip ON CLUSTER ck_cluster;
|
||||
|
||||
CREATE MATERIALIZED VIEW IF NOT EXISTS tsg_galaxy_v3.common_client_ip ON CLUSTER ck_cluster TO tsg_galaxy_v3.session_record_common_client_ip_local AS SELECT common_log_id, common_recv_time, common_server_ip, common_client_ip, common_sled_ip, common_entrance_id, common_subscriber_id, common_stream_trace_id, common_server_domain, http_domain, ssl_sni, common_schema_type, common_vsys_id, common_client_port, common_server_port, common_app_label, common_direction,common_data_center, common_device_group FROM tsg_galaxy_v3.session_record_local;
|
||||
CREATE MATERIALIZED VIEW IF NOT EXISTS tsg_galaxy_v3.common_http_domain ON CLUSTER ck_cluster TO tsg_galaxy_v3.session_record_http_domain_local AS SELECT common_log_id, common_recv_time, common_server_ip, common_client_ip, common_sled_ip, common_entrance_id, common_subscriber_id, common_stream_trace_id, common_server_domain, http_domain, ssl_sni, common_schema_type, common_vsys_id, common_client_port, common_server_port, common_app_label, common_direction,common_data_center, common_device_group FROM tsg_galaxy_v3.session_record_local;
|
||||
CREATE MATERIALIZED VIEW IF NOT EXISTS tsg_galaxy_v3.common_server_ip ON CLUSTER ck_cluster TO tsg_galaxy_v3.session_record_common_server_ip_local AS SELECT common_log_id, common_recv_time, common_server_ip, common_client_ip, common_sled_ip, common_entrance_id, common_subscriber_id, common_stream_trace_id, common_server_domain, http_domain, ssl_sni, common_schema_type, common_vsys_id, common_client_port, common_server_port, common_app_label, common_direction,common_data_center, common_device_group FROM tsg_galaxy_v3.session_record_local;
|
||||
CREATE MATERIALIZED VIEW IF NOT EXISTS tsg_galaxy_v3.common_server_domain ON CLUSTER ck_cluster TO tsg_galaxy_v3.session_record_common_server_domain_local AS SELECT common_log_id, common_recv_time, common_server_ip, common_client_ip, common_sled_ip, common_entrance_id, common_subscriber_id, common_stream_trace_id, common_server_domain, http_domain, ssl_sni, common_schema_type, common_vsys_id, common_client_port, common_server_port, common_app_label, common_direction,common_data_center, common_device_group FROM tsg_galaxy_v3.session_record_local;
|
||||
|
||||
drop table IF EXISTS `system`.query_log_cluster on cluster ck_query;
|
||||
drop table IF EXISTS `system`.disks_cluster on cluster ck_query;
|
||||
drop table IF EXISTS `system`.columns_cluster on cluster ck_query;
|
||||
drop table IF EXISTS `system`.parts_cluster on cluster ck_query;
|
||||
drop table IF EXISTS `system`.processes_cluster on cluster ck_query;
|
||||
drop table IF EXISTS `system`.tables_cluster on cluster ck_query;
|
||||
|
||||
|
||||
create table IF NOT EXISTS `system`.tables_cluster ON CLUSTER ck_query as `system`.tables ENGINE =Distributed(ck_all,`system`,tables,rand());
|
||||
create table IF NOT EXISTS `system`.disks_cluster ON CLUSTER ck_query as `system`.disks ENGINE =Distributed(ck_all,`system`,disks,rand());
|
||||
create table IF NOT EXISTS `system`.parts_cluster ON CLUSTER ck_query as `system`.parts ENGINE =Distributed(ck_all,`system`,parts,rand());
|
||||
create table IF NOT EXISTS `system`.query_log_cluster ON CLUSTER ck_query as `system`.query_log ENGINE =Distributed(ck_all,`system`,query_log,rand());
|
||||
CREATE TABLE IF NOT EXISTS `system`.columns_cluster ON CLUSTER ck_query AS `system`.columns ENGINE=Distributed(ck_all,`system`,columns,rand());
|
||||
CREATE TABLE IF NOT EXISTS `system`.processes_cluster ON CLUSTER ck_query AS `system`.processes ENGINE=Distributed(ck_all,`system`,processes,rand());
|
||||
alter table system.query_log on cluster ck_cluster modify TTL event_date + INTERVAL 60 DAY;
|
||||
alter table system.query_log on cluster ck_query modify TTL event_date + INTERVAL 60 DAY;
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
set distributed_ddl_task_timeout = 180;
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS http_request_body_key String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS http_request_body_key String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS http_request_body_key String after common_flags;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_flags_identify_info String after common_flags;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_shaping_rule_ids Array(Int64) after common_user_region;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
set distributed_ddl_task_timeout = 180;
|
||||
|
||||
alter table system.query_log on cluster ck_cluster modify TTL event_date + INTERVAL 60 DAY;
|
||||
|
||||
|
||||
alter table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time;
|
||||
alter table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
alter table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
|
||||
|
||||
alter table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time;
|
||||
alter table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
alter table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
|
||||
|
||||
alter table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time;
|
||||
alter table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
alter table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
|
||||
alter table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time;
|
||||
alter table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
alter table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
|
||||
alter table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time;
|
||||
alter table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
alter table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
|
||||
alter table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time;
|
||||
alter table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
alter table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
|
||||
alter table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time;
|
||||
alter table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
alter table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
|
||||
alter table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time;
|
||||
alter table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
alter table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
|
||||
alter table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 MATERIALIZED toUnixTimestamp(now()) after common_processing_time;
|
||||
alter table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
alter table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_insert_time Int64 after common_processing_time;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
set distributed_ddl_task_timeout = 180;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.dos_event_local on cluster ck_cluster add column IF NOT EXISTS profile_id UInt64 after log_id;
|
||||
ALTER table tsg_galaxy_v3.dos_event on cluster ck_cluster add column IF NOT EXISTS profile_id UInt64 after log_id;
|
||||
ALTER table tsg_galaxy_v3.dos_event on cluster ck_query add column IF NOT EXISTS profile_id UInt64 after log_id;
|
||||
@@ -0,0 +1,11 @@
|
||||
set distributed_ddl_task_timeout = 180;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS intercept_error String after rdp_cookie,add column IF NOT EXISTS intercept_cert_verify Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_client_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_server_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_client_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_server_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_passthrough_reason String after rdp_cookie,add column IF NOT EXISTS intercept_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_pinning_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS ssl_cert_subject String after rdp_cookie,add column IF NOT EXISTS ssl_cert_issuer String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_con_latency_ms Int64 after rdp_cookie,add column IF NOT EXISTS ssl_cn String after rdp_cookie,add column IF NOT EXISTS ssl_san String after rdp_cookie,add column IF NOT EXISTS ssl_sni String after rdp_cookie,add column IF NOT EXISTS ssl_version String after rdp_cookie;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS intercept_error String after rdp_cookie,add column IF NOT EXISTS intercept_cert_verify Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_client_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_server_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_client_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_server_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_passthrough_reason String after rdp_cookie,add column IF NOT EXISTS intercept_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_pinning_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS ssl_cert_subject String after rdp_cookie,add column IF NOT EXISTS ssl_cert_issuer String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_con_latency_ms Int64 after rdp_cookie,add column IF NOT EXISTS ssl_cn String after rdp_cookie,add column IF NOT EXISTS ssl_san String after rdp_cookie,add column IF NOT EXISTS ssl_sni String after rdp_cookie,add column IF NOT EXISTS ssl_version String after rdp_cookie;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS intercept_error String after rdp_cookie,add column IF NOT EXISTS intercept_cert_verify Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_client_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_server_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_client_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_server_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_passthrough_reason String after rdp_cookie,add column IF NOT EXISTS intercept_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_pinning_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS ssl_cert_subject String after rdp_cookie,add column IF NOT EXISTS ssl_cert_issuer String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_con_latency_ms Int64 after rdp_cookie,add column IF NOT EXISTS ssl_cn String after rdp_cookie,add column IF NOT EXISTS ssl_san String after rdp_cookie,add column IF NOT EXISTS ssl_sni String after rdp_cookie,add column IF NOT EXISTS ssl_version String after rdp_cookie;
|
||||
|
||||
|
||||
ALTER TABLE tsg_galaxy_v3.proxy_event_local on cluster ck_cluster DROP COLUMN IF EXISTS rdp_encryption_method, DROP COLUMN IF EXISTS rdp_encryption_level, DROP COLUMN IF EXISTS rdp_certificate_permanent, DROP COLUMN IF EXISTS rdp_certificate_count, DROP COLUMN IF EXISTS rdp_certificate_type, DROP COLUMN IF EXISTS rdp_requested_color_depth, DROP COLUMN IF EXISTS rdp_desktop_height, DROP COLUMN IF EXISTS rdp_desktop_width, DROP COLUMN IF EXISTS rdp_client_product_id, DROP COLUMN IF EXISTS rdp_client_name, DROP COLUMN IF EXISTS rdp_client_version, DROP COLUMN IF EXISTS rdp_keyboard_layout, DROP COLUMN IF EXISTS rdp_client_channels, DROP COLUMN IF EXISTS rdp_security_protocol, DROP COLUMN IF EXISTS rdp_cookie;
|
||||
ALTER TABLE tsg_galaxy_v3.proxy_event on cluster ck_cluster DROP COLUMN IF EXISTS rdp_encryption_method, DROP COLUMN IF EXISTS rdp_encryption_level, DROP COLUMN IF EXISTS rdp_certificate_permanent, DROP COLUMN IF EXISTS rdp_certificate_count, DROP COLUMN IF EXISTS rdp_certificate_type, DROP COLUMN IF EXISTS rdp_requested_color_depth, DROP COLUMN IF EXISTS rdp_desktop_height, DROP COLUMN IF EXISTS rdp_desktop_width, DROP COLUMN IF EXISTS rdp_client_product_id, DROP COLUMN IF EXISTS rdp_client_name, DROP COLUMN IF EXISTS rdp_client_version, DROP COLUMN IF EXISTS rdp_keyboard_layout, DROP COLUMN IF EXISTS rdp_client_channels, DROP COLUMN IF EXISTS rdp_security_protocol, DROP COLUMN IF EXISTS rdp_cookie;
|
||||
ALTER TABLE tsg_galaxy_v3.proxy_event on cluster ck_query DROP COLUMN IF EXISTS rdp_encryption_method, DROP COLUMN IF EXISTS rdp_encryption_level, DROP COLUMN IF EXISTS rdp_certificate_permanent, DROP COLUMN IF EXISTS rdp_certificate_count, DROP COLUMN IF EXISTS rdp_certificate_type, DROP COLUMN IF EXISTS rdp_requested_color_depth, DROP COLUMN IF EXISTS rdp_desktop_height, DROP COLUMN IF EXISTS rdp_desktop_width, DROP COLUMN IF EXISTS rdp_client_product_id, DROP COLUMN IF EXISTS rdp_client_name, DROP COLUMN IF EXISTS rdp_client_version, DROP COLUMN IF EXISTS rdp_keyboard_layout, DROP COLUMN IF EXISTS rdp_client_channels, DROP COLUMN IF EXISTS rdp_security_protocol, DROP COLUMN IF EXISTS rdp_cookie;
|
||||
@@ -0,0 +1,159 @@
|
||||
set distributed_ddl_task_timeout = 180;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS intercept_error String after rdp_cookie,add column IF NOT EXISTS intercept_cert_verify Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_client_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_server_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_client_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_server_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_passthrough_reason String after rdp_cookie,add column IF NOT EXISTS intercept_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_pinning_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS ssl_cert_subject String after rdp_cookie,add column IF NOT EXISTS ssl_cert_issuer String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_con_latency_ms Int64 after rdp_cookie,add column IF NOT EXISTS ssl_cn String after rdp_cookie,add column IF NOT EXISTS ssl_san String after rdp_cookie,add column IF NOT EXISTS ssl_sni String after rdp_cookie,add column IF NOT EXISTS ssl_version String after rdp_cookie;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS intercept_error String after rdp_cookie,add column IF NOT EXISTS intercept_cert_verify Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_client_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_server_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_client_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_server_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_passthrough_reason String after rdp_cookie,add column IF NOT EXISTS intercept_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_pinning_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS ssl_cert_subject String after rdp_cookie,add column IF NOT EXISTS ssl_cert_issuer String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_con_latency_ms Int64 after rdp_cookie,add column IF NOT EXISTS ssl_cn String after rdp_cookie,add column IF NOT EXISTS ssl_san String after rdp_cookie,add column IF NOT EXISTS ssl_sni String after rdp_cookie,add column IF NOT EXISTS ssl_version String after rdp_cookie;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS intercept_error String after rdp_cookie,add column IF NOT EXISTS intercept_cert_verify Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_client_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_server_side_version String after rdp_cookie,add column IF NOT EXISTS intercept_client_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_server_side_latency Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_passthrough_reason String after rdp_cookie,add column IF NOT EXISTS intercept_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS intercept_pinning_status Nullable(Int64) after rdp_cookie,add column IF NOT EXISTS ssl_cert_subject String after rdp_cookie,add column IF NOT EXISTS ssl_cert_issuer String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3s_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_hash String after rdp_cookie,add column IF NOT EXISTS ssl_ja3_fingerprint String after rdp_cookie,add column IF NOT EXISTS ssl_con_latency_ms Int64 after rdp_cookie,add column IF NOT EXISTS ssl_cn String after rdp_cookie,add column IF NOT EXISTS ssl_san String after rdp_cookie,add column IF NOT EXISTS ssl_sni String after rdp_cookie,add column IF NOT EXISTS ssl_version String after rdp_cookie;
|
||||
|
||||
|
||||
ALTER TABLE tsg_galaxy_v3.proxy_event_local on cluster ck_cluster DROP COLUMN IF EXISTS rdp_encryption_method, DROP COLUMN IF EXISTS rdp_encryption_level, DROP COLUMN IF EXISTS rdp_certificate_permanent, DROP COLUMN IF EXISTS rdp_certificate_count, DROP COLUMN IF EXISTS rdp_certificate_type, DROP COLUMN IF EXISTS rdp_requested_color_depth, DROP COLUMN IF EXISTS rdp_desktop_height, DROP COLUMN IF EXISTS rdp_desktop_width, DROP COLUMN IF EXISTS rdp_client_product_id, DROP COLUMN IF EXISTS rdp_client_name, DROP COLUMN IF EXISTS rdp_client_version, DROP COLUMN IF EXISTS rdp_keyboard_layout, DROP COLUMN IF EXISTS rdp_client_channels, DROP COLUMN IF EXISTS rdp_security_protocol, DROP COLUMN IF EXISTS rdp_cookie;
|
||||
ALTER TABLE tsg_galaxy_v3.proxy_event on cluster ck_cluster DROP COLUMN IF EXISTS rdp_encryption_method, DROP COLUMN IF EXISTS rdp_encryption_level, DROP COLUMN IF EXISTS rdp_certificate_permanent, DROP COLUMN IF EXISTS rdp_certificate_count, DROP COLUMN IF EXISTS rdp_certificate_type, DROP COLUMN IF EXISTS rdp_requested_color_depth, DROP COLUMN IF EXISTS rdp_desktop_height, DROP COLUMN IF EXISTS rdp_desktop_width, DROP COLUMN IF EXISTS rdp_client_product_id, DROP COLUMN IF EXISTS rdp_client_name, DROP COLUMN IF EXISTS rdp_client_version, DROP COLUMN IF EXISTS rdp_keyboard_layout, DROP COLUMN IF EXISTS rdp_client_channels, DROP COLUMN IF EXISTS rdp_security_protocol, DROP COLUMN IF EXISTS rdp_cookie;
|
||||
ALTER TABLE tsg_galaxy_v3.proxy_event on cluster ck_query DROP COLUMN IF EXISTS rdp_encryption_method, DROP COLUMN IF EXISTS rdp_encryption_level, DROP COLUMN IF EXISTS rdp_certificate_permanent, DROP COLUMN IF EXISTS rdp_certificate_count, DROP COLUMN IF EXISTS rdp_certificate_type, DROP COLUMN IF EXISTS rdp_requested_color_depth, DROP COLUMN IF EXISTS rdp_desktop_height, DROP COLUMN IF EXISTS rdp_desktop_width, DROP COLUMN IF EXISTS rdp_client_product_id, DROP COLUMN IF EXISTS rdp_client_name, DROP COLUMN IF EXISTS rdp_client_version, DROP COLUMN IF EXISTS rdp_keyboard_layout, DROP COLUMN IF EXISTS rdp_client_channels, DROP COLUMN IF EXISTS rdp_security_protocol, DROP COLUMN IF EXISTS rdp_cookie;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_out_dest_mac String after common_server_domain;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_in_dest_mac String after common_server_domain;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_out_src_mac String after common_phone_number;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_in_src_mac String after common_phone_number;
|
||||
@@ -0,0 +1,97 @@
|
||||
set distributed_ddl_task_timeout = 180;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query drop column IF EXISTS voip_calling_account, drop column IF EXISTS voip_called_account, drop column IF EXISTS voip_calling_number, drop column IF EXISTS voip_called_number, drop column IF EXISTS streaming_media_url, drop column IF EXISTS streaming_media_protocol, drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query drop column IF EXISTS http_request_body_key, drop column IF EXISTS http_response_body_key, drop column IF EXISTS http_content_length, drop column IF EXISTS http_content_type;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
@@ -0,0 +1,158 @@
|
||||
set distributed_ddl_task_timeout = 180;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.active_defence_event_local on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.active_defence_event on cluster ck_cluster rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
ALTER table tsg_galaxy_v3.active_defence_event on cluster ck_query rename column IF EXISTS common_egress_link_id TO common_out_link_id;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
|
||||
ALTER table tsg_galaxy_v3.active_defence_event_local on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.active_defence_event on cluster ck_cluster rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
ALTER table tsg_galaxy_v3.active_defence_event on cluster ck_query rename column IF EXISTS common_ingress_link_id TO common_in_link_id;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
@@ -0,0 +1,131 @@
|
||||
set distributed_ddl_task_timeout = 180;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS http_status_code Int64 after http_version;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS http_status_code Int64 after http_version;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS http_status_code Int64 after http_version;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS http_status_code Int64 after http_version;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS http_status_code Int64 after http_version;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS http_status_code Int64 after http_version;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS ssl_ech_flag Int64 after ssl_cert_subject;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS ssl_esni_flag Int64 after ssl_cert_subject;
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_start_timestamp_ms Datetime64(3) after common_end_time;
|
||||
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_end_timestamp_ms Datetime64(3) after common_start_timestamp_ms;
|
||||
@@ -0,0 +1,76 @@
|
||||
set distributed_ddl_task_timeout = 180;
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_client_os_name String after common_client_port;
|
||||
|
||||
|
||||
|
||||
ALTER table tsg_galaxy_v3.session_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.session_record on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
|
||||
ALTER table tsg_galaxy_v3.interim_session_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.interim_session_record on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
|
||||
ALTER table tsg_galaxy_v3.security_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.security_event on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
|
||||
ALTER table tsg_galaxy_v3.proxy_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.proxy_event on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
|
||||
ALTER table tsg_galaxy_v3.transaction_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.transaction_record on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.sys_packet_capture_event on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
|
||||
ALTER table tsg_galaxy_v3.radius_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.radius_record on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
|
||||
ALTER table tsg_galaxy_v3.gtpc_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.gtpc_record on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
|
||||
ALTER table tsg_galaxy_v3.voip_record_local on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_cluster add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
ALTER table tsg_galaxy_v3.voip_record on cluster ck_query add column IF NOT EXISTS common_server_os_name String after common_server_port;
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
- name: Setting clickhouse init directory
|
||||
set_fact:
|
||||
init_path: '{{ deploy_dir }}/clickhouse/init/'
|
||||
|
||||
- name: Creatting clickhouse init directory
|
||||
file:
|
||||
path: '{{ init_path }}'
|
||||
state: directory
|
||||
|
||||
- name: Copying Clickhouse create tables sql
|
||||
copy:
|
||||
src: 'files/{{ item }}'
|
||||
dest: '{{ init_path }}/{{ item }}'
|
||||
force: true
|
||||
with_items:
|
||||
- create_ck_table.sql
|
||||
- system.sql
|
||||
|
||||
- name: Creating tables
|
||||
shell: clickhouse-client -h {{ inventory_hostname }} --port 9001 -m -u default --password {{ clickhouse_default_pin }} --multiquery < {{ init_path }}/{{ item }}
|
||||
loop:
|
||||
- create_ck_table.sql
|
||||
- system.sql
|
||||
run_once: true
|
||||
@@ -0,0 +1,5 @@
|
||||
- include: init.yml
|
||||
when: inventory_hostname in groups['clickhouse'][:2] and operation == "install"
|
||||
|
||||
- include: upgrate.yml
|
||||
when: inventory_hostname in groups['clickhouse'][:2] and operation == "upgrade"
|
||||
@@ -0,0 +1,25 @@
|
||||
- name: Setting clickhouse upgrade directory
|
||||
set_fact:
|
||||
upgrade_path: '{{ deploy_dir }}/clickhouse/upgrade/'
|
||||
|
||||
- name: Creatting clickhouse upgrade directory
|
||||
file:
|
||||
path: '{{ upgrade_path }}'
|
||||
state: directory
|
||||
|
||||
- name: Copying clickhouse upgrade tables sql
|
||||
copy:
|
||||
src: 'files/upgrade-sql'
|
||||
dest: '{{ upgrade_path }}/'
|
||||
force: true
|
||||
|
||||
- name: Copying clickhouse upgrade script
|
||||
template:
|
||||
src: 'upgrade-clickhouse-data.sh.j2'
|
||||
dest: '{{ upgrade_path }}/upgrade-clickhouse-data.sh'
|
||||
mode: 0075
|
||||
force: true
|
||||
|
||||
- name: Upgrade clickhouse data
|
||||
shell: cd {{ upgrade_path }} && sh upgrade-clickhouse-data.sh
|
||||
run_once: true
|
||||
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
source /etc/profile
|
||||
set -e
|
||||
|
||||
# 数据库连接参数
|
||||
upgrade_dir=${1:-$(pwd)/upgrade-sql}
|
||||
|
||||
# 指定当前版本和历史版本
|
||||
current_version="{{ solution_version }}"
|
||||
old_version="{{ old_version }}"
|
||||
|
||||
# 数据库连接参数
|
||||
db_hostname="127.0.0.1"
|
||||
db_username="default"
|
||||
db_password="galaxy2019"
|
||||
|
||||
suffix=".sql"
|
||||
# 获取更新目录中的所有SQL文件
|
||||
sql_files=$(find "${upgrade_dir}" -name "*$suffix")
|
||||
|
||||
# 标记是否开始执行历史版本的标识
|
||||
start_execution=false
|
||||
|
||||
# 循环处理每个SQL文件
|
||||
for file in ${sql_files}; do
|
||||
# 从文件名中提取版本号
|
||||
filename=$(basename "$file")
|
||||
version=$(echo "$filename" | grep -oE '[0-9]+(\.[0-9]+)?' | tr -d '.')
|
||||
current_version="${current_version//./}"
|
||||
old_version="${old_version//./}"
|
||||
# 检查是否达到历史版本
|
||||
if [[ "${version}" -gt "${old_version}" ]]; then
|
||||
start_execution=true
|
||||
fi
|
||||
|
||||
# 检查是否开始执行历史版本之后的SQL文件
|
||||
if [[ ${start_execution} = true ]]; then
|
||||
echo "Executing SQL file: ${file}"
|
||||
|
||||
# 执行SQL文件
|
||||
clickhouse-client -h 127.0.0.1 --port 9001 -m -u "${db_username}" --password "${db_password}" --multiquery <"${file}"
|
||||
echo "Upgrade ${version} successfully"
|
||||
fi
|
||||
|
||||
# 检查是否达到当前版本
|
||||
if [[ "${version}" -ge "${current_version}" ]]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
25
tsg-olap/parcels/roles/initialization/druid/tasks/backup.yml
Normal file
25
tsg-olap/parcels/roles/initialization/druid/tasks/backup.yml
Normal file
@@ -0,0 +1,25 @@
|
||||
- name: Check if backup directory exists
|
||||
stat:
|
||||
path: "{{ backup_path }}"
|
||||
register: exist_status
|
||||
|
||||
- name: Backup directories
|
||||
block:
|
||||
- name: Creat backup directory
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ backup_path }}"
|
||||
|
||||
- name: Copying directories to backup
|
||||
copy:
|
||||
src: "{{ deploy_dir }}/{{ container_name }}/{{ item }}"
|
||||
dest: "{{ backup_path }}"
|
||||
remote_src: true
|
||||
loop: "{{ backup_items }}"
|
||||
|
||||
rescue:
|
||||
- name: Remove backup directory on failure
|
||||
file:
|
||||
path: "{{ backup_path }}"
|
||||
state: absent
|
||||
when: exist_status.stat.exists == false
|
||||
23
tsg-olap/parcels/roles/initialization/druid/tasks/check.yml
Normal file
23
tsg-olap/parcels/roles/initialization/druid/tasks/check.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
- name: Get druid running tasks
|
||||
shell: curl -s http://{{ vrrp_instance.default.virtual_ipaddress }}:8089/druid/indexer/v1/supervisor?state=true | jq -r '.[] | select(.state == "RUNNING") | .id'
|
||||
register: run_task_list
|
||||
run_once: true
|
||||
|
||||
- name: Get init task template
|
||||
find:
|
||||
paths: "templates/tasks/"
|
||||
file_type: file
|
||||
patterns: "*.json"
|
||||
register: find_result
|
||||
delegate_to: 127.0.0.1
|
||||
run_once: true
|
||||
|
||||
- name: Set init task list
|
||||
set_fact:
|
||||
init_task_list: "{{ find_result.files | map(attribute='path') | map('basename') | map('regex_replace', '^index_kafka_(.*)\\.json$', '\\1') | list }}"
|
||||
|
||||
- name: Verify that the number of running tasks is correct
|
||||
fail:
|
||||
msg: "The number of running druid tasks is less than the normal number!"
|
||||
when: run_task_list.stdout_lines | intersect(init_task_list) |length != (init_task_list|length)
|
||||
run_once: true
|
||||
@@ -0,0 +1,115 @@
|
||||
- name: Setting init directory
|
||||
set_fact:
|
||||
init_path: '{{ deploy_dir }}/druid/init/'
|
||||
topology_path: '{{ deploy_dir }}/druid/topology/'
|
||||
|
||||
- name: Remove files and directories
|
||||
file:
|
||||
path: "{{ init_path }}"
|
||||
state: absent
|
||||
ignore_errors: true
|
||||
loop:
|
||||
- "{{ init_path }}"
|
||||
- "{{ topology_path }}"
|
||||
|
||||
- name: Creatting init directory
|
||||
file:
|
||||
path: '{{ item }}'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ init_path }}"
|
||||
- "{{ topology_path }}"
|
||||
- "{{ topology_path }}/tasks"
|
||||
|
||||
- name: Setting hdfs_ip variable
|
||||
set_fact:
|
||||
hdfs_ip: "{{groups.hdfs[0]}}"
|
||||
|
||||
- name: Unzipping segments.zip
|
||||
unarchive:
|
||||
src: 'files/cluster/segments.zip'
|
||||
dest: '{{ deploy_dir }}/'
|
||||
force: true
|
||||
run_once: true
|
||||
delegate_to: '{{ hdfs_ip }}'
|
||||
|
||||
- name: Copying push segments to hdfs installation path
|
||||
copy:
|
||||
src: 'files/cluster/push_segments.sh'
|
||||
dest: '{{ deploy_dir }}/push_segments.sh'
|
||||
force: true
|
||||
mode: 0755
|
||||
run_once: true
|
||||
delegate_to: '{{ hdfs_ip }}'
|
||||
|
||||
- name: Creating druid directory and putting segments to hdfs
|
||||
shell: source /etc/profile && hadoop fs -mkdir -p /druid/segments
|
||||
register: nums_out
|
||||
run_once: true
|
||||
delegate_to: '{{ hdfs_ip }}'
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Putting segments to hdfs
|
||||
shell: source /etc/profile && cd {{ deploy_dir }}/ && sh push_segments.sh
|
||||
register: nums_out
|
||||
run_once: true
|
||||
delegate_to: '{{ hdfs_ip }}'
|
||||
|
||||
- name: Copying mysql Client to /usr/bin/
|
||||
copy:
|
||||
src: 'files/mysql'
|
||||
dest: '/usr/bin/'
|
||||
mode: 0755
|
||||
force: true
|
||||
|
||||
- name: Copying init files to {{ init_path }}
|
||||
copy:
|
||||
src: 'files/cluster/'
|
||||
dest: '{{ deploy_dir }}/druid/init'
|
||||
force: true
|
||||
|
||||
- name: Copying tasks template to {{ topology_path }}
|
||||
template:
|
||||
src: "{{ item }}"
|
||||
dest: "{{ deploy_dir }}/druid/topology/tasks/{{ item | basename | regex_replace('.j2$', '') }}"
|
||||
mode: "0644"
|
||||
force: true
|
||||
with_fileglob: "templates/tasks/*"
|
||||
|
||||
- name: Inserting segments to mariadb
|
||||
shell: 'mysql -uroot -p{{ mariadb_default_pin }} -P3306 -h{{ vrrp_instance.default.virtual_ipaddress }} druid < {{ init_path }}/druid_segments-tsg.sql'
|
||||
run_once: true
|
||||
|
||||
- name: Copying script files
|
||||
template:
|
||||
src: '{{ item }}.j2'
|
||||
dest: '{{ topology_path }}/{{ item }}'
|
||||
mode: 0755
|
||||
with_items:
|
||||
- 'druid_monitor.sh'
|
||||
- 'supervisor-manager.sh'
|
||||
|
||||
- name: Copying monitor template
|
||||
template:
|
||||
src: 'run_druid_monitor.j2'
|
||||
dest: '/etc/cron.d/run_druid_monitor'
|
||||
mode: 0644
|
||||
|
||||
- name: Submitting druid tasks
|
||||
shell: cd {{ topology_path }} && sh supervisor-manager.sh startall
|
||||
run_once: true
|
||||
|
||||
- name: Deleting {{ deploy_dir }}/push_segments.sh
|
||||
file:
|
||||
path: "{{ deploy_dir }}/push_segments.sh"
|
||||
state: absent
|
||||
run_once: true
|
||||
delegate_to: '{{ hdfs_ip }}'
|
||||
|
||||
- name: Deleting {{ deploy_dir }}/segments.zip
|
||||
file:
|
||||
path: "{{ deploy_dir }}/segments.zip"
|
||||
state: absent
|
||||
run_once: true
|
||||
delegate_to: '{{ hdfs_ip }}'
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
- name: Setting init directory
|
||||
set_fact:
|
||||
init_path: '{{ deploy_dir }}/druid/init/'
|
||||
topology_path: '{{ deploy_dir }}/druid/topology/'
|
||||
|
||||
- name: Creatting init directory
|
||||
file:
|
||||
path: '{{ item }}'
|
||||
state: directory
|
||||
loop:
|
||||
- '{{ init_path }}'
|
||||
- '{{ topology_path }}'
|
||||
- '{{ topology_path }}/tasks'
|
||||
- '{{ deploy_dir }}/druid/var/druid'
|
||||
|
||||
- name: Unzipping segments.zip
|
||||
unarchive:
|
||||
src: 'files/standalone/segments.zip'
|
||||
dest: '{{ deploy_dir }}/druid/var/druid/'
|
||||
force: true
|
||||
|
||||
- name: Copying mysql Client to /usr/bin/
|
||||
copy:
|
||||
src: 'files/mysql'
|
||||
dest: '/usr/bin/'
|
||||
mode: 0755
|
||||
force: true
|
||||
|
||||
- name: Copying init files to {{ init_path }}
|
||||
copy:
|
||||
src: 'files/standalone'
|
||||
dest: '{{ init_path }}/'
|
||||
force: true
|
||||
|
||||
- name: Copying tasks template to {{ topology_path }}
|
||||
template:
|
||||
src: "{{ item }}"
|
||||
dest: "{{ deploy_dir }}/druid/topology/tasks/{{ item | basename | regex_replace('.j2$', '') }}"
|
||||
mode: "0644"
|
||||
force: true
|
||||
with_fileglob: "templates/tasks/*"
|
||||
|
||||
|
||||
- name: Inserting segments to mariadb
|
||||
shell: 'mysql -uroot -p{{ mariadb_default_pin }} -P3306 -h{{ vrrp_instance.default.virtual_ipaddress }} druid < {{ init_path }}/standalone/druid_segments-tsg.sql'
|
||||
run_once: true
|
||||
|
||||
- name: Copying script files
|
||||
template:
|
||||
src: '{{ item }}.j2'
|
||||
dest: '{{ topology_path }}/{{ item }}'
|
||||
mode: 0755
|
||||
with_items:
|
||||
- "druid_monitor.sh"
|
||||
- "supervisor-manager.sh"
|
||||
|
||||
- name: Copying monitor template
|
||||
template:
|
||||
src: 'run_druid_monitor.j2'
|
||||
dest: '/etc/cron.d/run_druid_monitor'
|
||||
mode: 0644
|
||||
|
||||
- name: Submitting druid tasks
|
||||
shell: cd {{ topology_path }} && sh supervisor-manager.sh startall
|
||||
run_once: true
|
||||
21
tsg-olap/parcels/roles/initialization/druid/tasks/main.yml
Normal file
21
tsg-olap/parcels/roles/initialization/druid/tasks/main.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
- block:
|
||||
- include: uninstall.yml
|
||||
- include: "{{ playbook_name }}"
|
||||
vars:
|
||||
playbook_name: "{{ 'init-cluster.yml' if groups.druid | length > 1 else 'init-standalone.yml' }}"
|
||||
- include: check.yml
|
||||
when: inventory_hostname in groups['druid'][:2] and operation == 'install'
|
||||
|
||||
- block:
|
||||
- include: backup.yml
|
||||
- include: uninstall.yml
|
||||
- include: "{{ playbook_name }}"
|
||||
vars:
|
||||
playbook_name: "{{ 'init-cluster.yml' if groups.druid | length > 1 else 'init-standalone.yml' }}"
|
||||
- include: check.yml
|
||||
when: inventory_hostname in groups['druid'][:2] and (operation) == "upgrade"
|
||||
|
||||
- block:
|
||||
- include: uninstall.yml
|
||||
when: inventory_hostname in groups['druid'][:2] and (operation) == "uninstall"
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
- name: Check {{ deploy_dir }}/druid/topology
|
||||
stat:
|
||||
path: "{{ deploy_dir }}/druid/topology"
|
||||
register: directory_stat
|
||||
|
||||
- block:
|
||||
- name: Copying supervisor-manager.sh template
|
||||
template:
|
||||
src: 'supervisor-manager.sh.j2'
|
||||
dest: '{{ deploy_dir }}/druid/topology/supervisor-manager.sh'
|
||||
mode: 0755
|
||||
|
||||
- name: Stop all tasks
|
||||
shell: cd {{ deploy_dir }}/druid/topology && sh supervisor-manager.sh terminateall
|
||||
run_once: true
|
||||
|
||||
- name: Get tasks status
|
||||
shell: curl -s http://{{ vrrp_instance.default.virtual_ipaddress }}:8089/druid/indexer/v1/supervisor?state=true | jq 'map(select(.state = "RUNNING" ))' | jq 'length'
|
||||
register: tasks_count
|
||||
|
||||
- name: Check tasks status
|
||||
debug:
|
||||
msg: "{{ tasks_count.stdout }} tasks are not stopped"
|
||||
failed_when: tasks_count.stdout > '0'
|
||||
|
||||
- name: Delete {{ deploy_dir }}/druid/topology
|
||||
file:
|
||||
path: "{{ deploy_dir }}/druid/topology"
|
||||
state: absent
|
||||
when: directory_stat.stat.exists
|
||||
@@ -0,0 +1,58 @@
|
||||
#!/bin/bash
|
||||
|
||||
druid_ip={{ vrrp_instance.default.virtual_ipaddress }}
|
||||
druid_port=8089
|
||||
druid_monitor_prom_file={{ deploy_dir }}/node-exporter/prom/druid_monitor.prom
|
||||
|
||||
task_name=`cat tasklist`
|
||||
|
||||
#获取supervisor状态信息
|
||||
function getSupervisorStatus(){
|
||||
druid_supervisor_healthy_num=`curl -G -d 'state=true' -s $druid_ip:$druid_port/druid/indexer/v1/supervisor | jq '[ .[] | .state] | length'`
|
||||
echo druid_supervisor_healthy_num $druid_supervisor_healthy_num >> $druid_monitor_prom_file
|
||||
|
||||
druid_supervisor_unhealthy_num=`curl -G -d 'state=true' -s $druid_ip:$druid_port/druid/indexer/v1/supervisor | jq '[ .[] | select(.state != "RUNNING")] | length'`
|
||||
echo druid_supervisor_unhealthy_num $druid_supervisor_unhealthy_num >> $druid_monitor_prom_file
|
||||
}
|
||||
|
||||
#获取Druid 任务状态信息
|
||||
function getTaskStatus(){
|
||||
druid_index_running_task_num=`curl -G -d 'type=index_kafka' -s $druid_ip:$druid_port/druid/indexer/v1/runningTasks | jq '. | length'`
|
||||
echo druid_index_running_task_num $druid_index_running_task_num > $druid_monitor_prom_file
|
||||
|
||||
druid_index_waiting_task_num=`curl -G -d 'type=index_kafka' -s $druid_ip:$druid_port/druid/indexer/v1/waitingTasks | jq '. | length'`
|
||||
echo druid_index_waiting_task_num $druid_index_waiting_task_num >> $druid_monitor_prom_file
|
||||
|
||||
druid_index_pending_task_num=`curl -G -d 'type=index_kafka' -s $druid_ip:$druid_port/druid/indexer/v1/pendingTasks | jq '. | length'`
|
||||
echo druid_index_pending_task_num $druid_index_pending_task_num >> $druid_monitor_prom_file
|
||||
|
||||
druid_compact_pending_task_num=`curl -G -d 'type=compact' -s $druid_ip:$druid_port/druid/indexer/v1/pendingTasks | jq '. | length'`
|
||||
echo druid_compact_pending_task_num $druid_compact_pending_task_num >> $druid_monitor_prom_file
|
||||
|
||||
druid_compact_waiting_task_num=`curl -G -d 'type=compact' -s $druid_ip:$druid_port/druid/indexer/v1/waitingTasks | jq '. | length'`
|
||||
echo druid_compact_waiting_task_num $druid_compact_waiting_task_num >> $druid_monitor_prom_file
|
||||
}
|
||||
|
||||
#校验正在运行的index数量,与启动时指定的index数量对比。
|
||||
#>=指定数值判断为正常 返回:0
|
||||
#反之异常 返回:1
|
||||
function checkIndexStatus(){
|
||||
druid_task_sum=0
|
||||
for var in ${task_name[@]};
|
||||
do
|
||||
druid_task_num=`cat tasks/${var} | jq .ioConfig.taskCount`
|
||||
druid_task_sum=`expr $druid_task_num + $druid_task_sum`
|
||||
done
|
||||
|
||||
druid_index_task_healthy_flag=0
|
||||
if [ $druid_index_running_task_num -lt $druid_task_sum ]
|
||||
then
|
||||
druid_index_task_healthy_flag=1
|
||||
fi
|
||||
|
||||
echo druid_index_task_healthy_flag $druid_index_task_healthy_flag >> $druid_monitor_prom_file
|
||||
}
|
||||
|
||||
getTaskStatus
|
||||
getSupervisorStatus
|
||||
checkIndexStatus
|
||||
@@ -0,0 +1,28 @@
|
||||
#!/bin/bash
|
||||
|
||||
base_dir=`dirname $0`
|
||||
echo $base_dir
|
||||
|
||||
#router节点IP
|
||||
router_ip={{ groups.druid[0] }}
|
||||
|
||||
common_task_name=`cat $base_dir/common_task.txt`
|
||||
common_rule_file="$base_dir/common_data_rule.json"
|
||||
|
||||
hot_task_name=`cat $base_dir/hot_task.txt`
|
||||
hot_rule_file="$base_dir/hot_data_rule.json"
|
||||
|
||||
for var in ${common_task_name[@]};
|
||||
do
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' -H 'Content-Type:application/json' -d @$common_rule_file http://${router_ip}:8088/druid/coordinator/v1/rules/${var}
|
||||
echo "'${var}' 任务启动成功"
|
||||
sleep 2
|
||||
done
|
||||
|
||||
for var in ${hot_task_name[@]};
|
||||
do
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' -H 'Content-Type:application/json' -d @$hot_rule_file http://${router_ip}:8088/druid/coordinator/v1/rules/${var}
|
||||
echo "'${var}' 任务启动成功"
|
||||
sleep 2
|
||||
done
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
#!/bin/bash
|
||||
|
||||
base_dir=`dirname $0`
|
||||
base_dir="$(cd "$base_dir" && pwd)"
|
||||
|
||||
router_ip='{{ vrrp_instance.default.virtual_ipaddress }}'
|
||||
|
||||
common_task_name=`cat $base_dir/tasklist`
|
||||
common_rule_file="$base_dir/common_data_rule.json"
|
||||
|
||||
hot_task_name=`cat $base_dir/hot_task.txt`
|
||||
hot_rule_file="$base_dir/hot_data_rule.json"
|
||||
|
||||
case $1 in
|
||||
|
||||
resetAll)
|
||||
for var in ${common_task_name[@]};
|
||||
do
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' http://${router_ip}:8089/druid/indexer/v1/supervisor/${var}/reset
|
||||
sleep 2
|
||||
done
|
||||
|
||||
for var in ${hot_task_name[@]};
|
||||
do
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' http://${router_ip}:8089/druid/indexer/v1/supervisor/${var}/reset
|
||||
sleep 2
|
||||
done
|
||||
;;
|
||||
|
||||
terminateAll)
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' http://${router_ip}:8089/druid/indexer/v1/supervisor/terminateAll
|
||||
;;
|
||||
|
||||
shutdownAllTasks)
|
||||
for var in ${common_task_name[@]};
|
||||
do
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' http://${router_ip}:8089/druid/indexer/v1/datasources/${var}/shutdownAllTasks
|
||||
sleep 2
|
||||
done
|
||||
|
||||
for var in ${hot_task_name[@]};
|
||||
do
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' http://${router_ip}:8089/druid/indexer/v1/datasources/${var}/shutdownAllTasks
|
||||
sleep 2
|
||||
done
|
||||
;;
|
||||
|
||||
reset)
|
||||
if [ $# -le 1 ]; then
|
||||
echo "Usage: supervisor-manger reset <dataSource>"
|
||||
exit 1
|
||||
fi
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' http://${router_ip}:8089/druid/indexer/v1/supervisor/$2/reset
|
||||
;;
|
||||
|
||||
terminate)
|
||||
if [ $# -le 1 ]; then
|
||||
echo "Usage: supervisor-manger terminate <dataSource>"
|
||||
exit 1
|
||||
fi
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' http://${router_ip}:8089/druid/indexer/v1/supervisor/$2/terminate
|
||||
;;
|
||||
|
||||
shutdownTasks)
|
||||
if [ $# -le 1 ]; then
|
||||
echo "Usage: supervisor-manger shutdownTasks <dataSource>"
|
||||
exit 1
|
||||
fi
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' http://${router_ip}:8089/druid/indexer/v1/datasources/$2/shutdownAllTasks
|
||||
;;
|
||||
*)
|
||||
echo "Usage: supervisor-manger {resetAll|terminateAll|shutdownAllTasks}"
|
||||
echo "Usage: supervisor-manger {reset|terminate|shutdownTasks} <dataSource>"
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,3 @@
|
||||
#Ansible: Check druid up to node_exporter
|
||||
*/10 * * * * root cd {{ topology_path }} && sh druid_monitor.sh
|
||||
|
||||
124
tsg-olap/parcels/roles/initialization/druid/templates/s.bak
Normal file
124
tsg-olap/parcels/roles/initialization/druid/templates/s.bak
Normal file
@@ -0,0 +1,124 @@
|
||||
#!/bin/bash
|
||||
source /etc/profile
|
||||
|
||||
DRUID_HOST='{{ vrrp_instance.default.virtual_ipaddress }}'
|
||||
KAFKA_HOST="{% for host in groups['kafka'] %}
|
||||
{{ host }}:9094{% if not loop.last %},{% endif %}
|
||||
{% endfor %}"
|
||||
|
||||
# 参数:1.操作 2.任务文件
|
||||
OPERATION=$1
|
||||
|
||||
TASK_LIST=(
|
||||
index_kafka_application_protocol_stat.json
|
||||
index_kafka_monitor_rule_hits.json
|
||||
index_kafka_object_statistics.json
|
||||
index_kafka_proxy_rule_hits.json
|
||||
index_kafka_security_rule_hits.json
|
||||
index_kafka_service_chaining_rule_hits.json
|
||||
index_kafka_service_function_status.json
|
||||
index_kafka_statistics_rule_hits.json
|
||||
index_kafka_statistics_rule.json
|
||||
index_kafka_sys_storage_log.json
|
||||
index_kafka_top_client_ips.json
|
||||
index_kafka_top_external_ips.json
|
||||
index_kafka_top_internal_ips.json
|
||||
index_kafka_top_server_domains.json
|
||||
index_kafka_top_server_fqdns.json
|
||||
index_kafka_top_server_ips.json
|
||||
index_kafka_top_subscribers.json
|
||||
index_kafka_traffic_general_stat.json
|
||||
index_kafka_traffic_shaping_rule_hits.json
|
||||
index_kafka_traffic_top_destination_ip_metrics_log.json
|
||||
)
|
||||
|
||||
if [ $# -lt 1 ]; then
|
||||
echo "Usage: ./supervisor-manager.sh [startall|resetall|terminateall|shutdownall]"
|
||||
echo "Usage: ./supervisor-manager.sh [start|reset|terminate|shutdown] <dataSource>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
function start_task() {
|
||||
local task_name=$1
|
||||
cp ./tasks/${task_name} ./
|
||||
|
||||
sed -i 's/kafkabootstrap/'$KAFKA_HOST'/' ${task_name}
|
||||
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' -H 'Content-Type:application/json' -d @${task_name} http://$DRUID_HOST:8089/druid/indexer/v1/supervisor
|
||||
|
||||
if [ $? -eq "0" ]; then
|
||||
echo "task:'${task_name}' Start-up success! "
|
||||
rm -rf ./${task_name}
|
||||
else
|
||||
echo "task:'${task_name}' Start-up failure! "
|
||||
exit 1
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
function reset_task() {
|
||||
local task_name=$1
|
||||
task_name="${task_name/index_kafka_/}"
|
||||
task_name="${task_name/.json/}"
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' "http://${DRUID_HOST}:8089/druid/indexer/v1/supervisor/${task_name}/reset"
|
||||
sleep 2
|
||||
}
|
||||
|
||||
function terminate_task() {
|
||||
local task_name=$1
|
||||
task_name="${task_name/index_kafka_/}"
|
||||
task_name="${task_name/.json/}"
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' "http://${DRUID_HOST}:8089/druid/indexer/v1/supervisor/${task_name}/terminate"
|
||||
}
|
||||
|
||||
function terminate_all() {
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' "http://${DRUID_HOST}:8089/druid/indexer/v1/supervisor/terminateAll"
|
||||
}
|
||||
|
||||
function shutdown_tasks() {
|
||||
local task_name=$1
|
||||
task_name="${task_name/index_kafka_/}"
|
||||
task_name="${task_name/.json/}"
|
||||
local task_name=$1
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' "http://${DRUID_HOST}:8089/druid/indexer/v1/datasources/${task_name}/shutdownAllTasks"
|
||||
sleep 2
|
||||
}
|
||||
|
||||
case $OPERATION in
|
||||
start)
|
||||
start_task "$2"
|
||||
;;
|
||||
startall)
|
||||
for task in ${TASK_LIST[@]}; do
|
||||
start_task "$task"
|
||||
done
|
||||
;;
|
||||
reset)
|
||||
reset_task "$2"
|
||||
;;
|
||||
resetall)
|
||||
for task in ${TASK_LIST[@]}; do
|
||||
reset_task "$task"
|
||||
done
|
||||
;;
|
||||
terminate)
|
||||
terminate_task "$2"
|
||||
;;
|
||||
terminateall)
|
||||
terminate_all
|
||||
;;
|
||||
shutdown)
|
||||
shutdown_tasks "$2"
|
||||
;;
|
||||
shutdownall)
|
||||
for task in ${TASK_LIST[@]}; do
|
||||
shutdown_tasks "$task"
|
||||
done
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: ./supervisor-manager.sh [startall|resetall|terminateall|shutdownall]"
|
||||
echo "Usage: ./supervisor-manager.sh [start|reset|terminate|shutdown] <dataSource>"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
#!/bin/bash
|
||||
source /etc/profile
|
||||
|
||||
DRUID_HOST='{{ vrrp_instance.default.virtual_ipaddress }}'
|
||||
KAFKA_HOST="{% for host in groups['kafka'] %}
|
||||
{{ host }}:9094{% if not loop.last %},{% endif %}
|
||||
{% endfor %}"
|
||||
|
||||
# 参数:1.操作 2.任务文件或目录
|
||||
OPERATION=$1
|
||||
filename=$(basename "$file")
|
||||
TASK_FILE_LIST=$(find "./tasks" -name "*.json")
|
||||
|
||||
if [ $# -lt 1 ]; then
|
||||
echo "Usage: ./supervisor-manager.sh [startall|resetall|terminateall|shutdownall]"
|
||||
echo "Usage: ./supervisor-manager.sh [start|reset|terminate|shutdown] <./tasks/[task file]>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
function start_task() {
|
||||
local task_file=$1
|
||||
local task_name=$(basename $task_file)
|
||||
cp ${task_file} ./
|
||||
|
||||
sed -i 's/kafkabootstrap/'$KAFKA_HOST'/' ${task_name}
|
||||
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' -H 'Content-Type:application/json' -d @${task_name} http://$DRUID_HOST:8089/druid/indexer/v1/supervisor
|
||||
|
||||
if [ $? -eq "0" ]; then
|
||||
echo "task:'${task_name}' Start-up success! "
|
||||
rm -rf ./${task_name}
|
||||
else
|
||||
echo "task:'${task_name}' Start-up failure! "
|
||||
exit 1
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
function reset_task() {
|
||||
local task_name=$(basename $1)
|
||||
task_name="${task_name/index_kafka_/}"
|
||||
task_name="${task_name/.json/}"
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' "http://${DRUID_HOST}:8089/druid/indexer/v1/supervisor/${task_name}/reset"
|
||||
sleep 2
|
||||
}
|
||||
|
||||
function terminate_task() {
|
||||
local task_name=$(basename $1)
|
||||
task_name="${task_name/index_kafka_/}"
|
||||
task_name="${task_name/.json/}"
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' "http://${DRUID_HOST}:8089/druid/indexer/v1/supervisor/${task_name}/terminate"
|
||||
}
|
||||
|
||||
function terminate_all() {
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' "http://${DRUID_HOST}:8089/druid/indexer/v1/supervisor/terminateAll"
|
||||
}
|
||||
|
||||
function shutdown_tasks() {
|
||||
local task_name=$(basename $1)
|
||||
task_name="${task_name/index_kafka_/}"
|
||||
task_name="${task_name/.json/}"
|
||||
curl --retry-delay 3 --retry 3 -X 'POST' "http://${DRUID_HOST}:8089/druid/indexer/v1/datasources/${task_name}/shutdownAllTasks"
|
||||
sleep 2
|
||||
}
|
||||
|
||||
case $OPERATION in
|
||||
start)
|
||||
start_task "$2"
|
||||
;;
|
||||
startall)
|
||||
for task in ${TASK_FILE_LIST[@]}; do
|
||||
start_task "$task"
|
||||
done
|
||||
;;
|
||||
reset)
|
||||
reset_task "$2"
|
||||
;;
|
||||
resetall)
|
||||
for task in ${TASK_FILE_LIST[@]}; do
|
||||
reset_task "$task"
|
||||
done
|
||||
;;
|
||||
terminate)
|
||||
terminate_task "$2"
|
||||
;;
|
||||
terminateall)
|
||||
terminate_all
|
||||
;;
|
||||
shutdown)
|
||||
shutdown_tasks "$2"
|
||||
;;
|
||||
shutdownall)
|
||||
for task in ${TASK_FILE_LIST[@]}; do
|
||||
shutdown_tasks "$task"
|
||||
done
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: ./supervisor-manager.sh [startall|resetall|terminateall|shutdownall]"
|
||||
echo "Usage: ./supervisor-manager.sh [start|reset|terminate|shutdown] <./tasks/[task file]>"
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -0,0 +1,131 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "application_protocol_stat",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
"protocol_stack_id",
|
||||
"app_name",
|
||||
{"name": "vsys_id", "type": "long"}
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{"name": "vsys_id", "type": "path", "expr": "$.tags.vsys_id"},
|
||||
{"name": "data_center", "type": "path", "expr": "$.tags.data_center"},
|
||||
{"name": "device_group", "type": "path", "expr": "$.tags.device_group"},
|
||||
{"name": "device_id", "type": "path", "expr": "$.tags.device_id"},
|
||||
{"name": "protocol_stack_id", "type": "path", "expr": "$.tags.protocol_stack_id"},
|
||||
{"name": "app_name", "type": "path", "expr": "$.tags.app_name"},
|
||||
{"name": "sessions", "type": "path", "expr": "$.fields.sessions"},
|
||||
{"name": "in_bytes", "type": "path", "expr": "$.fields.in_bytes"},
|
||||
{"name": "out_bytes", "type": "path", "expr": "$.fields.out_bytes"},
|
||||
{"name": "in_pkts", "type": "path", "expr": "$.fields.in_pkts"},
|
||||
{"name": "out_pkts", "type": "path", "expr": "$.fields.out_pkts"},
|
||||
{"name": "c2s_pkts", "type": "path", "expr": "$.fields.c2s_pkts"},
|
||||
{"name": "s2c_pkts", "type": "path", "expr": "$.fields.s2c_pkts"},
|
||||
{"name": "c2s_bytes", "type": "path", "expr": "$.fields.c2s_bytes"},
|
||||
{"name": "s2c_bytes", "type": "path", "expr": "$.fields.s2c_bytes"},
|
||||
{"name": "c2s_fragments", "type": "path", "expr": "$.fields.c2s_fragments"},
|
||||
{"name": "s2c_fragments", "type": "path", "expr": "$.fields.s2c_fragments"},
|
||||
{"name": "c2s_tcp_lost_bytes", "type": "path", "expr": "$.fields.c2s_tcp_lost_bytes"},
|
||||
{"name": "s2c_tcp_lost_bytes", "type": "path", "expr": "$.fields.s2c_tcp_lost_bytes"},
|
||||
{"name": "c2s_tcp_ooorder_pkts", "type": "path", "expr": "$.fields.c2s_tcp_ooorder_pkts"},
|
||||
{"name": "s2c_tcp_ooorder_pkts", "type": "path", "expr": "$.fields.s2c_tcp_ooorder_pkts"},
|
||||
{"name": "c2s_tcp_retransmitted_pkts", "type": "path", "expr": "$.fields.c2s_tcp_retransmitted_pkts"},
|
||||
{"name": "s2c_tcp_retransmitted_pkts", "type": "path", "expr": "$.fields.s2c_tcp_retransmitted_pkts"},
|
||||
{"name": "c2s_tcp_retransmitted_bytes", "type": "path", "expr": "$.fields.c2s_tcp_retransmitted_bytes"},
|
||||
{"name": "s2c_tcp_retransmitted_bytes", "type": "path", "expr": "$.fields.s2c_tcp_retransmitted_bytes"}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec": [
|
||||
{"type": "longSum", "name": "sessions", "fieldName": "sessions"},
|
||||
{"type": "longSum", "name": "c2s_pkts", "fieldName": "c2s_pkts"},
|
||||
{"type": "longSum", "name": "s2c_pkts", "fieldName": "s2c_pkts"},
|
||||
{"type": "longSum", "name": "c2s_bytes", "fieldName": "c2s_bytes"},
|
||||
{"type": "longSum", "name": "s2c_bytes", "fieldName": "s2c_bytes"},
|
||||
{"type": "longSum", "name": "c2s_fragments", "fieldName": "c2s_fragments"},
|
||||
{"type": "longSum", "name": "s2c_fragments", "fieldName": "s2c_fragments"},
|
||||
{"type": "longSum", "name": "c2s_tcp_lost_bytes", "fieldName": "c2s_tcp_lost_bytes"},
|
||||
{"type": "longSum", "name": "s2c_tcp_lost_bytes", "fieldName": "s2c_tcp_lost_bytes"},
|
||||
{"type": "longSum", "name": "c2s_tcp_ooorder_pkts", "fieldName": "c2s_tcp_ooorder_pkts"},
|
||||
{"type": "longSum", "name": "s2c_tcp_ooorder_pkts", "fieldName": "s2c_tcp_ooorder_pkts"},
|
||||
{"type": "longSum", "name": "c2s_tcp_retransmitted_pkts", "fieldName": "c2s_tcp_retransmitted_pkts"},
|
||||
{"type": "longSum", "name": "s2c_tcp_retransmitted_pkts", "fieldName": "s2c_tcp_retransmitted_pkts"},
|
||||
{"type": "longSum", "name": "c2s_tcp_retransmitted_bytes", "fieldName": "c2s_tcp_retransmitted_bytes"},
|
||||
{"type": "longSum", "name": "s2c_tcp_retransmitted_bytes", "fieldName": "s2c_tcp_retransmitted_bytes"},
|
||||
{"type": "longSum", "name": "in_bytes", "fieldName": "in_bytes"},
|
||||
{"type": "longSum", "name": "out_bytes", "fieldName": "out_bytes"},
|
||||
{"type": "longSum", "name": "in_pkts", "fieldName": "in_pkts"},
|
||||
{"type": "longSum", "name": "out_pkts", "fieldName": "out_pkts"}
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT15S"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec": {
|
||||
"transforms": [
|
||||
{"type": "expression", "name": "vsys_id", "expression": "nvl(vsys_id,1)"},
|
||||
{"type": "expression", "name": "sessions", "expression": "nvl(sessions, 0)"},
|
||||
{"type": "expression", "name": "c2s_pkts", "expression": "nvl(c2s_pkts, 0)"},
|
||||
{"type": "expression", "name": "s2c_pkts", "expression": "nvl(s2c_pkts, 0)"},
|
||||
{"type": "expression", "name": "c2s_bytes", "expression": "nvl(c2s_bytes, 0)"},
|
||||
{"type": "expression", "name": "s2c_bytes", "expression": "nvl(s2c_bytes, 0)"},
|
||||
{"type": "expression", "name": "c2s_fragments", "expression": "nvl(c2s_fragments, 0)"},
|
||||
{"type": "expression", "name": "s2c_fragments", "expression": "nvl(s2c_fragments, 0)"},
|
||||
{"type": "expression", "name": "c2s_tcp_lost_bytes", "expression": "nvl(c2s_tcp_lost_bytes, 0)"},
|
||||
{"type": "expression", "name": "s2c_tcp_lost_bytes", "expression": "nvl(s2c_tcp_lost_bytes, 0)"},
|
||||
{"type": "expression", "name": "c2s_tcp_ooorder_pkts", "expression": "nvl(c2s_tcp_ooorder_pkts, 0)"},
|
||||
{"type": "expression", "name": "s2c_tcp_ooorder_pkts", "expression": "nvl(s2c_tcp_ooorder_pkts, 0)"},
|
||||
{"type": "expression", "name": "c2s_tcp_retransmitted_pkts", "expression": "nvl(c2s_tcp_retransmitted_pkts, 0)"},
|
||||
{"type": "expression", "name": "s2c_tcp_retransmitted_pkts", "expression": "nvl(s2c_tcp_retransmitted_pkts, 0)"},
|
||||
{"type": "expression", "name": "c2s_tcp_retransmitted_bytes", "expression": "nvl(c2s_tcp_retransmitted_bytes, 0)"},
|
||||
{"type": "expression", "name": "s2c_tcp_retransmitted_bytes", "expression": "nvl(s2c_tcp_retransmitted_bytes, 0)"},
|
||||
{"type": "expression", "name": "in_bytes", "expression": "nvl(in_bytes, 0)"},
|
||||
{"type": "expression", "name": "out_bytes", "expression": "nvl(out_bytes, 0)"},
|
||||
{"type": "expression", "name": "in_pkts", "expression": "nvl(in_pkts, 0)"},
|
||||
{"type": "expression", "name": "out_pkts", "expression": "nvl(out_pkts, 0)"}
|
||||
],
|
||||
"filter": {
|
||||
"type": "selector",
|
||||
"dimension": "name",
|
||||
"value": "application_protocol_stat"
|
||||
}
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"maxRowsPerSegment": 5000000,
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "NETWORK-TRAFFIC-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "monitor_rule_hits",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
{"name": "vsys_id","type": "long"},
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
{"name": "rule_id","type": "long"},
|
||||
{"name": "action","type": "long"}
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{ "name": "hit_count", "type": "path", "expr": "$.fields.hit_count" },
|
||||
{ "name": "in_bytes", "type": "path", "expr": "$.fields.in_bytes" },
|
||||
{ "name": "out_bytes", "type": "path", "expr": "$.fields.out_bytes" },
|
||||
{ "name": "in_pkts", "type": "path", "expr": "$.fields.in_pkts" },
|
||||
{ "name": "out_pkts", "type": "path", "expr": "$.fields.out_pkts" },
|
||||
{ "name": "vsys_id", "type": "path", "expr": "$.tags.vsys_id" },
|
||||
{ "name": "data_center", "type": "path", "expr": "$.tags.data_center" },
|
||||
{ "name": "device_group", "type": "path", "expr": "$.tags.device_group" },
|
||||
{ "name": "device_id", "type": "path", "expr": "$.tags.device_id" },
|
||||
{ "name": "rule_id", "type": "path", "expr": "$.tags.rule_id" },
|
||||
{ "name": "action", "type": "path", "expr": "$.tags.action" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec" : [
|
||||
{ "type" : "longSum", "name" : "hit_count", "fieldName" : "hit_count" },
|
||||
{ "type" : "longSum", "name" : "in_bytes", "fieldName" : "in_bytes" },
|
||||
{ "type" : "longSum", "name" : "out_bytes", "fieldName" : "out_bytes" },
|
||||
{ "type" : "longSum", "name" : "in_pkts", "fieldName" : "in_pkts" },
|
||||
{ "type" : "longSum", "name" : "out_pkts", "fieldName" : "out_pkts" }
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT1S"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec" :{
|
||||
"transforms":[
|
||||
{"type": "expression", "name": "hit_count", "expression": "nvl(hit_count, 0)"},
|
||||
{"type": "expression", "name": "in_bytes", "expression": "nvl(in_bytes, 0)"},
|
||||
{"type": "expression", "name": "out_bytes", "expression": "nvl(out_bytes, 0)"},
|
||||
{"type": "expression", "name": "in_pkts", "expression": "nvl(in_pkts, 0)"},
|
||||
{"type": "expression", "name": "out_pkts", "expression": "nvl(out_pkts, 0)"}
|
||||
],
|
||||
"filter": { "type": "selector", "dimension": "name", "value": "monitor_rule_hits" }
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "POLICY-RULE-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "object_statistics",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
{"name": "vsys_id","type": "long"},
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
{"name": "template_id","type": "long"},
|
||||
{"name": "chart_id","type": "long"},
|
||||
{"name": "version","type": "long"},
|
||||
"object_type",
|
||||
{"name": "object_id","type": "long"},
|
||||
{"name": "item_id","type": "long"}
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{ "name": "in_bytes", "type": "path", "expr": "$.fields.in_bytes" },
|
||||
{ "name": "out_bytes", "type": "path", "expr": "$.fields.out_bytes" },
|
||||
{ "name": "bytes", "type": "path", "expr": "$.fields.bytes" },
|
||||
{ "name": "new_in_sessions", "type": "path", "expr": "$.fields.new_in_sessions" },
|
||||
{ "name": "new_out_sessions", "type": "path", "expr": "$.fields.new_out_sessions" },
|
||||
{ "name": "sessions", "type": "path", "expr": "$.fields.sessions" },
|
||||
{ "name": "vsys_id", "type": "path", "expr": "$.tags.vsys_id" },
|
||||
{ "name": "data_center", "type": "path", "expr": "$.tags.data_center" },
|
||||
{ "name": "device_group", "type": "path", "expr": "$.tags.device_group" },
|
||||
{ "name": "device_id", "type": "path", "expr": "$.tags.device_id" },
|
||||
{ "name": "template_id", "type": "path", "expr": "$.tags.template_id" },
|
||||
{ "name": "chart_id", "type": "path", "expr": "$.tags.chart_id" },
|
||||
{ "name": "version", "type": "path", "expr": "$.tags.version" },
|
||||
{ "name": "object_type", "type": "path", "expr": "$.tags.object_type" },
|
||||
{ "name": "object_id", "type": "path", "expr": "$.tags.object_id" },
|
||||
{ "name": "item_id", "type": "path", "expr": "$.tags.item_id" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec" : [
|
||||
{ "type" : "longSum", "name" : "in_bytes", "fieldName" : "in_bytes" },
|
||||
{ "type" : "longSum", "name" : "out_bytes", "fieldName" : "out_bytes" },
|
||||
{ "type" : "longSum", "name" : "bytes", "fieldName" : "bytes" },
|
||||
{ "type" : "longSum", "name" : "new_in_sessions", "fieldName" : "new_in_sessions" },
|
||||
{ "type" : "longSum", "name" : "new_out_sessions", "fieldName" : "new_out_sessions" },
|
||||
{ "type" : "longSum", "name" : "sessions", "fieldName" : "sessions" }
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT15S"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec" :{
|
||||
"transforms":[
|
||||
{"type": "expression", "name": "in_bytes", "expression": "nvl(in_bytes, 0)"},
|
||||
{"type": "expression", "name": "out_bytes", "expression": "nvl(out_bytes, 0)"},
|
||||
{"type": "expression", "name": "bytes", "expression": "nvl(bytes, 0)"},
|
||||
{"type": "expression", "name": "new_in_sessions", "expression": "nvl(new_in_sessions, 0)"},
|
||||
{"type": "expression", "name": "new_out_sessions", "expression": "nvl(new_out_sessions, 0)"},
|
||||
{"type": "expression", "name": "sessions", "expression": "nvl(sessions, 0)"}
|
||||
],
|
||||
"filter": { "type": "selector", "dimension": "name", "value": "object_statistics" }
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "OBJECT-STATISTICS-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "proxy_rule_hits",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
{ "name": "vsys_id", "type": "long" },
|
||||
{ "name": "rule_id", "type": "long" },
|
||||
{ "name": "pinning_status", "type": "string" },
|
||||
{ "name": "action", "type": "long" },
|
||||
{ "name": "sub_action", "type": "string" }
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{ "name": "vsys_id", "type": "path", "expr": "$.tags.vsys_id" },
|
||||
{ "name": "rule_id", "type": "path", "expr": "$.tags.rule_id" },
|
||||
{ "name": "data_center", "type": "path", "expr": "$.tags.data_center" },
|
||||
{ "name": "device_group", "type": "path", "expr": "$.tags.device_group" },
|
||||
{ "name": "device_id", "type": "path", "expr": "$.tags.device_id" },
|
||||
{ "name": "pinning_status", "type": "path", "expr": "$.tags.pinning_status" },
|
||||
{ "name": "action", "type": "path", "expr": "$.tags.action" },
|
||||
{ "name": "sub_action", "type": "path", "expr": "$.tags.sub_action" },
|
||||
{ "name": "hit_count", "type": "path", "expr": "$.fields.hit_count" },
|
||||
{ "name": "in_bytes", "type": "path", "expr": "$.fields.in_bytes" },
|
||||
{ "name": "out_bytes", "type": "path", "expr": "$.fields.out_bytes" },
|
||||
{ "name": "in_pkts", "type": "path", "expr": "$.fields.in_pkts" },
|
||||
{ "name": "out_pkts", "type": "path", "expr": "$.fields.out_pkts" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec" : [
|
||||
{ "type" : "longSum", "name" : "hit_count", "fieldName" : "hit_count" },
|
||||
{ "type" : "longSum", "name" : "in_bytes", "fieldName" : "in_bytes" },
|
||||
{ "type" : "longSum", "name" : "out_bytes", "fieldName" : "out_bytes" },
|
||||
{ "type" : "longSum", "name" : "in_pkts", "fieldName" : "in_pkts" },
|
||||
{ "type" : "longSum", "name" : "out_pkts", "fieldName" : "out_pkts" }
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT1S"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec" :{
|
||||
"transforms":[
|
||||
{"type": "expression", "name": "hit_count", "expression": "nvl(hit_count, 0)"},
|
||||
{"type": "expression", "name": "in_bytes", "expression": "nvl(in_bytes, 0)"},
|
||||
{"type": "expression", "name": "out_bytes", "expression": "nvl(out_bytes, 0)"},
|
||||
{"type": "expression", "name": "in_pkts", "expression": "nvl(in_pkts, 0)"},
|
||||
{"type": "expression", "name": "out_pkts", "expression": "nvl(out_pkts, 0)"}
|
||||
],
|
||||
"filter": { "type": "selector", "dimension": "name", "value": "proxy_rule_hits" }
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"maxRowsPerSegment": 5000000,
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "POLICY-RULE-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,83 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "security_rule_hits",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
{"name": "vsys_id","type": "long"},
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
{"name": "rule_id","type": "long"},
|
||||
{"name": "action","type": "long"}
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{ "name": "hit_count", "type": "path", "expr": "$.fields.hit_count" },
|
||||
{ "name": "in_bytes", "type": "path", "expr": "$.fields.in_bytes" },
|
||||
{ "name": "out_bytes", "type": "path", "expr": "$.fields.out_bytes" },
|
||||
{ "name": "in_pkts", "type": "path", "expr": "$.fields.in_pkts" },
|
||||
{ "name": "out_pkts", "type": "path", "expr": "$.fields.out_pkts" },
|
||||
{ "name": "vsys_id", "type": "path", "expr": "$.tags.vsys_id" },
|
||||
{ "name": "data_center", "type": "path", "expr": "$.tags.data_center" },
|
||||
{ "name": "device_group", "type": "path", "expr": "$.tags.device_group" },
|
||||
{ "name": "device_id", "type": "path", "expr": "$.tags.device_id" },
|
||||
{ "name": "rule_id", "type": "path", "expr": "$.tags.rule_id" },
|
||||
{ "name": "action", "type": "path", "expr": "$.tags.action" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec" : [
|
||||
{ "type" : "longSum", "name" : "hit_count", "fieldName" : "hit_count" },
|
||||
{ "type" : "longSum", "name" : "in_bytes", "fieldName" : "in_bytes" },
|
||||
{ "type" : "longSum", "name" : "out_bytes", "fieldName" : "out_bytes" },
|
||||
{ "type" : "longSum", "name" : "in_pkts", "fieldName" : "in_pkts" },
|
||||
{ "type" : "longSum", "name" : "out_pkts", "fieldName" : "out_pkts" }
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT1S"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec" :{
|
||||
"transforms":[
|
||||
{"type": "expression", "name": "hit_count", "expression": "nvl(hit_count, 0)"},
|
||||
{"type": "expression", "name": "in_bytes", "expression": "nvl(in_bytes, 0)"},
|
||||
{"type": "expression", "name": "out_bytes", "expression": "nvl(out_bytes, 0)"},
|
||||
{"type": "expression", "name": "in_pkts", "expression": "nvl(in_pkts, 0)"},
|
||||
{"type": "expression", "name": "out_pkts", "expression": "nvl(out_pkts, 0)"}
|
||||
],
|
||||
"filter": { "type": "selector", "dimension": "name", "value": "security_rule_hits" }
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "POLICY-RULE-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "service_chaining_rule_hits",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
{ "name": "vsys_id", "type": "long" },
|
||||
{ "name": "rule_id", "type": "long" },
|
||||
{ "name": "sff_profile_id", "type": "long" },
|
||||
{ "name": "sf_profile_id", "type": "long" }
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{ "name": "vsys_id", "type": "path", "expr": "$.tags.vsys_id" },
|
||||
{ "name": "data_center", "type": "path", "expr": "$.tags.data_center" },
|
||||
{ "name": "device_group", "type": "path", "expr": "$.tags.device_group" },
|
||||
{ "name": "device_id", "type": "path", "expr": "$.tags.device_id" },
|
||||
{ "name": "rule_id", "type": "path", "expr": "$.tags.rule_id" },
|
||||
{ "name": "sff_profile_id", "type": "path", "expr": "$.tags.sff_profile_id" },
|
||||
{ "name": "sf_profile_id", "type": "path", "expr": "$.tags.sf_profile_id" },
|
||||
{ "name": "sent_pkts", "type": "path", "expr": "$.fields.sent_pkts" },
|
||||
{ "name": "sent_bytes", "type": "path", "expr": "$.fields.sent_bytes" },
|
||||
{ "name": "recv_pkts", "type": "path", "expr": "$.fields.recv_pkts" },
|
||||
{ "name": "recv_bytes", "type": "path", "expr": "$.fields.recv_bytes" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec" : [
|
||||
{ "type" : "longSum", "name" : "sent_pkts", "fieldName" : "sent_pkts" },
|
||||
{ "type" : "longSum", "name" : "sent_bytes", "fieldName" : "sent_bytes" },
|
||||
{ "type" : "longSum", "name" : "recv_pkts", "fieldName" : "recv_pkts" },
|
||||
{ "type" : "longSum", "name" : "recv_bytes", "fieldName" : "recv_bytes" }
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT1S"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec" :{
|
||||
"transforms":[
|
||||
{"type": "expression", "name": "sent_pkts", "expression": "nvl(sent_pkts, 0)"},
|
||||
{"type": "expression", "name": "sent_bytes", "expression": "nvl(sent_bytes, 0)"},
|
||||
{"type": "expression", "name": "recv_pkts", "expression": "nvl(recv_pkts, 0)"},
|
||||
{"type": "expression", "name": "recv_bytes", "expression": "nvl(recv_bytes, 0)"}
|
||||
],
|
||||
"filter": { "type": "selector", "dimension": "name", "value": "service_chaining_rule_hits" }
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"maxRowsPerSegment": 5000000,
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "POLICY-RULE-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "service_function_status",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
{ "name": "vsys_id", "type": "long" },
|
||||
{ "name": "sf_profile_id", "type": "long" }
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{ "name": "vsys_id", "type": "path", "expr": "$.tags.vsys_id" },
|
||||
{ "name": "data_center", "type": "path", "expr": "$.tags.data_center" },
|
||||
{ "name": "device_group", "type": "path", "expr": "$.tags.device_group" },
|
||||
{ "name": "device_id", "type": "path", "expr": "$.tags.device_id" },
|
||||
{ "name": "sf_profile_id", "type": "path", "expr": "$.tags.sf_profile_id" },
|
||||
{ "name": "sf_status", "type": "path", "expr": "$.fields.sf_status" },
|
||||
{ "name": "sf_latency_us", "type": "path", "expr": "$.fields.sf_latency_us" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec" : [
|
||||
{ "type" : "longMax", "name" : "sf_latency_us", "fieldName" : "sf_latency_us" },
|
||||
{ "type" : "longMax", "name" : "sf_status", "fieldName" : "sf_status" }
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT1S"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec" :{
|
||||
"transforms":[
|
||||
{"type": "expression", "name": "sf_latency_us", "expression": "nvl(sf_latency_us, 0)"},
|
||||
{"type": "expression", "name": "sf_status", "expression": "nvl(sf_status, 0)"}
|
||||
],
|
||||
"filter": { "type": "selector", "dimension": "name", "value": "service_function_status" }
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"maxRowsPerSegment": 5000000,
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "POLICY-RULE-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,367 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "statistics_rule",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
{
|
||||
"name": "vsys_id",
|
||||
"type": "long"
|
||||
},
|
||||
{
|
||||
"name": "rule_id",
|
||||
"type": "long"
|
||||
},
|
||||
{
|
||||
"name": "template_id",
|
||||
"type": "long"
|
||||
},
|
||||
{
|
||||
"name": "chart_id",
|
||||
"type": "long"
|
||||
},
|
||||
{
|
||||
"name": "version",
|
||||
"type": "long"
|
||||
},
|
||||
"client_ip_object",
|
||||
"server_ip_object",
|
||||
"fqdn_category",
|
||||
"client_ip",
|
||||
"server_ip",
|
||||
"server_fqdn",
|
||||
"server_domain",
|
||||
"application"
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{
|
||||
"name": "vsys_id",
|
||||
"type": "path",
|
||||
"expr": "$.tags.vsys_id"
|
||||
},
|
||||
{
|
||||
"name": "data_center",
|
||||
"type": "path",
|
||||
"expr": "$.tags.data_center"
|
||||
},
|
||||
{
|
||||
"name": "device_group",
|
||||
"type": "path",
|
||||
"expr": "$.tags.device_group"
|
||||
},
|
||||
{
|
||||
"name": "device_id",
|
||||
"type": "path",
|
||||
"expr": "$.tags.device_id"
|
||||
},
|
||||
{
|
||||
"name": "rule_id",
|
||||
"type": "path",
|
||||
"expr": "$.tags.rule_id"
|
||||
},
|
||||
{
|
||||
"name": "template_id",
|
||||
"type": "path",
|
||||
"expr": "$.tags.template_id"
|
||||
},
|
||||
{
|
||||
"name": "chart_id",
|
||||
"type": "path",
|
||||
"expr": "$.tags.chart_id"
|
||||
},
|
||||
{
|
||||
"name": "version",
|
||||
"type": "path",
|
||||
"expr": "$.tags.version"
|
||||
},
|
||||
{
|
||||
"name": "client_ip_object",
|
||||
"type": "path",
|
||||
"expr": "$.tags.client_ip_object"
|
||||
},
|
||||
{
|
||||
"name": "server_ip_object",
|
||||
"type": "path",
|
||||
"expr": "$.tags.server_ip_object"
|
||||
},
|
||||
{
|
||||
"name": "fqdn_category",
|
||||
"type": "path",
|
||||
"expr": "$.tags.fqdn_category"
|
||||
},
|
||||
{
|
||||
"name": "client_ip",
|
||||
"type": "path",
|
||||
"expr": "$.tags.client_ip"
|
||||
},
|
||||
{
|
||||
"name": "server_ip",
|
||||
"type": "path",
|
||||
"expr": "$.tags.server_ip"
|
||||
},
|
||||
{
|
||||
"name": "server_fqdn",
|
||||
"type": "path",
|
||||
"expr": "$.tags.server_fqdn"
|
||||
},
|
||||
{
|
||||
"name": "server_domain",
|
||||
"type": "path",
|
||||
"expr": "$.tags.server_domain"
|
||||
},
|
||||
{
|
||||
"name": "application",
|
||||
"type": "path",
|
||||
"expr": "$.tags.application"
|
||||
},
|
||||
{
|
||||
"name": "in_bytes",
|
||||
"type": "path",
|
||||
"expr": "$.fields.in_bytes"
|
||||
},
|
||||
{
|
||||
"name": "out_bytes",
|
||||
"type": "path",
|
||||
"expr": "$.fields.out_bytes"
|
||||
},
|
||||
{
|
||||
"name": "bytes",
|
||||
"type": "path",
|
||||
"expr": "$.fields.bytes"
|
||||
},
|
||||
{
|
||||
"name": "new_c2s_flows",
|
||||
"type": "path",
|
||||
"expr": "$.fields.new_c2s_flows"
|
||||
},
|
||||
{
|
||||
"name": "new_s2c_flows",
|
||||
"type": "path",
|
||||
"expr": "$.fields.new_s2c_flows"
|
||||
},
|
||||
{
|
||||
"name": "new_in_sessions",
|
||||
"type": "path",
|
||||
"expr": "$.fields.new_in_sessions"
|
||||
},
|
||||
{
|
||||
"name": "new_out_sessions",
|
||||
"type": "path",
|
||||
"expr": "$.fields.new_out_sessions"
|
||||
},
|
||||
{
|
||||
"name": "sessions",
|
||||
"type": "path",
|
||||
"expr": "$.fields.sessions"
|
||||
},
|
||||
{
|
||||
"name": "new_unestablished_sessions",
|
||||
"type": "path",
|
||||
"expr": "$.fields.new_unestablished_sessions"
|
||||
},
|
||||
{
|
||||
"name": "syn_pkts",
|
||||
"type": "path",
|
||||
"expr": "$.fields.syn_pkts"
|
||||
},
|
||||
{
|
||||
"name": "session_identifier_sketch",
|
||||
"type": "path",
|
||||
"expr": "$.fields.session_identifier_sketch"
|
||||
},
|
||||
{
|
||||
"name": "client_ip_sketch",
|
||||
"type": "path",
|
||||
"expr": "$.fields.client_ip_sketch"
|
||||
},
|
||||
{
|
||||
"name": "server_ip_sketch",
|
||||
"type": "path",
|
||||
"expr": "$.fields.server_ip_sketch"
|
||||
},
|
||||
{
|
||||
"name": "in_latency_ms_sketch",
|
||||
"type": "path",
|
||||
"expr": "$.fields.in_latency_ms_sketch"
|
||||
},
|
||||
{
|
||||
"name": "out_latency_ms_sketch",
|
||||
"type": "path",
|
||||
"expr": "$.fields.out_latency_ms_sketch"
|
||||
},
|
||||
{
|
||||
"name": "latency_ms_sketch",
|
||||
"type": "path",
|
||||
"expr": "$.fields.latency_ms_sketch"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec": [
|
||||
{
|
||||
"type": "HLLDSketchMerge",
|
||||
"name": "session_identifier_sketch",
|
||||
"fieldName": "session_identifier_sketch"
|
||||
},
|
||||
{
|
||||
"type": "HLLDSketchMerge",
|
||||
"name": "client_ip_sketch",
|
||||
"fieldName": "client_ip_sketch"
|
||||
},{
|
||||
"type": "HLLDSketchMerge",
|
||||
"name": "server_ip_sketch",
|
||||
"fieldName": "server_ip_sketch"
|
||||
},
|
||||
{
|
||||
"type": "HdrHistogramSketchMerge",
|
||||
"name": "in_latency_ms_sketch",
|
||||
"fieldName": "in_latency_ms_sketch",
|
||||
"lowestDiscernibleValue": "1",
|
||||
"highestTrackableValue": "2",
|
||||
"numberOfSignificantValueDigits": "3",
|
||||
"autoResize": "true"
|
||||
},
|
||||
{
|
||||
"type": "HdrHistogramSketchMerge",
|
||||
"name": "out_latency_ms_sketch",
|
||||
"fieldName": "out_latency_ms_sketch",
|
||||
"lowestDiscernibleValue": "1",
|
||||
"highestTrackableValue": "2",
|
||||
"numberOfSignificantValueDigits": "3",
|
||||
"autoResize": "true"
|
||||
},
|
||||
{
|
||||
"type": "HdrHistogramSketchMerge",
|
||||
"name": "latency_ms_sketch",
|
||||
"fieldName": "latency_ms_sketch",
|
||||
"lowestDiscernibleValue": "1",
|
||||
"highestTrackableValue": "2",
|
||||
"numberOfSignificantValueDigits": "3",
|
||||
"autoResize": "true"
|
||||
},
|
||||
{
|
||||
"type": "longSum",
|
||||
"name": "in_bytes",
|
||||
"fieldName": "in_bytes"
|
||||
},
|
||||
{
|
||||
"type": "longSum",
|
||||
"name": "out_bytes",
|
||||
"fieldName": "out_bytes"
|
||||
},
|
||||
{
|
||||
"type": "longSum",
|
||||
"name": "bytes",
|
||||
"fieldName": "bytes"
|
||||
},
|
||||
{
|
||||
"type": "longSum",
|
||||
"name": "new_c2s_flows",
|
||||
"fieldName": "new_c2s_flows"
|
||||
},
|
||||
{
|
||||
"type": "longSum",
|
||||
"name": "new_s2c_flows",
|
||||
"fieldName": "new_s2c_flows"
|
||||
},
|
||||
{
|
||||
"type": "longSum",
|
||||
"name": "new_in_sessions",
|
||||
"fieldName": "new_in_sessions"
|
||||
},
|
||||
{
|
||||
"type": "longSum",
|
||||
"name": "new_out_sessions",
|
||||
"fieldName": "new_out_sessions"
|
||||
},
|
||||
{
|
||||
"type": "longSum",
|
||||
"name": "sessions",
|
||||
"fieldName": "sessions"
|
||||
},
|
||||
{
|
||||
"type": "longSum",
|
||||
"name": "new_unestablished_sessions",
|
||||
"fieldName": "new_unestablished_sessions"
|
||||
},
|
||||
{
|
||||
"type": "longSum",
|
||||
"name": "syn_pkts",
|
||||
"fieldName": "syn_pkts"
|
||||
}
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {
|
||||
"type": "period",
|
||||
"period": "PT15S"
|
||||
},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec": {
|
||||
"transforms": [
|
||||
{"type": "expression", "name": "vsys_id", "expression": "nvl(vsys_id,1)"},
|
||||
{"type": "expression", "name": "client_ip_object", "expression": "STRING_TO_ARRAY(client_ip_object,',')"},
|
||||
{"type": "expression", "name": "server_ip_object", "expression": "STRING_TO_ARRAY(server_ip_object,',')"},
|
||||
{"type": "expression", "name": "fqdn_category", "expression": "STRING_TO_ARRAY(fqdn_category,',')"},
|
||||
{"type": "expression", "name": "in_bytes", "expression": "nvl(in_bytes, 0)"},
|
||||
{"type": "expression", "name": "out_bytes", "expression": "nvl(out_bytes, 0)"},
|
||||
{"type": "expression", "name": "bytes", "expression": "nvl(bytes, 0)"},
|
||||
{"type": "expression", "name": "new_c2s_flows", "expression": "nvl(new_c2s_flows, 0)"},
|
||||
{"type": "expression", "name": "new_s2c_flows", "expression": "nvl(new_s2c_flows, 0)"},
|
||||
{"type": "expression", "name": "new_in_sessions", "expression": "nvl(new_in_sessions, 0)"},
|
||||
{"type": "expression", "name": "new_out_sessions", "expression": "nvl(new_out_sessions, 0)"},
|
||||
{"type": "expression", "name": "sessions", "expression": "nvl(sessions, 0)"},
|
||||
{"type": "expression", "name": "new_unestablished_sessions", "expression": "nvl(new_unestablished_sessions, 0)"},
|
||||
{"type": "expression", "name": "syn_pkts", "expression": "nvl(syn_pkts, 0)"}
|
||||
],
|
||||
"filter": {
|
||||
"type": "selector",
|
||||
"dimension": "name",
|
||||
"value": "statistics_rule"
|
||||
}
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"maxRowsPerSegment": 5000000,
|
||||
"maxRowsInMemory": 400000,
|
||||
"maxBytesInMemory": -1,
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "STATISTICS-RULE-METRIC",
|
||||
"taskCount": 2,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
},
|
||||
"context":{
|
||||
"druid.indexer.runner.javaOpts": "{{ druid.index_kafka_statistics_rule['druid.indexer.runner.javaOpts'] }}"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,159 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "statistics_rule_hits",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
{
|
||||
"name": "vsys_id",
|
||||
"type": "long"
|
||||
},
|
||||
{
|
||||
"name": "rule_id",
|
||||
"type": "long"
|
||||
}
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{
|
||||
"name": "vsys_id",
|
||||
"type": "path",
|
||||
"expr": "$.tags.vsys_id"
|
||||
},
|
||||
{
|
||||
"name": "data_center",
|
||||
"type": "path",
|
||||
"expr": "$.tags.data_center"
|
||||
},
|
||||
{
|
||||
"name": "device_group",
|
||||
"type": "path",
|
||||
"expr": "$.tags.device_group"
|
||||
},
|
||||
{
|
||||
"name": "device_id",
|
||||
"type": "path",
|
||||
"expr": "$.tags.device_id"
|
||||
},
|
||||
{
|
||||
"name": "rule_id",
|
||||
"type": "path",
|
||||
"expr": "$.tags.rule_id"
|
||||
},
|
||||
{
|
||||
"name": "in_bytes",
|
||||
"type": "path",
|
||||
"expr": "$.fields.in_bytes"
|
||||
},
|
||||
{
|
||||
"name": "out_bytes",
|
||||
"type": "path",
|
||||
"expr": "$.fields.out_bytes"
|
||||
},
|
||||
{
|
||||
"name": "hit_count",
|
||||
"type": "path",
|
||||
"expr": "$.fields.hit_count"
|
||||
},
|
||||
{
|
||||
"name": "in_pkts",
|
||||
"type": "path",
|
||||
"expr": "$.fields.in_pkts"
|
||||
},
|
||||
{
|
||||
"name": "out_pkts",
|
||||
"type": "path",
|
||||
"expr": "$.fields.out_pkts"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec": [
|
||||
{
|
||||
"type": "longSum",
|
||||
"name": "in_bytes",
|
||||
"fieldName": "in_bytes"
|
||||
},
|
||||
{
|
||||
"type": "longSum",
|
||||
"name": "out_bytes",
|
||||
"fieldName": "out_bytes"
|
||||
},
|
||||
{
|
||||
"type": "longSum",
|
||||
"name": "hit_count",
|
||||
"fieldName": "hit_count"
|
||||
},
|
||||
{
|
||||
"type": "longSum",
|
||||
"name": "in_pkts",
|
||||
"fieldName": "in_pkts"
|
||||
},
|
||||
{
|
||||
"type": "longSum",
|
||||
"name": "out_pkts",
|
||||
"fieldName": "out_pkts"
|
||||
}
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {
|
||||
"type": "period",
|
||||
"period": "PT1S"
|
||||
},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec": {
|
||||
"transforms": [
|
||||
{"type": "expression", "name": "vsys_id", "expression": "nvl(vsys_id,1)"},
|
||||
{"type": "expression", "name": "in_bytes", "expression": "nvl(in_bytes, 0)"},
|
||||
{"type": "expression", "name": "out_bytes", "expression": "nvl(out_bytes, 0)"},
|
||||
{"type": "expression", "name": "hit_count", "expression": "nvl(hit_count, 0)"},
|
||||
{"type": "expression", "name": "in_pkts", "expression": "nvl(in_pkts, 0)"},
|
||||
{"type": "expression", "name": "out_pkts", "expression": "nvl(out_pkts, 0)"}
|
||||
],
|
||||
"filter": {
|
||||
"type": "selector",
|
||||
"dimension": "name",
|
||||
"value": "statistics_rule_hits"
|
||||
}
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"maxRowsPerSegment": 5000000,
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "POLICY-RULE-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "sys_storage_log",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "time",
|
||||
"format": "posix"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
"log_type",
|
||||
"data_center",
|
||||
{ "name": "used_size", "type": "long" },
|
||||
{ "name": "max_size", "type": "long" },
|
||||
{ "name": "aggregate_size", "type": "long" },
|
||||
{ "name": "last_storage", "type": "long" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec" : [
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT5M", "timeZone": "Asia/Hong_Kong"},
|
||||
"rollup": false
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "SYS-STORAGE",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "top_client_ips",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
{"name": "vsys_id","type": "long"},
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
"client_ip",
|
||||
"metric"
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{ "name": "sessions", "type": "path", "expr": "$.fields.sessions" },
|
||||
{ "name": "in_bytes", "type": "path", "expr": "$.fields.in_bytes" },
|
||||
{ "name": "out_bytes", "type": "path", "expr": "$.fields.out_bytes" },
|
||||
{ "name": "in_pkts", "type": "path", "expr": "$.fields.in_pkts" },
|
||||
{ "name": "out_pkts", "type": "path", "expr": "$.fields.out_pkts" },
|
||||
{ "name": "vsys_id", "type": "path", "expr": "$.tags.vsys_id" },
|
||||
{ "name": "client_ip", "type": "path", "expr": "$.tags.client_ip" },
|
||||
{ "name": "data_center", "type": "path", "expr": "$.tags.data_center" },
|
||||
{ "name": "device_group", "type": "path", "expr": "$.tags.device_group" },
|
||||
{ "name": "device_id", "type": "path", "expr": "$.tags.device_id" },
|
||||
{ "name": "name", "type": "path", "expr": "$.name" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec" : [
|
||||
{ "type" : "longSum", "name" : "sessions", "fieldName" : "sessions" },
|
||||
{ "type" : "longSum", "name" : "in_bytes", "fieldName" : "in_bytes" },
|
||||
{ "type" : "longSum", "name" : "out_bytes", "fieldName" : "out_bytes" },
|
||||
{ "type" : "longSum", "name" : "in_pkts", "fieldName" : "in_pkts" },
|
||||
{ "type" : "longSum", "name" : "out_pkts", "fieldName" : "out_pkts" }
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT1M"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec" :{
|
||||
"transforms":[
|
||||
{"type": "expression", "name": "metric", "expression": "array_ordinal(string_to_array(name,'_'),1)"},
|
||||
{"type": "expression", "name": "sessions", "expression": "nvl(sessions, 0)"},
|
||||
{"type": "expression", "name": "in_bytes", "expression": "nvl(in_bytes, 0)"},
|
||||
{"type": "expression", "name": "out_bytes", "expression": "nvl(out_bytes, 0)"},
|
||||
{"type": "expression", "name": "in_pkts", "expression": "nvl(in_pkts, 0)"},
|
||||
{"type": "expression", "name": "out_pkts", "expression": "nvl(out_pkts, 0)"}
|
||||
],
|
||||
"filter":{
|
||||
"type":"or","fields":[
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"packets_top_client_ip"
|
||||
},
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"bytes_top_client_ip"
|
||||
},
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"sessions_top_client_ip"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "TRAFFIC-TOP-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "top_external_ips",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
{"name": "vsys_id","type": "long"},
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
"external_ip",
|
||||
"metric"
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{ "name": "sessions", "type": "path", "expr": "$.fields.sessions" },
|
||||
{ "name": "in_bytes", "type": "path", "expr": "$.fields.in_bytes" },
|
||||
{ "name": "out_bytes", "type": "path", "expr": "$.fields.out_bytes" },
|
||||
{ "name": "in_pkts", "type": "path", "expr": "$.fields.in_pkts" },
|
||||
{ "name": "out_pkts", "type": "path", "expr": "$.fields.out_pkts" },
|
||||
{ "name": "vsys_id", "type": "path", "expr": "$.tags.vsys_id" },
|
||||
{ "name": "external_ip", "type": "path", "expr": "$.tags.external_ip" },
|
||||
{ "name": "data_center", "type": "path", "expr": "$.tags.data_center" },
|
||||
{ "name": "device_group", "type": "path", "expr": "$.tags.device_group" },
|
||||
{ "name": "device_id", "type": "path", "expr": "$.tags.device_id" },
|
||||
{ "name": "name", "type": "path", "expr": "$.name" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec" : [
|
||||
{ "type" : "longSum", "name" : "sessions", "fieldName" : "sessions" },
|
||||
{ "type" : "longSum", "name" : "in_bytes", "fieldName" : "in_bytes" },
|
||||
{ "type" : "longSum", "name" : "out_bytes", "fieldName" : "out_bytes" },
|
||||
{ "type" : "longSum", "name" : "in_pkts", "fieldName" : "in_pkts" },
|
||||
{ "type" : "longSum", "name" : "out_pkts", "fieldName" : "out_pkts" }
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT1M"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec" :{
|
||||
"transforms":[
|
||||
{"type": "expression", "name": "metric", "expression": "array_ordinal(string_to_array(name,'_'),1)"},
|
||||
{"type": "expression", "name": "sessions", "expression": "nvl(sessions, 0)"},
|
||||
{"type": "expression", "name": "in_bytes", "expression": "nvl(in_bytes, 0)"},
|
||||
{"type": "expression", "name": "out_bytes", "expression": "nvl(out_bytes, 0)"},
|
||||
{"type": "expression", "name": "in_pkts", "expression": "nvl(in_pkts, 0)"},
|
||||
{"type": "expression", "name": "out_pkts", "expression": "nvl(out_pkts, 0)"}
|
||||
],
|
||||
"filter":{
|
||||
"type":"or","fields":[
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"sessions_top_external_ip"
|
||||
},
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"bytes_top_external_ip"
|
||||
},
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"packets_top_external_ip"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "TRAFFIC-TOP-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "top_internal_ips",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
{"name": "vsys_id","type": "long"},
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
"internal_ip",
|
||||
"metric"
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{ "name": "sessions", "type": "path", "expr": "$.fields.sessions" },
|
||||
{ "name": "in_bytes", "type": "path", "expr": "$.fields.in_bytes" },
|
||||
{ "name": "out_bytes", "type": "path", "expr": "$.fields.out_bytes" },
|
||||
{ "name": "in_pkts", "type": "path", "expr": "$.fields.in_pkts" },
|
||||
{ "name": "out_pkts", "type": "path", "expr": "$.fields.out_pkts" },
|
||||
{ "name": "vsys_id", "type": "path", "expr": "$.tags.vsys_id" },
|
||||
{ "name": "internal_ip", "type": "path", "expr": "$.tags.internal_ip" },
|
||||
{ "name": "data_center", "type": "path", "expr": "$.tags.data_center" },
|
||||
{ "name": "device_group", "type": "path", "expr": "$.tags.device_group" },
|
||||
{ "name": "device_id", "type": "path", "expr": "$.tags.device_id" },
|
||||
{ "name": "name", "type": "path", "expr": "$.name" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec" : [
|
||||
{ "type" : "longSum", "name" : "sessions", "fieldName" : "sessions" },
|
||||
{ "type" : "longSum", "name" : "in_bytes", "fieldName" : "in_bytes" },
|
||||
{ "type" : "longSum", "name" : "out_bytes", "fieldName" : "out_bytes" },
|
||||
{ "type" : "longSum", "name" : "in_pkts", "fieldName" : "in_pkts" },
|
||||
{ "type" : "longSum", "name" : "out_pkts", "fieldName" : "out_pkts" }
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT1M"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec" :{
|
||||
"transforms":[
|
||||
{"type": "expression", "name": "metric", "expression": "array_ordinal(string_to_array(name,'_'),1)"},
|
||||
{"type": "expression", "name": "sessions", "expression": "nvl(sessions, 0)"},
|
||||
{"type": "expression", "name": "in_bytes", "expression": "nvl(in_bytes, 0)"},
|
||||
{"type": "expression", "name": "out_bytes", "expression": "nvl(out_bytes, 0)"},
|
||||
{"type": "expression", "name": "in_pkts", "expression": "nvl(in_pkts, 0)"},
|
||||
{"type": "expression", "name": "out_pkts", "expression": "nvl(out_pkts, 0)"}
|
||||
],
|
||||
"filter":{
|
||||
"type":"or","fields":[
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"sessions_top_internal_ip"
|
||||
},
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"bytes_top_internal_ip"
|
||||
},
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"packets_top_internal_ip"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "TRAFFIC-TOP-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "top_server_domains",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
{"name": "vsys_id","type": "long"},
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
"domain",
|
||||
"metric"
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{ "name": "sessions", "type": "path", "expr": "$.fields.sessions" },
|
||||
{ "name": "in_bytes", "type": "path", "expr": "$.fields.in_bytes" },
|
||||
{ "name": "out_bytes", "type": "path", "expr": "$.fields.out_bytes" },
|
||||
{ "name": "in_pkts", "type": "path", "expr": "$.fields.in_pkts" },
|
||||
{ "name": "out_pkts", "type": "path", "expr": "$.fields.out_pkts" },
|
||||
{ "name": "vsys_id", "type": "path", "expr": "$.tags.vsys_id" },
|
||||
{ "name": "domain", "type": "path", "expr": "$.tags.domain" },
|
||||
{ "name": "data_center", "type": "path", "expr": "$.tags.data_center" },
|
||||
{ "name": "device_group", "type": "path", "expr": "$.tags.device_group" },
|
||||
{ "name": "device_id", "type": "path", "expr": "$.tags.device_id" },
|
||||
{ "name": "name", "type": "path", "expr": "$.name" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec" : [
|
||||
{ "type" : "longSum", "name" : "sessions", "fieldName" : "sessions" },
|
||||
{ "type" : "longSum", "name" : "in_bytes", "fieldName" : "in_bytes" },
|
||||
{ "type" : "longSum", "name" : "out_bytes", "fieldName" : "out_bytes" },
|
||||
{ "type" : "longSum", "name" : "in_pkts", "fieldName" : "in_pkts" },
|
||||
{ "type" : "longSum", "name" : "out_pkts", "fieldName" : "out_pkts" }
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT1M"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec" :{
|
||||
"transforms":[
|
||||
{"type": "expression", "name": "metric", "expression": "array_ordinal(string_to_array(name,'_'),1)"},
|
||||
{"type": "expression", "name": "sessions", "expression": "nvl(sessions, 0)"},
|
||||
{"type": "expression", "name": "in_bytes", "expression": "nvl(in_bytes, 0)"},
|
||||
{"type": "expression", "name": "out_bytes", "expression": "nvl(out_bytes, 0)"},
|
||||
{"type": "expression", "name": "in_pkts", "expression": "nvl(in_pkts, 0)"},
|
||||
{"type": "expression", "name": "out_pkts", "expression": "nvl(out_pkts, 0)"}
|
||||
],
|
||||
"filter":{
|
||||
"type":"or","fields":[
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"packets_top_server_domain"
|
||||
},
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"bytes_top_server_domain"
|
||||
},
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"sessions_top_server_domain"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "TRAFFIC-TOP-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "top_server_fqdns",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
{"name": "vsys_id","type": "long"},
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
"fqdn",
|
||||
"metric"
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{ "name": "sessions", "type": "path", "expr": "$.fields.sessions" },
|
||||
{ "name": "in_bytes", "type": "path", "expr": "$.fields.in_bytes" },
|
||||
{ "name": "out_bytes", "type": "path", "expr": "$.fields.out_bytes" },
|
||||
{ "name": "in_pkts", "type": "path", "expr": "$.fields.in_pkts" },
|
||||
{ "name": "out_pkts", "type": "path", "expr": "$.fields.out_pkts" },
|
||||
{ "name": "vsys_id", "type": "path", "expr": "$.tags.vsys_id" },
|
||||
{ "name": "fqdn", "type": "path", "expr": "$.tags.fqdn" },
|
||||
{ "name": "data_center", "type": "path", "expr": "$.tags.data_center" },
|
||||
{ "name": "device_group", "type": "path", "expr": "$.tags.device_group" },
|
||||
{ "name": "device_id", "type": "path", "expr": "$.tags.device_id" },
|
||||
{ "name": "name", "type": "path", "expr": "$.name" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec" : [
|
||||
{ "type" : "longSum", "name" : "sessions", "fieldName" : "sessions" },
|
||||
{ "type" : "longSum", "name" : "in_bytes", "fieldName" : "in_bytes" },
|
||||
{ "type" : "longSum", "name" : "out_bytes", "fieldName" : "out_bytes" },
|
||||
{ "type" : "longSum", "name" : "in_pkts", "fieldName" : "in_pkts" },
|
||||
{ "type" : "longSum", "name" : "out_pkts", "fieldName" : "out_pkts" }
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT1M"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec" :{
|
||||
"transforms":[
|
||||
{"type": "expression", "name": "metric", "expression": "array_ordinal(string_to_array(name,'_'),1)"},
|
||||
{"type": "expression", "name": "sessions", "expression": "nvl(sessions, 0)"},
|
||||
{"type": "expression", "name": "in_bytes", "expression": "nvl(in_bytes, 0)"},
|
||||
{"type": "expression", "name": "out_bytes", "expression": "nvl(out_bytes, 0)"},
|
||||
{"type": "expression", "name": "in_pkts", "expression": "nvl(in_pkts, 0)"},
|
||||
{"type": "expression", "name": "out_pkts", "expression": "nvl(out_pkts, 0)"}
|
||||
],
|
||||
"filter":{
|
||||
"type":"or","fields":[
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"sessions_top_server_fqdn"
|
||||
},
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"bytes_top_server_fqdn"
|
||||
},
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"packets_top_server_fqdn"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "TRAFFIC-TOP-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "top_server_ips",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
{"name": "vsys_id","type": "long"},
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
"server_ip",
|
||||
"metric"
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{ "name": "sessions", "type": "path", "expr": "$.fields.sessions" },
|
||||
{ "name": "in_bytes", "type": "path", "expr": "$.fields.in_bytes" },
|
||||
{ "name": "out_bytes", "type": "path", "expr": "$.fields.out_bytes" },
|
||||
{ "name": "in_pkts", "type": "path", "expr": "$.fields.in_pkts" },
|
||||
{ "name": "out_pkts", "type": "path", "expr": "$.fields.out_pkts" },
|
||||
{ "name": "vsys_id", "type": "path", "expr": "$.tags.vsys_id" },
|
||||
{ "name": "server_ip", "type": "path", "expr": "$.tags.server_ip" },
|
||||
{ "name": "data_center", "type": "path", "expr": "$.tags.data_center" },
|
||||
{ "name": "device_group", "type": "path", "expr": "$.tags.device_group" },
|
||||
{ "name": "device_id", "type": "path", "expr": "$.tags.device_id" },
|
||||
{ "name": "name", "type": "path", "expr": "$.name" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec" : [
|
||||
{ "type" : "longSum", "name" : "sessions", "fieldName" : "sessions" },
|
||||
{ "type" : "longSum", "name" : "in_bytes", "fieldName" : "in_bytes" },
|
||||
{ "type" : "longSum", "name" : "out_bytes", "fieldName" : "out_bytes" },
|
||||
{ "type" : "longSum", "name" : "in_pkts", "fieldName" : "in_pkts" },
|
||||
{ "type" : "longSum", "name" : "out_pkts", "fieldName" : "out_pkts" }
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT1M"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec" :{
|
||||
"transforms":[
|
||||
{"type": "expression", "name": "metric", "expression": "array_ordinal(string_to_array(name,'_'),1)"},
|
||||
{"type": "expression", "name": "sessions", "expression": "nvl(sessions, 0)"},
|
||||
{"type": "expression", "name": "in_bytes", "expression": "nvl(in_bytes, 0)"},
|
||||
{"type": "expression", "name": "out_bytes", "expression": "nvl(out_bytes, 0)"},
|
||||
{"type": "expression", "name": "in_pkts", "expression": "nvl(in_pkts, 0)"},
|
||||
{"type": "expression", "name": "out_pkts", "expression": "nvl(out_pkts, 0)"}
|
||||
],
|
||||
"filter":{
|
||||
"type":"or","fields":[
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"sessions_top_server_ip"
|
||||
},
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"bytes_top_server_ip"
|
||||
},
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"packets_top_server_ip"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "TRAFFIC-TOP-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "top_subscribers",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
{"name": "vsys_id","type": "long"},
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
"subscriber_id",
|
||||
"metric"
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{ "name": "sessions", "type": "path", "expr": "$.fields.sessions" },
|
||||
{ "name": "in_bytes", "type": "path", "expr": "$.fields.in_bytes" },
|
||||
{ "name": "out_bytes", "type": "path", "expr": "$.fields.out_bytes" },
|
||||
{ "name": "in_pkts", "type": "path", "expr": "$.fields.in_pkts" },
|
||||
{ "name": "out_pkts", "type": "path", "expr": "$.fields.out_pkts" },
|
||||
{ "name": "vsys_id", "type": "path", "expr": "$.tags.vsys_id" },
|
||||
{ "name": "subscriber_id", "type": "path", "expr": "$.tags.subscriber_id" },
|
||||
{ "name": "data_center", "type": "path", "expr": "$.tags.data_center" },
|
||||
{ "name": "device_group", "type": "path", "expr": "$.tags.device_group" },
|
||||
{ "name": "device_id", "type": "path", "expr": "$.tags.device_id" },
|
||||
{ "name": "name", "type": "path", "expr": "$.name" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec" : [
|
||||
{ "type" : "longSum", "name" : "sessions", "fieldName" : "sessions" },
|
||||
{ "type" : "longSum", "name" : "in_bytes", "fieldName" : "in_bytes" },
|
||||
{ "type" : "longSum", "name" : "out_bytes", "fieldName" : "out_bytes" },
|
||||
{ "type" : "longSum", "name" : "in_pkts", "fieldName" : "in_pkts" },
|
||||
{ "type" : "longSum", "name" : "out_pkts", "fieldName" : "out_pkts" }
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT1M"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec" :{
|
||||
"transforms":[
|
||||
{"type": "expression", "name": "metric", "expression": "array_ordinal(string_to_array(name,'_'),1)"},
|
||||
{"type": "expression", "name": "sessions", "expression": "nvl(sessions, 0)"},
|
||||
{"type": "expression", "name": "in_bytes", "expression": "nvl(in_bytes, 0)"},
|
||||
{"type": "expression", "name": "out_bytes", "expression": "nvl(out_bytes, 0)"},
|
||||
{"type": "expression", "name": "in_pkts", "expression": "nvl(in_pkts, 0)"},
|
||||
{"type": "expression", "name": "out_pkts", "expression": "nvl(out_pkts, 0)"}
|
||||
],
|
||||
"filter":{
|
||||
"type":"or","fields":[
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"sessions_top_subscriber_id"
|
||||
},
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"bytes_top_subscriber_id"
|
||||
},
|
||||
{
|
||||
"type":"selector",
|
||||
"dimension":"name",
|
||||
"value":"packets_top_subscriber_id"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "TRAFFIC-TOP-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "traffic_general_stat",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
{ "name": "vsys_id", "type": "long" }
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{ "name": "vsys_id", "type": "path", "expr": "$.tags.vsys_id" },
|
||||
{ "name": "device_id", "type": "path", "expr": "$.tags.device_id" },
|
||||
{ "name": "device_group", "type": "path", "expr": "$.tags.device_group" },
|
||||
{ "name": "data_center", "type": "path", "expr": "$.tags.data_center" },
|
||||
{ "name": "sessions", "type": "path", "expr": "$.fields.sessions" },
|
||||
{ "name": "active_sessions", "type": "path", "expr": "$.fields.active_sessions" },
|
||||
{ "name": "closed_sessions", "type": "path", "expr": "$.fields.closed_sessions" },
|
||||
{ "name": "in_bytes", "type": "path", "expr": "$.fields.in_bytes" },
|
||||
{ "name": "out_bytes", "type": "path", "expr": "$.fields.out_bytes" },
|
||||
{ "name": "in_pkts", "type": "path", "expr": "$.fields.in_pkts" },
|
||||
{ "name": "out_pkts", "type": "path", "expr": "$.fields.out_pkts" },
|
||||
{ "name": "asymmetric_c2s_flows", "type": "path", "expr": "$.fields.asymmetric_c2s_flows" },
|
||||
{ "name": "asymmetric_s2c_flows", "type": "path", "expr": "$.fields.asymmetric_s2c_flows" },
|
||||
{ "name": "tcp_syn_pkts", "type": "path", "expr": "$.fields.tcp_syn_pkts" },
|
||||
{ "name": "tcp_ack_pkts", "type": "path", "expr": "$.fields.tcp_ack_pkts" },
|
||||
{ "name": "tcp_fin_pkts", "type": "path", "expr": "$.fields.tcp_fin_pkts" },
|
||||
{ "name": "tcp_rst_pkts", "type": "path", "expr": "$.fields.tcp_rst_pkts" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec":[
|
||||
{ "type":"longSum", "name":"sessions", "fieldName":"sessions" },
|
||||
{ "type":"longMax", "name":"active_sessions", "fieldName":"active_sessions" },
|
||||
{ "type":"longSum", "name":"closed_sessions", "fieldName":"closed_sessions" },
|
||||
{ "type":"longSum", "name":"in_bytes", "fieldName":"in_bytes" },
|
||||
{ "type":"longSum", "name":"out_bytes", "fieldName":"out_bytes" },
|
||||
{ "type":"longSum", "name":"in_pkts", "fieldName":"in_pkts" },
|
||||
{ "type":"longSum", "name":"out_pkts", "fieldName":"out_pkts" },
|
||||
{ "type":"longSum", "name":"asymmetric_c2s_flows", "fieldName":"asymmetric_c2s_flows" },
|
||||
{ "type":"longSum", "name":"asymmetric_s2c_flows", "fieldName":"asymmetric_s2c_flows" },
|
||||
{ "type":"longSum", "name":"tcp_syn_pkts", "fieldName":"tcp_syn_pkts" },
|
||||
{ "type":"longSum", "name":"tcp_ack_pkts", "fieldName":"tcp_ack_pkts" },
|
||||
{ "type":"longSum", "name":"tcp_fin_pkts", "fieldName":"tcp_fin_pkts" },
|
||||
{ "type":"longSum", "name":"tcp_rst_pkts", "fieldName":"tcp_rst_pkts" }
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT1S"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec" :{
|
||||
"transforms":[
|
||||
{"type": "expression", "name": "sessions", "expression": "nvl(sessions, 0)"},
|
||||
{"type": "expression", "name": "active_sessions", "expression": "nvl(active_sessions, 0)"},
|
||||
{"type": "expression", "name": "closed_sessions", "expression": "nvl(closed_sessions, 0)"},
|
||||
{"type": "expression", "name": "in_bytes", "expression": "nvl(in_bytes, 0)"},
|
||||
{"type": "expression", "name": "out_bytes", "expression": "nvl(out_bytes, 0)"},
|
||||
{"type": "expression", "name": "in_pkts", "expression": "nvl(in_pkts, 0)"},
|
||||
{"type": "expression", "name": "out_pkts", "expression": "nvl(out_pkts, 0)"},
|
||||
{"type": "expression", "name": "asymmetric_c2s_flows", "expression": "nvl(asymmetric_c2s_flows, 0)"},
|
||||
{"type": "expression", "name": "asymmetric_s2c_flows", "expression": "nvl(asymmetric_s2c_flows, 0)"},
|
||||
{"type": "expression", "name": "tcp_syn_pkts", "expression": "nvl(tcp_syn_pkts, 0)"},
|
||||
{"type": "expression", "name": "tcp_ack_pkts", "expression": "nvl(tcp_ack_pkts, 0)"},
|
||||
{"type": "expression", "name": "tcp_fin_pkts", "expression": "nvl(tcp_fin_pkts, 0)"},
|
||||
{"type": "expression", "name": "tcp_rst_pkts", "expression": "nvl(tcp_rst_pkts, 0)"}
|
||||
],
|
||||
"filter": { "type": "selector", "dimension": "name", "value": "traffic_general_stat" }
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"maxRowsPerSegment": 5000000,
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "NETWORK-TRAFFIC-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,101 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "traffic_shaping_rule_hits",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "timestamp_ms",
|
||||
"format": "millis"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
{"name": "vsys_id","type": "long"},
|
||||
"device_id",
|
||||
"device_group",
|
||||
"data_center",
|
||||
{"name": "rule_id","type": "long"},
|
||||
{"name": "profile_id","type": "long"},
|
||||
{"name": "priority","type": "long"}
|
||||
]
|
||||
},
|
||||
"flattenSpec": {
|
||||
"useFieldDiscovery": true,
|
||||
"fields": [
|
||||
{ "name": "in_bytes", "type": "path", "expr": "$.fields.in_bytes" },
|
||||
{ "name": "out_bytes", "type": "path", "expr": "$.fields.out_bytes" },
|
||||
{ "name": "in_pkts", "type": "path", "expr": "$.fields.in_pkts" },
|
||||
{ "name": "out_pkts", "type": "path", "expr": "$.fields.out_pkts" },
|
||||
{ "name": "in_drop_pkts", "type": "path", "expr": "$.fields.in_drop_pkts" },
|
||||
{ "name": "out_drop_pkts", "type": "path", "expr": "$.fields.out_drop_pkts" },
|
||||
{ "name": "in_max_latency_us", "type": "path", "expr": "$.fields.in_max_latency_us" },
|
||||
{ "name": "out_max_latency_us", "type": "path", "expr": "$.fields.out_max_latency_us" },
|
||||
{ "name": "in_queue_len", "type": "path", "expr": "$.fields.in_queue_len" },
|
||||
{ "name": "out_queue_len", "type": "path", "expr": "$.fields.out_queue_len" },
|
||||
{ "name": "vsys_id", "type": "path", "expr": "$.tags.vsys_id" },
|
||||
{ "name": "data_center", "type": "path", "expr": "$.tags.data_center" },
|
||||
{ "name": "device_group", "type": "path", "expr": "$.tags.device_group" },
|
||||
{ "name": "device_id", "type": "path", "expr": "$.tags.device_id" },
|
||||
{ "name": "rule_id", "type": "path", "expr": "$.tags.rule_id" },
|
||||
{ "name": "profile_id", "type": "path", "expr": "$.tags.profile_id" },
|
||||
{ "name": "priority", "type": "path", "expr": "$.tags.priority" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec" : [
|
||||
{ "type" : "longSum", "name" : "in_bytes", "fieldName" : "in_bytes" },
|
||||
{ "type" : "longSum", "name" : "out_bytes", "fieldName" : "out_bytes" },
|
||||
{ "type" : "longSum", "name" : "in_pkts", "fieldName" : "in_pkts" },
|
||||
{ "type" : "longSum", "name" : "out_pkts", "fieldName" : "out_pkts" },
|
||||
{ "type" : "longSum", "name" : "in_drop_pkts", "fieldName" : "in_drop_pkts" },
|
||||
{ "type" : "longSum", "name" : "out_drop_pkts", "fieldName" : "out_drop_pkts" },
|
||||
{ "type" : "longMax", "name" : "in_max_latency_us", "fieldName" : "in_max_latency_us" },
|
||||
{ "type" : "longMax", "name" : "out_max_latency_us", "fieldName" : "out_max_latency_us" },
|
||||
{ "type" : "longMax", "name" : "in_queue_len", "fieldName" : "in_queue_len" },
|
||||
{ "type" : "longMax", "name" : "out_queue_len", "fieldName" : "out_queue_len" }
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT1S"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec" :{
|
||||
"transforms":[
|
||||
{"type": "expression", "name": "in_bytes", "expression": "nvl(in_bytes, 0)"},
|
||||
{"type": "expression", "name": "out_bytes", "expression": "nvl(out_bytes, 0)"},
|
||||
{"type": "expression", "name": "in_pkts", "expression": "nvl(in_pkts, 0)"},
|
||||
{"type": "expression", "name": "out_pkts", "expression": "nvl(out_pkts, 0)"},
|
||||
{"type": "expression", "name": "in_drop_pkts", "expression": "nvl(in_drop_pkts, 0)"},
|
||||
{"type": "expression", "name": "out_drop_pkts", "expression": "nvl(out_drop_pkts, 0)"},
|
||||
{"type": "expression", "name": "in_max_latency_us", "expression": "nvl(in_max_latency_us, 0)"},
|
||||
{"type": "expression", "name": "out_max_latency_us", "expression": "nvl(out_max_latency_us, 0)"},
|
||||
{"type": "expression", "name": "in_queue_len", "expression": "nvl(in_queue_len, 0)"},
|
||||
{"type": "expression", "name": "out_queue_len", "expression": "nvl(out_queue_len, 0)"}
|
||||
],
|
||||
"filter": { "type": "selector", "dimension": "name", "value": "traffic_shaping_rule_hits" }
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "POLICY-RULE-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"type": "kafka",
|
||||
"dataSchema": {
|
||||
"dataSource": "traffic_top_destination_ip_metrics_log",
|
||||
"parser": {
|
||||
"type": "string",
|
||||
"parseSpec": {
|
||||
"format": "json",
|
||||
"timestampSpec": {
|
||||
"column": "sketch_start_time",
|
||||
"format": "posix"
|
||||
},
|
||||
"dimensionsSpec": {
|
||||
"dimensions": [
|
||||
"destination_ip",
|
||||
"attack_type",
|
||||
{ "name": "vsys_id", "type": "long" },
|
||||
{ "type": "long", "name": "partition_num" }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"metricsSpec" : [
|
||||
{ "type" : "longSum", "name" : "session_rate","fieldName" : "session_rate"},
|
||||
{ "type" : "longSum", "name" : "packet_rate", "fieldName" : "packet_rate" },
|
||||
{ "type" : "longSum", "name" : "bit_rate", "fieldName" : "bit_rate" }
|
||||
],
|
||||
"granularitySpec": {
|
||||
"type": "uniform",
|
||||
"segmentGranularity": "DAY",
|
||||
"queryGranularity": {"type": "period", "period": "PT10M", "timeZone": "Asia/Hong_Kong"},
|
||||
"rollup": true
|
||||
},
|
||||
"transformSpec" :{
|
||||
"transforms":[
|
||||
{"type": "expression","name": "vsys_id","expression": "nvl(vsys_id,1)"},
|
||||
{"type": "expression", "name": "session_rate", "expression": "nvl(session_rate, 0)"},
|
||||
{"type": "expression", "name": "packet_rate", "expression": "nvl(packet_rate, 0)"},
|
||||
{"type": "expression", "name": "bit_rate", "expression": "nvl(bit_rate, 0)"}
|
||||
]
|
||||
}
|
||||
},
|
||||
"tuningConfig": {
|
||||
"type": "kafka",
|
||||
"resetOffsetAutomatically": true,
|
||||
"reportParseExceptions": false
|
||||
},
|
||||
"ioConfig": {
|
||||
"topic": "TRAFFIC-TOP-DESTINATION-IP-METRIC",
|
||||
"taskCount": 1,
|
||||
"replicas": 1,
|
||||
"taskDuration": "PT1H",
|
||||
"completionTimeout": "PT30M",
|
||||
"consumerProperties": {
|
||||
"bootstrap.servers": "kafkabootstrap",
|
||||
"sasl.mechanism": "PLAIN",
|
||||
"security.protocol": "SASL_PLAINTEXT",
|
||||
"sasl.jaas.config": "org.apache.kafka.common.security.scram.ScramLoginModule required username=\"admin\" password=\"galaxy2019\";"
|
||||
}
|
||||
}
|
||||
}
|
||||
11
tsg-olap/parcels/roles/initialization/druid/vars/main.yml
Normal file
11
tsg-olap/parcels/roles/initialization/druid/vars/main.yml
Normal file
@@ -0,0 +1,11 @@
|
||||
container_name: druid
|
||||
|
||||
backup_path: "{{ deploy_dir }}/backup/tsg-olap/{{ old_version }}/{{ container_name }}"
|
||||
|
||||
backup_items:
|
||||
- conf
|
||||
- docker-compose.yml
|
||||
- init
|
||||
- monitor
|
||||
- topology
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
- name: Create buckets
|
||||
uri:
|
||||
url: "http://{{ vrrp_instance.oss.virtual_ipaddress }}:9098/hos/{{ item }}"
|
||||
method: PUT
|
||||
headers:
|
||||
token: "{{ hos_token }}"
|
||||
return_content: yes
|
||||
retries: 3
|
||||
delay: 3
|
||||
loop: "{{ init_buckets }}"
|
||||
run_once: true
|
||||
|
||||
- name: Check if buckets exist
|
||||
uri:
|
||||
url: "http://{{ vrrp_instance.oss.virtual_ipaddress }}:9098/hos/"
|
||||
method: GET
|
||||
headers:
|
||||
token: "{{ hos_token }}"
|
||||
return_content: yes
|
||||
register: bucket_info
|
||||
retries: 3
|
||||
delay: 3
|
||||
|
||||
- name: Check create bucket result
|
||||
fail:
|
||||
msg: "{{ item }} was not created successfully. Please retry."
|
||||
when: "'{{ item }}' not in bucket_info.content"
|
||||
loop: "{{ init_buckets }}"
|
||||
@@ -0,0 +1,5 @@
|
||||
- include: init.yml
|
||||
when: operation == 'install'
|
||||
|
||||
- include: upgrade.yml
|
||||
when: operation == 'upgrade'
|
||||
@@ -0,0 +1,2 @@
|
||||
---
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
init_buckets:
|
||||
- troubleshooting_file_bucket
|
||||
- assessment_file_bucket
|
||||
- knowledge_base_bucket
|
||||
- traffic_file_bucket
|
||||
- report_snapshot_bucket
|
||||
@@ -0,0 +1,41 @@
|
||||
- name: Stop Container
|
||||
docker_container:
|
||||
name: '{{ image_name }}'
|
||||
state: absent
|
||||
force_kill: true
|
||||
|
||||
- name: Remove Image
|
||||
docker_image:
|
||||
name: '{{ image_name }}'
|
||||
tag: '{{ image_tag }}'
|
||||
state: absent
|
||||
force_absent: true
|
||||
|
||||
- name: Copy Image
|
||||
copy:
|
||||
src: 'files/{{ image_name }}-{{ image_tag }}.tar'
|
||||
dest: '{{ deploy_dir }}/{{ container_name }}'
|
||||
force: yes
|
||||
|
||||
- name: Unarchive Image
|
||||
unarchive:
|
||||
src: 'files/{{ image_name }}-{{ image_tag }}.tar.gz'
|
||||
dest: '{{ deploy_dir }}/{{ container_name }}'
|
||||
force: yes
|
||||
|
||||
- name: Load Image
|
||||
docker_image:
|
||||
name: '{{ image_name }}'
|
||||
tag: '{{ image_tag }}'
|
||||
load_path: '{{ deploy_dir }}/{{ container_name }}/{{ image_name }}-{{ image_tag }}.tar'
|
||||
source: load
|
||||
force_tag: yes
|
||||
force_source: yes
|
||||
timeout: 300
|
||||
|
||||
- name: Start Container
|
||||
docker_compose:
|
||||
project_src: '{{ deploy_dir }}/{{ container_name }}'
|
||||
|
||||
- name: Start Nginx
|
||||
shell: 'docker restart galaxy-gateway-nginx'
|
||||
@@ -0,0 +1,51 @@
|
||||
- name: Check if admin backup directory exists
|
||||
stat:
|
||||
path: "{{ backup_path }}/{{ admin_container_name }}"
|
||||
register: exist_status
|
||||
|
||||
- name: Backup directories
|
||||
block:
|
||||
- name: Creat backup directory
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ backup_path }}/{{ admin_container_name }}"
|
||||
|
||||
- name: Copying directories to backup
|
||||
copy:
|
||||
src: "{{ deploy_dir }}/{{ admin_container_name }}/{{ item }}"
|
||||
dest: "{{ backup_path }}/{{ admin_container_name }}/"
|
||||
remote_src: true
|
||||
loop: "{{ backup_items }}"
|
||||
|
||||
rescue:
|
||||
- name: Remove backup directory on failure
|
||||
file:
|
||||
path: "{{ backup_path }}/{{ admin_container_name }}"
|
||||
state: absent
|
||||
when: exist_status.stat.exists == false
|
||||
|
||||
- name: Check if executor backup directory exists
|
||||
stat:
|
||||
path: "{{ backup_path }}/{{ executor_container_name }}"
|
||||
register: exist_status
|
||||
|
||||
- name: Backup directories
|
||||
block:
|
||||
- name: Creat backup directory
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ backup_path }}/{{ executor_container_name }}"
|
||||
|
||||
- name: Copying directories to backup
|
||||
copy:
|
||||
src: "{{ deploy_dir }}/{{ executor_container_name }}/{{ item }}"
|
||||
dest: "{{ backup_path }}/{{ executor_container_name }}/"
|
||||
remote_src: true
|
||||
loop: "{{ backup_items }}"
|
||||
|
||||
rescue:
|
||||
- name: Remove backup directory on failure
|
||||
file:
|
||||
path: "{{ backup_path }}/{{ executor_container_name }}"
|
||||
state: absent
|
||||
when: exist_status.stat.exists == false
|
||||
@@ -0,0 +1,12 @@
|
||||
- name: Check the health status of galaxy-job-admin
|
||||
uri:
|
||||
url: http://{{ vrrp_instance.default.virtual_ipaddress }}:8181/xxl-job-admin/login
|
||||
method: POST
|
||||
body_format: form-urlencoded
|
||||
body:
|
||||
userName: admin
|
||||
pin: galaxy_2019
|
||||
|
||||
- name: Check that the galaxy-job-admin is accessible
|
||||
uri:
|
||||
url: "http://{{ vrrp_instance.default.virtual_ipaddress }}:8181/xxl-job-admin/testCase/logPolicyTest"
|
||||
@@ -0,0 +1,52 @@
|
||||
- name: Set container_name
|
||||
set_fact:
|
||||
container_name: "{{ admin_container_name }}"
|
||||
image_name: "{{ admin_image_name }}"
|
||||
image_tag: "{{ admin_image_tag }}"
|
||||
|
||||
- name: Creating directory
|
||||
file:
|
||||
state: directory
|
||||
path: '{{ deploy_dir }}/{{ container_name }}/config'
|
||||
|
||||
- name: Copying image to {{ deploy_dir }}/{{ container_name }}/
|
||||
copy:
|
||||
src: '{{ software_packages_dir }}/{{ image_name }}-{{ image_tag }}.tar'
|
||||
dest: '{{ deploy_dir }}/{{ container_name }}/'
|
||||
force: true
|
||||
notify:
|
||||
- Load Image
|
||||
- Start Container
|
||||
|
||||
- name: Copying {{ container_name }} config
|
||||
template:
|
||||
src: "admin/{{ item }}.j2"
|
||||
dest: '{{ deploy_dir }}/{{ container_name }}/config/{{ item }}'
|
||||
force: yes
|
||||
loop:
|
||||
- application.properties
|
||||
- logback.xml
|
||||
notify:
|
||||
- Start Container
|
||||
|
||||
- name: Copying {{ container_name }} docker-compose.yml
|
||||
template:
|
||||
src: "admin/docker-compose.yml.j2"
|
||||
dest: '{{ deploy_dir }}/{{ container_name }}/docker-compose.yml'
|
||||
force: yes
|
||||
notify:
|
||||
- Start Container
|
||||
|
||||
- name: Copying {{ container_name }} nginx config
|
||||
template:
|
||||
src: "admin/{{ container_name }}.conf.j2"
|
||||
dest: '{{ deploy_dir }}/galaxy-gateway-nginx/conf/includes/{{ container_name }}.conf'
|
||||
force: yes
|
||||
notify:
|
||||
- Start Nginx
|
||||
delegate_to: "{{ item }}"
|
||||
run_once: true
|
||||
loop: "{{ groups.loadbalancer[:2] }}"
|
||||
|
||||
- meta: flush_handlers
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
- name: Setting variable name
|
||||
set_fact:
|
||||
container_name: "{{ executor_container_name }}"
|
||||
image_name: "{{ executor_image_name }}"
|
||||
image_tag: "{{ executor_image_tag }}"
|
||||
|
||||
- name: Creating {{ container_name }} directory
|
||||
file:
|
||||
state: directory
|
||||
path: '{{ deploy_dir }}/{{ container_name }}/{{ item }}'
|
||||
loop:
|
||||
- "init"
|
||||
- "config"
|
||||
|
||||
- name: Copying image to {{ deploy_dir }}/{{ container_name }}/
|
||||
copy:
|
||||
src: '{{ software_packages_dir }}/{{ image_name }}-{{ image_tag }}.tar'
|
||||
dest: '{{ deploy_dir }}/{{ container_name }}/'
|
||||
force: true
|
||||
notify:
|
||||
- Load Image
|
||||
- Start Container
|
||||
|
||||
- name: Copying {{ container_name }} config
|
||||
template:
|
||||
src: "executor/{{ item }}.j2"
|
||||
dest: '{{ deploy_dir }}/{{ container_name }}/config/{{ item }}'
|
||||
force: yes
|
||||
loop:
|
||||
- application.properties
|
||||
- logback.xml
|
||||
notify:
|
||||
- Start Container
|
||||
|
||||
- name: Copying {{ container_name }} docker-compose.yml
|
||||
template:
|
||||
src: "executor/docker-compose.yml.j2"
|
||||
dest: '{{ deploy_dir }}/{{ container_name }}/docker-compose.yml'
|
||||
force: yes
|
||||
notify:
|
||||
- Start Container
|
||||
|
||||
|
||||
- meta: flush_handlers
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
- name: Creating directory
|
||||
file:
|
||||
state: directory
|
||||
path: '{{ deploy_dir }}/{{ item }}/init'
|
||||
loop:
|
||||
- 'galaxy-job-admin'
|
||||
- 'galaxy-job-executor'
|
||||
|
||||
- name: Copying admin init files
|
||||
template:
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ deploy_dir }}/{{ admin_container_name }}/init/{{ item.dest }}"
|
||||
mode: "{{ item.mode }}"
|
||||
force: true
|
||||
loop:
|
||||
- { src: "push_config.sh.j2", dest: "push_config.sh", mode: "0755" }
|
||||
- { src: "admin/xxl_job.sql.j2", dest: "xxl_job.sql", mode: "0644" }
|
||||
- { src: 'admin/create_mariadb_tables.sh.j2', dest: 'create_mariadb_tables.sh', mode: "0755" }
|
||||
- { src: "admin/galaxy-job-admin.properties.j2", dest: "galaxy-job-admin.properties", mode: "0644" }
|
||||
|
||||
- name: Copying mysql Client to /usr/bin/
|
||||
copy:
|
||||
src: 'files/mysql'
|
||||
dest: '/usr/bin/'
|
||||
mode: 0755
|
||||
force: true
|
||||
|
||||
- name: Creating table and init jobs
|
||||
shell: cd {{ deploy_dir }}/{{ admin_container_name }}/init && sh create_mariadb_tables.sh
|
||||
run_once: true
|
||||
when: operation == 'install'
|
||||
|
||||
- name: Copying executor init files
|
||||
template:
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ deploy_dir }}/{{ executor_container_name }}/init/{{ item.dest }}"
|
||||
mode: "{{ item.mode }}"
|
||||
force: true
|
||||
loop:
|
||||
- { src: "push_config.sh.j2", dest: "push_config.sh", mode: "0755" }
|
||||
- { src: "executor/galaxy-job-executor.properties.j2", dest: "galaxy-job-executor.properties", mode: "0644" }
|
||||
|
||||
- name: Pushing Galaxy-job-service admin config
|
||||
shell: 'cd {{ deploy_dir }}/{{ item.src }}/init && sh push_config.sh {{ item.conf }}'
|
||||
register: post_result
|
||||
until: post_result.stdout == '1'
|
||||
retries: 3
|
||||
delay: 3
|
||||
failed_when: post_result.stdout != '1'
|
||||
loop:
|
||||
- { src: "{{ admin_container_name }}" , conf: "galaxy-job-admin.properties" }
|
||||
- { src: "{{ executor_container_name }}" , conf: "galaxy-job-executor.properties" }
|
||||
run_once: true
|
||||
@@ -0,0 +1,22 @@
|
||||
- block:
|
||||
- include: uninstall-admin.yml
|
||||
- include: uninstall-executor.yml
|
||||
- include: init.yml
|
||||
- include: deploy-admin.yml
|
||||
- include: deploy-executor.yml
|
||||
when: operation == 'install'
|
||||
|
||||
- block:
|
||||
- include: check.yml
|
||||
- include: backup.yml
|
||||
- include: init.yml
|
||||
- include: upgrade.yml
|
||||
- include: deploy-executor.yml
|
||||
- include: check.yml
|
||||
when: operation == 'upgrade'
|
||||
|
||||
- block:
|
||||
- include: uninstall-admin.yml
|
||||
- include: uninstall-executor.yml
|
||||
when: operation == 'uninstall'
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
- name: Stopping and removing {{ admin_container_name }} container
|
||||
docker_container:
|
||||
name: '{{ admin_container_name }}'
|
||||
state: absent
|
||||
force_kill: true
|
||||
|
||||
- name: Removing old {{ admin_image_name }} image
|
||||
docker_image:
|
||||
name: '{{ admin_image_name }}'
|
||||
tag: '{{ admin_image_tag }}'
|
||||
state: absent
|
||||
force_absent: true
|
||||
|
||||
- name: Ansible delete old {{ deploy_dir }}/{{ admin_container_name }}
|
||||
file:
|
||||
path: '{{ deploy_dir }}/{{ admin_container_name }}'
|
||||
state: absent
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
- name: Stopping and removing {{ executor_container_name }} container
|
||||
docker_container:
|
||||
name: '{{ executor_container_name }}'
|
||||
state: absent
|
||||
force_kill: true
|
||||
|
||||
- name: Removing old {{ executor_image_name }} image
|
||||
docker_image:
|
||||
name: '{{ executor_image_name }}'
|
||||
tag: '{{ executor_image_tag }}'
|
||||
state: absent
|
||||
force_absent: true
|
||||
|
||||
- name: Ansible delete old {{ deploy_dir }}/{{ executor_container_name }}
|
||||
file:
|
||||
path: '{{ deploy_dir }}/{{ executor_container_name }}'
|
||||
state: absent
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
- name: Creating config tmp directory
|
||||
file:
|
||||
state: directory
|
||||
path: "/tmp/{{ item }}"
|
||||
loop:
|
||||
- "{{ admin_container_name }}"
|
||||
- "{{ executor_container_name }}"
|
||||
|
||||
- name: Creating upgrade directory
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ deploy_dir }}/{{ executor_container_name }}/upgrade/upgrade-sql"
|
||||
|
||||
- name: Fetching config files
|
||||
fetch:
|
||||
src: "{{ deploy_dir }}/{{ item.name }}/{{ item.config }}"
|
||||
dest: "/tmp/{{ item.name }}/{{ item.config }}"
|
||||
flat: yes
|
||||
loop:
|
||||
- { name: "{{ admin_container_name }}", config: 'docker-compose.yml' }
|
||||
- { name: "{{ executor_container_name }}", config: 'docker-compose.yml' }
|
||||
|
||||
- name: Loading variable by admin docker-compose.yml
|
||||
include_vars:
|
||||
file: "/tmp/{{ admin_container_name }}/docker-compose.yml"
|
||||
name: admin_docker_config
|
||||
|
||||
- name: Loading variable by executor docker-compose.yml
|
||||
include_vars:
|
||||
file: "/tmp/{{ executor_container_name }}/docker-compose.yml"
|
||||
name: executor_docker_config
|
||||
|
||||
- name: Set variable
|
||||
set_fact:
|
||||
galaxy_job_service:
|
||||
admin_java_opts: "{{ admin_docker_config['services']['galaxy-job-admin']['environment']['JAVA_OPTS'] }}"
|
||||
executor_java_opts: "{{ executor_docker_config['services']['galaxy-job-executor']['environment']['JAVA_OPTS'] }}"
|
||||
|
||||
- name: Copying upgrade sql file
|
||||
copy:
|
||||
src: 'files/upgrade-sql'
|
||||
dest: '{{ deploy_dir }}/{{ executor_container_name }}/upgrade/'
|
||||
force: true
|
||||
|
||||
- name: Copying upgrade-mariadb-data.sh template
|
||||
template:
|
||||
src: "upgrade-mariadb-data.sh.j2"
|
||||
dest: "{{ deploy_dir }}/{{ executor_container_name }}/upgrade/upgrade-mariadb-data.sh"
|
||||
mode: 0755
|
||||
force: true
|
||||
|
||||
- name: Upgrade mariadb data
|
||||
shell: cd {{ deploy_dir }}/{{ executor_container_name }}/upgrade && sh upgrade-mariadb-data.sh
|
||||
run_once: true
|
||||
@@ -0,0 +1,23 @@
|
||||
#配置集的配置格式
|
||||
nacos.config.type=properties
|
||||
#配置中心地址
|
||||
nacos.config.server-addr={{ vrrp_instance.default.virtual_ipaddress }}:8848
|
||||
#命名空间
|
||||
nacos.config.namespace={{ config_namespace }}
|
||||
#数据集ID
|
||||
nacos.config.data-id=galaxy-job-admin.properties
|
||||
#开启自动刷新
|
||||
nacos.config.auto-refresh=true
|
||||
#配置对应的分组
|
||||
nacos.config.group=Galaxy
|
||||
#Nacos认证用户
|
||||
nacos.config.username=nacos
|
||||
#Nacos认证密码
|
||||
nacos.config.password=nacos
|
||||
#开启配置预加载功能
|
||||
nacos.config.bootstrap.enable=true
|
||||
#开启Nacos支持日志级别的加载时机
|
||||
nacos.config.bootstrap.log-enable=true
|
||||
|
||||
## log config
|
||||
logging.config=./config/logback.xml
|
||||
@@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
mysql -uroot -p{{ mariadb_default_pin }} -P3306 -h{{ vrrp_instance.default.virtual_ipaddress }} -e "create database if not exists {{ mariadb_job_database }} default character set utf8mb4 collate utf8mb4_general_ci;"
|
||||
|
||||
mysql -uroot -p{{ mariadb_default_pin }} -P3306 -h{{ vrrp_instance.default.virtual_ipaddress }} {{ mariadb_job_database }} < {{ deploy_dir }}/{{ admin_container_name }}/init/xxl_job.sql
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
version: '3'
|
||||
services:
|
||||
galaxy-job-admin:
|
||||
image: {{ image_name }}:{{ image_tag }}
|
||||
container_name: galaxy-job-admin
|
||||
environment:
|
||||
JAVA_OPTS: "{{ galaxy_job_service.admin_java_opts }}"
|
||||
ports:
|
||||
- "8181:8181"
|
||||
volumes:
|
||||
- "{{ deploy_dir }}/{{ container_name }}/logs:/logs"
|
||||
- "{{ deploy_dir }}/{{ container_name }}/data:/data"
|
||||
- "{{ deploy_dir }}/{{ container_name }}/config:/home/tsg/galaxy/galaxy-job/galaxy-job-admin/config"
|
||||
restart: always
|
||||
network_mode: "host"
|
||||
@@ -0,0 +1,16 @@
|
||||
upstream jobAdmin {
|
||||
|
||||
{% for host in groups['galaxy_job_service'][:2] %}
|
||||
server {{ host }}:8184;
|
||||
{% endfor %}
|
||||
|
||||
}
|
||||
|
||||
server {
|
||||
listen 8181;
|
||||
server_name localhost;
|
||||
location / {
|
||||
proxy_pass http://jobAdmin;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
### web
|
||||
server.port=8184
|
||||
server.servlet.context-path=/xxl-job-admin
|
||||
spring.application.name=galaxy-job-admin
|
||||
### actuator
|
||||
management.server.servlet.context-path=/actuator
|
||||
management.health.mail.enabled=false
|
||||
management.endpoints.web.exposure.include=*
|
||||
#详细的应用健康信息 prometheus
|
||||
management.endpoint.health.show-details=always
|
||||
|
||||
management.endpoint.metrics.enabled=true
|
||||
management.endpoint.prometheus.enabled=true
|
||||
management.metrics.export.prometheus.enabled=true
|
||||
management.metrics.tags.application=${spring.application.name}
|
||||
management.metrics.tags.module=${spring.application.name}
|
||||
|
||||
|
||||
### resources
|
||||
spring.mvc.servlet.load-on-startup=0
|
||||
spring.mvc.static-path-pattern=/static/**
|
||||
spring.resources.static-locations=classpath:/static/
|
||||
|
||||
### freemarker
|
||||
spring.freemarker.templateLoaderPath=classpath:/templates/
|
||||
spring.freemarker.suffix=.ftl
|
||||
spring.freemarker.charset=UTF-8
|
||||
spring.freemarker.request-context-attribute=request
|
||||
spring.freemarker.settings.number_format=0.##########
|
||||
|
||||
### mybatis
|
||||
mybatis.mapper-locations=classpath:/mybatis-mapper/*Mapper.xml
|
||||
#mybatis.type-aliases-package=com.xxl.job.admin.core.model
|
||||
|
||||
### xxl-job, datasource
|
||||
spring.datasource.url=jdbc:mysql://{{ vrrp_instance.default.virtual_ipaddress }}:3306/{{ mariadb_job_database }}?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&failOverReadOnly=false&serverTimezone=UTC
|
||||
spring.datasource.username=ENC(63aTpwv2vH0vPikW+3Jjig==)
|
||||
spring.datasource.password=ENC(LDEb2OekU7iZWiFw6pUYBSozVKP27r1y)
|
||||
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
|
||||
|
||||
### datasource-pool
|
||||
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
|
||||
spring.datasource.hikari.minimum-idle=10
|
||||
spring.datasource.hikari.maximum-pool-size=100
|
||||
spring.datasource.hikari.auto-commit=true
|
||||
spring.datasource.hikari.idle-timeout=30000
|
||||
spring.datasource.hikari.pool-name=HikariCP
|
||||
spring.datasource.hikari.max-lifetime=900000
|
||||
spring.datasource.hikari.connection-timeout=30000
|
||||
spring.datasource.hikari.connection-test-query=SELECT 1
|
||||
|
||||
### xxl-job, email
|
||||
spring.mail.host=smtp.qq.com
|
||||
spring.mail.port=25
|
||||
spring.mail.username=xxx@qq.com
|
||||
spring.mail.password=xxx
|
||||
spring.mail.properties.mail.smtp.auth=true
|
||||
spring.mail.properties.mail.smtp.starttls.enable=true
|
||||
spring.mail.properties.mail.smtp.starttls.required=true
|
||||
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
|
||||
|
||||
### xxl-job, access token
|
||||
xxl.job.accessToken=
|
||||
|
||||
### xxl-job, i18n (default is zh_CN, and you can choose "zh_CN", "zh_TC" and "en")
|
||||
xxl.job.i18n=zh_CN
|
||||
|
||||
## xxl-job, triggerpool max size
|
||||
xxl.job.triggerpool.fast.max=200
|
||||
xxl.job.triggerpool.slow.max=100
|
||||
|
||||
### xxl-job, log retention days
|
||||
xxl.job.logretentiondays=30
|
||||
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration scan="true" scanPeriod="60 seconds" debug="false">
|
||||
|
||||
<!--每100M压缩日志文件-->
|
||||
<property name="LOG_SIZE" value="100MB"/>
|
||||
<!--日志文件路径-->
|
||||
<property name="LOG_PATH" value="/logs"/>
|
||||
<!--日志文件名称-->
|
||||
<property name="LOG_FILE_NAME" value="galaxy-job-admin"/>
|
||||
<!--日志打印等级-->
|
||||
<property name="LOG_LEVEL" value="error"/>
|
||||
<!--日志最大的历史30天 -->
|
||||
<property name="LOG_DAYS" value="30"/>
|
||||
<!--日志打印格式-->
|
||||
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ssZ,UTC} [%thread] %-5level %logger -%msg%n"/>
|
||||
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
|
||||
<appender name="ALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_PATH}/${LOG_FILE_NAME}.log</file>
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<level>ALL</level>
|
||||
</filter>
|
||||
<encoder>
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<fileNamePattern>
|
||||
${LOG_PATH}/history/${LOG_FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz
|
||||
</fileNamePattern>
|
||||
<maxHistory>${LOG_DAYS}</maxHistory>
|
||||
<maxFileSize>${LOG_SIZE}</maxFileSize>
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<root level="${LOG_LEVEL}">
|
||||
<appender-ref ref="ALL"/>
|
||||
<appender-ref ref="STDOUT"/>
|
||||
</root>
|
||||
|
||||
</configuration>
|
||||
@@ -0,0 +1,195 @@
|
||||
/*
|
||||
Navicat MySQL Data Transfer
|
||||
|
||||
Target Server Type : MYSQL
|
||||
Target Server Version : 50505
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 2021-09-23 14:05:11
|
||||
*/
|
||||
|
||||
SET FOREIGN_KEY_CHECKS=0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for `xxl_job_group`
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `xxl_job_group`;
|
||||
CREATE TABLE `xxl_job_group` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`app_name` varchar(64) NOT NULL COMMENT '执行器AppName',
|
||||
`title` varchar(64) NOT NULL COMMENT '执行器名称',
|
||||
`address_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '执行器地址类型:0=自动注册、1=手动录入',
|
||||
`address_list` varchar(512) DEFAULT NULL COMMENT '执行器地址列表,多地址逗号分隔',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for `xxl_job_lock`
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `xxl_job_lock`;
|
||||
CREATE TABLE `xxl_job_lock` (
|
||||
`lock_name` varchar(50) NOT NULL COMMENT '锁名称',
|
||||
PRIMARY KEY (`lock_name`) USING BTREE
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of xxl_job_lock
|
||||
-- ----------------------------
|
||||
INSERT INTO `xxl_job_lock` VALUES ('schedule_lock');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for `xxl_job_log`
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `xxl_job_log`;
|
||||
CREATE TABLE `xxl_job_log` (
|
||||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||||
`job_group` int(11) NOT NULL COMMENT '执行器主键ID',
|
||||
`job_id` int(11) NOT NULL COMMENT '任务,主键ID',
|
||||
`executor_address` varchar(255) DEFAULT NULL COMMENT '执行器地址,本次执行的地址',
|
||||
`executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler',
|
||||
`executor_param` varchar(4000) DEFAULT '' COMMENT '执行器任务参数',
|
||||
`executor_sharding_param` varchar(20) DEFAULT NULL COMMENT '执行器任务分片参数,格式如 1/2',
|
||||
`executor_fail_retry_count` int(11) NOT NULL DEFAULT 0 COMMENT '失败重试次数',
|
||||
`trigger_time` datetime DEFAULT NULL COMMENT '调度-时间',
|
||||
`trigger_code` int(11) NOT NULL COMMENT '调度-结果',
|
||||
`trigger_msg` text DEFAULT NULL COMMENT '调度-日志',
|
||||
`handle_time` datetime DEFAULT NULL COMMENT '执行-时间',
|
||||
`handle_code` int(11) NOT NULL COMMENT '执行-状态',
|
||||
`handle_msg` text DEFAULT NULL COMMENT '执行-日志',
|
||||
`alarm_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '告警状态:0-默认、1-无需告警、2-告警成功、3-告警失败',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `I_trigger_time` (`trigger_time`) USING BTREE,
|
||||
KEY `I_handle_code` (`handle_code`) USING BTREE
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=2077229 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of xxl_job_log
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for `xxl_job_logglue`
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `xxl_job_logglue`;
|
||||
CREATE TABLE `xxl_job_logglue` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`job_id` int(11) NOT NULL COMMENT '任务,主键ID',
|
||||
`glue_type` varchar(50) DEFAULT NULL COMMENT 'GLUE类型',
|
||||
`glue_source` mediumtext DEFAULT NULL COMMENT 'GLUE源代码',
|
||||
`glue_remark` varchar(128) NOT NULL COMMENT 'GLUE备注',
|
||||
`add_time` datetime DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT NULL,
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of xxl_job_logglue
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for `xxl_job_log_report`
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `xxl_job_log_report`;
|
||||
CREATE TABLE `xxl_job_log_report` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`trigger_day` datetime DEFAULT NULL COMMENT '调度-时间',
|
||||
`running_count` int(11) NOT NULL DEFAULT 0 COMMENT '运行中-日志数量',
|
||||
`suc_count` int(11) NOT NULL DEFAULT 0 COMMENT '执行成功-日志数量',
|
||||
`fail_count` int(11) NOT NULL DEFAULT 0 COMMENT '执行失败-日志数量',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE KEY `i_trigger_day` (`trigger_day`) USING BTREE
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=786 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of xxl_job_log_report
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for `xxl_job_registry`
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `xxl_job_registry`;
|
||||
CREATE TABLE `xxl_job_registry` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`registry_group` varchar(50) NOT NULL,
|
||||
`registry_key` varchar(255) NOT NULL,
|
||||
`registry_value` varchar(255) NOT NULL,
|
||||
`update_time` datetime DEFAULT NULL,
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
KEY `i_g_k_v` (`registry_group`,`registry_key`,`registry_value`) USING BTREE
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=276 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for `xxl_job_user`
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `xxl_job_user`;
|
||||
CREATE TABLE `xxl_job_user` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`username` varchar(50) NOT NULL COMMENT '账号',
|
||||
`password` varchar(50) NOT NULL COMMENT '密码',
|
||||
`role` tinyint(4) NOT NULL COMMENT '角色:0-普通用户、1-管理员',
|
||||
`permission` varchar(255) DEFAULT NULL COMMENT '权限:执行器ID列表,多个逗号分割',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE KEY `i_username` (`username`) USING BTREE
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of xxl_job_user
|
||||
-- ----------------------------
|
||||
INSERT INTO `xxl_job_user` VALUES ('1', 'admin', 'fea191a3fdd9f68503f9fa0e8d0293ab', '1', null);
|
||||
INSERT INTO `xxl_job_user` VALUES ('2', 'query', '95497ea23bf8d27d86526717578e366f', '0', '3');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for `xxl_job_info`
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `xxl_job_info`;
|
||||
CREATE TABLE `xxl_job_info` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`job_group` int(11) NOT NULL COMMENT '执行器主键ID',
|
||||
`job_cron` varchar(128) NOT NULL COMMENT '任务执行CRON',
|
||||
`job_desc` varchar(255) NOT NULL,
|
||||
`add_time` datetime DEFAULT NULL,
|
||||
`update_time` datetime DEFAULT NULL,
|
||||
`author` varchar(64) DEFAULT NULL COMMENT '作者',
|
||||
`alarm_email` varchar(255) DEFAULT NULL COMMENT '报警邮件',
|
||||
`executor_route_strategy` varchar(50) DEFAULT NULL COMMENT '执行器路由策略',
|
||||
`executor_handler` varchar(255) DEFAULT NULL COMMENT '执行器任务handler',
|
||||
`executor_param` varchar(4000) DEFAULT '' COMMENT '执行器任务参数',
|
||||
`executor_block_strategy` varchar(50) DEFAULT NULL COMMENT '阻塞处理策略',
|
||||
`executor_timeout` int(11) NOT NULL DEFAULT 0 COMMENT '任务执行超时时间,单位秒',
|
||||
`executor_fail_retry_count` int(11) NOT NULL DEFAULT 0 COMMENT '失败重试次数',
|
||||
`glue_type` varchar(50) NOT NULL COMMENT 'GLUE类型',
|
||||
`glue_source` mediumtext DEFAULT NULL COMMENT 'GLUE源代码',
|
||||
`glue_remark` varchar(128) DEFAULT NULL COMMENT 'GLUE备注',
|
||||
`glue_updatetime` datetime DEFAULT NULL COMMENT 'GLUE更新时间',
|
||||
`child_jobid` varchar(255) DEFAULT NULL COMMENT '子任务ID,多个逗号分隔',
|
||||
`trigger_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '调度状态:0-停止,1-运行',
|
||||
`trigger_last_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '上次调度时间',
|
||||
`trigger_next_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '下次调度时间',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=88 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
|
||||
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of xxl_job_group
|
||||
-- ----------------------------
|
||||
INSERT INTO `xxl_job_group` VALUES (1, 'galaxy-executor', 'GDP', 1, '{{ job_executor_servers }}');
|
||||
INSERT INTO `xxl_job_group` VALUES (2, 'galaxy-executor', 'TSG_OLAP', 1, '{{ job_executor_servers }}');
|
||||
-- ----------------------------
|
||||
-- Records of xxl_job_info
|
||||
-- ----------------------------
|
||||
INSERT INTO `xxl_job_info` VALUES (58, 1, '0 0 0 1/1 * ? ', 'set_druid_table_ttl', '2020-07-30 10:34:34', '2023-12-23 11:39:23', 'zhq', '', 'FAILOVER', 'deleteReportAndMetricsDataJobHandler', '{\"defaultMaxDays\":365,\"maxDays\":365}', 'DISCARD_LATER', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2020-07-30 10:34:34', '', 1, 1704326400000, 1704412800000);
|
||||
INSERT INTO `xxl_job_info` VALUES (59, 1, '0 0 0 1 * ?', 'clear_druid_table', '2020-07-30 11:32:08', '2022-04-12 02:38:39', 'zhq', '', 'FAILOVER', 'deleteAllReportAndMetricsDataJobHandler', '{\"maxDays\":88,\"defaultMaxDays\":365}', 'DISCARD_LATER', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2020-07-30 11:32:08', '', 0, 0, 0);
|
||||
INSERT INTO `xxl_job_info` VALUES (62, 1, '0 0 0 1/1 * ? ', 'set_hos_bucket_ttl', '2020-07-30 11:59:30', '2023-12-23 11:39:23', 'zhq', '', 'FAILOVER', 'deleteFilesJobHandler', '{\"defaultMaxDays\":30,\"maxDays\":365}', 'DISCARD_LATER', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2020-07-30 11:59:30', '', 1, 1704326400000, 1704412800000);
|
||||
INSERT INTO `xxl_job_info` VALUES (63, 1, '0 0 0 1 * ?', 'clear_hos_file', '2020-07-30 11:59:43', '2023-10-26 10:43:46', 'zhq', '', 'FAILOVER', 'deleteAllFilesJobHandler', '{\"defaultMaxDays\":30,\"maxDays\":30}', 'DISCARD_LATER', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2020-07-30 11:59:43', '', 0, 0, 0);
|
||||
INSERT INTO `xxl_job_info` VALUES (64, 1, '0 0 0 1 * ?', 'clear_clickhouse_table', '2020-07-30 13:47:25', '2022-04-12 02:38:39', 'zhq', '', 'FAILOVER', 'deleteAllTrafficDataJobHandler', '{\"maxDays\":77,\"defaultMaxDays\":30}', 'DISCARD_LATER', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2020-07-30 13:47:25', '', 0, 0, 0);
|
||||
INSERT INTO `xxl_job_info` VALUES (65, 1, '0 0 0 1/1 * ? ', 'set_clickhouse_table_ttl', '2020-07-30 13:47:38', '2023-12-23 11:39:23', 'zhq', '', 'FAILOVER', 'deleteTrafficDataJobHandler', '{\"defaultMaxDays\":30,\"maxDays\":30}', 'DISCARD_LATER', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2020-07-30 13:47:38', '', 1, 1704326400000, 1704412800000);
|
||||
|
||||
INSERT INTO `xxl_job_info` VALUES (29, 2, '0 0 4 * * ?', 'get_clickhoue_storage_daily_usage', '2020-03-26 10:58:09', '2021-09-09 11:54:53', 'zhq', '', 'FAILOVER', 'getStorageQuotaJobHandler', '{\"topic\":\"SYS-STORAGE\",\"ckDayGrowth\":\"true\"}', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2020-03-26 10:58:09', '', 1, 1704254400000, 1704340800000);
|
||||
INSERT INTO `xxl_job_info` VALUES (36, 2, '0 0/5 * * * ?', 'get_database_storage_quota', '2020-04-07 21:41:20', '2021-09-09 11:54:44', 'zhq', '', 'FAILOVER', 'getStorageQuotaJobHandler', '{\"topic\":\"SYS-STORAGE\",\"ckDayGrowth\":\"false\"}', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2020-04-07 21:41:20', '', 1, 1704338100000, 1704338400000);
|
||||
INSERT INTO `xxl_job_info` VALUES (86, 2, '0 0 1 * * ?', 'run_druid_segment_compaction', '2021-07-21 14:13:57', '2023-12-12 02:21:05', 'xpf', '', 'FAILOVER', 'druidCompactSegmentJobHandler', '[\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"top_server_fqdns\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"top_server_domains\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"top_client_ips\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"top_server_ips\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"top_external_ips\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"top_internal_ips\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"top_subscribers\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"security_rule_hits\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"monitor_rule_hits\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"proxy_rule_hits\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"application_protocol_stat\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"traffic_general_stat\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"traffic_top_destination_ip_metrics_log\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"service_chaining_rule_hits\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"service_function_status\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"statistics_rule_hits\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"traffic_shaping_rule_hits\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"object_statistics\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"statistics_rule\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\",\r\n \"maxRowsInMemory\": 500000,\r\n \"maxBytesInMemory\": -1\r\n },\r\n \"context\":{\r\n \"druid.indexer.runner.javaOptsArray\": [\"-Xms4g\", \"-Xmx4g\", \"-XX:MaxDirectMemorySize=2g\"]\r\n }\r\n },\r\n {\r\n \"type\": \"compact\",\r\n \"dataSource\": \"sys_storage_log\",\r\n \"tuningConfig\": {\r\n \"type\": \"index_parallel\"\r\n }\r\n }\r\n]', 'DISCARD_LATER', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2021-07-21 14:13:57', '', 1, 1704330000000, 1704416400000);
|
||||
INSERT INTO `xxl_job_info` VALUES (101, 2, '0 0 0 1/7 * ?', 'run_web_sketch_assessment', '2022-01-27 17:40:42', '2022-02-23 13:34:51', 'galaxy', '', 'FAILOVER', 'httpToStoreJobHandler', '[{\r\n \"url\": \"http://{{ vrrp_instance.default.virtual_ipaddress }}:9999/sql/?option=long_term&resultId=1&query=SELECT server_domain AS name, arrayStringConcat(groupUniqArray(decoded_as),\',\') AS protocol, count(*) AS sessions FROM tsg_galaxy_v3.session_record WHERE recv_time >= toStartOfDay(now()- INTERVAL 7 DAY) AND recv_time < toStartOfDay(now()) AND notEmpty(server_domain) GROUP BY name ORDER BY sessions DESC LIMIT 500000;\",\r\n \"method\": \"get\",\r\n \"requestBody\": {},\r\n \"resultKey\": \"data\",\r\n \"store\": \"all\"\r\n}, {\r\n \"url\": \"http://{{ vrrp_instance.default.virtual_ipaddress }}:9999/sql/?option=long_term&resultId=1&query=SELECT server_domain AS name, arrayStringConcat(groupUniqArray(decoded_as),\',\') AS protocol, count(*) AS sessions FROM tsg_galaxy_v3.session_record WHERE recv_time >= toStartOfDay(now()- INTERVAL 7 DAY) AND recv_time < toStartOfDay(now()) AND notEmpty(server_domain) AND empty(fqdn_category_list) GROUP BY name ORDER BY sessions DESC LIMIT 500000;\",\r\n \"method\": \"get\",\r\n \"requestBody\": {},\r\n \"resultKey\": \"data\",\r\n \"store\": \"uncategorized\"\r\n}]', 'COVER_EARLY', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2022-01-27 17:40:42', '', 1, 1704067200000, 1704672000000);
|
||||
INSERT INTO `xxl_job_info` VALUES (141, 2, '0 0 2 * * ?', 'set_clickhouse_table_and_field_ttl', '2022-06-07 07:42:38', '2022-06-08 09:28:19', 'wk', '', 'FIRST', 'changeCkTtlJobHandler', '', 'SERIAL_EXECUTION', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2022-06-07 07:42:38', '', 1, 1704333600000, 1704420000000);
|
||||
INSERT INTO `xxl_job_info` VALUES (143, 2, '0 0 0/1 * * ?', 'run_ip_learning', '2022-11-09 10:29:20', '2023-12-26 04:01:24', 'galaxy', '', 'FIRST', '', '', 'SERIAL_EXECUTION', 0, 0, 'GLUE_SHELL', '#!/bin/bash\nsh -c \'cd /opt/schedule-service/iplearning/ && ./start.sh\'', '0001', '2023-12-26 04:01:24', '', 1, 1704337200000, 1704340800000);
|
||||
INSERT INTO `xxl_job_info` VALUES (145, 2, '0 0 1 * * ?', 'run_dos_baseline', '2022-11-10 06:15:27', '2023-11-13 05:37:41', 'galaxy', '', 'FIRST', '', '', 'SERIAL_EXECUTION', 0, 0, 'GLUE_SHELL', '#!/bin/bash\nsh -c \'cd /opt/schedule-service/dos-baseline && ./start.sh\'', '0000', '2023-11-13 05:37:41', '', 1, 1704330000000, 1704416400000);
|
||||
INSERT INTO `xxl_job_info` VALUES (155, 2, '0 0 16 1/7 * ?', 'run_geoip_to_mmdb', '2022-12-02 06:56:18', '2023-12-21 09:44:44', 'galaxy', '', 'FAILOVER', 'ipLocateLibraryJobHandler', '{\r\n \"command\": \"docker run --rm --network=host -v {{ deploy_dir }}/schedule-service/mmdb:/mmdb --name perl-mmdb perl:v3.1 sh -c \'cd /mmdb && perl mmdb-perl.pl\' \",\r\n \"path\": \"/opt/schedule-service/mmdb\",\r\n \"knowledgeBaseServer\": \"http://{{ vrrp_instance.default.virtual_ipaddress }}:9999/v1/knowledge_base\",\r\n \"knowledgeBaseList\": [{\"name\": \"ip_builtin\",\"builtin\":1 ,\"kb_id\": \"64af7077-eb9b-4b8f-80cf-2ceebc89bea9\" },\r\n {\"name\": \"ip_user_defined\",\"builtin\":0 ,\"kb_id\": \"004390bc-3135-4a6f-a492-3662ecb9e289\" }]\r\n}', 'DISCARD_LATER', 0, 0, 'BEAN', '#!/bin/bash\nsh -c \'cd /opt/schedule-service/dos-baseline && ./start.sh\'', 'GLUE代码初始化', '2022-12-02 06:56:18', '', 0, 0, 0);
|
||||
INSERT INTO `xxl_job_info` VALUES (158, 2, '0 0 1 * * ?', 'run_druid_segement_granularity_compact', '2023-02-20 05:59:59', '2023-05-11 03:39:14', 'galaxy', '', 'FAILOVER', 'druidMergeHistoryDataJobHandler', '[\r\n {\r\n \"dataSource\": \"service_function_status\",\r\n \"internalOrNumOfHistory\": \"1\",\r\n \"queryGranularity\": \"PT5M\",\r\n \"segmentGranularity\": \"DAY\"\r\n },\r\n {\r\n \"dataSource\": \"service_chaining_rule_hits\",\r\n \"internalOrNumOfHistory\": \"1\",\r\n \"queryGranularity\": \"PT5M\",\r\n \"segmentGranularity\": \"DAY\"\r\n },\r\n {\r\n \"dataSource\": \"traffic_shaping_rule_hits\",\r\n \"internalOrNumOfHistory\": \"1\",\r\n \"queryGranularity\": \"PT5M\",\r\n \"segmentGranularity\": \"DAY\"\r\n }\r\n]', 'DISCARD_LATER', 0, 0, 'BEAN', '', 'GLUE代码初始化', '2023-02-20 05:59:59', '', 1, 1704330000000, 1704416400000);
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
#配置集的配置格式
|
||||
nacos.config.type=properties
|
||||
#配置中心地址
|
||||
nacos.config.server-addr={{ vrrp_instance.default.virtual_ipaddress }}:8848
|
||||
#命名空间
|
||||
nacos.config.namespace={{ config_namespace }}
|
||||
#数据集ID
|
||||
nacos.config.data-id=galaxy-job-executor.properties
|
||||
#开启自动刷新
|
||||
nacos.config.auto-refresh=true
|
||||
#配置对应的分组
|
||||
nacos.config.group=Galaxy
|
||||
#Nacos认证用户
|
||||
nacos.config.username=nacos
|
||||
#Nacos认证密码
|
||||
nacos.config.password=nacos
|
||||
#开启配置预加载功能
|
||||
nacos.config.bootstrap.enable=true
|
||||
#开启Nacos支持日志级别的加载时机
|
||||
nacos.config.bootstrap.log-enable=true
|
||||
|
||||
### log config
|
||||
logging.config=./config/logback.xml
|
||||
@@ -0,0 +1,19 @@
|
||||
version: '3'
|
||||
services:
|
||||
galaxy-job-executor:
|
||||
image: {{ image_name }}:{{ image_tag }}
|
||||
container_name: galaxy-job-executor
|
||||
environment:
|
||||
JAVA_OPTS: "{{ galaxy_job_service.executor_java_opts }}"
|
||||
ports:
|
||||
- "8182:8182"
|
||||
volumes:
|
||||
- "{{ deploy_dir }}/{{ container_name }}/logs:/logs"
|
||||
- "{{ deploy_dir }}/{{ container_name }}/data:/data"
|
||||
- "{{ deploy_dir }}/{{ container_name }}/config:/home/tsg/galaxy/galaxy-job/galaxy-job-executor/config"
|
||||
- "{{ deploy_dir }}/schedule-service:/opt/schedule-service"
|
||||
- "/var/run/docker.sock:/var/run/docker.sock"
|
||||
- "/usr/bin/docker:/usr/bin/docker"
|
||||
restart: always
|
||||
network_mode: "host"
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
################################静态参数配置(修改后需要重启项目)################################
|
||||
### web port
|
||||
server.port = 8185
|
||||
spring.application.name=galaxy-job-executor
|
||||
### actuator
|
||||
management.server.servlet.context-path=/actuator
|
||||
management.health.mail.enabled=false
|
||||
management.endpoints.web.exposure.include=*
|
||||
#详细的应用健康信息
|
||||
management.endpoint.health.show-details=always
|
||||
management.endpoint.metrics.enabled=true
|
||||
management.endpoint.prometheus.enabled=true
|
||||
management.metrics.export.prometheus.enabled=true
|
||||
management.metrics.tags.application=${spring.application.name}
|
||||
zookeeper.server={{ zookeeper_servers }}
|
||||
|
||||
################################动态参数配置(修改后不需要重启项目)################################
|
||||
##存储配额文件服务器
|
||||
storge.files.hos-server={{ data_center_name }}|{{ vrrp_instance.oss.virtual_ipaddress }}:9098
|
||||
storge.files.token={{ hos_token }}
|
||||
##存储配额查询druid
|
||||
storge.analytic.server={{ data_center_name }}|{{ vrrp_instance.default.virtual_ipaddress }}:8089
|
||||
##存储配额查询clickhouse
|
||||
storge.traffic.server={{ data_center_name }}|{{ vrrp_instance.default.virtual_ipaddress }}:8124
|
||||
storge.traffic.datasource=tsg_galaxy_v3
|
||||
storge.traffic.username=ENC(CNpgJlarVTNItkyW6DAQWA==)
|
||||
storge.traffic.password=ENC(LDEb2OekU7iZWiFw6pUYBSozVKP27r1y)
|
||||
#删除ttl
|
||||
storge.traffic.system.parts=system.parts
|
||||
#存储配额查询
|
||||
storge.traffic.system.partsclusters=system.parts_cluster
|
||||
storge.traffic.system.disks=system.disks_cluster
|
||||
storge.traffic.system.tables=system.tables_cluster
|
||||
storge.traffic.system.clusters=system.clusters
|
||||
#删除ttl白名单,多个逗号分隔
|
||||
storge.files.delete.exclusion=default,assessment_hos_bucket,knowledge_base_hos_bucket
|
||||
storge.analytic.delete.exclusion=traffic_general_stat
|
||||
storge.taffic.delete.exclusion=assessment_event_local
|
||||
### xxl-job admin address list, such as "http://address" or "http://address01,http://address02"
|
||||
xxl.job.admin.addresses={{ job_admin_servers }}
|
||||
### xxl-job, access token
|
||||
xxl.job.accessToken=
|
||||
### xxl-job executor registry-address: default use address to registry , otherwise use ip:po
|
||||
xxl.job.executor.appname=galaxy-executor
|
||||
### xxl-job executor registry-address: default use address to registry , otherwise use ip:port if address is null
|
||||
xxl.job.executor.address=
|
||||
### xxl-job executor server-info
|
||||
xxl.job.executor.ip=
|
||||
xxl.job.executor.port=8886
|
||||
### xxl-job executor log-path
|
||||
xxl.job.executor.logpath=/data/logs/jobhandler
|
||||
### xxl-job executor log-retention-days
|
||||
xxl.job.executor.logretentiondays=30
|
||||
## http pool config
|
||||
### max connection number
|
||||
http.pool.max.connection=500
|
||||
http.pool.request.timeout=120000
|
||||
http.pool.response.timeout=300000
|
||||
http.pool.max.per.route=300
|
||||
http.pool.connect.timeout=10000
|
||||
##指定kafka server的地址,集群配多个,中间,逗号隔开
|
||||
spring.kafka.bootstrap-servers={{ kafka_sink_servers }}
|
||||
spring.kafka.ssl.enable=true
|
||||
spring.kafka.ssl.username=ENC(RYN0it9o1vYynI1xlmX/Gw==)
|
||||
spring.kafka.ssl.pin=ENC(vlb4F5Y3ff0Am/3MMPdIpYjZq8wcGNMd)
|
||||
@@ -0,0 +1,43 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<configuration scan="true" scanPeriod="60 seconds" debug="false">
|
||||
|
||||
<!--每100M压缩日志文件-->
|
||||
<property name="LOG_SIZE" value="100MB"/>
|
||||
<!--日志文件路径-->
|
||||
<property name="LOG_PATH" value="/logs"/>
|
||||
<!--日志文件名称-->
|
||||
<property name="LOG_FILE_NAME" value="galaxy-job-executor"/>
|
||||
<!--日志打印等级-->
|
||||
<property name="LOG_LEVEL" value="error"/>
|
||||
<!--日志最大的历史30天 -->
|
||||
<property name="LOG_DAYS" value="30"/>
|
||||
<!--日志打印格式-->
|
||||
<property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ssZ,UTC} [%thread] %-5level %logger -%msg%n"/>
|
||||
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
|
||||
<encoder>
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
</appender>
|
||||
<appender name="ALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<file>${LOG_PATH}/${LOG_FILE_NAME}.log</file>
|
||||
<filter class="ch.qos.logback.classic.filter.LevelFilter">
|
||||
<level>ALL</level>
|
||||
</filter>
|
||||
<encoder>
|
||||
<pattern>${LOG_PATTERN}</pattern>
|
||||
</encoder>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<fileNamePattern>
|
||||
${LOG_PATH}/history/${LOG_FILE_NAME}-%d{yyyy-MM-dd}-%i.log.gz
|
||||
</fileNamePattern>
|
||||
<maxHistory>${LOG_DAYS}</maxHistory>
|
||||
<maxFileSize>${LOG_SIZE}</maxFileSize>
|
||||
</rollingPolicy>
|
||||
</appender>
|
||||
|
||||
<root level="${LOG_LEVEL}">
|
||||
<appender-ref ref="ALL"/>
|
||||
<appender-ref ref="STDOUT"/>
|
||||
</root>
|
||||
|
||||
</configuration>
|
||||
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
|
||||
config_path_root=$1
|
||||
nacos_server={{ vrrp_instance.default.virtual_ipaddress }}
|
||||
|
||||
tenant="{{ config_namespace }}"
|
||||
app_name="galaxy-job-service"
|
||||
|
||||
shell_result=1
|
||||
|
||||
# 推送配置
|
||||
function push() {
|
||||
local config_file=$1
|
||||
local data_id="${config_file##*/}"
|
||||
local suffix="${config_file##*.}"
|
||||
|
||||
[ $suffix == "sql" ] && suffix="text"
|
||||
[ $suffix == "yml" ] && suffix="yaml"
|
||||
|
||||
local nacos_push_url="http://$nacos_server:8848/nacos/v1/cs/configs?username=nacos&password=nacos&tenant=$tenant&group=Galaxy"
|
||||
local result=$(curl --retry-delay 3 --retry 3 -sw '%{http_code}' -o /dev/null --request POST "$nacos_push_url&dataId=$data_id&appName=$app_name&type=$suffix" --data-urlencode content@"$config_file")
|
||||
if [[ $result -eq '200' ]]; then
|
||||
sleep 2
|
||||
check=$(curl -sw '%{http_code}' -o /dev/null -X GET "$nacos_push_url&dataId=$data_id")
|
||||
#echo "$check $data_id"
|
||||
|
||||
if [[ $check -ne '200' ]]; then
|
||||
shell_result=0
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# 获取本地文件
|
||||
function pushConfig() {
|
||||
for config_path in $(readlink -f $config_path_root); do
|
||||
if [ -d $config_path ]; then
|
||||
for file in $(ls $config_path); do
|
||||
config_path_file=$config_path/$file
|
||||
if [ -f $config_path_file ]; then
|
||||
push $config_path_file
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if [ -f $config_path ]; then
|
||||
push $config_path
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
pushConfig
|
||||
echo $shell_result
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
# 数据库连接参数
|
||||
upgrade_dir=${1:-`pwd`/upgrade-sql}
|
||||
|
||||
# 指定当前版本和历史版本
|
||||
current_version="{{ solution_version }}"
|
||||
old_version="{{ old_version }}"
|
||||
|
||||
# 数据库连接参数
|
||||
db_hostname="{{ vrrp_instance.default.virtual_ipaddress }}"
|
||||
db_name="xxl_job"
|
||||
db_username="root"
|
||||
db_password="{{ mariadb_default_pin }}"
|
||||
|
||||
suffix=".sql"
|
||||
# 获取更新目录中的所有SQL文件
|
||||
sql_files=$(find "${upgrade_dir}" -name "*$suffix")
|
||||
|
||||
# 标记是否开始执行历史版本的标识
|
||||
start_execution=false
|
||||
|
||||
# 循环处理每个SQL文件
|
||||
for file in ${sql_files}; do
|
||||
# 从文件名中提取版本号
|
||||
filename=$(basename "$file")
|
||||
version=$(echo "$filename" | grep -oE '[0-9]+(\.[0-9]+)?' | tr -d '.')
|
||||
current_version="${current_version//./}"
|
||||
old_version="${old_version//./}"
|
||||
# 检查是否达到历史版本
|
||||
if [[ "${version}" -gt "${old_version}" ]]; then
|
||||
start_execution=true
|
||||
fi
|
||||
|
||||
# 检查是否开始执行历史版本之后的SQL文件
|
||||
if [[ ${start_execution} = true ]]; then
|
||||
echo "Executing SQL file: ${file}"
|
||||
|
||||
# 执行SQL文件
|
||||
mysql -u "${db_username}" -p"${db_password}" -h "${db_hostname}" "${db_name}" < "${file}"
|
||||
echo "Upgrade ${version} successfully"
|
||||
fi
|
||||
|
||||
# 检查是否达到当前版本
|
||||
if [[ "${version}" -ge "${current_version}" ]]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
software_packages_dir: "{{ role_path }}/../software-packages"
|
||||
|
||||
admin_image_name: galaxy-job-admin
|
||||
executor_image_name: galaxy-job-executor
|
||||
|
||||
admin_image_tag: v1.3.220308
|
||||
executor_image_tag: v1.3.231220
|
||||
|
||||
admin_container_name: galaxy-job-admin
|
||||
executor_container_name: galaxy-job-executor
|
||||
|
||||
|
||||
mariadb_job_database: xxl_job
|
||||
job_executor_servers: "{% for host in groups['galaxy_job_service'] %}http://{{ host }}:8886/{% if not loop.last %},{% endif %}{% endfor %}"
|
||||
|
||||
job_admin_servers: "{% for host in groups['galaxy_job_service'] %}http://{{ host }}:8184/xxl-job-admin{% if not loop.last %},{% endif %}{% endfor %}"
|
||||
|
||||
kafka_sink_servers: "{% for host in groups['kafka'] %}{{ host }}:9094{% if not loop.last %},{% endif %}{% endfor %}"
|
||||
zookeeper_servers: "{% for host in groups['zookeeper'] %}{{ host }}:2181{% if not loop.last %},{% endif %}{% endfor %}"
|
||||
|
||||
backup_path: "{{ deploy_dir }}/backup/tsg-olap/{{ old_version }}/"
|
||||
|
||||
backup_items:
|
||||
- config
|
||||
- docker-compose.yml
|
||||
- init
|
||||
@@ -0,0 +1,42 @@
|
||||
- name: Stop Container
|
||||
docker_container:
|
||||
name: '{{ image_name }}'
|
||||
state: absent
|
||||
force_kill: true
|
||||
|
||||
- name: Remove Image
|
||||
docker_image:
|
||||
name: '{{ image_name }}'
|
||||
tag: '{{ image_tag }}'
|
||||
state: absent
|
||||
force_absent: true
|
||||
|
||||
- name: Copy Image
|
||||
copy:
|
||||
src: 'files/{{ image_name }}-{{ image_tag }}.tar'
|
||||
dest: '{{ deploy_dir }}/{{ container_name }}'
|
||||
force: yes
|
||||
|
||||
- name: Unarchive Image
|
||||
unarchive:
|
||||
src: 'files/{{ image_name }}-{{ image_tag }}.tar.gz'
|
||||
dest: '{{ deploy_dir }}/{{ container_name }}'
|
||||
force: yes
|
||||
|
||||
- name: Load Image
|
||||
docker_image:
|
||||
name: '{{ image_name }}'
|
||||
tag: '{{ image_tag }}'
|
||||
load_path: '{{ deploy_dir }}/{{ container_name }}/{{ image_name }}-{{ image_tag }}.tar'
|
||||
source: load
|
||||
force_tag: yes
|
||||
force_source: yes
|
||||
timeout: 300
|
||||
|
||||
- name: Start Container
|
||||
docker_compose:
|
||||
project_src: '{{ deploy_dir }}/{{ container_name }}'
|
||||
|
||||
- name: Start Nginx
|
||||
shell: 'docker restart galaxy-gateway-nginx'
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
- name: Check if backup directory exists
|
||||
stat:
|
||||
path: "{{ backup_path }}"
|
||||
register: exist_status
|
||||
|
||||
- name: Backup directories
|
||||
block:
|
||||
- name: Creat backup directory
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ backup_path }}"
|
||||
|
||||
- name: Copying directories to backup
|
||||
copy:
|
||||
src: "{{ deploy_dir }}/{{ container_name }}/{{ item }}"
|
||||
dest: "{{ backup_path }}"
|
||||
remote_src: true
|
||||
loop: "{{ backup_items }}"
|
||||
|
||||
rescue:
|
||||
- name: Remove backup directory on failure
|
||||
file:
|
||||
path: "{{ backup_path }}"
|
||||
state: absent
|
||||
when: exist_status.stat.exists == false
|
||||
@@ -0,0 +1,24 @@
|
||||
- name: Wait for galaxy-qgw-service port 8183 to become available
|
||||
wait_for:
|
||||
host: "{{ inventory_hostname }}"
|
||||
port: 8183
|
||||
state: started
|
||||
timeout: 120
|
||||
|
||||
- name: Request component status
|
||||
uri:
|
||||
url: "http://{{ inventory_hostname }}:8183/v1/monitor/component_status"
|
||||
body_format: "json"
|
||||
status_code: [200,503]
|
||||
register: response_health
|
||||
|
||||
- name: Checking component status
|
||||
debug:
|
||||
msg: "{{ response_health.json.components | dict2items | json_query(query) }}"
|
||||
vars:
|
||||
query: "[?value.status == 'DOWN']"
|
||||
failed_when: response_health.json.status == "DOWN"
|
||||
|
||||
- name: Checking metadata
|
||||
uri:
|
||||
url: "http://{{ inventory_hostname }}:8183/v1/troubleshooting/sanity?test=schema_consistency"
|
||||
@@ -0,0 +1,47 @@
|
||||
- name: Creating config directory
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ deploy_dir }}/{{ container_name }}/config"
|
||||
|
||||
- name: Copying config template
|
||||
template:
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ deploy_dir }}/{{ container_name }}/{{ item.dest }}"
|
||||
force: yes
|
||||
loop:
|
||||
- {src: 'docker-compose.yml.j2', dest: 'docker-compose.yml'}
|
||||
- {src: 'application.yml.j2', dest: 'config/application.yml'}
|
||||
- {src: 'hazelcast.yaml.j2', dest: 'config/hazelcast.yaml'}
|
||||
notify:
|
||||
- Start Container
|
||||
|
||||
- name: Copying config files
|
||||
copy:
|
||||
src: "files/config/"
|
||||
dest: "{{ deploy_dir }}/{{ container_name }}/config/"
|
||||
force: yes
|
||||
notify:
|
||||
- Start Container
|
||||
|
||||
- name: Copying image to {{ deploy_dir }}/{{ container_name }}/{{ image_name }}-{{ image_tag }}.tar
|
||||
copy:
|
||||
src: '{{ software_packages_dir }}/{{ image_name }}-{{ image_tag }}.tar'
|
||||
dest: '{{ deploy_dir }}/{{ container_name }}/'
|
||||
force: true
|
||||
notify:
|
||||
- Load Image
|
||||
- Start Container
|
||||
|
||||
- name: Copying nginx config and restart nginx
|
||||
template:
|
||||
src: "{{ container_name }}.conf.j2"
|
||||
dest: "{{ deploy_dir }}/galaxy-gateway-nginx/conf/includes/{{ container_name }}.conf"
|
||||
force: yes
|
||||
notify:
|
||||
- Start Nginx
|
||||
delegate_to: "{{ item }}"
|
||||
run_once: true
|
||||
loop: "{{ groups.loadbalancer[:2] }}"
|
||||
|
||||
- meta: flush_handlers
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
- name: Check if directory exists
|
||||
stat:
|
||||
path: "{{ deploy_dir }}/{{ container_name }}/init"
|
||||
register: directory_stat
|
||||
ignore_errors: true
|
||||
|
||||
- name: Remove files and directories
|
||||
file:
|
||||
path: "{{ deploy_dir }}/{{ container_name }}/init"
|
||||
state: absent
|
||||
when: directory_stat.stat.exists
|
||||
|
||||
- name: Creating init directory
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ deploy_dir }}/{{ container_name }}/init"
|
||||
|
||||
- name: Copying {{ container_name }} init template
|
||||
template:
|
||||
src: "{{ item.src }}.j2"
|
||||
dest: "{{ deploy_dir }}/{{ container_name }}/init/{{ item.src }}"
|
||||
mode: "{{ item.mode }}"
|
||||
force: true
|
||||
with_items:
|
||||
- { src: "push_config.sh", mode: "0755" }
|
||||
- { src: "galaxy-qgw-service.yml", mode: "0644" }
|
||||
- { src: "create_mariadb_tables.sh", mode: "0755" }
|
||||
|
||||
- name: Pushing config to nacos
|
||||
shell: 'cd {{ deploy_dir }}/{{ item.src }}/init && sh push_config.sh {{ item.conf }}'
|
||||
register: post_result
|
||||
until: post_result.stdout == '1'
|
||||
retries: 3
|
||||
delay: 3
|
||||
failed_when: post_result.stdout != '1'
|
||||
loop:
|
||||
- { src: "{{ container_name }}" , conf: "galaxy-qgw-service.yml" }
|
||||
run_once: true
|
||||
|
||||
- name: Copying init files
|
||||
copy:
|
||||
src: "files/{{ item }}"
|
||||
dest: "{{ deploy_dir }}/{{ container_name }}/init/"
|
||||
force: yes
|
||||
loop:
|
||||
- 'data'
|
||||
- 'schema'
|
||||
- 'schema-upgrade-v3.1.jar'
|
||||
|
||||
- name: Create database
|
||||
shell: cd "{{ deploy_dir }}/{{ container_name }}/init"&& source /etc/profile && sh create_mariadb_tables.sh
|
||||
run_once: true
|
||||
|
||||
- name: Push schema to nacos
|
||||
shell: cd "{{ deploy_dir }}/{{ container_name }}/init"&& source /etc/profile && java -jar schema-upgrade-v3.1.jar schema/ {{ vrrp_instance.default.virtual_ipaddress }} {{ config_namespace }}
|
||||
run_once: true
|
||||
|
||||
- name: Push schema to nacos
|
||||
shell: cd "{{ deploy_dir }}/{{ container_name }}/init"&& source /etc/profile && sh push_config.sh galaxy-qgw-service.yml
|
||||
run_once: true
|
||||
@@ -0,0 +1,17 @@
|
||||
- block:
|
||||
- include: uninstall.yml
|
||||
- include: init.yml
|
||||
- include: deploy.yml
|
||||
- include: check.yml
|
||||
when: operation == 'install'
|
||||
|
||||
- block:
|
||||
- include: check.yml
|
||||
- include: backup.yml
|
||||
- include: upgrade.yml
|
||||
- include: check.yml
|
||||
when: operation == 'upgrade'
|
||||
|
||||
- block:
|
||||
- include: uninstall.yml
|
||||
when: operation == 'uninstall'
|
||||
@@ -0,0 +1,18 @@
|
||||
- name: Stopping and removing {{ container_name }} container
|
||||
docker_container:
|
||||
name: '{{ container_name }}'
|
||||
state: absent
|
||||
force_kill: true
|
||||
|
||||
- name: Removing old {{ image_name }} image
|
||||
docker_image:
|
||||
name: '{{ image_name }}'
|
||||
tag: '{{ image_tag }}'
|
||||
state: absent
|
||||
force_absent: true
|
||||
|
||||
- name: Ansible delete old {{ deploy_dir }}/{{ container_name }}
|
||||
file:
|
||||
path: '{{ deploy_dir }}/{{ container_name }}'
|
||||
state: absent
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
- name: Check if directory exists
|
||||
stat:
|
||||
path: "{{ deploy_dir }}/{{ container_name }}/init"
|
||||
register: directory_stat
|
||||
ignore_errors: true
|
||||
|
||||
- name: Remove files and directories
|
||||
file:
|
||||
path: "{{ deploy_dir }}/{{ container_name }}/init"
|
||||
state: absent
|
||||
when: directory_stat.stat.exists
|
||||
|
||||
- name: Creating init directory
|
||||
file:
|
||||
state: directory
|
||||
path: "{{ deploy_dir }}/{{ container_name }}/init"
|
||||
|
||||
- name: Copying {{ container_name }} init template
|
||||
template:
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ deploy_dir }}/{{ container_name }}/init/{{ item.dest }}"
|
||||
mode: 0755
|
||||
force: true
|
||||
with_items:
|
||||
- { src: "push_config.sh.j2", dest: "push_config.sh" }
|
||||
- { src: "create_mariadb_tables.sh.j2", dest: "create_mariadb_tables.sh" }
|
||||
- { src: "merge-config.sh.j2", dest: "merge-config.sh" }
|
||||
- { src: 'keys.txt', dest: 'keys.txt'}
|
||||
|
||||
- name: Copying init files
|
||||
copy:
|
||||
src: "files/{{ item }}"
|
||||
dest: "{{ deploy_dir }}/{{ container_name }}/init/"
|
||||
force: yes
|
||||
loop:
|
||||
- 'data'
|
||||
- 'schema'
|
||||
- 'schema-upgrade-v3.1.jar'
|
||||
|
||||
- name: Copying config files
|
||||
copy:
|
||||
src: "files/config/"
|
||||
dest: "{{ deploy_dir }}/{{ container_name }}/config/"
|
||||
force: yes
|
||||
notify:
|
||||
- Start Container
|
||||
|
||||
- name: Copying config template
|
||||
template:
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ deploy_dir }}/{{ container_name }}/{{ item.dest }}"
|
||||
force: yes
|
||||
loop:
|
||||
- {src: 'docker-compose.yml.j2', dest: 'init/docker-compose.yml.j2'}
|
||||
- {src: "galaxy-qgw-service.yml.j2", dest: "init/galaxy-qgw-service.yml.j2"}
|
||||
- {src: 'application.yml.j2', dest: 'config/application.yml'}
|
||||
- {src: 'hazelcast.yaml.j2', dest: 'config/hazelcast.yaml'}
|
||||
notify:
|
||||
- Start Container
|
||||
|
||||
- name: Merge online config
|
||||
shell: cd {{ deploy_dir }}/{{ container_name }}/init && sh merge-config.sh galaxy-qgw-service.yml galaxy-qgw-service.yml.j2 nacos
|
||||
|
||||
- name: Merge online docker-compose.yml
|
||||
shell: cd {{ deploy_dir }}/{{ container_name }}/init && sh merge-config.sh {{ deploy_dir }}/{{ container_name }}/docker-compose.yml docker-compose.yml.j2
|
||||
|
||||
- name: Create database
|
||||
shell: cd {{ deploy_dir }}/{{ container_name }}/init && source /etc/profile && sh create_mariadb_tables.sh
|
||||
run_once: true
|
||||
|
||||
- name: Push schema to nacos
|
||||
shell: cd {{ deploy_dir }}/{{ container_name }}/init && source /etc/profile && java -jar schema-upgrade-v3.1.jar schema/ {{ vrrp_instance.default.virtual_ipaddress }} {{ config_namespace }}
|
||||
run_once: true
|
||||
|
||||
- name: Push config to nacos
|
||||
shell: 'cd {{ deploy_dir }}/{{ item.src }}/init && source /etc/profile && sh push_config.sh {{ item.conf }}'
|
||||
register: post_result
|
||||
until: post_result.stdout == '1'
|
||||
retries: 3
|
||||
delay: 3
|
||||
failed_when: post_result.stdout != '1'
|
||||
loop:
|
||||
- { src: "{{ container_name }}" , conf: "galaxy-qgw-service.yml" }
|
||||
run_once: true
|
||||
|
||||
- name: Copying image to {{ deploy_dir }}/{{ container_name }}/{{ image_name }}-{{ image_tag }}.tar
|
||||
copy:
|
||||
src: '{{ software_packages_dir }}/{{ image_name }}-{{ image_tag }}.tar'
|
||||
dest: '{{ deploy_dir }}/{{ container_name }}/'
|
||||
force: true
|
||||
notify:
|
||||
- Load Image
|
||||
- Start Container
|
||||
|
||||
- meta: flush_handlers
|
||||
@@ -0,0 +1,22 @@
|
||||
nacos:
|
||||
config:
|
||||
type: yaml #配置集的配置格式
|
||||
server-addr: {{ vrrp_instance.default.virtual_ipaddress }}:8848 #配置中心地址
|
||||
namespace: {{ config_namespace }} #命名空间
|
||||
data-id: galaxy-qgw-service.yml # 数据集ID
|
||||
auto-refresh: true #开启自动刷新
|
||||
group: Galaxy #配置对应的分组
|
||||
username: nacos #Nacos认证用户
|
||||
password: nacos
|
||||
bootstrap:
|
||||
enable: true #开启配置预加载功能
|
||||
log:
|
||||
enable: true #开启Nacos支持日志级别的加载时机
|
||||
spring:
|
||||
servlet:
|
||||
multipart:
|
||||
max-file-size: 5368709120
|
||||
max-request-size: 5368709120
|
||||
logging:
|
||||
config: ./config/log4j2.xml
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
#!/bin/bash
|
||||
|
||||
mysql -uroot -p{{ mariadb_default_pin }} -P3306 -h{{ inventory_hostname }} -e "create database if not exists {{ mariadb_common_database }} default character set utf8mb4 collate utf8mb4_general_ci;"
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
version: "3"
|
||||
services:
|
||||
galaxy-qgw-service:
|
||||
image: {{ image_name }}:{{ image_tag }}
|
||||
environment:
|
||||
JAVA_OPTS: "{{ galaxy_qgw_service.java_opts }}"
|
||||
container_name: {{ container_name }}
|
||||
ports:
|
||||
- "8183:8183"
|
||||
volumes:
|
||||
- "{{ deploy_dir }}/{{ container_name }}/logs:/home/tsg/galaxy/galaxy-qgw-service/logs"
|
||||
- "{{ deploy_dir }}/{{ container_name }}/config:/home/tsg/galaxy/galaxy-qgw-service/config"
|
||||
restart: always
|
||||
network_mode: "host"
|
||||
@@ -0,0 +1,24 @@
|
||||
upstream qgwService {
|
||||
|
||||
{% for host in groups['galaxy_qgw_service'] %}
|
||||
server {{ host }}:8183;
|
||||
{% endfor %}
|
||||
|
||||
}
|
||||
|
||||
server {
|
||||
listen 9999;
|
||||
server_name localhost;
|
||||
|
||||
location / {
|
||||
proxy_pass http://qgwService; #请求转发到查询引擎集群
|
||||
proxy_http_version 1.1; #指定使用http1.1版本
|
||||
proxy_read_timeout 21600; #等待后端服务响应的最大时长
|
||||
gzip on; #开启压缩
|
||||
gzip_comp_level 6; #压缩级别
|
||||
gzip_min_length 1k; #启用gzip压缩的最小文件,小于设置值的文件将不会压缩
|
||||
gzip_types application/json; #压缩文件类型
|
||||
gzip_vary on; #是否传输gzip压缩标志
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,175 @@
|
||||
##############静态参数配置(修改后需要重启项目)##############
|
||||
## 服务配置
|
||||
server:
|
||||
port: 8183
|
||||
## 监控参数
|
||||
management:
|
||||
metrics:
|
||||
tags:
|
||||
application: ${project.name}
|
||||
endpoint:
|
||||
health:
|
||||
show-details: always
|
||||
shutdown:
|
||||
enabled: true
|
||||
health:
|
||||
redis:
|
||||
enabled: false
|
||||
db:
|
||||
enabled: false
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: '*'
|
||||
exclude: env,auditevents,beans,conditions,info
|
||||
base-path: /v1/monitor
|
||||
path-mapping:
|
||||
health: /component_status
|
||||
#MySql configuration
|
||||
spring:
|
||||
sleuth:
|
||||
enabled: true
|
||||
traceId128: true
|
||||
datasource:
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
url: jdbc:mysql://{{ vrrp_instance.default.virtual_ipaddress }}:3306/tsg_olap?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=UTC&failOverReadOnly=false&connectTimeout=10000&socketTimeout=30000
|
||||
username: ENC(63aTpwv2vH0vPikW+3Jjig==)
|
||||
password: ENC(LDEb2OekU7iZWiFw6pUYBSozVKP27r1y)
|
||||
flyway:
|
||||
enabled: true # 是否开启
|
||||
encoding: UTF-8 # 编码
|
||||
sql-migration-prefix: V # 脚本文件的前缀,默认为V
|
||||
sql-migration-separator: __ # 双下划线
|
||||
baseline-on-migrate: true # 连接数据库中存在表时设置为true
|
||||
check-location: false
|
||||
locations: filesystem:./config/flyway # 脚本路径
|
||||
clean-disabled: true # flyway 的 clean 命令会删除指定 schema 下的所有 table, 生产务必禁掉。这个默认值是 false 理论上作为默认配置是不科学的
|
||||
validate-on-migrate: true # 执行迁移时是否自动调用验证 当你的 版本不符合逻辑 比如 你先执行了 DML 而没有 对应的DDL 会抛出异常
|
||||
placeholder-replacement: false # 不做取值替换 默认替换为 ${} ,初始化sql中有sql语句存在freemarker替换,所以禁用此项
|
||||
## Hbase configuration
|
||||
hbase:
|
||||
zookeeperQuorum: {{ zookeeper_noport }}
|
||||
zookeeperZnodeParent: /hbase
|
||||
rpcTimeout: 60000
|
||||
report:
|
||||
dbname: tsg_galaxy
|
||||
tableName: saved_query_result
|
||||
columnFamily: response
|
||||
columnName: result
|
||||
##############动态参数配置(修改后不需要重启项目)##############
|
||||
## 项目参数
|
||||
project:
|
||||
name: galaxy-qgw-service-nacos
|
||||
description: 统一数据查询网关
|
||||
version: 1.1
|
||||
groupId: com.mesalab
|
||||
artifactId: galaxy-qgw-service
|
||||
basedir:
|
||||
corePackage: com.mesalab.common
|
||||
servicePackage: com.mesalab.qgw
|
||||
author:
|
||||
name: darnell
|
||||
url:
|
||||
email:
|
||||
## ClickhHouse configuration
|
||||
clickhouse:
|
||||
url: http://{{ vrrp_instance.default.virtual_ipaddress }}:8123
|
||||
dbname: tsg_galaxy_v3
|
||||
enableApproximateOptimizer: true
|
||||
realTimeAccount:
|
||||
username: ENC(hYFEuRJJWd93TZg5VbK/o3OXUmxI/irv)
|
||||
pin: ENC(qUA355VopKSx6kwwwXZwqWWEYSu76Slz)
|
||||
socketTimeOut: 120000
|
||||
longTermAccount:
|
||||
username: ENC(z3gVlaa7Q4IMDqtUgvhwoJzKAkH1Uznc)
|
||||
pin: ENC(LDEb2OekU7iZWiFw6pUYBSozVKP27r1y)
|
||||
socketTimeOut: 21700000
|
||||
## Druid configuration
|
||||
druid:
|
||||
url: {{ vrrp_instance.default.virtual_ipaddress }}:8089/druid/v2/sql
|
||||
dbname: druid
|
||||
socketTimeOut: 120000
|
||||
## xxl-job-admin configuration
|
||||
xxl-job-admin:
|
||||
url: http://{{ vrrp_instance.default.virtual_ipaddress }}:8181/xxl-job-admin
|
||||
userName: ENC(v8NKKlLWitI7vGhuGYorRQ==)
|
||||
pin: ENC(xTCafSByYA6SyvhUJ6vrh2VSXuZAVK/O)
|
||||
## ArangoDB configuration
|
||||
arango:
|
||||
server: http://{{ groups.arangodb[0] }}:8529
|
||||
database: tsg_galaxy_v3
|
||||
username: ENC(63aTpwv2vH0vPikW+3Jjig==)
|
||||
pin: ENC(PBdMaxfC3u+HMzjjij2tyuJWeooSuZNW)
|
||||
jwturl: ${arango.server}/_db/${arango.database}/_open/auth
|
||||
queryurl: ${arango.server}/_db/${arango.database}/_api/cursor
|
||||
maxrows: 10000
|
||||
socketTimeOut: 300000
|
||||
## hos cfg
|
||||
hos:
|
||||
uri: http://{{ vrrp_instance.oss.virtual_ipaddress }}:9098/hos
|
||||
bucket: knowledge_base_bucket
|
||||
token: {{ hos_token }}
|
||||
multiUploadStartSize: 5368709120
|
||||
multiUploadPartSize: 10485760
|
||||
## Engine、Service configuration
|
||||
engine:
|
||||
maxCacheNum: 1048575
|
||||
defaultResultNum: 100000
|
||||
sampleDataPeriod: 1800
|
||||
service:
|
||||
entity:
|
||||
activeClientIP: 10000
|
||||
topServerIP:
|
||||
TCPBySession: 100000
|
||||
TCPByUniqClientIP: 100000
|
||||
UDPBySession: 100000
|
||||
UDPByUniqClientIP: 40000
|
||||
topSNI:
|
||||
defaultSize: 30000
|
||||
dataset: 2000000
|
||||
gtpc:
|
||||
defaultSize: 100000
|
||||
## knowledge value 格式 name:版本
|
||||
knowledge:
|
||||
corn: 0 0 */1 * * ?
|
||||
ipLocation:
|
||||
userDefined: 004390bc-3135-4a6f-a492-3662ecb9e289_latest
|
||||
builtIn: 64af7077-eb9b-4b8f-80cf-2ceebc89bea9_latest
|
||||
asn: f9f6bc91-2142-4673-8249-e097c00fe1ea_latest
|
||||
## http pool config
|
||||
http:
|
||||
pool:
|
||||
connect:
|
||||
timeout: 30000
|
||||
max:
|
||||
connection: 500
|
||||
per:
|
||||
route: 200
|
||||
request:
|
||||
timeout: 30000
|
||||
response:
|
||||
timeout: 120000
|
||||
## job cfg
|
||||
job:
|
||||
timeSlicing:
|
||||
enabled: true
|
||||
interval: 1800 #单位: Second
|
||||
longPolling:
|
||||
enabled: true
|
||||
interactive:
|
||||
timeout: 10000
|
||||
response:
|
||||
timeout: 3000
|
||||
execution:
|
||||
timeout: 300000
|
||||
pool:
|
||||
corePoolSize: 20
|
||||
maxPoolSize: 30
|
||||
queueCapacity: 10
|
||||
## task cfg
|
||||
task:
|
||||
pool:
|
||||
corePoolSize: 8
|
||||
maxPoolSize: 16
|
||||
queueCapacity: 1000
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
hazelcast:
|
||||
cluster-name: qgw-cluster
|
||||
network:
|
||||
join:
|
||||
multicast:
|
||||
enabled: false
|
||||
tcp-ip:
|
||||
enabled: true
|
||||
member-list:
|
||||
{% for host in groups['galaxy_qgw_service'] %}
|
||||
- {{ host }}
|
||||
{% endfor %}
|
||||
map:
|
||||
adHocCache:
|
||||
time-to-live-seconds: 120
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
services.galaxy-qgw-service.environment.JAVA_OPTS
|
||||
@@ -0,0 +1,83 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
host="{{ vrrp_instance.default.virtual_ipaddress }}"
|
||||
tenant="{{ config_namespace }}"
|
||||
group_id="Galaxy"
|
||||
app_name=""
|
||||
username="nacos"
|
||||
password="nacos"
|
||||
|
||||
online_file=$1
|
||||
output_file=$1
|
||||
template_file=$2
|
||||
|
||||
online_file=$1
|
||||
output_file=$1
|
||||
template_file=$2
|
||||
|
||||
[[ -z $1 || -z $2 ]] && echo "Missing input file !" && exit 1
|
||||
|
||||
function format_file {
|
||||
local file="$1"
|
||||
echo "format "$file
|
||||
if [ -f "$file" ]; then
|
||||
cat "$file" | tr -d "\r" >"$file"_new
|
||||
mv "$file"_new $file
|
||||
fi
|
||||
}
|
||||
|
||||
function download_nacos_config() {
|
||||
local data_id=$online_file
|
||||
|
||||
config_url="http://$host:8848/nacos/v1/cs/configs?dataId=$data_id&group=$group_id&appName=$app_name&username=$username&password=$password&tenant=$tenant"
|
||||
online_file=nacos-"$data_id"
|
||||
curl -s -o $online_file $config_url
|
||||
format_file $online_file
|
||||
}
|
||||
|
||||
function merge_yml_config() {
|
||||
grep -v '^$' keys.txt | while IFS= read -r key; do
|
||||
# 使用yq命令读取YAML文件中的键值
|
||||
value=$(yq eval ".${key}" "$online_file")
|
||||
if [[ -n $value && "$value" != "null" ]]; then
|
||||
|
||||
yq eval ".${key} = \"${value}\"" -i $template_file
|
||||
echo "upgrade "$(yq eval ".${key}" $template_file)
|
||||
fi
|
||||
|
||||
done
|
||||
rm -r "$online_file"
|
||||
mv $template_file $output_file
|
||||
echo -e "\033[32mmerge success\033[0m"
|
||||
|
||||
}
|
||||
|
||||
function merge_properties_config() {
|
||||
grep -v '^$' keys.txt | while IFS= read -r key; do
|
||||
value=$(grep -E "^[[:blank:]]*${key}[[:blank:]]*=" "$online_file" | cut -d'=' -f1 --complement)
|
||||
if [[ -n $value && "$value" != "null" ]]; then
|
||||
sed -i "s/^[[:blank:]]*${key}[[:blank:]]*=\(.*\)$/${key}=$value/" $template_file
|
||||
echo "upgrade "$(grep -E "^[[:blank:]]*${key}[[:blank:]]*=" "$template_file")
|
||||
fi
|
||||
|
||||
done
|
||||
rm -r "$online_file"
|
||||
mv $template_file $output_file
|
||||
echo -e "\033[32mmerge success\033[0m"
|
||||
|
||||
}
|
||||
|
||||
[[ $3 == 'nacos' ]] && download_nacos_config
|
||||
|
||||
suffix="${online_file##*.}"
|
||||
|
||||
case $suffix in
|
||||
yaml | yml)
|
||||
merge_yml_config
|
||||
;;
|
||||
properties)
|
||||
merge_properties_config
|
||||
;;
|
||||
esac
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
|
||||
config_path_root=$1
|
||||
nacos_server={{ vrrp_instance.default.virtual_ipaddress }}
|
||||
|
||||
tenant="{{ config_namespace }}"
|
||||
app_name="{{ container_name }}"
|
||||
|
||||
shell_result=1
|
||||
|
||||
# 推送配置
|
||||
function push() {
|
||||
local config_file=$1
|
||||
local data_id="${config_file##*/}"
|
||||
local suffix="${config_file##*.}"
|
||||
|
||||
[ $suffix == "sql" ] && suffix="text"
|
||||
[ $suffix == "yml" ] && suffix="yaml"
|
||||
|
||||
local nacos_push_url="http://$nacos_server:8848/nacos/v1/cs/configs?username=nacos&password=nacos&tenant=$tenant&group=Galaxy"
|
||||
local result=$(curl --retry-delay 3 --retry 3 -sw '%{http_code}' -o /dev/null --request POST "$nacos_push_url&dataId=$data_id&appName=$app_name&type=$suffix" --data-urlencode content@"$config_file")
|
||||
if [[ $result -eq '200' ]]; then
|
||||
sleep 2
|
||||
check=$(curl -sw '%{http_code}' -o /dev/null -X GET "$nacos_push_url&dataId=$data_id")
|
||||
#echo "$check $data_id"
|
||||
|
||||
if [[ $check -ne '200' ]]; then
|
||||
shell_result=0
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# 获取本地文件
|
||||
function pushConfig() {
|
||||
for config_path in $(readlink -f $config_path_root); do
|
||||
if [ -d $config_path ]; then
|
||||
for file in $(ls $config_path); do
|
||||
config_path_file=$config_path/$file
|
||||
if [ -f $config_path_file ]; then
|
||||
push $config_path_file
|
||||
fi
|
||||
done
|
||||
fi
|
||||
if [ -f $config_path ]; then
|
||||
push $config_path
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
pushConfig
|
||||
echo $shell_result
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
#!/bin/bash
|
||||
|
||||
COMMON_PATH={{ deploy_dir }}/{{ qgw_soft_home_path }}
|
||||
|
||||
function push_knowledge_file(){
|
||||
FILE_NAME=$1
|
||||
FILE_PATH=$2
|
||||
TYPE=$3
|
||||
FORMAT=$4
|
||||
|
||||
curl_result=$(curl -s --retry-delay 3 --retry 3 --location --request POST 'http://{{ vrrp_instance.default.virtual_ipaddress }}:9999/knowledge_base/v1' --form 'file=@"'$FILE_PATH'/'$FILE_NAME'.'$FORMAT'"' --form 'name='$FILE_NAME'' --form 'format='$FORMAT'' --form 'type='$TYPE'' | jq '.status')
|
||||
|
||||
if [[ $curl_result -ne '200' ]];then
|
||||
echo 0
|
||||
echo "The $FILE_NAME.$FORMAT upload to the knowledge base failed."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
function push_knowledge_csv(){
|
||||
ID=$1
|
||||
NAME=$2
|
||||
TYPE=$3
|
||||
|
||||
curl_result=$(curl -s --location --request POST 'http://{{ vrrp_instance.default.virtual_ipaddress }}:9999/knowledge_base/v1' \
|
||||
--form 'file=@"./data/'$NAME'.csv"' --form 'name='$NAME'' --form 'format=csv' --form 'type='$TYPE'' --form 'id='$ID'' | jq '.status')
|
||||
|
||||
if [[ $curl_result -ne '200' ]];then
|
||||
echo 0
|
||||
echo "The $FILE_NAME.$FORMAT upload to the knowledge base failed."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
function push_knowledge_mmdb(){
|
||||
ID=$1
|
||||
NAME=$2
|
||||
TYPE=$3
|
||||
|
||||
curl_result=$(curl -s --location --request POST 'http://{{ vrrp_instance.default.virtual_ipaddress }}:9999/knowledge_base/v1' \
|
||||
--form 'file=@"./data/'$TYPE'.mmdb"' --form 'name='$NAME'' --form 'format=mmdb' --form 'type='$TYPE'' --form 'id='$ID'' | jq '.status')
|
||||
|
||||
if [[ $curl_result -ne '200' ]];then
|
||||
echo 0
|
||||
echo "The $FILE_NAME.$FORMAT upload to the knowledge base failed."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
function pushConfig(){
|
||||
|
||||
{% if project == "tsg" %}
|
||||
push_knowledge_file asn_v4 $COMMON_PATH/data asn mmdb
|
||||
push_knowledge_file asn_v6 $COMMON_PATH/data asn mmdb
|
||||
push_knowledge_file ip_v4_built_in $COMMON_PATH/data ip_location mmdb
|
||||
push_knowledge_file ip_v4_user_defined $COMMON_PATH/data ip_location mmdb
|
||||
push_knowledge_file ip_v6_built_in $COMMON_PATH/data ip_location mmdb
|
||||
push_knowledge_file ip_v6_user_defined $COMMON_PATH/data ip_location mmdb
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if project == "cn" %}
|
||||
push_knowledge_csv 3 cn_dns_server_info_built_in cn_dns_server_info_built_in
|
||||
push_knowledge_csv 4 cn_fqdn_icp_built_in cn_fqdn_icp_built_in
|
||||
push_knowledge_csv 5 cn_fqdn_category_built_in cn_fqdn_category_built_in
|
||||
push_knowledge_csv 6 cn_fqdn_who_is_built_in cn_fqdn_who_is_built_in
|
||||
push_knowledge_csv 7 cn_ioc_malware cn_ioc_malware
|
||||
push_knowledge_csv 8 cn_ioc_darkweb cn_ioc_darkweb
|
||||
push_knowledge_csv 9 cn_app_category_built_in cn_app_category_built_in
|
||||
push_knowledge_csv 10 cn_psiphon3_ip cn_psiphon3_ip
|
||||
push_knowledge_csv 11 cn_idc_renter_built_in cn_idc_renter_built_in
|
||||
push_knowledge_csv 12 cn_internal_ip_built_in cn_internal_ip_built_in
|
||||
push_knowledge_csv 13 cn_link_direction_built_in cn_link_direction_built_in
|
||||
|
||||
|
||||
push_knowledge_mmdb 16266e3e2aff061d cn_ip_location_built_in cn_ipv4_location_built_in
|
||||
push_knowledge_mmdb f8e1f4021a069b7d cn_ip_location_built_in cn_ipv6_location_built_in
|
||||
push_knowledge_mmdb 15a614c6f12f1ad5 cn_ip_asn_built_in cn_ipv4_asn_built_in
|
||||
push_knowledge_mmdb f4b2ed071a57b35c cn_ip_asn_built_in cn_ipv6_asn_built_in
|
||||
|
||||
{% endif %}
|
||||
|
||||
}
|
||||
|
||||
pushConfig
|
||||
|
||||
echo 1
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user