Documentation ¶
Overview ¶
tagrecorder包中使用到的泛型约束
Index ¶
- Constants
- Variables
- func GetVTapInterfaces(filter map[string]interface{}) ([]model.VTapInterface, error)
- type ChAPPLabel
- type ChAZ
- type ChChost
- type ChChostCloudTag
- type ChChostCloudTags
- type ChDevice
- type ChGProcess
- type ChIPRelation
- type ChIPResource
- type ChIntEnum
- type ChLbListener
- type ChModelKey
- type ChNetwork
- type ChNodeType
- type ChOSAppTag
- type ChOSAppTags
- type ChPod
- type ChPodCluster
- type ChPodGroup
- type ChPodIngress
- type ChPodK8sAnnotation
- type ChPodK8sAnnotations
- type ChPodK8sEnv
- type ChPodK8sEnvs
- type ChPodK8sLabel
- type ChPodK8sLabels
- type ChPodNSCloudTag
- type ChPodNSCloudTags
- type ChPodNamespace
- type ChPodNode
- type ChPodService
- type ChPodServiceK8sAnnotation
- type ChPodServiceK8sAnnotations
- type ChPodServiceK8sLabel
- type ChPodServiceK8sLabels
- type ChPrometheusLabelName
- type ChPrometheusMetricAPPLabelLayout
- type ChPrometheusMetricName
- type ChPrometheusTargetLabelLayout
- type ChRegion
- type ChResourceUpdater
- type ChStringEnum
- type ChTapType
- type ChTargetLabel
- type ChVPC
- type ChVTap
- type ChVTapPort
- type CloudTagKey
- type CloudTagsKey
- type DataGenerator
- type DeviceInfo
- type DeviceKey
- type IDKey
- type IPRelationKey
- type IPResourceKey
- type IconData
- type IconKey
- type IntEnumTagKey
- type K8sAnnotationKey
- type K8sAnnotationsKey
- type K8sEnvKey
- type K8sEnvsKey
- type K8sLabelKey
- type K8sLabelsKey
- type MySQLChModel
- type NodeTypeKey
- type OSAPPTagKey
- type OSAPPTagsKey
- type PortDeviceKey
- type PortIDKey
- type PortIPKey
- type PrometheusAPPLabelKey
- type PrometheusTargetLabelKey
- type StringEnumTagKey
- type TagRecorder
- type TapTypeKey
- type UpdaterBase
- type VtapPortKey
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_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_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 0 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 0 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 0 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 0 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())" )
View Source
const ( CREATE_APP_LABEL_LIVE_VIEW_SQL = "CREATE LIVE VIEW flow_tag.app_label_live_view WITH 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 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_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, }
View Source
var IconNameToDomainType = map[string][]int{ "OpenStack": {common.OPENSTACK}, "vSphere": {common.VSPHERE}, "NSP": {common.NSP}, common.TENCENT_CH: {common.TENCENT, common.TENCENT_TCE}, "AWS": {common.AWS}, common.PINGAN_CH: {common.PINGAN}, "ZStack": {common.ZSTACK}, common.ALIYUN_CH: {common.ALIYUN, common.APSARA_STACK}, "Kubernetes": {common.KUBERNETES}, common.HUAWEI_CH: {common.HUAWEI, common.HUAWEI_PRIVATE}, common.QINGCLOUD_CH: {common.QINGCLOUD, common.QINGCLOUD_PRIVATE}, common.MICROSOFT_CH: {common.AZURE, common.CMB_CMDB, common.MICROSOFT_ACS}, common.KINGSOFT_PRIVATE_CH: {common.KINGSOFT_PRIVATE}, common.BAIDU_BCE_CH: {common.BAIDU_BCE}, }
icon名称不会重复
View Source
var RESOURCE_POD_GROUP_TYPE_MAP = map[int]int{ common.POD_GROUP_DEPLOYMENT: common.VIF_DEVICE_TYPE_POD_GROUP_DEPLOYMENT, common.POD_GROUP_STATEFULSET: common.VIF_DEVICE_TYPE_POD_GROUP_STATEFULSET, common.POD_GROUP_RC: common.VIF_DEVICE_TYPE_POD_GROUP_RC, common.POD_GROUP_DAEMON_SET: common.VIF_DEVICE_TYPE_POD_GROUP_DAEMON_SET, common.POD_GROUP_REPLICASET_CONTROLLER: common.VIF_DEVICE_TYPE_POD_GROUP_REPLICASET_CONTROLLER, common.POD_GROUP_CLONESET: common.VIF_DEVICE_TYPE_POD_GROUP_CLONESET, }
View Source
var RESOURCE_TYPE_TO_NODE_TYPE = map[int]string{ common.VIF_DEVICE_TYPE_VM: "chost", common.VIF_DEVICE_TYPE_VROUTER: "router", common.VIF_DEVICE_TYPE_HOST: RESOURCE_TYPE_HOST, common.VIF_DEVICE_TYPE_DHCP_PORT: "dhcpgw", common.VIF_DEVICE_TYPE_POD: RESOURCE_TYPE_POD, common.VIF_DEVICE_TYPE_POD_SERVICE: RESOURCE_TYPE_POD_SERVICE, common.VIF_DEVICE_TYPE_REDIS_INSTANCE: "redis", common.VIF_DEVICE_TYPE_RDS_INSTANCE: "rds", common.VIF_DEVICE_TYPE_POD_NODE: RESOURCE_TYPE_POD_NODE, common.VIF_DEVICE_TYPE_LB: RESOURCE_TYPE_LB, common.VIF_DEVICE_TYPE_NAT_GATEWAY: "natgw", common.VIF_DEVICE_TYPE_INTERNET: RESOURCE_TYPE_INTERNET_IP, common.VIF_DEVICE_TYPE_POD_GROUP: RESOURCE_TYPE_POD_GROUP, common.VIF_DEVICE_TYPE_SERVICE: RESOURCE_TYPE_SERVICE, common.VIF_DEVICE_TYPE_GPROCESS: RESOURCE_TYPE_GPROCESS, common.VIF_DEVICE_TYPE_POD_GROUP_DEPLOYMENT: RESOURCE_TYPE_POD_GROUP, common.VIF_DEVICE_TYPE_POD_GROUP_STATEFULSET: RESOURCE_TYPE_POD_GROUP, common.VIF_DEVICE_TYPE_POD_GROUP_RC: RESOURCE_TYPE_POD_GROUP, common.VIF_DEVICE_TYPE_POD_GROUP_DAEMON_SET: RESOURCE_TYPE_POD_GROUP, common.VIF_DEVICE_TYPE_POD_GROUP_REPLICASET_CONTROLLER: RESOURCE_TYPE_POD_GROUP, common.VIF_DEVICE_TYPE_POD_GROUP_CLONESET: RESOURCE_TYPE_POD_GROUP, common.VIF_DEVICE_TYPE_IP: RESOURCE_TYPE_IP, }
View Source
var VTAP_TYPE_TO_DEVICE_TYPE = map[int]int{ common.VTAP_TYPE_KVM: common.VIF_DEVICE_TYPE_HOST, common.VTAP_TYPE_ESXI: common.VIF_DEVICE_TYPE_HOST, common.VTAP_TYPE_WORKLOAD_V: common.VIF_DEVICE_TYPE_VM, common.VTAP_TYPE_WORKLOAD_P: common.VIF_DEVICE_TYPE_VM, common.VTAP_TYPE_POD_HOST: common.VIF_DEVICE_TYPE_POD_NODE, common.VTAP_TYPE_POD_VM: common.VIF_DEVICE_TYPE_POD_NODE, common.VTAP_TYPE_HYPER_V: common.VIF_DEVICE_TYPE_HOST, common.VTAP_TYPE_K8S_SIDECAR: common.VIF_DEVICE_TYPE_POD, }
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 }
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 ¶
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 ChModelKey ¶
type ChModelKey interface { PrometheusTargetLabelKey | PrometheusAPPLabelKey | OSAPPTagKey | OSAPPTagsKey | CloudTagsKey | CloudTagKey | IntEnumTagKey | StringEnumTagKey | VtapPortKey | IPResourceKey | K8sLabelKey | PortIDKey | PortIPKey | PortDeviceKey | IDKey | DeviceKey | IPRelationKey | TapTypeKey | K8sLabelsKey | NodeTypeKey | K8sAnnotationKey | K8sAnnotationsKey | K8sEnvKey | K8sEnvsKey }
ch资源的组合key
type ChNetwork ¶
type ChNetwork struct { UpdaterBase[mysql.ChNetwork, IDKey] // contains filtered or unexported fields }
func NewChNetwork ¶
type ChNodeType ¶
type ChNodeType struct { UpdaterBase[mysql.ChNodeType, NodeTypeKey] }
func NewChNodeType ¶
func NewChNodeType() *ChNodeType
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 }
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 ¶
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 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 }
type ChResourceUpdater ¶
type ChResourceUpdater interface { // 刷新ch资源入口 // 基于资源基础数据,构建新的ch数据 // 直接查询ch表,构建旧的ch数据 // 遍历新的ch数据,若key不在旧的ch数据中,则新增;否则检查是否有更新,若有更新,则更新 // 遍历旧的ch数据,若key不在新的ch数据中,则删除 Refresh() bool SetConfig(cfg config.TagRecorderConfig) }
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 ¶
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 }
type ChVTap ¶
type ChVTap struct { UpdaterBase[mysql.ChVTap, IDKey] // contains filtered or unexported fields }
type ChVTapPort ¶
type ChVTapPort struct { UpdaterBase[mysql.ChVTapPort, VtapPortKey] }
func NewChVTapPort ¶
func NewChVTapPort() *ChVTapPort
type CloudTagKey ¶
type CloudTagsKey ¶
type CloudTagsKey struct {
ID int
}
type DataGenerator ¶
type DataGenerator[MT MySQLChModel, KT ChModelKey] interface { // contains filtered or unexported methods }
type DeviceInfo ¶
type IPRelationKey ¶
type IPResourceKey ¶
type IntEnumTagKey ¶
type K8sAnnotationKey ¶
type K8sAnnotationsKey ¶
type K8sAnnotationsKey struct {
ID int
}
type K8sEnvsKey ¶
type K8sEnvsKey struct {
ID int
}
type K8sLabelKey ¶
type K8sLabelsKey ¶
type K8sLabelsKey struct {
ID int
}
type MySQLChModel ¶
type MySQLChModel interface { mysql.ChPrometheusTargetLabelLayout | mysql.ChTargetLabel | mysql.ChAPPLabel | mysql.ChPrometheusMetricName | mysql.ChPrometheusLabelName | mysql.ChPrometheusMetricAPPLabelLayout | mysql.ChPodServiceK8sLabels | mysql.ChPodServiceK8sLabel | mysql.ChOSAppTags | mysql.ChOSAppTag | mysql.ChPodNSCloudTags | mysql.ChChostCloudTags | mysql.ChPodNSCloudTag | mysql.ChChostCloudTag | mysql.ChIntEnum | mysql.ChStringEnum | mysql.ChPodIngress | mysql.ChPodGroupPort | mysql.ChPodPort | mysql.ChVTapPort | mysql.ChAZ | mysql.ChIPResource | mysql.ChPodK8sLabel | mysql.ChLBListener | mysql.ChPodNodePort | mysql.ChIPPort | mysql.ChDevicePort | mysql.ChRegion | mysql.ChVPC | mysql.ChDevice | mysql.ChIPRelation | mysql.ChPodGroup | mysql.ChNetwork | mysql.ChPod | mysql.ChPodCluster | mysql.ChPodNode | mysql.ChPodNamespace | mysql.ChTapType | mysql.ChVTap | mysql.ChPodK8sLabels | mysql.ChNodeType | mysql.ChGProcess | mysql.ChPodK8sAnnotation | mysql.ChPodK8sAnnotations | mysql.ChPodServiceK8sAnnotation | mysql.ChPodServiceK8sAnnotations | mysql.ChPodK8sEnv | mysql.ChPodK8sEnvs | mysql.ChPodService | mysql.ChChost }
资源的MySQL orm对象
type NodeTypeKey ¶
type NodeTypeKey struct {
ResourceType int
}
type OSAPPTagKey ¶
type OSAPPTagsKey ¶
type OSAPPTagsKey struct {
PID int
}
type PortDeviceKey ¶
type PrometheusAPPLabelKey ¶
type StringEnumTagKey ¶
type TagRecorder ¶
type TagRecorder struct {
// contains filtered or unexported fields
}
func NewTagRecorder ¶
func NewTagRecorder(cfg config.ControllerConfig, ctx context.Context) *TagRecorder
func (*TagRecorder) Start ¶
func (c *TagRecorder) Start()
func (*TagRecorder) StartChDictionaryUpdate ¶
func (c *TagRecorder) StartChDictionaryUpdate()
func (*TagRecorder) Stop ¶
func (t *TagRecorder) Stop()
func (*TagRecorder) UpdateChDictionary ¶
func (c *TagRecorder) UpdateChDictionary()
func (*TagRecorder) UpdateIconInfo ¶
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]) Refresh ¶
func (b *UpdaterBase[MT, KT]) Refresh() bool
func (*UpdaterBase[MT, KT]) SetConfig ¶
func (b *UpdaterBase[MT, KT]) SetConfig(cfg config.TagRecorderConfig)
type VtapPortKey ¶
Source Files ¶
- ch_app_label.go
- ch_az.go
- ch_chost.go
- ch_chost_cloud_tag.go
- ch_chost_cloud_tags.go
- ch_device.go
- ch_gprocess.go
- ch_int_enum.go
- ch_ip_relation.go
- ch_ip_resource.go
- ch_l3_epc.go
- ch_label_name.go
- ch_lb_listener.go
- ch_metric_name.go
- ch_node_type.go
- ch_os_app_tag.go
- ch_os_app_tags.go
- ch_pod.go
- ch_pod_cluster.go
- ch_pod_group.go
- ch_pod_ingress.go
- ch_pod_k8s_annotation.go
- ch_pod_k8s_annotations.go
- ch_pod_k8s_env.go
- ch_pod_k8s_envs.go
- ch_pod_k8s_label.go
- ch_pod_k8s_labels.go
- ch_pod_node.go
- ch_pod_ns.go
- ch_pod_ns_cloud_tag.go
- ch_pod_ns_cloud_tags.go
- ch_pod_service.go
- ch_pod_service_k8s_annotation.go
- ch_pod_service_k8s_annotations.go
- ch_pod_service_k8s_label.go
- ch_pod_service_k8s_labels.go
- ch_prometheus_metric_app_label_layout.go
- ch_prometheus_target_label_layout.go
- ch_region.go
- ch_string_enum.go
- ch_subnet.go
- ch_tap_type.go
- ch_target_label.go
- ch_vtap.go
- ch_vtap_port.go
- const.go
- constraint.go
- dictionary.go
- icon.go
- key.go
- logger.go
- tagrecorder.go
- updater.go
Click to show internal directories.
Click to hide internal directories.