dev_1.0.0_sundp 完成Metric模块及模块e2e测试 (#18)
Co-authored-by: sundapeng.sdp <sundapeng@hashdata.cn> Reviewed-on: #18 Reviewed-by: xuxt <xuxt@zgclab.edu.cn> Reviewed-by: yuyr <yuyr@zgclab.edu.cn> Reviewed-by: huhy <husteryezi@163.com>
This commit was merged in pull request #18.
This commit is contained in:
68
src/metric/grafana/build/Dockerfile
Normal file
68
src/metric/grafana/build/Dockerfile
Normal file
@@ -0,0 +1,68 @@
|
||||
FROM grafana/grafana:11.1.0
|
||||
|
||||
USER root
|
||||
|
||||
# 安装必要的工具
|
||||
RUN apk add --no-cache \
|
||||
supervisor \
|
||||
net-tools \
|
||||
iputils \
|
||||
vim \
|
||||
bash
|
||||
|
||||
# supervisor 日志目录
|
||||
RUN mkdir -p /var/log/supervisor
|
||||
|
||||
# 设置 Grafana 基础路径环境变量
|
||||
ENV GRAFANA_BASE_PATH=/private/argus/metric/grafana
|
||||
|
||||
# 设置用户和组ID环境变量
|
||||
ARG GRAFANA_UID=2133
|
||||
ARG GRAFANA_GID=2015
|
||||
ENV GRAFANA_UID=${GRAFANA_UID}
|
||||
ENV GRAFANA_GID=${GRAFANA_GID}
|
||||
|
||||
# 创建基本目录结构
|
||||
RUN mkdir -p /private/argus/etc \
|
||||
&& mkdir -p /private/argus/metric/grafana/data \
|
||||
&& mkdir -p /private/argus/metric/grafana/logs \
|
||||
&& mkdir -p /private/argus/metric/grafana/plugins \
|
||||
&& mkdir -p /private/argus/metric/grafana/provisioning/datasources \
|
||||
&& mkdir -p /private/argus/metric/grafana/provisioning/dashboards \
|
||||
&& mkdir -p /private/argus/metric/grafana/data/sessions \
|
||||
&& mkdir -p /private/argus/metric/grafana/data/dashboards \
|
||||
&& mkdir -p /private/argus/metric/grafana/config \
|
||||
&& mkdir -p /etc/grafana \
|
||||
&& mkdir -p /var/lib/grafana \
|
||||
&& mkdir -p /var/log/grafana
|
||||
|
||||
# 修改 Grafana 用户 UID/GID 并授权
|
||||
RUN deluser grafana && \
|
||||
addgroup -g ${GRAFANA_GID} grafana && \
|
||||
adduser -u ${GRAFANA_UID} -G grafana -s /bin/sh -D grafana && \
|
||||
chown -R grafana:grafana /var/lib/grafana /etc/grafana /var/log/grafana /private/argus
|
||||
|
||||
# 复制配置文件到容器内临时位置
|
||||
COPY grafana.ini /tmp/grafana.ini
|
||||
COPY datasources/datasources.yml /tmp/datasources.yml
|
||||
COPY dashboards/dashboards.yml /tmp/dashboards.yml
|
||||
COPY dashboards/default_dashboard_by_hostname.json /tmp/default_dashboard.json
|
||||
|
||||
# supervisor 配置
|
||||
COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
|
||||
|
||||
# 启动脚本
|
||||
COPY start-grafana-supervised.sh /usr/local/bin/start-grafana-supervised.sh
|
||||
RUN chmod +x /usr/local/bin/start-grafana-supervised.sh
|
||||
|
||||
# 确保配置文件权限正确
|
||||
RUN chown -R grafana:grafana /etc/grafana
|
||||
|
||||
COPY dns-monitor.sh /usr/local/bin/dns-monitor.sh
|
||||
RUN chmod +x /usr/local/bin/dns-monitor.sh
|
||||
|
||||
USER root
|
||||
|
||||
EXPOSE 3000
|
||||
|
||||
ENTRYPOINT ["/usr/bin/supervisord", "-c", "/etc/supervisor/conf.d/supervisord.conf", "-n"]
|
||||
Reference in New Issue
Block a user