diff --git a/cmoa_install.yaml b/cmoa_install.yaml index 96dc7c2..daa5ff1 100755 --- a/cmoa_install.yaml +++ b/cmoa_install.yaml @@ -4,10 +4,9 @@ gather_facts: true environment: KUBECONFIG: /root/.kube/ansible_config - vars: - REGISTRY: 10.10.31.243:5000 - PullSecret: regcred + #vars: + # REGISTRY: 10.10.31.243:5000 + # PullSecret: regcred roles: - #- role: cmoa_os_setting - role: cmoa_install delegate_to: 127.0.0.1 diff --git a/roles/cmoa_install/defaults/main.yml b/roles/cmoa_install/defaults/main.yml index b77c765..2be26ae 100644 --- a/roles/cmoa_install/defaults/main.yml +++ b/roles/cmoa_install/defaults/main.yml @@ -4,7 +4,7 @@ helm_version: v3.10.3 # cmoa info cmoa_namespace: imxc -cmoa_version: rel3.5.2 +cmoa_version: rel3.5.3 # files/00-default in role docker_secret_file: secret_nexus.yaml diff --git a/roles/cmoa_install/files/03-ddl-dml/.DS_Store b/roles/cmoa_install/files/03-ddl-dml/.DS_Store new file mode 100644 index 0000000..0705f6e Binary files /dev/null and b/roles/cmoa_install/files/03-ddl-dml/.DS_Store differ diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/es-ddl-put.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/es-ddl-put.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/1_kubernete_event_info_create_dest_source_index.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/1_kubernete_event_info_create_dest_source_index.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/2_kubernete_event_info_reindex_to_dest_from_source.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/2_kubernete_event_info_reindex_to_dest_from_source.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/3_kubernete_event_info_reindex_to_source_from_dest.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/3_kubernete_event_info_reindex_to_source_from_dest.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/4_kubernete_event_info_delete_dest_index.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/4_kubernete_event_info_delete_dest_index.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/5_license_history_create_dest_source_index.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/5_license_history_create_dest_source_index.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/6_license_history_reindex_to_dest_from_source.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/6_license_history_reindex_to_dest_from_source.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/7_license_history_reindex_to_source_from_dest.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/7_license_history_reindex_to_source_from_dest.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/8_license_history_delete_dest_index.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/8_license_history_delete_dest_index.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/manual.txt b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0-rel332/manual.txt old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/1_kubernete_event_info_create_dest_source_index.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/1_kubernete_event_info_create_dest_source_index.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/2_kubernete_event_info_reindex_to_dest_from_source.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/2_kubernete_event_info_reindex_to_dest_from_source.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/3_kubernete_event_info_reindex_to_source_from_dest.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/3_kubernete_event_info_reindex_to_source_from_dest.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/4_kubernete_event_info_delete_dest_index.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/4_kubernete_event_info_delete_dest_index.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/5_license_history_create_dest_source_index.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/5_license_history_create_dest_source_index.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/6_license_history_reindex_to_dest_from_source.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/6_license_history_reindex_to_dest_from_source.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/7_license_history_reindex_to_source_from_dest.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/7_license_history_reindex_to_source_from_dest.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/8_license_history_delete_dest_index.sh b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/8_license_history_delete_dest_index.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/manual.txt b/roles/cmoa_install/files/03-ddl-dml/elasticsearch/patch/es-reindex-3.2.0/manual.txt old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/jaeger_menumeta.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/jaeger_menumeta.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/jspd_menumeta.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/jspd_menumeta.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/1_kubernete_event_info_create_dest_source_index.sh b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/1_kubernete_event_info_create_dest_source_index.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/2_kubernete_event_info_reindex_to_dest_from_source.sh b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/2_kubernete_event_info_reindex_to_dest_from_source.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/3_kubernete_event_info_reindex_to_source_from_dest.sh b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/3_kubernete_event_info_reindex_to_source_from_dest.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/4_kubernete_event_info_delete_dest_index.sh b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/4_kubernete_event_info_delete_dest_index.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/5_license_history_create_dest_source_index.sh b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/5_license_history_create_dest_source_index.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/6_license_history_reindex_to_dest_from_source.sh b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/6_license_history_reindex_to_dest_from_source.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/7_license_history_reindex_to_source_from_dest.sh b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/7_license_history_reindex_to_source_from_dest.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/8_license_history_delete_dest_index.sh b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/8_license_history_delete_dest_index.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/manual.txt b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/es-reindex-3.2.0/manual.txt old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/memu_meta/jaeger_menumeta.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/memu_meta/jaeger_menumeta.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/memu_meta/jspd_menumeta.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/memu_meta/jspd_menumeta.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.2.0.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.2.0.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.3.0.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.3.0.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.3.2.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.3.2.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.4.1.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.4.1.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.4.2.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.4.2.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.4.3.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.4.3.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.4.6.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.4.6.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.4.7.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.4.7.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.4.8.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.4.8.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.5.0.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.5.0.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.5.1.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.5.1.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.5.2.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.5.2.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.5.3.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.5.3.psql new file mode 100644 index 0000000..faa8743 --- /dev/null +++ b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_3.5.3.psql @@ -0,0 +1,378 @@ +-- CLOUD-19295 | Host Process 관련 metric meta 추가 +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES ('host_process_cpu_second_total','Host Process CPU Second Total (%)','CPU user usage in seconds ( % )','sum by (groupname) (rate(namedprocess_namegroup_cpu_seconds_total{{filter}}[1m]))*100','Process','Host','','true','false','"Host:{{$labels.instance}} Process CPU :{{humanize $value}}|{threshold}."'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('host_process_memory_bytes','Host Process memory bytes (MiB)','number of bytes of memory in use / 1048576','sum by (groupname) ((namedprocess_namegroup_memory_bytes{ memtype="resident", {filter}})) / 1048576','Process','Host','','true','false','"Host:{{$labels.instance}} Process memory :{{humanize $value}}MiB|{threshold}MiB."'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('host_process_read_bytes','Host Process read bytes ( KiB)','number of bytes read by this group /1024','sum by (groupname) (rate(namedprocess_namegroup_read_bytes_total{{filter}}[1m]))/1024','Process','Host','','true','false','"Host:{{$labels.instance}} Disk Read Size:{{humanize $value}}KiB|{threshold}KiB."'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('host_process_write_bytes','Host Process write bytes(KiB)','number of bytes written by this group/1024','sum by (groupname) (rate(namedprocess_namegroup_write_bytes_total{{filter}}[1m]))/1024','Process','Host','','true','false','"Host:{{$labels.instance}} Disk Write Size:{{humanize $value}}KiB|{threshold}KiB."'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('host_process_count','Host Process number','number of processes in this group', 'sum by (groupname) (namedprocess_namegroup_num_procs{{filter}})', 'Process','Host','','true','false','"Host:{{$labels.instance}} Count:{{humanize $value}}|{threshold}."'); + +-- CLOUD-19283 Topology Agent 와 node exporter 통합 +-- Auto-generated SQL script #202307261024 +UPDATE public.agent_install_file_info + SET yaml='---',use_yn=false + WHERE id=4; +UPDATE public.agent_install_file_info + SET yaml='--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRole +metadata: + name: cloudmoa-cluster-role +rules: + - nonResourceURLs: + - "*" + verbs: + - get + - apiGroups: + - metrics.k8s.io + resources: + - pods + - nodes + verbs: + - get + - list + - watch + - apiGroups: + - "" + resources: + - pods + verbs: + - get + - list + - watch + - update + - apiGroups: + - "" + resources: + - services + verbs: + - get + - list + - watch + - update + - apiGroups: + - "" + resources: + - nodes/stats + - endpoints + - namespaces + - events + verbs: + - get + - list + - watch + - apiGroups: + - apps + resources: + - daemonsets + - deployments + - deployments/scale + - replicasets + - replicasets/scale + - statefulsets + - statefulsets/scale + verbs: + - get + - list + - watch + - update + - apiGroups: + - batch + resources: + - jobs + verbs: + - get + - list + - watch + - update + - apiGroups: + - batch + resources: + - cronjobs + verbs: + - get + - list + - update + - apiGroups: + - storage.j8s.io + resources: + - storageclasses + verbs: + - get + - list + - apiGroups: + - networking.k8s.io + resources: + - ingresses + verbs: + - get + - list + - apiGroups: + - extensions + resources: + - ingresses + verbs: + - get + - list + - apiGroups: + - policy + resources: + - podsecuritypolicies + verbs: + - use + resourceNames: + - imxc-ps + - apiGroups: + - certificates.k8s.io + resourceNames: + - kubernetes.io/kube-apiserver-client-kubelet + resources: + - signers + verbs: + - approve + - apiGroups: + - certificates.k8s.io + resourceNames: + - kubernetes.io/kubelet-serving + resources: + - signers + verbs: + - approve + - apiGroups: + - "" + resources: + - nodes + verbs: + - get + - list + - watch + - proxy + - apiGroups: + - "" + resources: + - nodes/log + - nodes/metrics + - nodes/proxy + - nodes/spec + - nodes/stats + verbs: + - ''*'' + - apiGroups: + - ''*'' + resources: + - ''*'' + verbs: + - get + - list + - watch +--- +apiVersion: rbac.authorization.k8s.io/v1 +kind: ClusterRoleBinding +metadata: + name: cloudmoa-restricted-rb + namespace: $CLOUDMOA_NAMESPACE +subjects: + - kind: ServiceAccount + name: default + namespace: $CLOUDMOA_NAMESPACE +roleRef: + kind: ClusterRole + name: cloudmoa-cluster-role + apiGroup: rbac.authorization.k8s.io +--- +apiVersion: policy/v1beta1 +kind: PodSecurityPolicy +metadata: + name: cloudmoa-psp + namespace: $CLOUDMOA_NAMESPACE +spec: + privileged: true + seLinux: + rule: RunAsAny + supplementalGroups: + rule: RunAsAny + runAsUser: + rule: RunAsAny + fsGroup: + rule: RunAsAny + hostPorts: + - max: 65535 + min: 0 + hostNetwork: true + hostPID: true + volumes: + - configMap + - secret + - emptyDir + - hostPath + - projected + - downwardAPI + - persistentVolumeClaim +--- +apiVersion: apps/v1 +kind: DaemonSet +metadata: + name: cloudmoa-topology-agent + namespace: $CLOUDMOA_NAMESPACE + labels: + app: cloudmoa-topology-agent +spec: + selector: + matchLabels: + app: cloudmoa-topology-agent + template: + metadata: + labels: + app: cloudmoa-topology-agent + spec: + hostNetwork: true + hostPID: true + tolerations: + - effect: NoSchedule + operator: Exists + - effect: NoExecute + operator: Exists + containers: + - image: $DOCKER_REGISTRY_URL/node-exporter + name: node-agent + resources: + limits: + cpu: 250m + memory: 180Mi + requests: + cpu: 125m + memory: 90Mi + ports: + - containerPort: 9110 + hostPort: 9110 + name: scrape + args: + - --path.procfs=/host/proc + - --path.sysfs=/host/sys + - --path.rootfs=/host/root + - --collector.filesystem.ignored-mount-points=^/(dev|proc|sys|run|var/lib/docker/.+|var/lib/kubelet/pods/.+)($|/) + - --collector.tcpstat + - --web.listen-address=:9110 + # --log.level=debug + env: + - name: GOMAXPROCS + value: "1" + volumeMounts: + - mountPath: /host/proc + name: proc-volume + readOnly: false + - mountPath: /host/sys + name: sys-volume + readOnly: false + - mountPath: /host/root + mountPropagation: HostToContainer + name: root-volume + readOnly: true + - name: cloudmoa-topology-agent + image: $DOCKER_REGISTRY_URL/topology-agent:$IMAGE_TAG + resources: + requests: + cpu: 200m + memory: 512Mi + limits: + cpu: 500m + memory: 600Mi + securityContext: + privileged: true + volumeMounts: + - mountPath: /host/usr/bin + name: bin-volume + - mountPath: /var/run/docker.sock + name: docker-volume + - mountPath: /host/proc + name: proc-volume + - mountPath: /root + name: root-volume + - mountPath: /log + name: log-volume + env: + - name: DATAGATE + value: $COLLTION_SERVER_DATAGATE_IP:$COLLTION_SERVER_DATAGATE_PORT + - name: CLUSTER_ID + value: $CLOUDMOA_CLUSTER_ID + - name: ROOT_DIRECTORY + value: /root + - name: NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + - name: POD_ID + valueFrom: + fieldRef: + fieldPath: metadata.name + - name: NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + - name: LOG_LEVEL + value: "INFO" + volumes: + - name: bin-volume + hostPath: + path: /usr/bin + type: Directory + - name: docker-volume + hostPath: + path: /var/run/docker.sock + - name: proc-volume + hostPath: + path: /proc + - name: root-volume + hostPath: + path: / + - hostPath: + path: /sys + name: sys-volume + - name: log-volume + hostPath: + path: /home' + WHERE id=2; + + +-- CLOUD-19460 Nginx metric에 {filter} 추가 +-- Nginx Ingress 대시보드 지원 관련 metric meta 추가 +UPDATE public.metric_meta2 SET expr = 'sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_nginx_up{ {filter} })' WHERE id ='nginx_ingress_nginx_up'; +UPDATE public.metric_meta2 SET expr = 'sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_nginx_connections_active{ {filter} })' WHERE id ='nginx_ingress_nginx_connections_active'; +UPDATE public.metric_meta2 SET expr = 'sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_controller_nginx_reload_errors_total{ {filter} })' WHERE id ='nginx_ingress_controller_nginx_last_reload_status'; +UPDATE public.metric_meta2 SET expr = 'sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_controller_nginx_reload_errors_total{ {filter} })' WHERE id ='nginx_ingress_controller_nginx_reload_errors_total'; +UPDATE public.metric_meta2 SET expr = 'sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_controller_nginx_reloads_total{ {filter} })' WHERE id ='nginx_ingress_controller_nginx_reloads_total'; +UPDATE public.metric_meta2 SET expr = 'sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_nginx_http_requests_total{ {filter} })' WHERE id ='nginx_ingress_nginx_http_requests_total'; +UPDATE public.metric_meta2 SET expr = 'sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (rate(nginx_ingress_nginx_http_requests_total{ {filter} }[1m]))' WHERE id ='nginx_ingress_nginx_http_requests_second'; + +-- Nginx 대시보드 지원 관련 metric meta 추가 +UPDATE public.metric_meta2 SET expr = 'sum by (instance) (nginx_up{ {filter} })' WHERE id ='nginx_up'; +UPDATE public.metric_meta2 SET expr = 'sum by (instance) (irate(nginx_connections_accepted{ {filter} }[5m]))' WHERE id ='nginx_connections_accepted'; +UPDATE public.metric_meta2 SET expr = 'sum by (instance) (irate(nginx_connections_handled{ {filter} }[5m]))' WHERE id ='nginx_connections_handled'; +UPDATE public.metric_meta2 SET expr = 'sum by (instance) (nginx_connections_active{ {filter} })' WHERE id ='nginx_connections_active'; +UPDATE public.metric_meta2 SET expr = 'sum by (instance) (nginx_connections_reading{ {filter} })' WHERE id ='nginx_connections_reading'; +UPDATE public.metric_meta2 SET expr = 'sum by (instance) (nginx_connections_waiting{ {filter} })' WHERE id ='nginx_connections_waiting'; +UPDATE public.metric_meta2 SET expr = 'sum by (instance) (nginx_connections_writing{ {filter} })' WHERE id ='nginx_connections_writing'; +UPDATE public.metric_meta2 SET expr = 'sum by (instance) (irate(nginx_http_requests_total{ {filter} }[1m]))' WHERE id ='nginx_http_requests_total'; + +-- Kube Event 관련 metric meta 추가 +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('kube_event_node','Kubernetes Node Event','Kubernetes Node Event','count by (xm_clst_id,xm_namespace,entity_type,involved_kind,involved_name,reason,type) (imxc_kubernetes_event_in_last_min{involved_kind="Node"})','Event','Node','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('kube_event_job','Kubernetes Job Event','Kubernetes Job Event','count by (xm_clst_id,xm_namespace,entity_type,involved_kind,involved_name,reason,type) (imxc_kubernetes_event_in_last_min{involved_kind="Job"})','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('kube_event_cronjob','Kubernetes CronJob Event','Kubernetes CronJob Event','count by (xm_clst_id,xm_namespace,entity_type,involved_kind,involved_name,reason,type) (imxc_kubernetes_event_in_last_min{involved_kind="CronJob"})','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('kube_event_daemonset','Kubernetes DaemonSet Event','Kubernetes DaemonSet Event','count by (xm_clst_id,xm_namespace,entity_type,involved_kind,involved_name,reason,type) (imxc_kubernetes_event_in_last_min{involved_kind="DaemonSet"})','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('kube_event_deployment','Kubernetes Deployment Event','Kubernetes Deployment Event','count by (xm_clst_id,xm_namespace,entity_type,involved_kind,involved_name,reason,type) (imxc_kubernetes_event_in_last_min{involved_kind="Deployment"})','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('kube_event_endpoints','Kubernetes Endpoints Event','Kubernetes Endpoints Event','count by (xm_clst_id,xm_namespace,entity_type,involved_kind,involved_name,reason,type) (imxc_kubernetes_event_in_last_min{involved_kind="Endpoints"})','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('kube_event_persistentvolumeclaim','Kubernetes PersistentVolumeClaim Event','Kubernetes PersistentVolumeClaim Event','count by (xm_clst_id,xm_namespace,entity_type,involved_kind,involved_name,reason,type) (imxc_kubernetes_event_in_last_min{involved_kind="PersistentVolumeClaim"})','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('kube_event_pod','Kubernetes Pod Event','Kubernetes Pod Event','count by (xm_clst_id,xm_namespace,entity_type,involved_kind,involved_name,reason,type) (imxc_kubernetes_event_in_last_min{involved_kind="Pod"})','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('kube_event_warning','Kubernetes Warning Event','Kubernetes Warning Event','count by (xm_clst_id,xm_namespace,entity_type,involved_kind,involved_name,reason,type) (imxc_kubernetes_event_in_last_min{type="Warning"})','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Name: {{$involved_name}} Reason : {{$labels.reason}} Level : {{$labels.type}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('kube_event_replicaset','Kubernetes ReplicaSet Event','Kubernetes ReplicaSet Event','count by (xm_clst_id,xm_namespace,entity_type,involved_kind,involved_name,reason,type) (imxc_kubernetes_event_in_last_min{involved_kind="ReplicaSet"})','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('kube_event_statefulset','Kubernetes StatefulSet Event','Kubernetes StatefulSet Event','count by (xm_clst_id,xm_namespace,entity_type,involved_kind,involved_name,reason,type) (imxc_kubernetes_event_in_last_min{involved_kind="StatefulSet"})','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} '); + +-- Event Alert 관련 metric meta 추가 +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('event_alert_successful_create','Event Alert SuccessfulCreate','Event Alert SuccessfulCreate','count by (xm_clst_id, xm_namespace, entity_type, involved_kind, involved_name, reason, type) (imxc_kubernetes_event_in_last_min{reason=~"SuccessfulCreate", {filter} })','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} Name : {{$labels.involved_name}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('event_alert_successful_delete','Event Alert SuccessfulDelete','Event Alert SuccessfulDelete','count by (xm_clst_id, xm_namespace, entity_type, involved_kind, involved_name, reason, type) (imxc_kubernetes_event_in_last_min{reason=~"SuccessfulDelete", {filter} })','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} Name : {{$labels.involved_name}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('event_alert_deadline_exceeded','Event Alert DeadlineExceeded','Event Alert DeadlineExceeded','count by (xm_clst_id, xm_namespace, entity_type, involved_kind, involved_name, reason, type) (imxc_kubernetes_event_in_last_min{reason=~"DeadlineExceeded", {filter} })','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} Name : {{$labels.involved_name}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('event_alert_job','Event Alert Job','Event Alert Job','count by (xm_clst_id, xm_namespace, entity_type, involved_kind, involved_name, reason, type) (imxc_kubernetes_event_in_last_min{involved_kind=~"Job", {filter} })','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} Name : {{$labels.involved_name}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('event_alert_cronjob','Event Alert CronJob','Event Alert CronJob','count by (xm_clst_id, xm_namespace, entity_type, involved_kind, involved_name, reason, type) (imxc_kubernetes_event_in_last_min{involved_kind=~"CronJob", {filter} })','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} Name : {{$labels.involved_name}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('event_alert_normal','Event Alert Normal','Event Alert Normal','count by (xm_clst_id, xm_namespace, involved_kind, involved_name, reason, type) (imxc_kubernetes_event_in_last_min{type=~"Normal", {filter} })','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} Name : {{$labels.involved_name}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('event_alert_warning','Event Alert Warning','Event Alert Warning','count by (xm_clst_id, xm_namespace, involved_kind, involved_name, reason, type) (imxc_kubernetes_event_in_last_min{type=~"Warning", {filter} })','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} Name : {{$labels.involved_name}} '); + +commit; diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_R30020210503.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_R30020210503.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_R30020210730.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/patch/postgres_patch_R30020210730.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/pg.sh b/roles/cmoa_install/files/03-ddl-dml/postgres/pg.sh old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/postgres_check_data b/roles/cmoa_install/files/03-ddl-dml/postgres/postgres_check_data old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/postgres_insert_ddl.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/postgres_insert_ddl.psql old mode 100755 new mode 100644 diff --git a/roles/cmoa_install/files/03-ddl-dml/postgres/postgres_insert_dml.psql b/roles/cmoa_install/files/03-ddl-dml/postgres/postgres_insert_dml.psql old mode 100755 new mode 100644 index c14ee06..d5ed3b2 --- a/roles/cmoa_install/files/03-ddl-dml/postgres/postgres_insert_dml.psql +++ b/roles/cmoa_install/files/03-ddl-dml/postgres/postgres_insert_dml.psql @@ -1285,6 +1285,11 @@ INSERT INTO metric_meta2 (id,meta_name,description,expr,resource_type,entity_typ INSERT INTO metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message,created_date,modified_date) VALUES ('imxc_jspd_active_txn_per_sec','Service Active Transaction Count (per Second)','Service Active Transaction Count (per Second)','sum by(xm_clst_id, xm_namespace, xm_service_name) (rate(imxc_txn_active_count{{filter}}[1m]))','Request','Service',NULL,true,false,'SVC:{{$labels.xm_service_name}} Svc Active Transaction count/Seconds:{{humanize $value}}|{threshold}.','2022-03-11 15:51:45.946','2022-03-11 15:51:45.946'); INSERT INTO metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message,created_date,modified_date) VALUES ('imxc_jspd_pod_active_txn_per_sec','Service Pod Active Transaction Count (per sec)','The number of active transaction counts per second for pod','sum by(xm_clst_id, xm_namespace, xm_service_name, xm_pod_id) (rate(imxc_txn_active_count{{filter}}[1m]))','Request','Service',NULL,true,false,'SVC:{{$labels.xm_service_name}} Svc Pod Active Transaction count/Seconds:{{humanize $value}}|{threshold}.','2022-03-11 15:53:29.252','2022-03-11 15:53:29.252'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES ('host_process_cpu_second_total','Host Process CPU Second Total (%)','CPU user usage in seconds ( % )','sum by (groupname) (rate(namedprocess_namegroup_cpu_seconds_total{{filter}}[1m]))*100','Process','Host','','true','false','"Host:{{$labels.instance}} Process CPU :{{humanize $value}}|{threshold}."'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('host_process_memory_bytes','Host Process memory bytes (MiB)','number of bytes of memory in use / 1048576','sum by (groupname) ((namedprocess_namegroup_memory_bytes{ memtype="resident", {filter}})) / 1048576','Process','Host','','true','false','"Host:{{$labels.instance}} Process memory :{{humanize $value}}MiB|{threshold}MiB."'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('host_process_read_bytes','Host Process read bytes ( KiB)','number of bytes read by this group /1024','sum by (groupname) (rate(namedprocess_namegroup_read_bytes_total{{filter}}[1m]))/1024','Process','Host','','true','false','"Host:{{$labels.instance}} Disk Read Size:{{humanize $value}}KiB|{threshold}KiB."'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('host_process_write_bytes','Host Process write bytes(KiB)','number of bytes written by this group/1024','sum by (groupname) (rate(namedprocess_namegroup_write_bytes_total{{filter}}[1m]))/1024','Process','Host','','true','false','"Host:{{$labels.instance}} Disk Write Size:{{humanize $value}}KiB|{threshold}KiB."'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('host_process_count','Host Process number','number of processes in this group', 'sum by (groupname) (namedprocess_namegroup_num_procs{{filter}})', 'Process','Host','','true','false','"Host:{{$labels.instance}} Count:{{humanize $value}}|{threshold}."'); INSERT INTO public.license_key (id, license_key, set_time, in_used, tenant_id) VALUES (nextval('hibernate_sequence'), 'A46CB0A0870B60DD0EF554F092FB8490C647C4ACCF17177EB0028FEF1B677A1DC86C08219D3D357E55E87B653A9D2F044F9095576ED493CE5D1E180E8843A04BCFE94E500F85491D408CFC7397B82F00063415F4CF8756545B6ED1A38F07F91A7B6D9381B7FC433A5086CDD2D748527ECB42835677199F23F7C8E33A66E8138182DDD76BE4925FA4B1DFD96FD5578FE80C75E0E20D76877BF6FD570265D8E69CAC34795B982CF8D811669894886567E4F5F62E28990953401374B548787E35374BFF201D5C9AD062B326E72F9B1D7791A610DA1BDF1D4F829819BC537E06C8D54F95FB04F2DAC456698F605DE3BBD72E472FC79658C806B188988B053E1E4D96FFFFFF0312983D630FAD5E9160650653074248047030124045265319328119048121312221292096178141356403289033057286071001044254168244430392446457353385472238471183338511051434316333006127241420429465082200161165099271484261287306170426201314452131350327249112310323036187433166345114324280269098441154231174135226128298344425341164290424093450115453299282209144110060155055496368233391148510223372355438125122460232315097083390283180026090507303464176016343147301028053052418046214169100404193398101492126437150008449359062078276386196105011194373118107003376243188284337378334352432479501211364186021040035210237120336302073022394079272002081397132067383497202300181309396185361017436058208454167203412219275329234043427354024133409339470296204490485256467335056F5B2CABD122B376DAEA67944E1CCE6867DF9EB6504C78F817DF9EB6504C78F81BF1E615E6EC6242C9667BD675FC5FA39C6672FE2068E5D1431C6CD04429D07655865E293C1F77ED7A0D33F5556DA6CD3A8EC2774DB04F797CE4A29B0312F75E585D51D7B4DD227EA6BD5278CB9233040E7DD2B30A6D5119959D5B7EAC826D3DA0537EFB5A034A6A1C91A619F4E168F46A455B594C91F058E1E22C7EA2957EED7533D069C335C95B4FA2B53E71A800343EA7F16B05AFBA04635F1FBDE9C81709C27BA075C78FA26311ED3A4A5226EF47FC84C3024999406B47F2098B5983CC3CAF79F92332074B9872E429CBE8EF12D5092628E4D4A39CBDDFCAAB2E382229CF09A5B10243340C1A7A0C5CBC14C704FCE873571524A5B038F1781CD31A4D8E2C48E02E63A2746E668273BE9D63937B88D8C864CE439528EB13BDFAC3E52EE4B8CB75B4ED65A7C97B42E5DAEE3E41D2331B06FFFBA71BECD9B96AEEB969670FC3869CC59050FD6DFA32457195314104022250232266247291151DEFAULT_TENANT', now(), true, 'DEFAULT_TENANT'); insert into public.license_key2 (id, license_key, set_time, cluster_id, license_used) values (nextval('hibernate_sequence'), 'D041F44269EAFF1AF7C37ACAA86B7D9CBED89547431E777B797220CF62FE5D6A27C66BEBEAB8F4C89EA5379009C90CDEBFFAE307B7AEB897DC4D8CEAB61654340BB746B0B46679A9FB4791C777BAEBA176308F6BEB1654CE43D4E80E6D0F80CEC00B1EC30E7DA4BB8D3159133EF98AEB50617107DB77BE94676E0D4AA04ADA3B11A66824DB89A60C52BC1AB92926F10189DBBA6210B31478F48CF87B5D754F1A7C6BED0D1637742179DBF7BE82B3B3357AEA82CFAAD9126E39C4E19BABCB1CBDDB816C86A8F7C476D963265720383B627800775B0C9116D67CE5CB7CFC71D0A8A36623965EBB18A5BE1816FB1FAAAEAC361D2ABBC7344EC0B6C61E0395115B13FFFFFF03DEF34E840F2ED2AC84AC44DF368362366124308470063002498494067338303241077065122260378200508377102354337080160182150254091118451110391059070094162363290186239455351194330333503046082379128006166220287276298120398066372099177432015458270176242025196335311342039022343475412085392206244005184417460227292375103433217376511140361223163316121467443014486278407389237024349111268136424371062035285300509195050441367478101310353464249250399393211468032382017479033204215420319027225173414447170427346074048078201158299332476339297492269181214328291096331271222221199421106169418137405411466364104047152090465446480302462385088114481261428257207129020358100073347153355274495263056109229159157348228275180360410147142130230179450079472482323145202198010119F9BFDDF3C203A7E537AB046811BB7CEA37AB046811BB7CEA37AB046811BB7CEAE012403885A8163C0E3E14D7AD6207B5E8CE91579501D84B09D6682339A4DB462F479FFE1B232AFB3D19E925768AF0AA3E62D9AB6F9CEADDB1CDCA351CAA90996631814A556C47270431A6A40891F756FDDCA7BDD05C62A2932F8E77979E0D43C9F12565B1F4BB4F0520B44CC76BAC23F65330AC5966D22B209F32126132F4848E500A013F4DC32306A9620394D40C94B8EBC2406B68EBE31DAB17EF2DF977731A5C41C11311DC36E1FB8BC2529D1AA20D5D46919472212D781B1D77378872CBD14C2A5B783C7ADF0D2680946C52E56E186A7E971E7EAB2CF09511361DD892B5D4A113E8A2C60E3F7FEFA4100753D82B7064101002937733CE0285C73130635F0CBBDF6F1160C2917B2DF9B1C391A8E9D7D9F380BF31A77A84017D0DF26B35BED6B2D145A051EB4345DA90241CA997828B8393ACD5C7316594634356CCC3986EFDD7776AC62C65E500ED125097142489479219130046503035CloudMOA', now(), null, true); @@ -1633,97 +1638,6 @@ items: app: cloudmoa-trace-agent type: ClusterIP', true, '2021-03-11 17:48:34.000000', '2021-03-11 17:48:39.000000'); insert into public.agent_install_file_info (id, name, type, description, version, yaml, use_yn, created_date, modified_date) values (4, 'node-exporter', 'agent', 'Node에 관련된 Metric 시계열 데이터를 수집하여 고객사 클러스터에 설치된 Prometheus에 전달하는 역할을 합니다.', null, '--- -apiVersion: v1 -kind: Service -metadata: - annotations: - prometheus.io/scrape: ''true'' - labels: - app: cloudmoa-node-exporter - name: cloudmoa-node-exporter - name: cloudmoa-node-exporter - namespace: $CLOUDMOA_NAMESPACE -spec: - clusterIP: None - ports: - - name: scrape - port: 9110 - protocol: TCP - selector: - app: cloudmoa-node-exporter - type: ClusterIP ---- -apiVersion: apps/v1 -kind: DaemonSet -metadata: - name: cloudmoa-node-exporter - namespace: $CLOUDMOA_NAMESPACE -spec: - selector: - matchLabels: - app: cloudmoa-node-exporter - template: - metadata: - labels: - app: cloudmoa-node-exporter - name: cloudmoa-node-exporter - spec: - tolerations: - - effect: NoSchedule - operator: Exists - - effect: NoExecute - operator: Exists - containers: - - image: $DOCKER_REGISTRY_URL/node-exporter - name: cloudmoa-node-exporter - ports: - - containerPort: 9110 - hostPort: 9110 - name: scrape - args: - - --path.procfs=/host/proc - - --path.sysfs=/host/sys - - --path.rootfs=/host/root - - --collector.filesystem.ignored-mount-points=^/(dev|proc|sys|run|var/lib/docker/.+|var/lib/kubelet/pods/.+)($|/) - - --collector.tcpstat - - --web.listen-address=:9110 - # --log.level=debug - env: - - name: GOMAXPROCS - value: "1" - resources: - limits: - cpu: 250m - memory: 180Mi - requests: - cpu: 102m - memory: 180Mi - volumeMounts: - - mountPath: /host/proc - name: proc - readOnly: false - - mountPath: /host/sys - name: sys - readOnly: false - - mountPath: /host/root - mountPropagation: HostToContainer - name: root - readOnly: true - hostNetwork: true - hostPID: true - securityContext: - runAsNonRoot: true - runAsUser: 65534 - volumes: - - hostPath: - path: /proc - name: proc - - hostPath: - path: /sys - name: sys - - hostPath: - path: / - name: root ', true, '2021-03-11 13:41:02.000000', '2021-03-11 13:41:06.000000'); insert into public.agent_install_file_info (id, name, type, description, version, yaml, use_yn, created_date, modified_date) values (2, 'agent', 'agent', '관제 대상 클러스터의 Topology 데이터를 수집하여 Kafka를 통해 수집 클러스터에 전달하는 역할을 하며, 그 밖에 API 서버와의 TCP 연결을 통해 관리 기능, Log Viewer 기능 등을 수행합니다.', null, '--- apiVersion: rbac.authorization.k8s.io/v1 @@ -1945,6 +1859,41 @@ spec: - effect: NoExecute operator: Exists containers: + - image: $DOCKER_REGISTRY_URL/node-exporter + name: node-agent + resources: + limits: + cpu: 250m + memory: 180Mi + requests: + cpu: 125m + memory: 90Mi + ports: + - containerPort: 9110 + hostPort: 9110 + name: scrape + args: + - --path.procfs=/host/proc + - --path.sysfs=/host/sys + - --path.rootfs=/host/root + - --collector.filesystem.ignored-mount-points=^/(dev|proc|sys|run|var/lib/docker/.+|var/lib/kubelet/pods/.+)($|/) + - --collector.tcpstat + - --web.listen-address=:9110 + # --log.level=debug + env: + - name: GOMAXPROCS + value: "1" + volumeMounts: + - mountPath: /host/proc + name: proc-volume + readOnly: false + - mountPath: /host/sys + name: sys-volume + readOnly: false + - mountPath: /host/root + mountPropagation: HostToContainer + name: root-volume + readOnly: true - name: cloudmoa-topology-agent image: $DOCKER_REGISTRY_URL/topology-agent:$IMAGE_TAG resources: @@ -2003,6 +1952,9 @@ spec: - name: root-volume hostPath: path: / + - hostPath: + path: /sys + name: sys-volume - name: log-volume hostPath: path: /home', true, '2021-03-11 13:37:48.000000', '2021-03-11 13:37:51.000000'); @@ -2054,7 +2006,7 @@ data: regex: (kubelet_running_pod_count) action: keep - - job_name: ''kubernetes-node-exporter'' + - job_name: ''kubernetes-node-agent'' tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token @@ -2237,7 +2189,7 @@ data: regex: (kubelet_running_pod_count) action: keep - - job_name: ''kubernetes-node-exporter'' + - job_name: ''kubernetes-node-agent'' tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt bearer_token_file: /var/run/secrets/kubernetes.io/serviceaccount/token @@ -2484,23 +2436,23 @@ INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,ent VALUES ('mysql_global_variables_max_connections','Max Connections','Maximum permitted number of simultaneous client connections. By default, this is 151.','mysql_global_variables_max_connections','Connection','MySQL','instance',true,'None'); -- Nginx Ingress 대시보드 지원 관련 metric meta 추가 -INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_ingress_nginx_up','Nginx Ingress Up','Nginx Ingress Up','sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_nginx_up)','Pod','Nginx-Ingress','',true,false,'None'); -INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_ingress_nginx_connections_active','Nginx Ingress Connection Active','Nginx Ingress Client Connection Active','sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_nginx_connections_active)','Connection','Nginx-Ingress','',true,false,'None'); -INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_ingress_controller_nginx_last_reload_status','Nginx Ingress last reload status','Status of the last NGINX reload','sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_controller_nginx_reload_errors_total)','Config','Nginx-Ingress','',true,false,'None'); -INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_ingress_controller_nginx_reload_errors_total','Nginx Ingress reload error total','Number of unsuccessful NGINX reloads','sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_controller_nginx_reload_errors_total)','Config','Nginx-Ingress','',true,false,'None'); -INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_ingress_controller_nginx_reloads_total','Nginx Ingress reload success total','Number of successful NGINX reloads','sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_controller_nginx_reloads_total)','Config','Nginx-Ingress','',true,false,'None'); -INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_ingress_nginx_http_requests_total','Nginx Ingress Http Request Total','Total http requests','sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_nginx_http_requests_total)','Request','Nginx-Ingress','',true,false,'None'); -INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_ingress_nginx_http_requests_second','Nginx Ingress Http Request Seconds','Http request per second','sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (rate(nginx_ingress_nginx_http_requests_total[1m]))','Request','Nginx-Ingress','',true,false,'None'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_ingress_nginx_up','Nginx Ingress Up','Nginx Ingress Up','sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_nginx_up{ {filter} })','Pod','Nginx-Ingress','',true,false,'None'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_ingress_nginx_connections_active','Nginx Ingress Connection Active','Nginx Ingress Client Connection Active','sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_nginx_connections_active{ {filter} })','Connection','Nginx-Ingress','',true,false,'None'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_ingress_controller_nginx_last_reload_status','Nginx Ingress last reload status','Status of the last NGINX reload','sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_controller_nginx_reload_errors_total{ {filter} })','Config','Nginx-Ingress','',true,false,'None'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_ingress_controller_nginx_reload_errors_total','Nginx Ingress reload error total','Number of unsuccessful NGINX reloads','sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_controller_nginx_reload_errors_total{ {filter} })','Config','Nginx-Ingress','',true,false,'None'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_ingress_controller_nginx_reloads_total','Nginx Ingress reload success total','Number of successful NGINX reloads','sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_controller_nginx_reloads_total{ {filter} })','Config','Nginx-Ingress','',true,false,'None'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_ingress_nginx_http_requests_total','Nginx Ingress Http Request Total','Total http requests','sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (nginx_ingress_nginx_http_requests_total{ {filter} })','Request','Nginx-Ingress','',true,false,'None'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_ingress_nginx_http_requests_second','Nginx Ingress Http Request Seconds','Http request per second','sum by (xm_clst_id, xm_namespace, xm_node_id, instance, class) (rate(nginx_ingress_nginx_http_requests_total{ {filter} }[1m]))','Request','Nginx-Ingress','',true,false,'None'); -- Nginx 대시보드 지원 관련 metric meta 추가 -INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_up','Nginx Up','Nginx Up Time','sum by (instance) (nginx_up)','State','Nginx','','true','false','"Nginx Up Time : {{$value}} , Threshold : {threshold}"'); -INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_connections_accepted','Nginx Accepted Connection Count','Accepted connection count of Nginx','sum by (instance) (irate(nginx_connections_accepted[5m]))','Connection','Nginx','','true','false','"Nginx Connection : {{$value}} , Threshold : {threshold}"'); -INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_connections_handled','Nginx Handled Connection Count','Handled connection count of Nginx','sum by (instance) (irate(nginx_connections_handled[5m]))','Connection','Nginx','','true','false','"Nginx Connection : {{$value}} , Threshold : {threshold}"'); -INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_connections_active','Nginx Active Connection Count','Active connection count of Nginx','sum by (instance) (nginx_connections_active)','Connection','Nginx','','true','false','"Nginx Connection : {{$value}} , Threshold : {threshold}"'); -INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_connections_reading','Nginx Reading Connection Count','Reading connection count of Nginx','sum by (instance) (nginx_connections_reading)','Connection','Nginx','','true','false','"Nginx Connection : {{$value}} , Threshold : {threshold}"'); -INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_connections_waiting','Nginx Waiting Connection Count','Waiting connection count of Ngin','sum by (instance) (nginx_connections_waiting)','Connection','Nginx','','true','false','"Nginx Connection : {{$value}} , Threshold : {threshold}"'); -INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_connections_writing','Nginx Writing Connection Count','Writing connection count of NginX','sum by (instance) (nginx_connections_writing)','Connection','Nginx','','true','false','"Nginx Connection : {{$value}} , Threshold : {threshold}"'); -INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_http_requests_total','Nginx Http Requests','Http request count of Nginx','sum by (instance) (irate(nginx_http_requests_total[1m]))','Request','Nginx','','true','false','"Http requests : {{$value}} , Threshold : {threshold}"'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_up','Nginx Up','Nginx Up Time','sum by (instance) (nginx_up{ {filter} })','State','Nginx','','true','false','"Nginx Up Time : {{$value}}|{threshold}"'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_connections_accepted','Nginx Accepted Connection Count','Accepted connection count of Nginx','sum by (instance) (irate(nginx_connections_accepted{ {filter} }[5m]))','Connection','Nginx','','true','false','"Nginx Connection : {{$value}}|{threshold}"'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_connections_handled','Nginx Handled Connection Count','Handled connection count of Nginx','sum by (instance) (irate(nginx_connections_handled{ {filter} }[5m]))','Connection','Nginx','','true','false','"Nginx Connection : {{$value}}|{threshold}"'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_connections_active','Nginx Active Connection Count','Active connection count of Nginx','sum by (instance) (nginx_connections_active{ {filter} })','Connection','Nginx','','true','false','"Nginx Connection : {{$value}}|{threshold}"'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_connections_reading','Nginx Reading Connection Count','Reading connection count of Nginx','sum by (instance) (nginx_connections_reading{ {filter} })','Connection','Nginx','','true','false','"Nginx Connection : {{$value}}|{threshold}"'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_connections_waiting','Nginx Waiting Connection Count','Waiting connection count of Ngin','sum by (instance) (nginx_connections_waiting{ {filter} })','Connection','Nginx','','true','false','"Nginx Connection : {{$value}}|{threshold}"'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_connections_writing','Nginx Writing Connection Count','Writing connection count of NginX','sum by (instance) (nginx_connections_writing{ {filter} })','Connection','Nginx','','true','false','"Nginx Connection : {{$value}}|{threshold}"'); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('nginx_http_requests_total','Nginx Http Requests','Http request count of Nginx','sum by (instance) (irate(nginx_http_requests_total{ {filter} }[1m]))','Request','Nginx','','true','false','"Http requests : {{$value}}|{threshold}"'); -- Kube Event 관련 metric meta 추가 INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('kube_event_node','Kubernetes Node Event','Kubernetes Node Event','count by (xm_clst_id,xm_namespace,entity_type,involved_kind,involved_name,reason,type) (imxc_kubernetes_event_in_last_min{involved_kind="Node"})','Event','Node','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} '); @@ -2515,6 +2467,15 @@ INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,ent INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('kube_event_replicaset','Kubernetes ReplicaSet Event','Kubernetes ReplicaSet Event','count by (xm_clst_id,xm_namespace,entity_type,involved_kind,involved_name,reason,type) (imxc_kubernetes_event_in_last_min{involved_kind="ReplicaSet"})','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} '); INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('kube_event_statefulset','Kubernetes StatefulSet Event','Kubernetes StatefulSet Event','count by (xm_clst_id,xm_namespace,entity_type,involved_kind,involved_name,reason,type) (imxc_kubernetes_event_in_last_min{involved_kind="StatefulSet"})','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} '); +-- Event Alert 관련 metric meta 추가 +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('event_alert_successful_create','Event Alert SuccessfulCreate','Event Alert SuccessfulCreate','count by (xm_clst_id, xm_namespace, entity_type, involved_kind, involved_name, reason, type) (imxc_kubernetes_event_in_last_min{reason=~"SuccessfulCreate", {filter} })','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} Name : {{$labels.involved_name}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('event_alert_successful_delete','Event Alert SuccessfulDelete','Event Alert SuccessfulDelete','count by (xm_clst_id, xm_namespace, entity_type, involved_kind, involved_name, reason, type) (imxc_kubernetes_event_in_last_min{reason=~"SuccessfulDelete", {filter} })','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} Name : {{$labels.involved_name}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('event_alert_deadline_exceeded','Event Alert DeadlineExceeded','Event Alert DeadlineExceeded','count by (xm_clst_id, xm_namespace, entity_type, involved_kind, involved_name, reason, type) (imxc_kubernetes_event_in_last_min{reason=~"DeadlineExceeded", {filter} })','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} Name : {{$labels.involved_name}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('event_alert_job','Event Alert Job','Event Alert Job','count by (xm_clst_id, xm_namespace, entity_type, involved_kind, involved_name, reason, type) (imxc_kubernetes_event_in_last_min{involved_kind=~"Job", {filter} })','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} Name : {{$labels.involved_name}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('event_alert_cronjob','Event Alert CronJob','Event Alert CronJob','count by (xm_clst_id, xm_namespace, entity_type, involved_kind, involved_name, reason, type) (imxc_kubernetes_event_in_last_min{involved_kind=~"CronJob", {filter} })','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} Name : {{$labels.involved_name}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('event_alert_normal','Event Alert Normal','Event Alert Normal','count by (xm_clst_id, xm_namespace, involved_kind, involved_name, reason, type) (imxc_kubernetes_event_in_last_min{type=~"Normal", {filter} })','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} Name : {{$labels.involved_name}} '); +INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('event_alert_warning','Event Alert Warning','Event Alert Warning','count by (xm_clst_id, xm_namespace, involved_kind, involved_name, reason, type) (imxc_kubernetes_event_in_last_min{type=~"Warning", {filter} })','Event','Workload','','true','false','CLST:{{$labels.xm_clst_id}} NS:{{$labels.xm_namespace}} Reason : {{$labels.reason}} Level : {{$labels.type}} Name : {{$labels.involved_name}} '); + -- Container 의 Limit 대비 CPU/Memory 사용량 metric meta 추가 INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('container_cpu_usage_against_limit','Container CPU Usage Against Limits (%)','Conatiner CPU Usage Against Limits ( % ) ','sum by(xm_clst_id,xm_namespace,owner_name,xm_pod_id,xm_cont_name,xm_entity_type) (rate(imxc_kubernetes_container_resource_limit_cpu{xm_cont_name!="POD"} [1m])+ on (xm_clst_id,xm_namespace,xm_pod_id,xm_cont_name) group_left(owner_name) (sum (imxc_kubernetes_container_resource_limit_cpu{container_state="Running",pod_state="Running",{filter}}) without (instance)) * 0)','CPU','Workload','','true','false','CLST:{{$labels.xm_clst_id}} DP:{{$labels.owner_name}} CT:{{$labels.xm_cont_name}} PD:{{$labels.xm_pod_id}} CPU Usage (%):{{humanize $value}}%|{threshold}%.'); INSERT INTO public.metric_meta2 (id,meta_name,description,expr,resource_type,entity_type,groupby_keys,in_use,anomaly_score,message) VALUES('container_memory_usage_against_limit','Container Memory Usage Against Limit','Container Memory Usage Against Limit','sum by(xm_clst_id,xm_namespace,xm_pod_id,xm_cont_name,xm_entity_type,owner_name) (container_memory_usage_bytes{xm_cont_name!="POD"} / on (xm_clst_id,xm_namespace,xm_cont_name,xm_pod_id) group_left(owner_name) (sum (imxc_kubernetes_container_resource_limit_memory{container_state="Running",pod_state="Running",xm_cont_name!="POD",{filter}}) without (instance))) * 100','Memory','Workload','','true','false','CLST:{{$labels.xm_clst_id}} DP:{{$labels.owner_name}} CT:{{$labels.xm_cont_name}} PD:{{$labels.xm_pod_id}} Memory Limit Against Usage:{{humanize $value}}%|{threshold}%.'); diff --git a/roles/cmoa_install/tasks/01-storage-install.yml b/roles/cmoa_install/tasks/01-storage-install.yml index 02d9cdb..174f9b9 100644 --- a/roles/cmoa_install/tasks/01-storage-install.yml +++ b/roles/cmoa_install/tasks/01-storage-install.yml @@ -1,4 +1,4 @@ ---- +-- - name: 1. yaml file install (sc, pv) kubernetes.core.k8s: state: present @@ -18,13 +18,13 @@ release_state: present values_files: - "{{ role_path }}/files/01-storage/{{item}}/values.yaml" - values: - image: - repository: "{{ REGISTRY }}/cmoa3/minio" - imagePullSecrets: - - name: "{{ PullSecret }}" - mcImage: - repository: "{{ REGISTRY }}/cmoa3/mc" + #values: + # image: + # repository: "{{ REGISTRY }}/cmoa3/minio" + # imagePullSecrets: + # - name: "{{ PullSecret }}" + # mcImage: + # repository: "{{ REGISTRY }}/cmoa3/mc" with_items: - minio @@ -49,4 +49,4 @@ command: "{{ role_path }}/files/k8s_status {{ cmoa_namespace }}" - name: 5. minio setting (minio) - command: "{{ role_path }}/files/01-storage/cmoa_minio {{ ansible_default_ipv4.address }}:{{ minio_nodePort }} {{ minio_user }} {{ bucket_name }} {{ days }} {{ rule_id }}" \ No newline at end of file + command: "{{ role_path }}/files/01-storage/cmoa_minio {{ ansible_default_ipv4.address }}:{{ minio_nodePort }} {{ minio_user }} {{ bucket_name }} {{ days }} {{ rule_id }}" diff --git a/roles/cmoa_install/tasks/02-base-install.yml b/roles/cmoa_install/tasks/02-base-install.yml index c3dbc8b..bb48d29 100644 --- a/roles/cmoa_install/tasks/02-base-install.yml +++ b/roles/cmoa_install/tasks/02-base-install.yml @@ -27,12 +27,12 @@ release_state: present values_files: - "{{ role_path }}/files/02-base/{{item}}/values.yaml" - values: - global: - IMXC_IN_REGISTRY: "{{ REGISTRY }}/cmoa3" - rabbitmq: - image: - registry: "{{ REGISTRY }}/cmoa3" + #values: + # global: + # IMXC_IN_REGISTRY: "{{ REGISTRY }}/cmoa3" + # rabbitmq: + # image: + # registry: "{{ REGISTRY }}/cmoa3" with_items: - base diff --git a/roles/cmoa_install/tasks/04-keycloak-install.yml b/roles/cmoa_install/tasks/04-keycloak-install.yml index fadb74b..b3d0604 100644 --- a/roles/cmoa_install/tasks/04-keycloak-install.yml +++ b/roles/cmoa_install/tasks/04-keycloak-install.yml @@ -9,25 +9,25 @@ release_state: present values_files: - "{{ role_path }}/files/04-keycloak/values.yaml" - values: - image: - repository: "{{ REGISTRY }}/cmoa3/keycloak" - imagePullSecrets: - - name: "{{ PullSecret }}" - extraInitContainers: | - - name: theme-provider - image: "{{ REGISTRY }}/cmoa3/theme-provider:latest" - imagePullPolicy: IfNotPresent - command: - - sh - args: - - -c - - | - echo "Copying theme ..." - cp -R /mytheme/* /theme - pgchecker: - image: - repository: "{{ REGISTRY }}/cmoa3/busybox" + #values: + # image: + # repository: "{{ REGISTRY }}/cmoa3/keycloak" + # imagePullSecrets: + # - name: "{{ PullSecret }}" + # extraInitContainers: | + # - name: theme-provider + # image: "{{ REGISTRY }}/cmoa3/theme-provider:latest" + # imagePullPolicy: IfNotPresent + # command: + # - sh + # args: + # - -c + # - | + # echo "Copying theme ..." + # cp -R /mytheme/* /theme + # pgchecker: + # image: + # repository: "{{ REGISTRY }}/cmoa3/busybox" volumeMounts: - name: theme mountPath: /theme @@ -36,4 +36,3 @@ - name: 4. Check Kubernetes Pods (base) command: "{{ role_path }}/files/k8s_status {{ cmoa_namespace }}" - diff --git a/roles/cmoa_install/tasks/05-imxc-install.yml b/roles/cmoa_install/tasks/05-imxc-install.yml index fd8f835..af16c29 100644 --- a/roles/cmoa_install/tasks/05-imxc-install.yml +++ b/roles/cmoa_install/tasks/05-imxc-install.yml @@ -9,11 +9,11 @@ release_state: present values_files: - "{{ role_path }}/files/05-imxc/values.yaml" - values: - image: - repository: "{{ REGISTRY }}/cmoa3/nginx" - global: - IMXC_IN_REGISTRY: "{{ REGISTRY }}/cmoa3" + #values: + # image: + # repository: "{{ REGISTRY }}/cmoa3/nginx" + # global: + # IMXC_IN_REGISTRY: "{{ REGISTRY }}/cmoa3" with_items: - imxc diff --git a/roles/cmoa_install/tasks/06-imxc-ui-install.yml b/roles/cmoa_install/tasks/06-imxc-ui-install.yml index 52c1cdf..9a2f4cd 100644 --- a/roles/cmoa_install/tasks/06-imxc-ui-install.yml +++ b/roles/cmoa_install/tasks/06-imxc-ui-install.yml @@ -9,11 +9,11 @@ release_state: present values_files: - "{{ role_path }}/files/06-imxc-ui/{{ item }}/values.yaml" - values: - image: - repository: "{{ REGISTRY }}/cmoa3/nginx" - global: - IMXC_IN_REGISTRY: "{{ REGISTRY }}/cmoa3" + #values: + # image: + # repository: "{{ REGISTRY }}/cmoa3/nginx" + # global: + # IMXC_IN_REGISTRY: "{{ REGISTRY }}/cmoa3" with_items: - imxc-ui ignore_errors: true