From 6c6027d5f5c5a02238cbb0c201678b245b76be4b Mon Sep 17 00:00:00 2001 From: root Date: Tue, 9 Jul 2024 19:32:35 +0800 Subject: [PATCH] update --- dcgm-exporter/Dockerfile.grafana | 30 +++++++++++++++++++++++++ dcgm-exporter/Dockerfile.prometheus | 32 +++++++++++++++++++++++++++ dcgm-exporter/README.md | 7 ++++++ dcgm-exporter/docker-compose.yml | 34 +++++++++++++++++++++++++++++ dcgm-exporter/grafana.ini | 6 +++++ dcgm-exporter/prometheus.yml | 11 ++++++++++ 6 files changed, 120 insertions(+) create mode 100644 dcgm-exporter/Dockerfile.grafana create mode 100644 dcgm-exporter/Dockerfile.prometheus create mode 100644 dcgm-exporter/README.md create mode 100644 dcgm-exporter/docker-compose.yml create mode 100644 dcgm-exporter/grafana.ini create mode 100644 dcgm-exporter/prometheus.yml diff --git a/dcgm-exporter/Dockerfile.grafana b/dcgm-exporter/Dockerfile.grafana new file mode 100644 index 0000000..c908baf --- /dev/null +++ b/dcgm-exporter/Dockerfile.grafana @@ -0,0 +1,30 @@ +# syntax=docker/dockerfile:1 + +ARG GRAFANA_VERSION="9.5.2" + +FROM ubuntu:22.04 + +ARG DEBIAN_FRONTEND="noninteractive" +ENV DEBIAN_FRONTEND=${DEBIAN_FRONTEND} +ARG HTTP_PROXY +ARG HTTPS_PROXY +ENV http_proxy=${HTTP_PROXY} +ENV https_proxy=${HTTPS_PROXY} + +# 替换 sources.list 文件以使用阿里云镜像源 +# RUN sed -i 's|http://archive.ubuntu.com/ubuntu/|http://mirrors.aliyun.com/ubuntu/|g' /etc/apt/sources.list && \ +# sed -i 's|http://security.ubuntu.com/ubuntu|http://mirrors.aliyun.com/ubuntu|g' /etc/apt/sources.list + +# 安装必要的工具和库 +RUN apt-get update && \ + apt-get install -y wget vim bash ca-certificates + +RUN wget https://dl.grafana.com/oss/release/grafana_${GRAFANA_VERSION}_amd64.deb && \ + dpkg -i grafana_${GRAFANA_VERSION}_amd64.deb && \ + rm grafana_${GRAFANA_VERSION}_amd64.deb + +COPY grafana.ini /etc/grafana/grafana.ini + +EXPOSE 3000 + +CMD ["/usr/sbin/grafana-server", "--config=/etc/grafana/grafana.ini"] diff --git a/dcgm-exporter/Dockerfile.prometheus b/dcgm-exporter/Dockerfile.prometheus new file mode 100644 index 0000000..44a7a70 --- /dev/null +++ b/dcgm-exporter/Dockerfile.prometheus @@ -0,0 +1,32 @@ +# syntax=docker/dockerfile:1 + +ARG PROMETHEUS_VERSION="2.45.6" + +FROM ubuntu:22.04 + +ARG DEBIAN_FRONTEND="noninteractive" +ENV DEBIAN_FRONTEND=${DEBIAN_FRONTEND} +ARG HTTP_PROXY +ARG HTTPS_PROXY +ENV http_proxy=${HTTP_PROXY} +ENV https_proxy=${HTTPS_PROXY} + +# 替换 sources.list 文件以使用阿里云镜像源 +# RUN sed -i 's|http://archive.ubuntu.com/ubuntu/|http://mirrors.aliyun.com/ubuntu/|g' /etc/apt/sources.list && \ +# sed -i 's|http://security.ubuntu.com/ubuntu|http://mirrors.aliyun.com/ubuntu|g' /etc/apt/sources.list + + +# 安装必要的工具和库 +RUN apt-get update && \ + apt-get install -y wget vim bash ca-certificates + +RUN wget https://github.com/prometheus/prometheus/releases/download/v${PROMETHEUS_VERSION}/prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz && \ + tar xvfz prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz && \ + mv prometheus-${PROMETHEUS_VERSION}.linux-amd64 /opt/prometheus && \ + rm prometheus-${PROMETHEUS_VERSION}.linux-amd64.tar.gz + +COPY prometheus.yml /opt/prometheus/prometheus.yml + +EXPOSE 9090 + +CMD ["/opt/prometheus/prometheus", "--config.file=/opt/prometheus/prometheus.yml"] diff --git a/dcgm-exporter/README.md b/dcgm-exporter/README.md new file mode 100644 index 0000000..166e59e --- /dev/null +++ b/dcgm-exporter/README.md @@ -0,0 +1,7 @@ + +构建和运行 +使用 Docker Compose 构建和运行容器: + +```shell +docker-compose up --build -d +``` \ No newline at end of file diff --git a/dcgm-exporter/docker-compose.yml b/dcgm-exporter/docker-compose.yml new file mode 100644 index 0000000..b994086 --- /dev/null +++ b/dcgm-exporter/docker-compose.yml @@ -0,0 +1,34 @@ +version: '3.8' + +services: + prometheus: + build: + context: . + dockerfile: Dockerfile.prometheus + args: + PROMETHEUS_VERSION: "2.45.6" + HTTP_PROXY: "http://localhost:15777" + HTTPS_PROXY: "http://localhost:15777" + image: zly/prometheus:latest + container_name: prometheus + ports: + - "9090:9090" + volumes: + - ./prometheus.yml:/opt/prometheus/prometheus.yml + restart: unless-stopped + + grafana: + build: + context: . + dockerfile: Dockerfile.grafana + args: + GRAFANA_VERSION: "9.5.2" + HTTP_PROXY: "http://localhost:15777" + HTTPS_PROXY: "http://localhost:15777" + image: zly/grafana:latest + container_name: grafana + ports: + - "3000:3000" + volumes: + - ./grafana.ini:/etc/grafana/grafana.ini + restart: unless-stopped diff --git a/dcgm-exporter/grafana.ini b/dcgm-exporter/grafana.ini new file mode 100644 index 0000000..ce0b534 --- /dev/null +++ b/dcgm-exporter/grafana.ini @@ -0,0 +1,6 @@ +[server] +http_port = 3000 + +[security] +admin_user = admin +admin_password = grafana diff --git a/dcgm-exporter/prometheus.yml b/dcgm-exporter/prometheus.yml new file mode 100644 index 0000000..ab388ea --- /dev/null +++ b/dcgm-exporter/prometheus.yml @@ -0,0 +1,11 @@ +global: + scrape_interval: 15s + +scrape_configs: + - job_name: 'prometheus' + static_configs: + - targets: ['localhost:9090'] + + - job_name: 'dcgm-exporter' + static_configs: + - targets: ['127.0.0.1:9400']