diff --git a/grafana-agent/doc/image-info.yml b/grafana-agent/doc/image-info.yml index b7aa47221845295d66421b9b8a5d004acefd8e79..da30cc0018a0daf10d0658a1b23ef36079171127 100644 --- a/grafana-agent/doc/image-info.yml +++ b/grafana-agent/doc/image-info.yml @@ -78,7 +78,7 @@ install: | ``` 用户可根据自身需求,自定义启动选项。 -license: MIT license +license: Apache-2.0 license similar_packages: - Telegraf: Telegraf是一个开源的代理程序,用于从各种数据源收集指标数据。它支持多种输入和输出插件,可以从系统、应用程序、数据库等收集数据,并将其发送到不同的目标,如InfluxDB、Prometheus等。 - Collectd: collectd是一个轻量级的系统统计数据收集守护程序,用于收集各种系统和应用程序指标。它支持多个插件和输出目标,可以将数据发送到后端存储,如Graphite、InfluxDB等。 diff --git a/grafana/10.4.1/22.03-lts-sp3/Dockerfile b/grafana/10.4.1/22.03-lts-sp3/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..b6c810c7f11ddcccad35913a892f306e6b9a4d86 --- /dev/null +++ b/grafana/10.4.1/22.03-lts-sp3/Dockerfile @@ -0,0 +1,31 @@ +ARG BASE=openeuler/openeuler:22.03-lts-sp3 +FROM ${BASE} + +ARG TARGETARCH +ARG BUILDARCH +ARG VERSION=10.4.1 + +COPY ./entrypoint.sh / +RUN yum -y update && \ + if [ "$TARGETARCH" = "amd64" ]; then \ + BUILDARCH="x86_64"; \ + elif [ "$TARGETARCH" = "arm64" ]; then \ + BUILDARCH="aarch64"; \ + fi && \ + yum install -y https://dl.grafana.com/enterprise/release/grafana-enterprise-${VERSION}-1.${BUILDARCH}.rpm && \ + yum clean all && \ + chmod 755 /entrypoint.sh + + +ENV PATH=/usr/share/grafana/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \ + GF_PATHS_CONFIG="/etc/grafana/grafana.ini" \ + GF_PATHS_DATA="/var/lib/grafana" \ + GF_PATHS_HOME="/usr/share/grafana" \ + GF_PATHS_LOGS="/var/log/grafana" \ + GF_PATHS_PLUGINS="/var/lib/grafana/plugins" \ + GF_PATHS_PROVISIONING="/etc/grafana/provisioning" + +EXPOSE 3000 + +USER grafana +ENTRYPOINT [ "/entrypoint.sh" ] diff --git a/grafana/10.4.1/22.03-lts-sp3/entrypoint.sh b/grafana/10.4.1/22.03-lts-sp3/entrypoint.sh new file mode 100644 index 0000000000000000000000000000000000000000..3c5ddf7e968f03c00bd08d166901c81a276e1dc9 --- /dev/null +++ b/grafana/10.4.1/22.03-lts-sp3/entrypoint.sh @@ -0,0 +1,68 @@ +#!/bin/bash -e + +PERMISSIONS_OK=0 + +if [ ! -r "$GF_PATHS_CONFIG" ]; then + echo "GF_PATHS_CONFIG='$GF_PATHS_CONFIG' is not readable." + PERMISSIONS_OK=1 +fi + +if [ ! -w "$GF_PATHS_DATA" ]; then + echo "GF_PATHS_DATA='$GF_PATHS_DATA' is not writable." + PERMISSIONS_OK=1 +fi + +if [ ! -r "$GF_PATHS_HOME" ]; then + echo "GF_PATHS_HOME='$GF_PATHS_HOME' is not readable." + PERMISSIONS_OK=1 +fi + +if [ $PERMISSIONS_OK -eq 1 ]; then + echo "You may have issues with file permissions, more information here: http://docs.grafana.org/installation/docker/#migrate-to-v51-or-later" +fi + +if [ ! -d "$GF_PATHS_PLUGINS" ]; then + mkdir "$GF_PATHS_PLUGINS" +fi + +# Convert all environment variables with names ending in __FILE into the content of +# the file that they point at and use the name without the trailing __FILE. +# This can be used to carry in Docker secrets. +for VAR_NAME in $(env | grep '^GF_[^=]\+__FILE=.\+' | sed -r "s/([^=]*)__FILE=.*/\1/g"); do + VAR_NAME_FILE="$VAR_NAME"__FILE + if [ "${!VAR_NAME}" ]; then + echo >&2 "ERROR: Both $VAR_NAME and $VAR_NAME_FILE are set (but are exclusive)" + exit 1 + fi + echo "Getting secret $VAR_NAME from ${!VAR_NAME_FILE}" + export "$VAR_NAME"="$(< "${!VAR_NAME_FILE}")" + unset "$VAR_NAME_FILE" +done + +export HOME="$GF_PATHS_HOME" + +if [ ! -z "${GF_INSTALL_PLUGINS}" ]; then + OLDIFS=$IFS + IFS=',' + for plugin in ${GF_INSTALL_PLUGINS}; do + IFS=$OLDIFS + if [[ $plugin =~ .*\;.* ]]; then + pluginUrl=$(echo "$plugin" | cut -d';' -f 1) + pluginInstallFolder=$(echo "$plugin" | cut -d';' -f 2) + grafana-cli --pluginUrl ${pluginUrl} --pluginsDir "${GF_PATHS_PLUGINS}" plugins install "${pluginInstallFolder}" + else + grafana-cli --pluginsDir "${GF_PATHS_PLUGINS}" plugins install ${plugin} + fi + done +fi + +exec grafana-server \ + --homepath="$GF_PATHS_HOME" \ + --config="$GF_PATHS_CONFIG" \ + --packaging=docker \ + "$@" \ + cfg:default.log.mode="console" \ + cfg:default.paths.data="$GF_PATHS_DATA" \ + cfg:default.paths.logs="$GF_PATHS_LOGS" \ + cfg:default.paths.plugins="$GF_PATHS_PLUGINS" \ + cfg:default.paths.provisioning="$GF_PATHS_PROVISIONING" diff --git a/grafana/README.md b/grafana/README.md index 2d61db10974814dde96c29b2c5293a4195b3fc0f..85eb80db2c555769f5eef9db5aec645f14ccf1e0 100644 --- a/grafana/README.md +++ b/grafana/README.md @@ -25,6 +25,7 @@ docker run --name my_grafana -d -p 3000:3000 openeuler/grafana:$VERSION # Supported tags and respective Dockerfile links - 7.5.11-22.03-lts: grafana v7.5.11, openEuler 22.03 LTS +- 10.4.1-oe2203sp3: grafana v10.4.1, openEuler 22.03 LTS SP3 ## Operating System Linux/Unix, ARM64 or x86-64 architecture. diff --git a/grafana/doc/image-info.yml b/grafana/doc/image-info.yml new file mode 100644 index 0000000000000000000000000000000000000000..220634e39fa3f2222b85ef5c770324710442413b --- /dev/null +++ b/grafana/doc/image-info.yml @@ -0,0 +1,88 @@ +name: Grafana +category: cloud +description: Grafana是一个开源的数据可视化和监控平台。它提供了丰富的仪表盘和图表,用于实时监控和分析数据,帮助用户可视化数据并进行数据驱动的决策。 +environment: | + 本应用以容器镜像的方式供用户使用,运行于预置docker的Linux环境。Docker的推荐安装方式如下: + ## apt安装 + ### 1.更新系统软件包依赖 + ``` + sudo spt update + sudo apt install ca-certificates curl gnupg lsb-release + ``` + ### 2.添加Docker官方GPG密钥 + ``` + sudo mkdir -p /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg + sudo chmod a+r /etc/apt/keyrings/docker.gpg + ``` + ### 3.添加Docker官方APT源 + ``` + echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null + ``` + ### 4.再次更新软件包索引 + ``` + sudo apt update + ``` + ### 5.安装Docker + ``` + sudo apt install docker-ce docker-ce-cli containerd.io + ``` + + ## yum安装 + ### 1.安装yum-utils + ``` + sudo yum install -y yum-utils + ``` + ### 2.添加Docker源 + ``` + sudo yum-config-manager \ + > --add-repo \ + > https://download.docker.com/linux/centos/docker-ce.repo + ``` + ### 3.安装Docker + ``` + sudo yum install -y docker-ce docker-ce-cli containerd.io + ``` + + 注意,在openEuler环境安装docker时,可执行如下命令一键安装 + ``` + yum install -y docker + ``` + + ## 脚本安装 + ### 1.下载安装脚本 + ``` + curl -fsSL https://get.docker.com -o get-docker.sh + ``` + ### 2.使用root权限执行脚本 + ``` + sudo sh get-docker.sh + ``` + 使用脚本安装方式时,如果用户要指定安装的docker版本,需要自行修改`get-docker.sh`的源码内容。 + + ## 验证 + ``` + sudo docker run hello-world + ``` + +download: | + 获取容器镜像 + ``` + docker pull openeuler/grafana:{TAG} + ``` + +install: | + 启动容器 + ``` + docker run --name my_grafana -d -p 3000:3000 openeuler/grafana:{TAG} + ``` + 用户可根据自身需求,自定义启动选项。 + +license: AGPL-3.0 license +similar_packages: + - Kibana: 一个开源的数据可视化工具,与Elasticsearch配合使用,用于实时分析和可视化日志数据。 + - Tableau: 一款商业化的数据可视化工具,提供了丰富的数据分析和可视化功能,适用于各种数据源和业务场景。 + - Superset: 一个开源的数据探索和可视化平台,支持广泛的数据源和可视化图表,并具有灵活的仪表盘和报表定制能力。 + - Redash: 一个开源的数据查询和可视化工具,支持多种数据源和查询语言,并提供共享查询和仪表盘的功能。 +dependency: + - N/A \ No newline at end of file diff --git a/grafana/doc/picture/logo.png b/grafana/doc/picture/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..b8a9e51ff36924b4e1503782c9003e300ea6982b Binary files /dev/null and b/grafana/doc/picture/logo.png differ diff --git a/grafana/meta.yml b/grafana/meta.yml new file mode 100644 index 0000000000000000000000000000000000000000..5618b352427e57240477606cd5d82daac9b26577 --- /dev/null +++ b/grafana/meta.yml @@ -0,0 +1,4 @@ +7.5.11-22.03-lts: + grafana/7.5.11/22.03-lts/Dockerfile +10.4.1-oe2203sp3: + grafana/10.4.1/22.03-lts-sp3/Dockerfile \ No newline at end of file