tagrecorder

package
v0.0.0-...-0f49ba3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2024 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Overview

tagrecorder包中使用到的泛型约束

Index

Constants

View Source
const (
	RESOURCE_TYPE_REGION            = "region"
	RESOURCE_TYPE_AZ                = "az"
	RESOURCE_TYPE_HOST              = "host"
	RESOURCE_TYPE_VPC               = "epc"
	RESOURCE_TYPE_NAT_GATEWAY       = "nat_gateway"
	RESOURCE_TYPE_LB                = "lb"
	RESOURCE_TYPE_VL2               = "vl2"
	RESOURCE_TYPE_REDIS             = "redis_instance"
	RESOURCE_TYPE_RDS               = "rds_instance"
	RESOURCE_TYPE_VM                = "vm"
	RESOURCE_TYPE_VGW               = "vgateway"
	RESOURCE_TYPE_DHCP_PORT         = "dhcp_port"
	RESOURCE_TYPE_IP                = "ip"
	RESOURCE_TYPE_POD_CLUSTER       = "pod_cluster"
	RESOURCE_TYPE_POD_NODE          = "pod_node"
	RESOURCE_TYPE_POD_NAMESPACE     = "pod_namespace"
	RESOURCE_TYPE_POD_GROUP         = "pod_group"
	RESOURCE_TYPE_POD_SERVICE       = "pod_service"
	RESOURCE_TYPE_POD               = "pod"
	RESOURCE_TYPE_INTERNET          = "internet"
	RESOURCE_TYPE_INTERNET_IP       = "internet_ip"
	RESOURCE_TYPE_VINTERFACE        = "vinterface"
	RESOURCE_TYPE_WANIP             = "wan_ip"
	RESOURCE_TYPE_LANIP             = "lan_ip"
	RESOURCE_TYPE_NAT_RULE          = "nat_rule"
	RESOURCE_TYPE_NAT_VM_CONNECTION = "nat_vm_connection"
	RESOURCE_TYPE_LB_LISTENER       = "lb_listener"
	RESOURCE_TYPE_LB_TARGET_SERVER  = "lb_target_server"
	RESOURCE_TYPE_LB_VM_CONNECTION  = "lb_vm_connection"
	RESOURCE_TYPE_POD_GROUP_PORT    = "pod_group_port"
	RESOURCE_TYPE_POD_INGRESS       = "pod_ingress"
	RESOURCE_TYPE_SERVICE           = "service"
	RESOURCE_TYPE_GPROCESS          = "gprocess"
)
View Source
const (
	RESOURCE_TYPE_CH_K8S_ANNOTATION  = "ch_k8s_annotation"
	RESOURCE_TYPE_CH_K8S_ANNOTATIONS = "ch_k8s_annotations"
	RESOURCE_TYPE_CH_K8S_ENV         = "ch_k8s_env"
	RESOURCE_TYPE_CH_K8S_ENVS        = "ch_k8s_envs"

	RESOURCE_TYPE_CH_K8S_LABEL         = "ch_k8s_label"
	RESOURCE_TYPE_CH_K8S_LABELS        = "ch_k8s_labels"
	RESOURCE_TYPE_CH_VM_CLOUD_TAG      = "ch_chost_cloud_tag"
	RESOURCE_TYPE_CH_POD_NS_CLOUD_TAG  = "ch_pod_namespace_cloud_tag"
	RESOURCE_TYPE_CH_VM_CLOUD_TAGS     = "ch_chost_cloud_tags"
	RESOURCE_TYPE_CH_POD_NS_CLOUD_TAGS = "ch_pod_namespace_cloud_tags"
	RESOURCE_TYPE_CH_OS_APP_TAG        = "ch_os_app_tag"
	RESOURCE_TYPE_CH_OS_APP_TAGS       = "ch_os_app_tags"
	RESOURCE_TYPE_CH_REGION            = "ch_region"
	RESOURCE_TYPE_CH_AZ                = "ch_az"
	RESOURCE_TYPE_CH_VPC               = "ch_vpc"
	RESOURCE_TYPE_CH_DEVICE            = "ch_device"
	RESOURCE_TYPE_CH_IP_RELATION       = "ch_ip_relation"
	RESOURCE_TYPE_CH_IP_RESOURCE       = "ch_ip_resource"

	RESOURCE_TYPE_CH_POD_PORT       = "ch_pod_port"
	RESOURCE_TYPE_CH_POD_NODE_PORT  = "ch_pod_node_port"
	RESOURCE_TYPE_CH_POD_GROUP_PORT = "ch_pod_group_port"
	RESOURCE_TYPE_CH_IP_PORT        = "ch_ip_port"
	RESOURCE_TYPE_CH_DEVICE_PORT    = "ch_device_port"

	RESOURCE_TYPE_CH_NETWORK        = "ch_network"
	RESOURCE_TYPE_CH_POD            = "ch_pod"
	RESOURCE_TYPE_CH_POD_GROUP      = "ch_pod_group"
	RESOURCE_TYPE_CH_POD_GROUP_TYPE = "ch_pod_group_type"
	RESOURCE_TYPE_CH_POD_INGRESS    = "ch_pod_ingress"
	RESOURCE_TYPE_CH_POD_NAMESPACE  = "ch_pod_namespace"
	RESOURCE_TYPE_CH_POD_NODE       = "ch_pod_node"
	RESOURCE_TYPE_TAP_TYPE          = "ch_tap_type"
	RESOURCE_TYPE_CH_VTAP           = "ch_vtap"
	RESOURCE_TYPE_CH_VTAP_PORT      = "ch_vtap_port"
	RESOURCE_TYPE_CH_LB_LISTENER    = "ch_lb_listener"
	RESOURCE_TYPE_CH_STRING_ENUM    = "ch_string_enum"
	RESOURCE_TYPE_CH_INT_ENUM       = "ch_int_enum"
	RESOURCE_TYPE_CH_NODE_TYPE      = "ch_node_type"
	RESOURCE_TYPE_CH_GPROCESS       = "ch_gprocess"
	RESOURCE_TYPE_CH_POD_SERVICE    = "ch_pod_service"
	RESOURCE_TYPE_CH_CHOST          = "ch_chost"
	RESOURCE_TYPE_CH_POLICY         = "ch_policy"
	RESOURCE_TYPE_CH_NPB_TUNNEL     = "ch_npb_tunnel"

	RESOURCE_TYPE_CH_POD_GROUP_DEPLOYMENT            = "pod_group_deployment"
	RESOURCE_TYPE_CH_POD_GROUP_STATEFULSET           = "pod_group_statefulset"
	RESOURCE_TYPE_CH_POD_GROUP_RC                    = "pod_group_rc"
	RESOURCE_TYPE_CH_POD_GROUP_DAEMON_SET            = "pod_group_daemon_set"
	RESOURCE_TYPE_CH_POD_GROUP_REPLICASET_CONTROLLER = "pod_group_replicaset_controller"
	RESOURCE_TYPE_CH_POD_GROUP_CLONESET              = "pod_group_cloneset"

	RESOURCE_TYPE_CH_PROMETHEUS_METRIC_APP_LABEL_LAYOUT = "ch_promytheus_metric_app_label_layout"
	RESOURCE_TYPE_CH_TARGET_LABEL                       = "ch_target_label"
	RESOURCE_TYPE_CH_APP_LABEL                          = "ch_app_label"
	RESOURCE_TYPE_CH_LABEL_NAME                         = "ch_prometheus_label_name"
	RESOURCE_TYPE_CH_METRIC_NAME                        = "ch_prometheus_metric_name"
	RESOURCE_TYPE_CH_PROMETHEUS_TARGET_LABEL_LAYOUT     = "ch_prometheus_target_label_layout"
)
View Source
const (
	CH_DICTIONARY_POD_K8S_ANNOTATION          = "pod_k8s_annotation_map"
	CH_DICTIONARY_POD_K8S_ANNOTATIONS         = "pod_k8s_annotations_map"
	CH_DICTIONARY_POD_SERVICE_K8S_ANNOTATION  = "pod_service_k8s_annotation_map"
	CH_DICTIONARY_POD_SERVICE_K8S_ANNOTATIONS = "pod_service_k8s_annotations_map"
	CH_DICTIONARY_POD_K8S_ENV                 = "pod_k8s_env_map"
	CH_DICTIONARY_POD_K8S_ENVS                = "pod_k8s_envs_map"

	CH_DICTIONARY_REGION        = "region_map"
	CH_DICTIONARY_AZ            = "az_map"
	CH_DICTIONARY_DEVICE        = "device_map" // vm, host, vgw, dhcp_port, pod, pod_service, pod_node, redis, rds, lb, nat
	CH_DICTIONARY_VPC           = "l3_epc_map"
	CH_DICTIONARY_VL2           = "subnet_map"
	CH_DICTIONARY_POD_CLUSTER   = "pod_cluster_map"
	CH_DICTIONARY_POD_NAMESPACE = "pod_ns_map"
	CH_DICTIONARY_POD_NODE      = "pod_node_map"
	CH_DICTIONARY_POD_GROUP     = "pod_group_map"
	CH_DICTIONARY_POD_INGRESS   = "pod_ingress_map"
	CH_DICTIONARY_POD           = "pod_map"
	CH_DICTIONARY_VTAP_PORT     = "vtap_port_map"
	CH_DICTIONARY_TAP_TYPE      = "tap_type_map"
	CH_DICTIONARY_VTAP          = "vtap_map"
	CH_DICTIONARY_LB_LISTENER   = "lb_listener_map"

	CH_DICTIONARY_POD_K8S_LABEL  = "pod_k8s_label_map"
	CH_DICTIONARY_POD_K8S_LABELS = "pod_k8s_labels_map"

	CH_DICTIONARY_POD_SERVICE_K8S_LABEL  = "pod_service_k8s_label_map"
	CH_DICTIONARY_POD_SERVICE_K8S_LABELS = "pod_service_k8s_labels_map"

	CH_DICTIONARY_CHOST_CLOUD_TAG   = "chost_cloud_tag_map"
	CH_DICTIONARY_POD_NS_CLOUD_TAG  = "pod_ns_cloud_tag_map"
	CH_DICTIONARY_CHOST_CLOUD_TAGS  = "chost_cloud_tags_map"
	CH_DICTIONARY_POD_NS_CLOUD_TAGS = "pod_ns_cloud_tags_map"
	CH_DICTIONARY_OS_APP_TAG        = "os_app_tag_map"
	CH_DICTIONARY_OS_APP_TAGS       = "os_app_tags_map"

	CH_DICTIONARY_POD_NODE_PORT  = "pod_node_port_map"
	CH_DICTIONARY_POD_GROUP_PORT = "pod_group_port_map"
	CH_DICTIONARY_POD_PORT       = "pod_port_map"
	CH_DICTIONARY_DEVICE_PORT    = "device_port_map"
	CH_DICTIONARY_IP_PORT        = "ip_port_map"
	CH_DICTIONARY_SERVER_PORT    = "server_port_map"

	CH_DICTIONARY_IP_RELATION = "ip_relation_map"
	CH_DICTIONARY_IP_RESOURCE = "ip_resource_map"

	CH_DICTIONARY_POD_SERVICE = "pod_service_map"
	CH_DICTIONARY_CHOST       = "chost_map"

	CH_STRING_DICTIONARY_ENUM = "string_enum_map"
	CH_INT_DICTIONARY_ENUM    = "int_enum_map"

	CH_DICTIONARY_NODE_TYPE = "node_type_map"
	CH_DICTIONARY_GPROCESS  = "gprocess_map"

	CH_DICTIONARY_POLICY     = "policy_map"
	CH_DICTIONARY_NPB_TUNNEL = "npb_tunnel_map"

	CH_TARGET_LABEL                       = "target_label_map"
	CH_APP_LABEL                          = "app_label_map"
	CH_PROMETHEUS_LABEL_NAME              = "prometheus_label_name_map"
	CH_PROMETHEUS_METRIC_NAME             = "prometheus_metric_name_map"
	CH_PROMETHEUS_METRIC_APP_LABEL_LAYOUT = "prometheus_metric_app_label_layout_map"
	CH_PROMETHEUS_TARGET_LABEL_LAYOUT     = "prometheus_target_label_layout_map"

	CH_APP_LABEL_LIVE_VIEW    = "app_label_live_view"
	CH_TARGET_LABEL_LIVE_VIEW = "target_label_live_view"
)
View Source
const (
	CH_DEVICE_TYPE_IP        = 64000
	CH_DEVICE_TYPE_INTERNET  = 63999
	CH_DEVICE_TYPE_GPROCESS  = 120
	CH_DEVICE_TYPE_POD_GROUP = 101
	CH_DEVICE_TYPE_SERVICE   = 102

	CH_VTAP_PORT_TYPE_TAP_MAC = 1
	CH_VTAP_PORT_TYPE_MAC     = 2
	CH_VTAP_PORT_NAME_MAX     = 10
)
View Source
const (
	CREATE_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `name` String,\n" +
		"    `icon_id` Int64\n" +
		")\n" +
		"PRIMARY KEY id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_VPC_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `name` String,\n" +
		"    `icon_id` Int64,\n" +
		"    `uid` String\n" +
		")\n" +
		"PRIMARY KEY id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_TAP_TYPE_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `value` UInt64,\n" +
		"    `name` String\n" +
		")\n" +
		"PRIMARY KEY value\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_VTAP_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `name` String,\n" +
		"    `type` Int64,\n" +
		"    `icon_id` Int64\n" +
		")\n" +
		"PRIMARY KEY id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_DEVICE_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `devicetype` UInt64,\n" +
		"    `deviceid` UInt64,\n" +
		"    `name` String,\n" +
		"    `icon_id` Int64,\n" +
		"    `uid` String\n" +
		")\n" +
		"PRIMARY KEY devicetype, deviceid\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_VTAP_PORT_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `vtap_id` UInt64,\n" +
		"    `tap_port` UInt64,\n" +
		"    `name` String,\n" +
		"    `host_id` Int64,\n" +
		"    `host_name` String,\n" +
		"    `device_type` UInt64,\n" +
		"    `device_id` UInt64,\n" +
		"    `device_name` String,\n" +
		"    `icon_id` Int64\n" +
		")\n" +
		"PRIMARY KEY vtap_id, tap_port\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_PORT_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `protocol` UInt64,\n" +
		"    `port` UInt64,\n" +
		"    `port_lb_id` UInt64,\n" +
		"    `port_lb_name` String,\n" +
		"    `port_lb_listener_id` UInt64,\n" +
		"    `port_lb_listener_name` String,\n" +
		"    `port_pod_service_id` UInt64,\n" +
		"    `port_pod_service_name` String\n" +
		")\n" +
		"PRIMARY KEY id, protocol, port\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_IP_PORT_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `ip` String,\n" +
		"    `subnet_id` UInt64,\n" +
		"    `protocol` UInt64,\n" +
		"    `port` UInt64,\n" +
		"    `port_lb_id` UInt64,\n" +
		"    `port_lb_name` String,\n" +
		"    `port_lb_listener_id` UInt64,\n" +
		"    `port_lb_listener_name` String,\n" +
		"    `port_pod_service_id` UInt64,\n" +
		"    `port_pod_service_name` String\n" +
		")\n" +
		"PRIMARY KEY ip, subnet_id, protocol, port\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_DEVICE_PORT_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `devicetype` UInt64,\n" +
		"    `deviceid` UInt64,\n" +
		"    `protocol` UInt64,\n" +
		"    `port` UInt64,\n" +
		"    `port_lb_id` UInt64,\n" +
		"    `port_lb_name` String,\n" +
		"    `port_lb_listener_id` UInt64,\n" +
		"    `port_lb_listener_name` String,\n" +
		"    `port_pod_service_id` UInt64,\n" +
		"    `port_pod_service_name` String\n" +
		")\n" +
		"PRIMARY KEY devicetype, deviceid, protocol, port\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_SERVER_PORT_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `server_port` UInt64,\n" +
		"    `server_port_name` String\n" +
		")\n" +
		"PRIMARY KEY server_port\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_IP_RELATION_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `l3_epc_id` UInt64,\n" +
		"    `ip` String,\n" +
		"    `natgw_id` UInt64,\n" +
		"    `natgw_name` String,\n" +
		"    `lb_id` UInt64,\n" +
		"    `lb_name` String,\n" +
		"    `lb_listener_id` UInt64,\n" +
		"    `lb_listener_name` String,\n" +
		"    `pod_ingress_id` UInt64,\n" +
		"    `pod_ingress_name` String,\n" +
		"    `pod_service_id` UInt64,\n" +
		"    `pod_service_name` String\n" +
		")\n" +
		"PRIMARY KEY l3_epc_id, ip\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_ID_NAME_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `name` String\n" +
		")\n" +
		"PRIMARY KEY id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_K8S_LABEL_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `key` String,\n" +
		"    `value` String,\n" +
		"    `l3_epc_id` UInt64,\n" +
		"    `pod_ns_id` UInt64\n" +
		")\n" +
		"PRIMARY KEY id, key\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_K8S_LABELS_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `labels` String,\n" +
		"    `l3_epc_id` UInt64,\n" +
		"    `pod_ns_id` UInt64\n" +
		")\n" +
		"PRIMARY KEY id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_IP_RESOURCE_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `ip` String,\n" +
		"    `subnet_id` UInt64,\n" +
		"    `subnet_name` String,\n" +
		"    `region_id` UInt64,\n" +
		"    `region_name` String,\n" +
		"    `az_id` UInt64,\n" +
		"    `az_name` String,\n" +
		"    `host_id` UInt64,\n" +
		"    `host_name` String,\n" +
		"    `chost_id` UInt64,\n" +
		"    `chost_name` String,\n" +
		"    `l3_epc_id` UInt64,\n" +
		"    `l3_epc_name` String,\n" +
		"    `router_id` UInt64,\n" +
		"    `router_name` String,\n" +
		"    `dhcpgw_id` UInt64,\n" +
		"    `dhcpgw_name` String,\n" +
		"    `lb_id` UInt64,\n" +
		"    `lb_name` String,\n" +
		"    `lb_listener_id` UInt64,\n" +
		"    `lb_listener_name` String,\n" +
		"    `natgw_id` UInt64,\n" +
		"    `natgw_name` String,\n" +
		"    `redis_id` UInt64,\n" +
		"    `redis_name` String,\n" +
		"    `rds_id` UInt64,\n" +
		"    `rds_name` String,\n" +
		"    `pod_cluster_id` UInt64,\n" +
		"    `pod_cluster_name` String,\n" +
		"    `pod_ns_id` UInt64,\n" +
		"    `pod_ns_name` String,\n" +
		"    `pod_node_id` UInt64,\n" +
		"    `pod_node_name` String,\n" +
		"    `pod_ingress_id` UInt64,\n" +
		"    `pod_ingress_name` String,\n" +
		"    `pod_service_id` UInt64,\n" +
		"    `pod_service_name` String,\n" +
		"    `pod_group_id` UInt64,\n" +
		"    `pod_group_name` String,\n" +
		"    `pod_id` UInt64,\n" +
		"    `pod_name` String,\n" +
		"    `uid` String\n" +
		")\n" +
		"PRIMARY KEY ip, subnet_id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_STRING_ENUM_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `tag_name` String,\n" +
		"    `value` String,\n" +
		"    `name` String,\n" +
		"    `description` String\n" +
		")\n" +
		"PRIMARY KEY tag_name, value\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_INT_ENUM_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `tag_name` String,\n" +
		"    `value` UInt64,\n" +
		"    `name` String,\n" +
		"    `description` String\n" +
		")\n" +
		"PRIMARY KEY tag_name, value\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_NODE_TYPE_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `resource_type` UInt64,\n" +
		"    `node_type` String\n" +
		")\n" +
		"PRIMARY KEY resource_type\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_CLOUD_TAG_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `key` String,\n" +
		"    `value` String\n" +
		")\n" +
		"PRIMARY KEY id, key\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_CLOUD_TAGS_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `cloud_tags` String\n" +
		")\n" +
		"PRIMARY KEY id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_OS_APP_TAG_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `pid` UInt64,\n" +
		"    `key` String,\n" +
		"    `value` String\n" +
		")\n" +
		"PRIMARY KEY pid, key\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_OS_APP_TAGS_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `pid` UInt64,\n" +
		"    `os_app_tags` String\n" +
		")\n" +
		"PRIMARY KEY pid\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"

	CREATE_K8S_ANNOTATION_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `key` String,\n" +
		"    `value` String,\n" +
		"    `l3_epc_id` UInt64,\n" +
		"    `pod_ns_id` UInt64\n" +
		")\n" +
		"PRIMARY KEY id, key\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_K8S_ANNOTATIONS_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `annotations` String,\n" +
		"    `l3_epc_id` UInt64,\n" +
		"    `pod_ns_id` UInt64\n" +
		")\n" +
		"PRIMARY KEY id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_K8S_ENV_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `key` String,\n" +
		"    `value` String,\n" +
		"    `l3_epc_id` UInt64,\n" +
		"    `pod_ns_id` UInt64\n" +
		")\n" +
		"PRIMARY KEY id, key\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_K8S_ENVS_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `envs` String,\n" +
		"    `l3_epc_id` UInt64,\n" +
		"    `pod_ns_id` UInt64\n" +
		")\n" +
		"PRIMARY KEY id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_PROMETHEUS_LABEL_NAME_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `name` String\n" +
		")\n" +
		"PRIMARY KEY id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_PROMETHEUS_METRIC_APP_LABEL_LAYOUT_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `metric_name` String,\n" +
		"    `app_label_name` String,\n" +
		"    `app_label_column_index` UInt64\n" +
		")\n" +
		"PRIMARY KEY id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_APP_LABEL_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `label_name_id` UInt64,\n" +
		"    `label_value` String,\n" +
		"    `label_value_id` UInt64\n" +
		")\n" +
		"PRIMARY KEY label_name_id, label_value_id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_TARGET_LABEL_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `metric_id` UInt64,\n" +
		"    `label_name_id` UInt64,\n" +
		"    `label_value` String,\n" +
		"    `target_id` UInt64\n" +
		")\n" +
		"PRIMARY KEY metric_id, label_name_id, target_id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_PROMETHEUS_TARGET_LABEL_LAYOUT_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `target_id` UInt64,\n" +
		"    `target_label_names` String,\n" +
		"    `target_label_values` String\n" +
		")\n" +
		"PRIMARY KEY target_id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
	CREATE_POD_NS_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `name` String,\n" +
		"    `icon_id` Int64,\n" +
		"    `pod_cluster_id` UInt64\n" +
		")\n" +
		"PRIMARY KEY id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_POD_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `name` String,\n" +
		"    `icon_id` Int64,\n" +
		"    `pod_cluster_id` UInt64,\n" +
		"    `pod_ns_id` UInt64,\n" +
		"    `pod_node_id` UInt64,\n" +
		"    `pod_service_id` UInt64,\n" +
		"    `pod_group_id` UInt64\n" +
		")\n" +
		"PRIMARY KEY id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_POD_SERVICE_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `name` String,\n" +
		"    `pod_cluster_id` UInt64,\n" +
		"    `pod_ns_id` UInt64\n" +
		")\n" +
		"PRIMARY KEY id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_CHOST_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `name` String,\n" +
		"    `host_id` UInt64,\n" +
		"    `l3_epc_id` UInt64\n" +
		")\n" +
		"PRIMARY KEY id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_CH_POD_GROUP_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `name` String,\n" +
		"    `pod_group_type` UInt64,\n" +
		"    `icon_id` Int64,\n" +
		"    `pod_cluster_id` UInt64,\n" +
		"    `pod_ns_id` UInt64\n" +
		")\n" +
		"PRIMARY KEY id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_CH_GPROCESS_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `id` UInt64,\n" +
		"    `name` String,\n" +
		"    `icon_id` Int64,\n" +
		"    `chost_id` Int64,\n" +
		"    `l3_epc_id` Int64\n" +
		")\n" +
		"PRIMARY KEY id\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(FLAT())"
	CREATE_POLICY_DICTIONARY_SQL = "CREATE DICTIONARY %s.%s\n" +
		"(\n" +
		"    `tunnel_type` UInt64,\n" +
		"    `acl_gid` UInt64,\n" +
		"    `id` Int64,\n" +
		"    `name` String\n" +
		")\n" +
		"PRIMARY KEY tunnel_type, acl_gid\n" +
		"SOURCE(MYSQL(PORT %s USER '%s' PASSWORD '%s' %s DB %s TABLE %s INVALIDATE_QUERY 'select(select updated_at from %s order by updated_at desc limit 1) as updated_at'))\n" +
		"LIFETIME(MIN 30 MAX %d)\n" +
		"LAYOUT(COMPLEX_KEY_HASHED())"
)
View Source
const (
	CREATE_APP_LABEL_LIVE_VIEW_SQL = "CREATE LIVE VIEW flow_tag.app_label_live_view WITH PERIODIC REFRESH %d\n" +
		"(\n" +
		"    `label_name_id` UInt64,\n" +
		"    `label_value_id` UInt64,\n" +
		"    `label_value` String\n" +
		") AS\n" +
		"SELECT *\n" +
		"FROM flow_tag.app_label_map"
	CREATE_TARGET_LABEL_LIVE_VIEW_SQL = "CREATE LIVE VIEW flow_tag.target_label_live_view WITH PERIODIC REFRESH %d\n" +
		"(\n" +
		"    `metric_id` UInt64,\n" +
		"    `label_name_id` UInt64,\n" +
		"    `target_id` UInt64,\n" +
		"    `label_value` String\n" +
		") AS\n" +
		"SELECT *\n" +
		"FROM flow_tag.target_label_map"
)

