From d9054a615f6882337502bb333802411005309e1d Mon Sep 17 00:00:00 2001 From: wjunLu Date: Fri, 15 Mar 2024 14:22:20 +0800 Subject: [PATCH 1/2] Add alertmanager docker image. --- alertmanager/0.27.0/22.03-lts-sp3/Dockerfile | 25 ++++++ alertmanager/README.md | 30 +++++++ alertmanager/doc/image-info.yml | 87 ++++++++++++++++++++ alertmanager/meta.yml | 2 + 4 files changed, 144 insertions(+) create mode 100644 alertmanager/0.27.0/22.03-lts-sp3/Dockerfile create mode 100644 alertmanager/README.md create mode 100644 alertmanager/doc/image-info.yml create mode 100644 alertmanager/meta.yml diff --git a/alertmanager/0.27.0/22.03-lts-sp3/Dockerfile b/alertmanager/0.27.0/22.03-lts-sp3/Dockerfile new file mode 100644 index 0000000..1e08f3a --- /dev/null +++ b/alertmanager/0.27.0/22.03-lts-sp3/Dockerfile @@ -0,0 +1,25 @@ +ARG BASE=openeuler/openeuler:22.03-lts-sp3 +FROM ${BASE} + +ARG TARGETARCH +ARG VERSION=0.27.0 + +RUN curl -fSL --output alertmanager.tar.gz https://github.com/prometheus/alertmanager/releases/download/v${VERSION}/alertmanager-${VERSION}.linux-${TARGETARCH}.tar.gz && \ + mkdir /alertmanager && tar -zxvf alertmanager.tar.gz -C /alertmanager --strip-components 1 + +RUN mkdir -p /etc/alertmanager && \ + mv /alertmanager/amtool /bin/amtool && \ + mv /alertmanager/alertmanager /bin/alertmanager && \ + mv /alertmanager/alertmanager.yml /etc/alertmanager/alertmanager.yml && \ + rm -rf /alertmanager + +RUN mkdir -p /alertmanager && \ + groupadd -r alertmanager && useradd -r -g alertmanager alertmanager && \ + chown -R alertmanager:alertmanager etc/alertmanager /alertmanager + +USER alertmanager +EXPOSE 9093 +VOLUME [ "/alertmanager" ] +WORKDIR /alertmanager +ENTRYPOINT [ "/bin/alertmanager" ] +CMD [ "--config.file=/etc/alertmanager/alertmanager.yml", "--storage.path=/alertmanager" ] diff --git a/alertmanager/README.md b/alertmanager/README.md new file mode 100644 index 0000000..0c27888 --- /dev/null +++ b/alertmanager/README.md @@ -0,0 +1,30 @@ +# Alertmanager + +# Quick reference + +- The official alertmanager docker image. + +- Maintained by: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative) + +- Where to get help: [openEuler CloudNative SIG](https://gitee.com/openeuler/cloudnative), [openEuler](https://gitee.com/openeuler/community) + +# Build reference + +1. Build images and push: +```shell +docker buildx build -t "openeuler/alertmanager:$TAG" --platform linux/amd64,linux/arm64 . --push +``` + +We are using `buildx` in here to generate multi-arch images, see more in [Docker Buildx](https://docs.docker.com/buildx/working-with-buildx/) + +2. Run: +```shell +docker run -d -p 9093:9093 openeuler/alertmanager:$TAG +``` + +# Supported tags and respective Dockerfile links + +- 0.27.0-oe2203sp3: alertmanager v0.27.0, openEuler 22.03-LTS-SP3 + +## Operating System +Linux/Unix, ARM64 or x86-64 architecture. diff --git a/alertmanager/doc/image-info.yml b/alertmanager/doc/image-info.yml new file mode 100644 index 0000000..ceea4a0 --- /dev/null +++ b/alertmanager/doc/image-info.yml @@ -0,0 +1,87 @@ +name: Alertmanager +category: cloud +description: Alertmanager处理客户端应用程序(例如Prometheus服务器)发送的警报。它负责重复数据删除、分组,并将它们路由到正确的接收器集成,例如电子邮件、PagerDuty、OpsGenie或借助Webhook接收器的许多其他机制。它还负责警报的静音和抑制。 +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/alertmanager:{TAG} + ``` + " +install: " + 启动容器 + ``` + docker run --name alertmanager -p 9093:9093 openeuler/alertmanager:{TAG} + ``` + 用户可根据自身需求,自定义启动选项。 + " +license: Apache-2.0 license +similar_packages: + - VictoriaMetrics Alertmanager: 这是一个与Prometheus兼容的开源告警管理器,它提供类似于Prometheus Alertmanager的功能。它可以接收来自Prometheus的告警,并根据配置的规则进行处理和发送通知。 + - Alerta: Alerta是一个开源的事件报警工具,它可以集成各种监控系统和服务(包括Prometheus)并提供统一的事件报警和通知管理。它支持自定义规则和插件,可以根据事件的严重性和优先级进行分组和处理,还提供了丰富的通知渠道和可视化界面。 + - Grafana Alerting: Grafana是一个流行的开源数据可视化和仪表盘工具,它的最新版本中引入了Alerting功能。Grafana Alerting可以与Prometheus集成,提供类似于Alertmanager的告警管理和通知功能。它支持灵活的告警规则配置和多种通知渠道。 +dependency: + - N/A \ No newline at end of file diff --git a/alertmanager/meta.yml b/alertmanager/meta.yml new file mode 100644 index 0000000..aaa2076 --- /dev/null +++ b/alertmanager/meta.yml @@ -0,0 +1,2 @@ +0.27.0-oe2203sp3: + - altermanager/0.27.0/22.03-lts-sp3/Dockerfile \ No newline at end of file -- Gitee From a0ab7f0e31df4cdafb1244aebb4d39e81f909d7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=B2=81=E5=8D=AB=E5=86=9B?= Date: Fri, 15 Mar 2024 14:02:11 +0000 Subject: [PATCH 2/2] update alertmanager/0.27.0/22.03-lts-sp3/Dockerfile. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 鲁卫军 --- alertmanager/0.27.0/22.03-lts-sp3/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/alertmanager/0.27.0/22.03-lts-sp3/Dockerfile b/alertmanager/0.27.0/22.03-lts-sp3/Dockerfile index 1e08f3a..739f8e3 100644 --- a/alertmanager/0.27.0/22.03-lts-sp3/Dockerfile +++ b/alertmanager/0.27.0/22.03-lts-sp3/Dockerfile @@ -4,7 +4,8 @@ FROM ${BASE} ARG TARGETARCH ARG VERSION=0.27.0 -RUN curl -fSL --output alertmanager.tar.gz https://github.com/prometheus/alertmanager/releases/download/v${VERSION}/alertmanager-${VERSION}.linux-${TARGETARCH}.tar.gz && \ +RUN yum update -y && yum install -y wget && \ + wget -O alertmanager.tar.gz https://github.com/prometheus/alertmanager/releases/download/v${VERSION}/alertmanager-${VERSION}.linux-${TARGETARCH}.tar.gz && \ mkdir /alertmanager && tar -zxvf alertmanager.tar.gz -C /alertmanager --strip-components 1 RUN mkdir -p /etc/alertmanager && \ -- Gitee