diff --git a/alertmanager/alertmanager.yml b/alertmanager/alertmanager.yml new file mode 100644 index 0000000..620d031 --- /dev/null +++ b/alertmanager/alertmanager.yml @@ -0,0 +1,17 @@ +global: + smtp_smarthost: 'smtp.gmail.com:587' + smtp_from: 'liuvanquyet@gkcorp.com.vn' + smtp_auth_username: 'liuvanquyet@gkcorp.com.vn' + smtp_auth_password: 'vejc mzti ming zvpj' # Mã ứng dụng, KHÔNG phải mật khẩu Gmail thường + +route: + receiver: email-notification + group_wait: 10s + group_interval: 5m + repeat_interval: 1h + +receivers: + - name: email-notification + email_configs: + - to: 'quyetluu217@gmail.com' + send_resolved: true diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..624aa30 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,102 @@ +version: '3.8' + +services: + + prometheus: + image: prom/prometheus + container_name: prometheus + restart: unless-stopped + ports: + - "9090:9090" + volumes: + - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml + - ./prometheus/alert.rules.yml:/etc/prometheus/alert.rules.yml + networks: + - monitoring + + grafana: + image: grafana/grafana + container_name: grafana + restart: unless-stopped + ports: + - "3000:3000" + environment: + - GF_SECURITY_ADMIN_USER=admin + - GF_SECURITY_ADMIN_PASSWORD=1qaz2wsxA@ + volumes: + - grafana-data:/var/lib/grafana + networks: + - monitoring + + node-exporter: + image: prom/node-exporter + container_name: node-exporter + restart: unless-stopped + volumes: + - /proc:/host/proc:ro + - /sys:/host/sys:ro + - /:/rootfs:ro + command: + - '--path.procfs=/host/proc' + - '--path.sysfs=/host/sys' + - '--path.rootfs=/rootfs' + networks: + - monitoring + + cadvisor: + image: gcr.io/cadvisor/cadvisor:latest + container_name: cadvisor + restart: unless-stopped + ports: + - "8080:8080" + volumes: + - /:/rootfs:ro + - /var/run:/var/run:ro + - /sys:/sys:ro + - /var/lib/docker/:/var/lib/docker:ro + networks: + - monitoring + + alertmanager: + image: prom/alertmanager + container_name: alertmanager + restart: unless-stopped + ports: + - "9093:9093" + volumes: + - ./alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml + networks: + - monitoring + + loki: + image: grafana/loki:main + container_name: loki + restart: unless-stopped + user: "1000:1000" + ports: + - "3100:3100" + command: -config.file=/etc/loki/local-config.yaml -target=all + volumes: + - ./loki/loki-config.yaml:/etc/loki/local-config.yaml + - ./loki-data:/loki + networks: + - monitoring + + promtail: + image: grafana/promtail:2.9.4 + container_name: promtail + restart: unless-stopped + volumes: + - /var/log:/var/log + - /etc/machine-id:/etc/machine-id:ro + - /var/lib/docker/containers:/var/lib/docker/containers:ro + - ./promtail/promtail.yaml:/etc/promtail/promtail.yaml + networks: + - monitoring + +volumes: + grafana-data: + +networks: + monitoring: + driver: bridge diff --git a/loki-data/boltdb-cache/index_20255/compactor-1750059380028544986 b/loki-data/boltdb-cache/index_20255/compactor-1750059380028544986 new file mode 100644 index 0000000..fbd4a4c Binary files /dev/null and b/loki-data/boltdb-cache/index_20255/compactor-1750059380028544986 differ diff --git a/loki-data/chunks/ZmFrZS80YWE4OTNlMzYyZTRlM2QzOjE5Nzc3OGM4NzI3OjE5Nzc3OGM4NzY4OjVkZTM0MWRh b/loki-data/chunks/ZmFrZS80YWE4OTNlMzYyZTRlM2QzOjE5Nzc3OGM4NzI3OjE5Nzc3OGM4NzY4OjVkZTM0MWRh new file mode 100644 index 0000000..4124712 Binary files /dev/null and b/loki-data/chunks/ZmFrZS80YWE4OTNlMzYyZTRlM2QzOjE5Nzc3OGM4NzI3OjE5Nzc3OGM4NzY4OjVkZTM0MWRh differ diff --git a/loki-data/chunks/ZmFrZS80YWE4OTNlMzYyZTRlM2QzOjE5Nzc3OGM4NzI3OjE5Nzc3OGYwNjY1OmMyYmNkNDM= b/loki-data/chunks/ZmFrZS80YWE4OTNlMzYyZTRlM2QzOjE5Nzc3OGM4NzI3OjE5Nzc3OGYwNjY1OmMyYmNkNDM= new file mode 100644 index 0000000..dc6a4dd Binary files /dev/null and b/loki-data/chunks/ZmFrZS80YWE4OTNlMzYyZTRlM2QzOjE5Nzc3OGM4NzI3OjE5Nzc3OGYwNjY1OmMyYmNkNDM= differ diff --git a/loki-data/chunks/ZmFrZS80YWE4OTNlMzYyZTRlM2QzOjE5Nzc3OGM4NzI3OjE5Nzc3OWMzNzYxOjVjYzZlZTkx b/loki-data/chunks/ZmFrZS80YWE4OTNlMzYyZTRlM2QzOjE5Nzc3OGM4NzI3OjE5Nzc3OWMzNzYxOjVjYzZlZTkx new file mode 100644 index 0000000..0b0baea Binary files /dev/null and b/loki-data/chunks/ZmFrZS80YWE4OTNlMzYyZTRlM2QzOjE5Nzc3OGM4NzI3OjE5Nzc3OWMzNzYxOjVjYzZlZTkx differ diff --git a/loki-data/chunks/ZmFrZS80YWE4OTNlMzYyZTRlM2QzOjE5Nzc3OGM4NzI3OjE5Nzc3YTQ3Y2Y2OjIyZmU5ODE3 b/loki-data/chunks/ZmFrZS80YWE4OTNlMzYyZTRlM2QzOjE5Nzc3OGM4NzI3OjE5Nzc3YTQ3Y2Y2OjIyZmU5ODE3 new file mode 100644 index 0000000..29d4239 Binary files /dev/null and b/loki-data/chunks/ZmFrZS80YWE4OTNlMzYyZTRlM2QzOjE5Nzc3OGM4NzI3OjE5Nzc3YTQ3Y2Y2OjIyZmU5ODE3 differ diff --git a/loki-data/chunks/ZmFrZS80ZGRhNzllM2E4YmRlMTE3OjE5Nzc3OGM4NzI4OjE5Nzc3OGM4NzU3OmQ4NjQwYjUz b/loki-data/chunks/ZmFrZS80ZGRhNzllM2E4YmRlMTE3OjE5Nzc3OGM4NzI4OjE5Nzc3OGM4NzU3OmQ4NjQwYjUz new file mode 100644 index 0000000..14f6bb7 Binary files /dev/null and b/loki-data/chunks/ZmFrZS80ZGRhNzllM2E4YmRlMTE3OjE5Nzc3OGM4NzI4OjE5Nzc3OGM4NzU3OmQ4NjQwYjUz differ diff --git a/loki-data/chunks/ZmFrZS80ZGRhNzllM2E4YmRlMTE3OjE5Nzc3OGM4NzI4OjE5Nzc3OGYwNjUxOjk0ZjUwZDQ3 b/loki-data/chunks/ZmFrZS80ZGRhNzllM2E4YmRlMTE3OjE5Nzc3OGM4NzI4OjE5Nzc3OGYwNjUxOjk0ZjUwZDQ3 new file mode 100644 index 0000000..ec9d5e7 Binary files /dev/null and b/loki-data/chunks/ZmFrZS80ZGRhNzllM2E4YmRlMTE3OjE5Nzc3OGM4NzI4OjE5Nzc3OGYwNjUxOjk0ZjUwZDQ3 differ diff --git a/loki-data/chunks/ZmFrZS80ZGRhNzllM2E4YmRlMTE3OjE5Nzc3OGM4NzI4OjE5Nzc3OWMzNzUwOjk4Njk5N2Jj b/loki-data/chunks/ZmFrZS80ZGRhNzllM2E4YmRlMTE3OjE5Nzc3OGM4NzI4OjE5Nzc3OWMzNzUwOjk4Njk5N2Jj new file mode 100644 index 0000000..529b12b Binary files /dev/null and b/loki-data/chunks/ZmFrZS80ZGRhNzllM2E4YmRlMTE3OjE5Nzc3OGM4NzI4OjE5Nzc3OWMzNzUwOjk4Njk5N2Jj differ diff --git a/loki-data/chunks/ZmFrZS80ZGRhNzllM2E4YmRlMTE3OjE5Nzc3OGM4NzI4OjE5Nzc3YTQ3Y2UzOjI4MWNjNzcy b/loki-data/chunks/ZmFrZS80ZGRhNzllM2E4YmRlMTE3OjE5Nzc3OGM4NzI4OjE5Nzc3YTQ3Y2UzOjI4MWNjNzcy new file mode 100644 index 0000000..18cc535 Binary files /dev/null and b/loki-data/chunks/ZmFrZS80ZGRhNzllM2E4YmRlMTE3OjE5Nzc3OGM4NzI4OjE5Nzc3YTQ3Y2UzOjI4MWNjNzcy differ diff --git a/loki-data/chunks/ZmFrZS84MjFhMGI1MWY0NWI4ZDJmOjE5Nzc3OGM4NzI3OjE5Nzc3OGM4NzZhOjlhYTU1ZTg= b/loki-data/chunks/ZmFrZS84MjFhMGI1MWY0NWI4ZDJmOjE5Nzc3OGM4NzI3OjE5Nzc3OGM4NzZhOjlhYTU1ZTg= new file mode 100644 index 0000000..b7385e0 Binary files /dev/null and b/loki-data/chunks/ZmFrZS84MjFhMGI1MWY0NWI4ZDJmOjE5Nzc3OGM4NzI3OjE5Nzc3OGM4NzZhOjlhYTU1ZTg= differ diff --git a/loki-data/chunks/ZmFrZS84MjFhMGI1MWY0NWI4ZDJmOjE5Nzc3OGM4NzI3OjE5Nzc3OGYwNjY3OjgyYjU0M2Iw b/loki-data/chunks/ZmFrZS84MjFhMGI1MWY0NWI4ZDJmOjE5Nzc3OGM4NzI3OjE5Nzc3OGYwNjY3OjgyYjU0M2Iw new file mode 100644 index 0000000..7cee7b8 Binary files /dev/null and b/loki-data/chunks/ZmFrZS84MjFhMGI1MWY0NWI4ZDJmOjE5Nzc3OGM4NzI3OjE5Nzc3OGYwNjY3OjgyYjU0M2Iw differ diff --git a/loki-data/chunks/ZmFrZS84MjFhMGI1MWY0NWI4ZDJmOjE5Nzc3OGM4NzI3OjE5Nzc3OWMzNzYzOjczNDM1MmY1 b/loki-data/chunks/ZmFrZS84MjFhMGI1MWY0NWI4ZDJmOjE5Nzc3OGM4NzI3OjE5Nzc3OWMzNzYzOjczNDM1MmY1 new file mode 100644 index 0000000..974892b Binary files /dev/null and b/loki-data/chunks/ZmFrZS84MjFhMGI1MWY0NWI4ZDJmOjE5Nzc3OGM4NzI3OjE5Nzc3OWMzNzYzOjczNDM1MmY1 differ diff --git a/loki-data/chunks/ZmFrZS84MjFhMGI1MWY0NWI4ZDJmOjE5Nzc3OGM4NzI3OjE5Nzc3YTQ3Y2Y4Ojc0ZDBkMmZj b/loki-data/chunks/ZmFrZS84MjFhMGI1MWY0NWI4ZDJmOjE5Nzc3OGM4NzI3OjE5Nzc3YTQ3Y2Y4Ojc0ZDBkMmZj new file mode 100644 index 0000000..f7ad2d0 Binary files /dev/null and b/loki-data/chunks/ZmFrZS84MjFhMGI1MWY0NWI4ZDJmOjE5Nzc3OGM4NzI3OjE5Nzc3YTQ3Y2Y4Ojc0ZDBkMmZj differ diff --git a/loki-data/chunks/ZmFrZS85YTRlMDM3YzNiNjlhMDRlOjE5Nzc3OGM4NzI4OjE5Nzc3OGYwODFkOmE3Yjg0YWIz b/loki-data/chunks/ZmFrZS85YTRlMDM3YzNiNjlhMDRlOjE5Nzc3OGM4NzI4OjE5Nzc3OGYwODFkOmE3Yjg0YWIz new file mode 100644 index 0000000..8cab3b8 Binary files /dev/null and b/loki-data/chunks/ZmFrZS85YTRlMDM3YzNiNjlhMDRlOjE5Nzc3OGM4NzI4OjE5Nzc3OGYwODFkOmE3Yjg0YWIz differ diff --git a/loki-data/chunks/ZmFrZS85YTRlMDM3YzNiNjlhMDRlOjE5Nzc3OGM4NzI4OjE5Nzc3OTMxMTVmOjJhODBlMmUy b/loki-data/chunks/ZmFrZS85YTRlMDM3YzNiNjlhMDRlOjE5Nzc3OGM4NzI4OjE5Nzc3OTMxMTVmOjJhODBlMmUy new file mode 100644 index 0000000..03aa525 Binary files /dev/null and b/loki-data/chunks/ZmFrZS85YTRlMDM3YzNiNjlhMDRlOjE5Nzc3OGM4NzI4OjE5Nzc3OTMxMTVmOjJhODBlMmUy differ diff --git a/loki-data/chunks/ZmFrZS85YTRlMDM3YzNiNjlhMDRlOjE5Nzc3OGM4NzI4OjE5Nzc3OWMzOTUxOmZhYTQzNGZj b/loki-data/chunks/ZmFrZS85YTRlMDM3YzNiNjlhMDRlOjE5Nzc3OGM4NzI4OjE5Nzc3OWMzOTUxOmZhYTQzNGZj new file mode 100644 index 0000000..64ab18b Binary files /dev/null and b/loki-data/chunks/ZmFrZS85YTRlMDM3YzNiNjlhMDRlOjE5Nzc3OGM4NzI4OjE5Nzc3OWMzOTUxOmZhYTQzNGZj differ diff --git a/loki-data/chunks/ZmFrZS85YTRlMDM3YzNiNjlhMDRlOjE5Nzc3OGM4NzI4OjE5Nzc3YTQ3ZWY1OjZmNGZhYWY3 b/loki-data/chunks/ZmFrZS85YTRlMDM3YzNiNjlhMDRlOjE5Nzc3OGM4NzI4OjE5Nzc3YTQ3ZWY1OjZmNGZhYWY3 new file mode 100644 index 0000000..ff40482 Binary files /dev/null and b/loki-data/chunks/ZmFrZS85YTRlMDM3YzNiNjlhMDRlOjE5Nzc3OGM4NzI4OjE5Nzc3YTQ3ZWY1OjZmNGZhYWY3 differ diff --git a/loki-data/chunks/ZmFrZS8xOWI4MjQ0MWZmNWEzNWY4OjE5Nzc3OGM4NzI4OjE5Nzc3OGYwNzAwOmU2YjY2ZGQ1 b/loki-data/chunks/ZmFrZS8xOWI4MjQ0MWZmNWEzNWY4OjE5Nzc3OGM4NzI4OjE5Nzc3OGYwNzAwOmU2YjY2ZGQ1 new file mode 100644 index 0000000..f364a8d Binary files /dev/null and b/loki-data/chunks/ZmFrZS8xOWI4MjQ0MWZmNWEzNWY4OjE5Nzc3OGM4NzI4OjE5Nzc3OGYwNzAwOmU2YjY2ZGQ1 differ diff --git a/loki-data/chunks/ZmFrZS8xOWI4MjQ0MWZmNWEzNWY4OjE5Nzc3OGM4NzI4OjE5Nzc3OTMwYzdiOmViM2ZmM2Ri b/loki-data/chunks/ZmFrZS8xOWI4MjQ0MWZmNWEzNWY4OjE5Nzc3OGM4NzI4OjE5Nzc3OTMwYzdiOmViM2ZmM2Ri new file mode 100644 index 0000000..301702d Binary files /dev/null and b/loki-data/chunks/ZmFrZS8xOWI4MjQ0MWZmNWEzNWY4OjE5Nzc3OGM4NzI4OjE5Nzc3OTMwYzdiOmViM2ZmM2Ri differ diff --git a/loki-data/chunks/ZmFrZS8xOWI4MjQ0MWZmNWEzNWY4OjE5Nzc3OGM4NzI4OjE5Nzc3OWMzN2Y1OmM4YjEyMzQ5 b/loki-data/chunks/ZmFrZS8xOWI4MjQ0MWZmNWEzNWY4OjE5Nzc3OGM4NzI4OjE5Nzc3OWMzN2Y1OmM4YjEyMzQ5 new file mode 100644 index 0000000..6bdb7d3 Binary files /dev/null and b/loki-data/chunks/ZmFrZS8xOWI4MjQ0MWZmNWEzNWY4OjE5Nzc3OGM4NzI4OjE5Nzc3OWMzN2Y1OmM4YjEyMzQ5 differ diff --git a/loki-data/chunks/ZmFrZS8xOWI4MjQ0MWZmNWEzNWY4OjE5Nzc3OGM4NzI4OjE5Nzc3YTQ3ZGQ1OmQ5MDM3MGM0 b/loki-data/chunks/ZmFrZS8xOWI4MjQ0MWZmNWEzNWY4OjE5Nzc3OGM4NzI4OjE5Nzc3YTQ3ZGQ1OmQ5MDM3MGM0 new file mode 100644 index 0000000..e363e46 Binary files /dev/null and b/loki-data/chunks/ZmFrZS8xOWI4MjQ0MWZmNWEzNWY4OjE5Nzc3OGM4NzI4OjE5Nzc3YTQ3ZGQ1OmQ5MDM3MGM0 differ diff --git a/loki-data/chunks/ZmFrZS8yOTYwYTk0ZDI3NGQ5ZmZjOjE5Nzc3OGM4NzI3OjE5Nzc3OGM4OTUzOmI2MzNhNDIx b/loki-data/chunks/ZmFrZS8yOTYwYTk0ZDI3NGQ5ZmZjOjE5Nzc3OGM4NzI3OjE5Nzc3OGM4OTUzOmI2MzNhNDIx new file mode 100644 index 0000000..24e373b Binary files /dev/null and b/loki-data/chunks/ZmFrZS8yOTYwYTk0ZDI3NGQ5ZmZjOjE5Nzc3OGM4NzI3OjE5Nzc3OGM4OTUzOmI2MzNhNDIx differ diff --git a/loki-data/chunks/ZmFrZS8yOTYwYTk0ZDI3NGQ5ZmZjOjE5Nzc3OGM4NzI3OjE5Nzc3OGYwODcyOjM3ZDUwYzVk b/loki-data/chunks/ZmFrZS8yOTYwYTk0ZDI3NGQ5ZmZjOjE5Nzc3OGM4NzI3OjE5Nzc3OGYwODcyOjM3ZDUwYzVk new file mode 100644 index 0000000..5e98831 Binary files /dev/null and b/loki-data/chunks/ZmFrZS8yOTYwYTk0ZDI3NGQ5ZmZjOjE5Nzc3OGM4NzI3OjE5Nzc3OGYwODcyOjM3ZDUwYzVk differ diff --git a/loki-data/chunks/ZmFrZS8yOTYwYTk0ZDI3NGQ5ZmZjOjE5Nzc3OGM4NzI3OjE5Nzc3OWMzOTZjOjVjNzQ2Zjkw b/loki-data/chunks/ZmFrZS8yOTYwYTk0ZDI3NGQ5ZmZjOjE5Nzc3OGM4NzI3OjE5Nzc3OWMzOTZjOjVjNzQ2Zjkw new file mode 100644 index 0000000..7106591 Binary files /dev/null and b/loki-data/chunks/ZmFrZS8yOTYwYTk0ZDI3NGQ5ZmZjOjE5Nzc3OGM4NzI3OjE5Nzc3OWMzOTZjOjVjNzQ2Zjkw differ diff --git a/loki-data/chunks/ZmFrZS8yOTYwYTk0ZDI3NGQ5ZmZjOjE5Nzc3OGM4NzI3OjE5Nzc3YTQ3ZWZmOjRkZTFiN2Y5 b/loki-data/chunks/ZmFrZS8yOTYwYTk0ZDI3NGQ5ZmZjOjE5Nzc3OGM4NzI3OjE5Nzc3YTQ3ZWZmOjRkZTFiN2Y5 new file mode 100644 index 0000000..b48d0df Binary files /dev/null and b/loki-data/chunks/ZmFrZS8yOTYwYTk0ZDI3NGQ5ZmZjOjE5Nzc3OGM4NzI3OjE5Nzc3YTQ3ZWZmOjRkZTFiN2Y5 differ diff --git a/loki-data/chunks/ZmFrZS9iNmYzN2E4ODliOTVkZjI0OjE5Nzc3OGM4NzI4OjE5Nzc3OGM4NzNmOmEyNmY3OGVl b/loki-data/chunks/ZmFrZS9iNmYzN2E4ODliOTVkZjI0OjE5Nzc3OGM4NzI4OjE5Nzc3OGM4NzNmOmEyNmY3OGVl new file mode 100644 index 0000000..25b4e16 Binary files /dev/null and b/loki-data/chunks/ZmFrZS9iNmYzN2E4ODliOTVkZjI0OjE5Nzc3OGM4NzI4OjE5Nzc3OGM4NzNmOmEyNmY3OGVl differ diff --git a/loki-data/chunks/ZmFrZS9iNmYzN2E4ODliOTVkZjI0OjE5Nzc3OGM4NzI4OjE5Nzc3OGYwNjM3OjhmNGZiN2Rk b/loki-data/chunks/ZmFrZS9iNmYzN2E4ODliOTVkZjI0OjE5Nzc3OGM4NzI4OjE5Nzc3OGYwNjM3OjhmNGZiN2Rk new file mode 100644 index 0000000..8e9fedc Binary files /dev/null and b/loki-data/chunks/ZmFrZS9iNmYzN2E4ODliOTVkZjI0OjE5Nzc3OGM4NzI4OjE5Nzc3OGYwNjM3OjhmNGZiN2Rk differ diff --git a/loki-data/chunks/ZmFrZS9iNmYzN2E4ODliOTVkZjI0OjE5Nzc3OGM4NzI4OjE5Nzc3OWMzNzM2OmU4YWIzM2Qz b/loki-data/chunks/ZmFrZS9iNmYzN2E4ODliOTVkZjI0OjE5Nzc3OGM4NzI4OjE5Nzc3OWMzNzM2OmU4YWIzM2Qz new file mode 100644 index 0000000..00ce20d Binary files /dev/null and b/loki-data/chunks/ZmFrZS9iNmYzN2E4ODliOTVkZjI0OjE5Nzc3OGM4NzI4OjE5Nzc3OWMzNzM2OmU4YWIzM2Qz differ diff --git a/loki-data/chunks/ZmFrZS9iNmYzN2E4ODliOTVkZjI0OjE5Nzc3OGM4NzI4OjE5Nzc3YTQ3Y2NjOmRmM2NiMmI3 b/loki-data/chunks/ZmFrZS9iNmYzN2E4ODliOTVkZjI0OjE5Nzc3OGM4NzI4OjE5Nzc3YTQ3Y2NjOmRmM2NiMmI3 new file mode 100644 index 0000000..d5bc14c Binary files /dev/null and b/loki-data/chunks/ZmFrZS9iNmYzN2E4ODliOTVkZjI0OjE5Nzc3OGM4NzI4OjE5Nzc3YTQ3Y2NjOmRmM2NiMmI3 differ diff --git a/loki-data/chunks/ZmFrZS9kODg1Y2JmMDg4M2QxNTA3OjE5Nzc3OGM4NzI4OjE5Nzc3OGM4NzJkOjI5YjlhYzkw b/loki-data/chunks/ZmFrZS9kODg1Y2JmMDg4M2QxNTA3OjE5Nzc3OGM4NzI4OjE5Nzc3OGM4NzJkOjI5YjlhYzkw new file mode 100644 index 0000000..dfbbec1 Binary files /dev/null and b/loki-data/chunks/ZmFrZS9kODg1Y2JmMDg4M2QxNTA3OjE5Nzc3OGM4NzI4OjE5Nzc3OGM4NzJkOjI5YjlhYzkw differ diff --git a/loki-data/chunks/ZmFrZS9kODg1Y2JmMDg4M2QxNTA3OjE5Nzc3OGM4NzI4OjE5Nzc3OGYwNjIzOjExM2Q4ZDQ2 b/loki-data/chunks/ZmFrZS9kODg1Y2JmMDg4M2QxNTA3OjE5Nzc3OGM4NzI4OjE5Nzc3OGYwNjIzOjExM2Q4ZDQ2 new file mode 100644 index 0000000..21eff34 Binary files /dev/null and b/loki-data/chunks/ZmFrZS9kODg1Y2JmMDg4M2QxNTA3OjE5Nzc3OGM4NzI4OjE5Nzc3OGYwNjIzOjExM2Q4ZDQ2 differ diff --git a/loki-data/chunks/ZmFrZS9kODg1Y2JmMDg4M2QxNTA3OjE5Nzc3OGM4NzI4OjE5Nzc3OWMzNzIyOmE5MzJjM2Jk b/loki-data/chunks/ZmFrZS9kODg1Y2JmMDg4M2QxNTA3OjE5Nzc3OGM4NzI4OjE5Nzc3OWMzNzIyOmE5MzJjM2Jk new file mode 100644 index 0000000..fc95a7f Binary files /dev/null and b/loki-data/chunks/ZmFrZS9kODg1Y2JmMDg4M2QxNTA3OjE5Nzc3OGM4NzI4OjE5Nzc3OWMzNzIyOmE5MzJjM2Jk differ diff --git a/loki-data/chunks/ZmFrZS9kODg1Y2JmMDg4M2QxNTA3OjE5Nzc3OGM4NzI4OjE5Nzc3YTQ3Y2I5OjQwMzZiOTJi b/loki-data/chunks/ZmFrZS9kODg1Y2JmMDg4M2QxNTA3OjE5Nzc3OGM4NzI4OjE5Nzc3YTQ3Y2I5OjQwMzZiOTJi new file mode 100644 index 0000000..9854ec6 Binary files /dev/null and b/loki-data/chunks/ZmFrZS9kODg1Y2JmMDg4M2QxNTA3OjE5Nzc3OGM4NzI4OjE5Nzc3YTQ3Y2I5OjQwMzZiOTJi differ diff --git a/loki-data/chunks/index/delete_requests/delete_requests.gz b/loki-data/chunks/index/delete_requests/delete_requests.gz new file mode 100644 index 0000000..a9943d7 Binary files /dev/null and b/loki-data/chunks/index/delete_requests/delete_requests.gz differ diff --git a/loki-data/chunks/index/index_20255/compactor-1750059567353094928.gz b/loki-data/chunks/index/index_20255/compactor-1750059567353094928.gz new file mode 100644 index 0000000..ef62b36 Binary files /dev/null and b/loki-data/chunks/index/index_20255/compactor-1750059567353094928.gz differ diff --git a/loki-data/chunks/loki_cluster_seed.json b/loki-data/chunks/loki_cluster_seed.json new file mode 100644 index 0000000..1d8a759 --- /dev/null +++ b/loki-data/chunks/loki_cluster_seed.json @@ -0,0 +1 @@ +{"UID":"32e5c18c-5971-4fc9-b3b9-23fb018407a4","created_at":"2025-06-16T07:03:02.955281653Z","version":{"version":"2.9.4","revision":"f599ebc535","branch":"HEAD","buildUser":"root@5d9969758d88","buildDate":"2024-01-24T16:02:36Z","goVersion":"go1.21.3"}} \ No newline at end of file diff --git a/loki-data/compactor/deletion/delete_requests/delete_requests b/loki-data/compactor/deletion/delete_requests/delete_requests new file mode 100644 index 0000000..e449c28 Binary files /dev/null and b/loki-data/compactor/deletion/delete_requests/delete_requests differ diff --git a/loki-data/index/index_20255/1750057741 b/loki-data/index/index_20255/1750057741 new file mode 100644 index 0000000..31dfa99 Binary files /dev/null and b/loki-data/index/index_20255/1750057741 differ diff --git a/loki-data/index/index_20255/1750057815 b/loki-data/index/index_20255/1750057815 new file mode 100644 index 0000000..97c98e1 Binary files /dev/null and b/loki-data/index/index_20255/1750057815 differ diff --git a/loki-data/index/index_20255/1750058411 b/loki-data/index/index_20255/1750058411 new file mode 100644 index 0000000..b4e9356 Binary files /dev/null and b/loki-data/index/index_20255/1750058411 differ diff --git a/loki-data/index/index_20255/1750059000 b/loki-data/index/index_20255/1750059000 new file mode 100644 index 0000000..71cfc1b Binary files /dev/null and b/loki-data/index/index_20255/1750059000 differ diff --git a/loki-data/index/index_20255/1750059562184779551.temp b/loki-data/index/index_20255/1750059562184779551.temp new file mode 100644 index 0000000..b91d8a2 Binary files /dev/null and b/loki-data/index/index_20255/1750059562184779551.temp differ diff --git a/loki-data/index/index_20255/1750059562207647189.temp b/loki-data/index/index_20255/1750059562207647189.temp new file mode 100644 index 0000000..e2d7621 Binary files /dev/null and b/loki-data/index/index_20255/1750059562207647189.temp differ diff --git a/loki-data/index/index_20255/1750059562226263713.temp b/loki-data/index/index_20255/1750059562226263713.temp new file mode 100644 index 0000000..09c040e Binary files /dev/null and b/loki-data/index/index_20255/1750059562226263713.temp differ diff --git a/loki-data/index/index_20255/1750059562246015290.temp b/loki-data/index/index_20255/1750059562246015290.temp new file mode 100644 index 0000000..0298309 Binary files /dev/null and b/loki-data/index/index_20255/1750059562246015290.temp differ diff --git a/loki-data/index/uploader/name b/loki-data/index/uploader/name new file mode 100755 index 0000000..5c608e3 --- /dev/null +++ b/loki-data/index/uploader/name @@ -0,0 +1 @@ +7fa8a79d2ac0-1750056575467132801 \ No newline at end of file diff --git a/loki-data/wal/00000000 b/loki-data/wal/00000000 new file mode 100644 index 0000000..e69de29 diff --git a/loki-data/wal/00000001 b/loki-data/wal/00000001 new file mode 100644 index 0000000..e69de29 diff --git a/loki-data/wal/00000002 b/loki-data/wal/00000002 new file mode 100644 index 0000000..e69de29 diff --git a/loki-data/wal/00000003 b/loki-data/wal/00000003 new file mode 100644 index 0000000..e69de29 diff --git a/loki-data/wal/00000004 b/loki-data/wal/00000004 new file mode 100644 index 0000000..e69de29 diff --git a/loki-data/wal/00000005 b/loki-data/wal/00000005 new file mode 100644 index 0000000..e69de29 diff --git a/loki-data/wal/00000006 b/loki-data/wal/00000006 new file mode 100644 index 0000000..e69de29 diff --git a/loki-data/wal/00000007 b/loki-data/wal/00000007 new file mode 100644 index 0000000..e69de29 diff --git a/loki-data/wal/00000008 b/loki-data/wal/00000008 new file mode 100644 index 0000000..e69de29 diff --git a/loki-data/wal/00000009 b/loki-data/wal/00000009 new file mode 100644 index 0000000..e69de29 diff --git a/loki-data/wal/00000010 b/loki-data/wal/00000010 new file mode 100644 index 0000000..e69de29 diff --git a/loki-data/wal/00000011 b/loki-data/wal/00000011 new file mode 100644 index 0000000..e69de29 diff --git a/loki-data/wal/00000012 b/loki-data/wal/00000012 new file mode 100644 index 0000000..e69de29 diff --git a/loki-data/wal/00000013 b/loki-data/wal/00000013 new file mode 100644 index 0000000..e69de29 diff --git a/loki-data/wal/00000014 b/loki-data/wal/00000014 new file mode 100644 index 0000000..e69de29 diff --git a/loki-data/wal/00000015 b/loki-data/wal/00000015 new file mode 100644 index 0000000..b19dff3 Binary files /dev/null and b/loki-data/wal/00000015 differ diff --git a/loki-data/wal/00000016 b/loki-data/wal/00000016 new file mode 100644 index 0000000..4422404 Binary files /dev/null and b/loki-data/wal/00000016 differ diff --git a/loki-data/wal/00000017 b/loki-data/wal/00000017 new file mode 100644 index 0000000..30c06cb Binary files /dev/null and b/loki-data/wal/00000017 differ diff --git a/loki-data/wal/00000018 b/loki-data/wal/00000018 new file mode 100644 index 0000000..ff09c97 Binary files /dev/null and b/loki-data/wal/00000018 differ diff --git a/loki-data/wal/00000019 b/loki-data/wal/00000019 new file mode 100644 index 0000000..f262197 Binary files /dev/null and b/loki-data/wal/00000019 differ diff --git a/loki-data/wal/00000020 b/loki-data/wal/00000020 new file mode 100644 index 0000000..abd1a1e Binary files /dev/null and b/loki-data/wal/00000020 differ diff --git a/loki-data/wal/00000021 b/loki-data/wal/00000021 new file mode 100644 index 0000000..9ad517d Binary files /dev/null and b/loki-data/wal/00000021 differ diff --git a/loki-data/wal/00000022 b/loki-data/wal/00000022 new file mode 100644 index 0000000..b8f2444 Binary files /dev/null and b/loki-data/wal/00000022 differ diff --git a/loki-data/wal/00000023 b/loki-data/wal/00000023 new file mode 100644 index 0000000..7aed8ee Binary files /dev/null and b/loki-data/wal/00000023 differ diff --git a/loki-data/wal/00000024 b/loki-data/wal/00000024 new file mode 100644 index 0000000..b86c267 Binary files /dev/null and b/loki-data/wal/00000024 differ diff --git a/loki-data/wal/00000025 b/loki-data/wal/00000025 new file mode 100644 index 0000000..9272393 Binary files /dev/null and b/loki-data/wal/00000025 differ diff --git a/loki/loki-config.yaml b/loki/loki-config.yaml new file mode 100755 index 0000000..7e8de76 --- /dev/null +++ b/loki/loki-config.yaml @@ -0,0 +1,61 @@ +auth_enabled: false + +server: + http_listen_port: 3100 + +ingester: + wal: + enabled: true + dir: /loki/wal + lifecycler: + ring: + kvstore: + store: inmemory + replication_factor: 1 + chunk_idle_period: 3m + chunk_retain_period: 1m + +schema_config: + configs: + - from: 2023-01-01 + store: boltdb-shipper + object_store: filesystem + schema: v11 + index: + prefix: index_ + period: 24h + +storage_config: + boltdb_shipper: + active_index_directory: /loki/index + cache_location: /loki/boltdb-cache + filesystem: + directory: /loki/chunks + +compactor: + working_directory: /loki/compactor + compaction_interval: 1m + retention_enabled: true + delete_request_store: filesystem # ✅ Bắt buộc nếu retention bật + +limits_config: + reject_old_samples: true + reject_old_samples_max_age: 168h + volume_enabled: true + allow_structured_metadata: false # ✅ Tắt yêu cầu schema v13 và tsdb + +ruler: + storage: + type: local + local: + directory: /loki/rules + rule_path: /loki/rules-temp + alertmanager_url: http://alertmanager:9093 + ring: + kvstore: + store: inmemory + enable_alertmanager_v2: true + +table_manager: + retention_deletes_enabled: true + retention_period: 168h diff --git a/prometheus/alert.rules.yml b/prometheus/alert.rules.yml new file mode 100644 index 0000000..6bfd993 --- /dev/null +++ b/prometheus/alert.rules.yml @@ -0,0 +1,14 @@ +groups: + - name: system-alerts + rules: + - alert: HighCPUUsage + expr: 100 - (avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[1m])) * 100) > 80 + for: 1m + labels: + severity: warning + annotations: + summary: "⚠️ CẢNH BÁO: CPU cao trên {{ $labels.instance }}" + description: | + 💥 Máy chủ: {{ $labels.instance }} + 🔥 CPU đã vượt ngưỡng 80% trong hơn 1 phút + 📊 Giá trị hiện tại: {{ $value | printf "%.2f" }}% diff --git a/prometheus/prometheus.yml b/prometheus/prometheus.yml new file mode 100644 index 0000000..06c77b8 --- /dev/null +++ b/prometheus/prometheus.yml @@ -0,0 +1,33 @@ +global: + scrape_interval: 15s + evaluation_interval: 15s + +alerting: + alertmanagers: + - static_configs: + - targets: + - 'alertmanager:9093' + +rule_files: + - "alert.rules.yml" + +scrape_configs: + - job_name: 'prometheus' + static_configs: + - targets: ['prometheus:9090'] + + - job_name: 'node-exporter' + static_configs: + - targets: ['node-exporter:9100'] + + - job_name: 'cadvisor' + static_configs: + - targets: ['cadvisor:8080'] + + - job_name: 'grafana' + static_configs: + - targets: ['grafana:3000'] + + - job_name: 'loki' + static_configs: + - targets: ['loki:3100'] diff --git a/promtail/promtail.yaml b/promtail/promtail.yaml new file mode 100644 index 0000000..1e15692 --- /dev/null +++ b/promtail/promtail.yaml @@ -0,0 +1,18 @@ +server: + http_listen_port: 9080 + grpc_listen_port: 0 + +positions: + filename: /tmp/positions.yaml + +clients: + - url: http://loki:3100/loki/api/v1/push + +scrape_configs: + - job_name: varlogs + static_configs: + - targets: + - localhost + labels: + job: system + __path__: /var/log/*.log