Variables

View Source
var CH_IP_RESOURCE_TAGS = []string{
	"region_id", "region_name", "az_id", "az_name", "host_id", "host_name",
	"chost_id", "chost_name", "l3_epc_id", "l3_epc_name", "subnet_id", "subnet_name",
	"router_id", "router_name", "dhcpgw_id", "dhcpgw_name", "lb_id", "lb_name",
	"lb_listener_id", "lb_listener_name", "natgw_id", "natgw_name", "redis_id",
	"redis_name", "rds_id", "rds_name", "pod_cluster_id", "pod_cluster_name",
	"pod_ns_id", "pod_ns_name", "pod_node_id", "pod_node_name",
	"pod_ingress_id", "pod_ingress_name", "pod_service_id", "pod_service_name",
	"pod_group_id", "pod_group_name", "pod_id", "pod_name",
}
View Source
var CREATE_SQL_MAP = map[string]string{
	CH_DICTIONARY_REGION:                 CREATE_DICTIONARY_SQL,
	CH_DICTIONARY_AZ:                     CREATE_DICTIONARY_SQL,
	CH_DICTIONARY_VPC:                    CREATE_VPC_DICTIONARY_SQL,
	CH_DICTIONARY_VL2:                    CREATE_DICTIONARY_SQL,
	CH_DICTIONARY_POD_CLUSTER:            CREATE_DICTIONARY_SQL,
	CH_DICTIONARY_POD_NAMESPACE:          CREATE_POD_NS_DICTIONARY_SQL,
	CH_DICTIONARY_POD_NODE:               CREATE_DICTIONARY_SQL,
	CH_DICTIONARY_POD_GROUP:              CREATE_CH_POD_GROUP_DICTIONARY_SQL,
	CH_DICTIONARY_POD:                    CREATE_POD_DICTIONARY_SQL,
	CH_DICTIONARY_DEVICE:                 CREATE_DEVICE_DICTIONARY_SQL,
	CH_DICTIONARY_VTAP_PORT:              CREATE_VTAP_PORT_DICTIONARY_SQL,
	CH_DICTIONARY_TAP_TYPE:               CREATE_TAP_TYPE_DICTIONARY_SQL,
	CH_DICTIONARY_VTAP:                   CREATE_VTAP_DICTIONARY_SQL,
	CH_DICTIONARY_POD_NODE_PORT:          CREATE_PORT_DICTIONARY_SQL,
	CH_DICTIONARY_POD_GROUP_PORT:         CREATE_PORT_DICTIONARY_SQL,
	CH_DICTIONARY_POD_PORT:               CREATE_PORT_DICTIONARY_SQL,
	CH_DICTIONARY_DEVICE_PORT:            CREATE_DEVICE_PORT_DICTIONARY_SQL,
	CH_DICTIONARY_IP_PORT:                CREATE_IP_PORT_DICTIONARY_SQL,
	CH_DICTIONARY_SERVER_PORT:            CREATE_SERVER_PORT_DICTIONARY_SQL,
	CH_DICTIONARY_IP_RELATION:            CREATE_IP_RELATION_DICTIONARY_SQL,
	CH_DICTIONARY_LB_LISTENER:            CREATE_ID_NAME_DICTIONARY_SQL,
	CH_DICTIONARY_POD_INGRESS:            CREATE_ID_NAME_DICTIONARY_SQL,
	CH_DICTIONARY_POD_K8S_LABEL:          CREATE_K8S_LABEL_DICTIONARY_SQL,
	CH_DICTIONARY_POD_K8S_LABELS:         CREATE_K8S_LABELS_DICTIONARY_SQL,
	CH_DICTIONARY_IP_RESOURCE:            CREATE_IP_RESOURCE_DICTIONARY_SQL,
	CH_DICTIONARY_NODE_TYPE:              CREATE_NODE_TYPE_DICTIONARY_SQL,
	CH_STRING_DICTIONARY_ENUM:            CREATE_STRING_ENUM_SQL,
	CH_INT_DICTIONARY_ENUM:               CREATE_INT_ENUM_SQL,
	CH_DICTIONARY_CHOST_CLOUD_TAG:        CREATE_CLOUD_TAG_DICTIONARY_SQL,
	CH_DICTIONARY_POD_NS_CLOUD_TAG:       CREATE_CLOUD_TAG_DICTIONARY_SQL,
	CH_DICTIONARY_CHOST_CLOUD_TAGS:       CREATE_CLOUD_TAGS_DICTIONARY_SQL,
	CH_DICTIONARY_POD_NS_CLOUD_TAGS:      CREATE_CLOUD_TAGS_DICTIONARY_SQL,
	CH_DICTIONARY_OS_APP_TAG:             CREATE_OS_APP_TAG_DICTIONARY_SQL,
	CH_DICTIONARY_OS_APP_TAGS:            CREATE_OS_APP_TAGS_DICTIONARY_SQL,
	CH_DICTIONARY_GPROCESS:               CREATE_CH_GPROCESS_DICTIONARY_SQL,
	CH_DICTIONARY_POD_SERVICE_K8S_LABEL:  CREATE_K8S_LABEL_DICTIONARY_SQL,
	CH_DICTIONARY_POD_SERVICE_K8S_LABELS: CREATE_K8S_LABELS_DICTIONARY_SQL,

	CH_DICTIONARY_POD_K8S_ANNOTATION:          CREATE_K8S_ANNOTATION_DICTIONARY_SQL,
	CH_DICTIONARY_POD_K8S_ANNOTATIONS:         CREATE_K8S_ANNOTATIONS_DICTIONARY_SQL,
	CH_DICTIONARY_POD_SERVICE_K8S_ANNOTATION:  CREATE_K8S_ANNOTATION_DICTIONARY_SQL,
	CH_DICTIONARY_POD_SERVICE_K8S_ANNOTATIONS: CREATE_K8S_ANNOTATIONS_DICTIONARY_SQL,
	CH_DICTIONARY_POD_K8S_ENV:                 CREATE_K8S_ENV_DICTIONARY_SQL,
	CH_DICTIONARY_POD_K8S_ENVS:                CREATE_K8S_ENVS_DICTIONARY_SQL,
	CH_DICTIONARY_POD_SERVICE:                 CREATE_POD_SERVICE_DICTIONARY_SQL,
	CH_DICTIONARY_CHOST:                       CREATE_CHOST_DICTIONARY_SQL,

	CH_DICTIONARY_POLICY:     CREATE_POLICY_DICTIONARY_SQL,
	CH_DICTIONARY_NPB_TUNNEL: CREATE_ID_NAME_DICTIONARY_SQL,

	CH_PROMETHEUS_LABEL_NAME:              CREATE_PROMETHEUS_LABEL_NAME_DICTIONARY_SQL,
	CH_PROMETHEUS_METRIC_NAME:             CREATE_PROMETHEUS_LABEL_NAME_DICTIONARY_SQL,
	CH_PROMETHEUS_METRIC_APP_LABEL_LAYOUT: CREATE_PROMETHEUS_METRIC_APP_LABEL_LAYOUT_DICTIONARY_SQL,
	CH_APP_LABEL:                          CREATE_APP_LABEL_SQL,
	CH_TARGET_LABEL:                       CREATE_TARGET_LABEL_SQL,
	CH_PROMETHEUS_TARGET_LABEL_LAYOUT:     CREATE_PROMETHEUS_TARGET_LABEL_LAYOUT_DICTIONARY_SQL,

	CH_APP_LABEL_LIVE_VIEW:    CREATE_APP_LABEL_LIVE_VIEW_SQL,
	CH_TARGET_LABEL_LIVE_VIEW: CREATE_TARGET_LABEL_LIVE_VIEW_SQL,
}
View Source
var DBNodeTypeToResourceType = map[string]string{
	"region":      RESOURCE_TYPE_REGION,
	"az":          RESOURCE_TYPE_AZ,
	"host":        RESOURCE_TYPE_HOST,
	"l3_epc":      RESOURCE_TYPE_VPC,
	"subnet":      RESOURCE_TYPE_VL2,
	"vm":          RESOURCE_TYPE_VM,
	"router":      RESOURCE_TYPE_VGW,
	"dhcp_port":   RESOURCE_TYPE_DHCP_PORT,
	"nat_gateway": RESOURCE_TYPE_NAT_GATEWAY,
	"lb":          RESOURCE_TYPE_LB,
	"redis":       RESOURCE_TYPE_REDIS,
	"rds":         RESOURCE_TYPE_RDS,
	"pod_cluster": RESOURCE_TYPE_POD_CLUSTER,
	"pod_node":    RESOURCE_TYPE_POD_NODE,
	"pod_ns":      RESOURCE_TYPE_POD_NAMESPACE,
	"pod_group":   RESOURCE_TYPE_POD_GROUP,
	"pod_service": RESOURCE_TYPE_POD_SERVICE,
	"pod":         RESOURCE_TYPE_POD,
	"ip":          RESOURCE_TYPE_IP,
	"internet":    RESOURCE_TYPE_INTERNET,
	"gprocess":    RESOURCE_TYPE_GPROCESS,
}

