394 lines
11 KiB
YAML
394 lines
11 KiB
YAML
networks:
|
|
sysnet:
|
|
driver: bridge
|
|
ipam:
|
|
driver: default
|
|
config:
|
|
- subnet: 172.31.0.0/16
|
|
|
|
services:
|
|
bind:
|
|
image: ${BIND_IMAGE_TAG:-argus-bind9:latest}
|
|
container_name: argus-bind-sys
|
|
networks:
|
|
sysnet:
|
|
ipv4_address: 172.31.0.2
|
|
volumes:
|
|
- ./private:/private
|
|
restart: unless-stopped
|
|
|
|
master:
|
|
image: ${MASTER_IMAGE_TAG:-argus-master:latest}
|
|
container_name: argus-master-sys
|
|
depends_on:
|
|
- bind
|
|
environment:
|
|
- OFFLINE_THRESHOLD_SECONDS=6
|
|
- ONLINE_THRESHOLD_SECONDS=2
|
|
- SCHEDULER_INTERVAL_SECONDS=1
|
|
- ARGUS_BUILD_UID=${ARGUS_BUILD_UID:-2133}
|
|
- ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015}
|
|
ports:
|
|
- "32300:3000"
|
|
volumes:
|
|
- ./private/argus/master:/private/argus/master
|
|
- ./private/argus/metric/prometheus:/private/argus/metric/prometheus
|
|
- ./private/argus/etc:/private/argus/etc
|
|
networks:
|
|
sysnet:
|
|
ipv4_address: 172.31.0.10
|
|
restart: unless-stopped
|
|
|
|
es:
|
|
image: argus-elasticsearch:latest
|
|
container_name: argus-es-sys
|
|
environment:
|
|
- discovery.type=single-node
|
|
- xpack.security.enabled=false
|
|
- ES_JAVA_OPTS=-Xms512m -Xmx512m
|
|
- ARGUS_BUILD_UID=${ARGUS_BUILD_UID:-2133}
|
|
- ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015}
|
|
volumes:
|
|
- ./private/argus/log/elasticsearch:/private/argus/log/elasticsearch
|
|
- ./private/argus/etc:/private/argus/etc
|
|
ports:
|
|
- "9200:9200"
|
|
restart: unless-stopped
|
|
networks:
|
|
sysnet:
|
|
ipv4_address: 172.31.0.3
|
|
|
|
kibana:
|
|
image: argus-kibana:latest
|
|
container_name: argus-kibana-sys
|
|
environment:
|
|
- ELASTICSEARCH_HOSTS=http://es.log.argus.com:9200
|
|
- ARGUS_BUILD_UID=${ARGUS_BUILD_UID:-2133}
|
|
- ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015}
|
|
volumes:
|
|
- ./private/argus/log/kibana:/private/argus/log/kibana
|
|
- ./private/argus/etc:/private/argus/etc
|
|
depends_on:
|
|
- es
|
|
ports:
|
|
- "5601:5601"
|
|
restart: unless-stopped
|
|
networks:
|
|
sysnet:
|
|
ipv4_address: 172.31.0.4
|
|
|
|
node-a:
|
|
image: ubuntu:22.04
|
|
container_name: argus-node-a
|
|
hostname: dev-yyrshare-nbnyx10-cp2f-pod-0
|
|
depends_on:
|
|
- master
|
|
- bind
|
|
- es
|
|
environment:
|
|
- MASTER_ENDPOINT=http://master.argus.com:3000
|
|
- REPORT_INTERVAL_SECONDS=2
|
|
- ARGUS_BUILD_UID=${ARGUS_BUILD_UID:-2133}
|
|
- ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015}
|
|
- ES_HOST=es
|
|
- ES_PORT=9200
|
|
- CLUSTER=local
|
|
- RACK=dev
|
|
volumes:
|
|
- ./private-nodea/argus/agent/dev-yyrshare-nbnyx10-cp2f-pod-0:/private/argus/agent/dev-yyrshare-nbnyx10-cp2f-pod-0
|
|
- ../../agent/dist/argus-agent:/usr/local/bin/argus-agent:ro
|
|
- ./scripts/node_entrypoint.sh:/usr/local/bin/node-entrypoint.sh:ro
|
|
- ../../log/fluent-bit/build/start-fluent-bit.sh:/assets/start-fluent-bit.sh:ro
|
|
- ../../log/fluent-bit/build/etc:/assets/fluent-bit/etc:ro
|
|
- ../../log/fluent-bit/build/packages:/assets/fluent-bit/packages:ro
|
|
entrypoint:
|
|
- /usr/local/bin/node-entrypoint.sh
|
|
dns:
|
|
- 172.31.0.2
|
|
ports:
|
|
- "2020:2020"
|
|
restart: unless-stopped
|
|
networks:
|
|
- sysnet
|
|
|
|
node-b:
|
|
image: ubuntu:22.04
|
|
container_name: argus-node-b
|
|
hostname: dev-yyrshare-uuuu10-ep2f-pod-0
|
|
depends_on:
|
|
- master
|
|
- bind
|
|
- es
|
|
environment:
|
|
- MASTER_ENDPOINT=http://master.argus.com:3000
|
|
- REPORT_INTERVAL_SECONDS=2
|
|
- ARGUS_BUILD_UID=${ARGUS_BUILD_UID:-2133}
|
|
- ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015}
|
|
- ES_HOST=es
|
|
- ES_PORT=9200
|
|
- CLUSTER=local
|
|
- RACK=dev
|
|
volumes:
|
|
- ./private-nodeb/argus/agent/dev-yyrshare-uuuu10-ep2f-pod-0:/private/argus/agent/dev-yyrshare-uuuu10-ep2f-pod-0
|
|
- ../../agent/dist/argus-agent:/usr/local/bin/argus-agent:ro
|
|
- ./scripts/node_entrypoint.sh:/usr/local/bin/node-entrypoint.sh:ro
|
|
- ../../log/fluent-bit/build/start-fluent-bit.sh:/assets/start-fluent-bit.sh:ro
|
|
- ../../log/fluent-bit/build/etc:/assets/fluent-bit/etc:ro
|
|
- ../../log/fluent-bit/build/packages:/assets/fluent-bit/packages:ro
|
|
entrypoint:
|
|
- /usr/local/bin/node-entrypoint.sh
|
|
dns:
|
|
- 172.31.0.2
|
|
ports:
|
|
- "2021:2020"
|
|
restart: unless-stopped
|
|
networks:
|
|
- sysnet
|
|
|
|
ftp:
|
|
image: argus-metric-ftp:latest
|
|
container_name: argus-ftp
|
|
restart: unless-stopped
|
|
environment:
|
|
- TZ=Asia/Shanghai
|
|
- FTP_BASE_PATH=/private/argus/ftp
|
|
- FTP_PASSWORD=${FTP_PASSWORD:-ZGClab1234!}
|
|
- DOMAIN=${FTP_DOMAIN:-ftp.metric.argus.com}
|
|
- ARGUS_BUILD_UID=${ARGUS_BUILD_UID:-2133}
|
|
- ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015}
|
|
ports:
|
|
- "${FTP_PORT:-21}:21"
|
|
- "${FTP_DATA_PORT:-20}:20"
|
|
- "21100-21110:21100-21110"
|
|
volumes:
|
|
- ./private/argus/metric/ftp:/private/argus/ftp
|
|
- ./private/argus/etc:/private/argus/etc
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- /etc/timezone:/etc/timezone:ro
|
|
networks:
|
|
sysnet:
|
|
ipv4_address: 172.31.0.40
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
prometheus:
|
|
image: argus-metric-prometheus:latest
|
|
container_name: argus-prometheus
|
|
restart: unless-stopped
|
|
environment:
|
|
- TZ=Asia/Shanghai
|
|
- PROMETHEUS_BASE_PATH=/private/argus/metric/prometheus
|
|
- ARGUS_BUILD_UID=${ARGUS_BUILD_UID:-2133}
|
|
- ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015}
|
|
ports:
|
|
- "${PROMETHEUS_PORT:-9090}:9090"
|
|
volumes:
|
|
- ./private/argus/metric/prometheus:/private/argus/metric/prometheus
|
|
- ./private/argus/etc:/private/argus/etc
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- /etc/timezone:/etc/timezone:ro
|
|
networks:
|
|
sysnet:
|
|
ipv4_address: 172.31.0.41
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
grafana:
|
|
image: argus-metric-grafana:latest
|
|
container_name: argus-grafana
|
|
restart: unless-stopped
|
|
environment:
|
|
- TZ=Asia/Shanghai
|
|
- GRAFANA_BASE_PATH=/private/argus/metric/grafana
|
|
- ARGUS_BUILD_UID=${ARGUS_BUILD_UID:-2133}
|
|
- ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015}
|
|
- GF_SERVER_HTTP_PORT=3000
|
|
- GF_LOG_LEVEL=warn
|
|
- GF_LOG_MODE=console
|
|
- GF_PATHS_PROVISIONING=/private/argus/metric/grafana/provisioning
|
|
- GF_AUTH_ANONYMOUS_ENABLED=true
|
|
- GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer
|
|
ports:
|
|
- "${GRAFANA_PORT:-3000}:3000"
|
|
volumes:
|
|
- ./private/argus/metric/grafana:/private/argus/metric/grafana
|
|
- ./private/argus/etc:/private/argus/etc
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- /etc/timezone:/etc/timezone:ro
|
|
networks:
|
|
sysnet:
|
|
ipv4_address: 172.31.0.42
|
|
depends_on:
|
|
- prometheus
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
# --- Added: Web Frontend (no host port; resolved by DNS as web.argus.com) ---
|
|
web-frontend:
|
|
image: argus-web-frontend:latest
|
|
container_name: argus-web-frontend
|
|
environment:
|
|
- ARGUS_BUILD_UID=${ARGUS_BUILD_UID:-2133}
|
|
- ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015}
|
|
volumes:
|
|
- ./private/argus/etc:/private/argus/etc
|
|
networks:
|
|
sysnet:
|
|
ipv4_address: 172.31.0.80
|
|
restart: unless-stopped
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
test-node:
|
|
image: ubuntu:22.04
|
|
container_name: argus-metric-test-node
|
|
hostname: test-metric-node-001
|
|
restart: unless-stopped
|
|
privileged: true
|
|
depends_on:
|
|
- ftp
|
|
- prometheus
|
|
environment:
|
|
- TZ=Asia/Shanghai
|
|
- DEBIAN_FRONTEND=noninteractive
|
|
- FTP_DOMAIN=${FTP_DOMAIN:-ftp.metric.argus.com}
|
|
- FTP_SERVER=${FTP_SERVER:-172.31.0.40}
|
|
- FTP_USER=${FTP_USER:-ftpuser}
|
|
- FTP_PASSWORD=${FTP_PASSWORD:-ZGClab1234!}
|
|
- FTP_PORT=${FTP_PORT:-21}
|
|
- ARGUS_BUILD_UID=${ARGUS_BUILD_UID:-2133}
|
|
- ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015}
|
|
- METRIC_NODE_ROLE=cpu
|
|
volumes:
|
|
- ./private/argus/agent:/private/argus/agent
|
|
- ./scripts/metric/test-node-entrypoint.sh:/usr/local/bin/metric-test-node-entrypoint.sh:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- /etc/timezone:/etc/timezone:ro
|
|
entrypoint:
|
|
- /usr/local/bin/metric-test-node-entrypoint.sh
|
|
command:
|
|
- sleep
|
|
- infinity
|
|
networks:
|
|
sysnet:
|
|
ipv4_address: 172.31.0.50
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
test-gpu-node:
|
|
profiles: ["gpu"]
|
|
image: nvidia/cuda:12.2.2-runtime-ubuntu22.04
|
|
container_name: argus-metric-test-gpu-node
|
|
hostname: test-metric-gpu-node-001
|
|
restart: unless-stopped
|
|
privileged: true
|
|
runtime: nvidia
|
|
deploy:
|
|
resources:
|
|
reservations:
|
|
devices:
|
|
- driver: nvidia
|
|
count: all
|
|
capabilities:
|
|
- gpu
|
|
depends_on:
|
|
- ftp
|
|
- prometheus
|
|
environment:
|
|
- TZ=Asia/Shanghai
|
|
- DEBIAN_FRONTEND=noninteractive
|
|
- NVIDIA_VISIBLE_DEVICES=all
|
|
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
|
|
- GPU_MODE=gpu
|
|
- ARGUS_BUILD_UID=${ARGUS_BUILD_UID:-2133}
|
|
- ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015}
|
|
- METRIC_NODE_ROLE=gpu
|
|
volumes:
|
|
- ./private/argus/agent:/private/argus/agent
|
|
- ./scripts/metric/test-node-entrypoint.sh:/usr/local/bin/metric-test-node-entrypoint.sh:ro
|
|
- /etc/localtime:/etc/localtime:ro
|
|
- /etc/timezone:/etc/timezone:ro
|
|
entrypoint:
|
|
- /usr/local/bin/metric-test-node-entrypoint.sh
|
|
command:
|
|
- sleep
|
|
- infinity
|
|
networks:
|
|
sysnet:
|
|
ipv4_address: 172.31.0.51
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
# --- Added: Alertmanager ---
|
|
alertmanager:
|
|
image: argus-alertmanager:latest
|
|
container_name: argus-alertmanager
|
|
environment:
|
|
- ARGUS_BUILD_UID=${ARGUS_BUILD_UID:-2133}
|
|
- ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015}
|
|
volumes:
|
|
- ./private/argus/etc:/private/argus/etc
|
|
- ./private/argus/alert/alertmanager:/private/argus/alert/alertmanager
|
|
networks:
|
|
sysnet:
|
|
ipv4_address: 172.31.0.82
|
|
ports:
|
|
- "9093:9093"
|
|
restart: unless-stopped
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|
|
|
|
# --- Added: Web Proxy (multi-port gateway) ---
|
|
web-proxy:
|
|
image: argus-web-proxy:latest
|
|
container_name: argus-web-proxy
|
|
depends_on:
|
|
- bind
|
|
- master
|
|
- grafana
|
|
- prometheus
|
|
- kibana
|
|
- alertmanager
|
|
environment:
|
|
- ARGUS_BUILD_UID=${ARGUS_BUILD_UID:-2133}
|
|
- ARGUS_BUILD_GID=${ARGUS_BUILD_GID:-2015}
|
|
volumes:
|
|
- ./private/argus/etc:/private/argus/etc
|
|
networks:
|
|
sysnet:
|
|
ipv4_address: 172.31.0.81
|
|
ports:
|
|
- "8080:8080"
|
|
- "8081:8081"
|
|
- "8082:8082"
|
|
- "8083:8083"
|
|
- "8084:8084"
|
|
- "8085:8085"
|
|
restart: unless-stopped
|
|
logging:
|
|
driver: "json-file"
|
|
options:
|
|
max-size: "10m"
|
|
max-file: "3"
|