icon名称不会重复

Functions

func GetVTapInterfaces

func GetVTapInterfaces(filter map[string]interface{}) ([]model.VTapInterface, error)

Types

type ChAPPLabel

type ChAPPLabel struct {
	UpdaterBase[mysql.ChAPPLabel, PrometheusAPPLabelKey]
}

func NewChAPPLabel

func NewChAPPLabel() *ChAPPLabel

type ChAZ

type ChAZ struct {
	UpdaterBase[mysql.ChAZ, IDKey]
	// contains filtered or unexported fields
}

func NewChAZ

func NewChAZ(domainLcuuidToIconID map[string]int, resourceTypeToIconID map[IconKey]int) *ChAZ

type ChChost

type ChChost struct {
	UpdaterBase[mysql.ChChost, IDKey]
}

func NewChChost

func NewChChost() *ChChost

type ChChostCloudTag

type ChChostCloudTag struct {
	UpdaterBase[mysql.ChChostCloudTag, CloudTagKey]
}

func NewChChostCloudTag

func NewChChostCloudTag() *ChChostCloudTag

type ChChostCloudTags

type ChChostCloudTags struct {
	UpdaterBase[mysql.ChChostCloudTags, CloudTagsKey]
}

func NewChChostCloudTags

func NewChChostCloudTags() *ChChostCloudTags

type ChDevice

type ChDevice struct {
	UpdaterBase[mysql.ChDevice, DeviceKey]
	// contains filtered or unexported fields
}

func NewChDevice

func NewChDevice(resourceTypeToIconID map[IconKey]int) *ChDevice

type ChGProcess

type ChGProcess struct {
	UpdaterBase[mysql.ChGProcess, IDKey]
	// contains filtered or unexported fields
}

func NewChGProcess

func NewChGProcess(resourceTypeToIconID map[IconKey]int) *ChGProcess

type ChIPRelation

type ChIPRelation struct {
	UpdaterBase[mysql.ChIPRelation, IPRelationKey]
}

以VPCID和IP为key,获取IP关联的NAT网关、负载均衡、负载均衡监听器、容器Ingress和容器服务数据

func NewChIPRelation

func NewChIPRelation() *ChIPRelation

type ChIPResource

type ChIPResource struct {
	UpdaterBase[mysql.ChIPResource, IPResourceKey]
	// contains filtered or unexported fields
}

func NewChIPResource

func NewChIPResource(ctx context.Context) *ChIPResource

type ChIntEnum

type ChIntEnum struct {
	UpdaterBase[mysql.ChIntEnum, IntEnumTagKey]
}

func NewChIntEnum

func NewChIntEnum() *ChIntEnum

type ChLbListener

type ChLbListener struct {
	UpdaterBase[mysql.ChLBListener, IDKey]
	// contains filtered or unexported fields
}

func NewChLbListener

func NewChLbListener(resourceTypeToIconID map[IconKey]int) *ChLbListener

type ChNetwork

type ChNetwork struct {
	UpdaterBase[mysql.ChNetwork, IDKey]
	// contains filtered or unexported fields
}

func NewChNetwork

func NewChNetwork(resourceTypeToIconID map[IconKey]int) *ChNetwork

type ChNodeType

type ChNodeType struct {
	UpdaterBase[mysql.ChNodeType, NodeTypeKey]
}

func NewChNodeType

func NewChNodeType() *ChNodeType

type ChNpbTunnel

type ChNpbTunnel struct {
	UpdaterBase[mysql.ChNpbTunnel, IDKey]
}

func NewChNpbTunnel

func NewChNpbTunnel() *ChNpbTunnel

type ChOSAppTag

type ChOSAppTag struct {
	UpdaterBase[mysql.ChOSAppTag, OSAPPTagKey]
}

func NewChOSAppTag

func NewChOSAppTag() *ChOSAppTag

type ChOSAppTags

type ChOSAppTags struct {
	UpdaterBase[mysql.ChOSAppTags, OSAPPTagsKey]
}

func NewChOSAppTags

func NewChOSAppTags() *ChOSAppTags

type ChPod

type ChPod struct {
	UpdaterBase[mysql.ChPod, IDKey]
	// contains filtered or unexported fields
}

func NewChPod

func NewChPod(resourceTypeToIconID map[IconKey]int) *ChPod

type ChPodCluster

type ChPodCluster struct {
	UpdaterBase[mysql.ChPodCluster, IDKey]
	// contains filtered or unexported fields
}

func NewChPodCluster

func NewChPodCluster(resourceTypeToIconID map[IconKey]int) *ChPodCluster

type ChPodGroup

type ChPodGroup struct {
	UpdaterBase[mysql.ChPodGroup, IDKey]
	// contains filtered or unexported fields
}

func NewChPodGroup

func NewChPodGroup(resourceTypeToIconID map[IconKey]int) *ChPodGroup

type ChPodIngress

type ChPodIngress struct {
	UpdaterBase[mysql.ChPodIngress, IDKey]
	// contains filtered or unexported fields
}

func NewChPodIngress

func NewChPodIngress(resourceTypeToIconID map[IconKey]int) *ChPodIngress

type ChPodK8sAnnotation

type ChPodK8sAnnotation struct {
	UpdaterBase[mysql.ChPodK8sAnnotation, K8sAnnotationKey]
}

func NewChPodK8sAnnotation

func NewChPodK8sAnnotation() *ChPodK8sAnnotation

type ChPodK8sAnnotations

type ChPodK8sAnnotations struct {
	UpdaterBase[mysql.ChPodK8sAnnotations, K8sAnnotationsKey]
}

func NewChPodK8sAnnotations

func NewChPodK8sAnnotations() *ChPodK8sAnnotations

type ChPodK8sEnv

type ChPodK8sEnv struct {
	UpdaterBase[mysql.ChPodK8sEnv, K8sEnvKey]
}

func NewChPodK8sEnv

func NewChPodK8sEnv() *ChPodK8sEnv

type ChPodK8sEnvs

type ChPodK8sEnvs struct {
	UpdaterBase[mysql.ChPodK8sEnvs, K8sEnvsKey]
}

func NewChPodK8sEnvs

func NewChPodK8sEnvs() *ChPodK8sEnvs

type ChPodK8sLabel

type ChPodK8sLabel struct {
	UpdaterBase[mysql.ChPodK8sLabel, K8sLabelKey]
}

func NewChPodK8sLabel

func NewChPodK8sLabel() *ChPodK8sLabel

type ChPodK8sLabels

type ChPodK8sLabels struct {
	UpdaterBase[mysql.ChPodK8sLabels, K8sLabelsKey]
}

func NewChPodK8sLabels

func NewChPodK8sLabels() *ChPodK8sLabels

type ChPodNSCloudTag

type ChPodNSCloudTag struct {
	UpdaterBase[mysql.ChPodNSCloudTag, CloudTagKey]
}

func NewChPodNSCloudTag

func NewChPodNSCloudTag() *ChPodNSCloudTag

type ChPodNSCloudTags

type ChPodNSCloudTags struct {
	UpdaterBase[mysql.ChPodNSCloudTags, CloudTagsKey]
}

func NewChPodNSCloudTags

func NewChPodNSCloudTags() *ChPodNSCloudTags

type ChPodNamespace

type ChPodNamespace struct {
	UpdaterBase[mysql.ChPodNamespace, IDKey]
	// contains filtered or unexported fields
}

func NewChPodNamespace

func NewChPodNamespace(resourceTypeToIconID map[IconKey]int) *ChPodNamespace

type ChPodNode

type ChPodNode struct {
	UpdaterBase[mysql.ChPodNode, IDKey]
	// contains filtered or unexported fields
}

func NewChPodNode

func NewChPodNode(resourceTypeToIconID map[IconKey]int) *ChPodNode

type ChPodService

type ChPodService struct {
	UpdaterBase[mysql.ChPodService, IDKey]
}

func NewChPodService

func NewChPodService() *ChPodService

type ChPodServiceK8sAnnotation

type ChPodServiceK8sAnnotation struct {
	UpdaterBase[mysql.ChPodServiceK8sAnnotation, K8sAnnotationKey]
}

func NewChPodServiceK8sAnnotation

func NewChPodServiceK8sAnnotation() *ChPodServiceK8sAnnotation

type ChPodServiceK8sAnnotations

type ChPodServiceK8sAnnotations struct {
	UpdaterBase[mysql.ChPodServiceK8sAnnotations, K8sAnnotationsKey]
}

func NewChPodServiceK8sAnnotations

func NewChPodServiceK8sAnnotations() *ChPodServiceK8sAnnotations

type ChPodServiceK8sLabel

type ChPodServiceK8sLabel struct {
	UpdaterBase[mysql.ChPodServiceK8sLabel, K8sLabelKey]
}

func NewChPodServiceK8sLabel

func NewChPodServiceK8sLabel() *ChPodServiceK8sLabel

type ChPodServiceK8sLabels

type ChPodServiceK8sLabels struct {
	UpdaterBase[mysql.ChPodServiceK8sLabels, K8sLabelsKey]
}

func NewChPodServiceK8sLabels

func NewChPodServiceK8sLabels() *ChPodServiceK8sLabels

type ChPolicy

type ChPolicy struct {
	UpdaterBase[mysql.ChPolicy, PolicyKey]
}

func NewChPolicy

func NewChPolicy() *ChPolicy

type ChPrometheusLabelName

type ChPrometheusLabelName struct {
	UpdaterBase[mysql.ChPrometheusLabelName, IDKey]
}

func NewChPrometheusLabelName

func NewChPrometheusLabelName() *ChPrometheusLabelName

type ChPrometheusMetricAPPLabelLayout

type ChPrometheusMetricAPPLabelLayout struct {
	UpdaterBase[mysql.ChPrometheusMetricAPPLabelLayout, IDKey]
}

func NewChPrometheusMetricAPPLabelLayout

func NewChPrometheusMetricAPPLabelLayout() *ChPrometheusMetricAPPLabelLayout

type ChPrometheusMetricName

type ChPrometheusMetricName struct {
	UpdaterBase[mysql.ChPrometheusMetricName, IDKey]
}

func NewChPrometheusMetricNames

func NewChPrometheusMetricNames() *ChPrometheusMetricName

type ChPrometheusTargetLabelLayout

type ChPrometheusTargetLabelLayout struct {
	UpdaterBase[mysql.ChPrometheusTargetLabelLayout, IDKey]
}

func NewChPrometheusTargetLabelLayout

func NewChPrometheusTargetLabelLayout() *ChPrometheusTargetLabelLayout

type ChRegion

type ChRegion struct {
	UpdaterBase[mysql.ChRegion, IDKey]
	// contains filtered or unexported fields
}

func NewChRegion

func NewChRegion(domainLcuuidToIconID map[string]int, resourceTypeToIconID map[IconKey]int) *ChRegion

type ChResourceUpdater

type ChResourceUpdater interface {
	// 刷新ch资源入口
	// 基于资源基础数据,构建新的ch数据
	// 直接查询ch表,构建旧的ch数据
	// 遍历新的ch数据,若key不在旧的ch数据中,则新增;否则检查是否有更新,若有更新,则更新
	// 遍历旧的ch数据,若key不在新的ch数据中,则删除
	// Refresh() bool
	SetConfig(cfg config.ControllerConfig)
	SetDB(db *mysql.DB)
	Check() error
}

type ChStringEnum

type ChStringEnum struct {
	UpdaterBase[mysql.ChStringEnum, StringEnumTagKey]
}

func NewChStringEnum

func NewChStringEnum() *ChStringEnum

type ChTapType

type ChTapType struct {
	UpdaterBase[mysql.ChTapType, TapTypeKey]
	// contains filtered or unexported fields
}

func NewChTapType

func NewChTapType(resourceTypeToIconID map[IconKey]int) *ChTapType

type ChTargetLabel

type ChTargetLabel struct {
	UpdaterBase[mysql.ChTargetLabel, PrometheusTargetLabelKey]
}

func NewChTargetLabel

func NewChTargetLabel() *ChTargetLabel

type ChVPC

type ChVPC struct {
	UpdaterBase[mysql.ChVPC, IDKey]
	// contains filtered or unexported fields
}

func NewChVPC

func NewChVPC(resourceTypeToIconID map[IconKey]int) *ChVPC

type ChVTap

type ChVTap struct {
	UpdaterBase[mysql.ChVTap, IDKey]
	// contains filtered or unexported fields
}

func NewChVTap

func NewChVTap(resourceTypeToIconID map[IconKey]int) *ChVTap

type ChVTapPort

type ChVTapPort struct {
	UpdaterBase[mysql.ChVTapPort, VtapPortKey]
}

func NewChVTapPort

func NewChVTapPort() *ChVTapPort

type CloudTagKey

type CloudTagKey struct {
	ID  int
	Key string
}

type CloudTagsKey

type CloudTagsKey struct {
	ID int
}

type DataGenerator

type DataGenerator[MT MySQLChModel, KT ChModelKey] interface {
	// contains filtered or unexported methods
}

type DeviceInfo

type DeviceInfo struct {
	DeviceID   int
	DeviceType int
	DeviceName string
	IconID     int
}

type DeviceKey

type DeviceKey struct {
	DeviceID   int
	DeviceType int
}

type IDKey

type IDKey struct {
	ID int
}

type IPRelationKey

type IPRelationKey struct {
	L3EPCID int
	IP      string
}

type IPResourceKey

type IPResourceKey struct {
	IP       string
	SubnetID int
}

type IconData

type IconData struct {
	ID   int
	Name string
}

type IconKey

type IconKey struct {
	NodeType string
	SubType  int
}

type IntEnumTagKey

type IntEnumTagKey struct {
	TagName  string
	TagValue int
}

type K8sAnnotationKey

type K8sAnnotationKey struct {
	ID  int
	Key string
}

type K8sAnnotationsKey

type K8sAnnotationsKey struct {
	ID int
}

type K8sEnvKey

type K8sEnvKey struct {
	ID  int
	Key string
}

type K8sEnvsKey

type K8sEnvsKey struct {
	ID int
}

type K8sLabelKey

type K8sLabelKey struct {
	ID  int
	Key string
}

type K8sLabelsKey

type K8sLabelsKey struct {
	ID int
}

type NodeTypeKey

type NodeTypeKey struct {
	ResourceType int
}

type OSAPPTagKey

type OSAPPTagKey struct {
	PID int
	Key string
}

type OSAPPTagsKey

type OSAPPTagsKey struct {
	PID int
}

type PolicyKey

type PolicyKey struct {
	ACLGID     int
	TunnelType int
}

type PortDeviceKey

type PortDeviceKey struct {
	DeviceID   int
	DeviceType int
	Protocol   int
	Port       int
}

type PortIDKey

type PortIDKey struct {
	ID       int
	Protocol int
	Port     int
}

type PortIPKey

type PortIPKey struct {
	IP       string
	SubnetID int
	Protocol int
	Port     int
}

type PrometheusAPPLabelKey

type PrometheusAPPLabelKey struct {
	LabelNameID  int
	LabelValueID int
}

type PrometheusTargetLabelKey

type PrometheusTargetLabelKey struct {
	MetricID    int
	LabelNameID int
	TargetID    int
}

type StringEnumTagKey

type StringEnumTagKey struct {
	TagName  string
	TagValue string
}

type TagRecorder

type TagRecorder struct {
	// contains filtered or unexported fields
}

func GetSingleton

func GetSingleton() *TagRecorder

func (*TagRecorder) Check

func (c *TagRecorder) Check()

func (*TagRecorder) Init

func (*TagRecorder) Stop

func (t *TagRecorder) Stop()

func (*TagRecorder) UpdateChDictionary

func (c *TagRecorder) UpdateChDictionary()

func (*TagRecorder) UpdateIconInfo

func (c *TagRecorder) UpdateIconInfo(db *mysql.DB) (map[string]int, map[IconKey]int, error)

type TapTypeKey

type TapTypeKey struct {
	Value int
}

type UpdaterBase

type UpdaterBase[MT MySQLChModel, KT ChModelKey] struct {
	// contains filtered or unexported fields
}

func (*UpdaterBase[MT, KT]) Check

func (b *UpdaterBase[MT, KT]) Check() error

func (*UpdaterBase[MT, KT]) SetConfig

func (b *UpdaterBase[MT, KT]) SetConfig(cfg config.ControllerConfig)

func (*UpdaterBase[MT, KT]) SetDB

func (b *UpdaterBase[MT, KT]) SetDB(db *mysql.DB)

type VtapPortKey

type VtapPortKey struct {
	VtapID  int
	TapPort int64
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL