dev_1.0.0_xuxt_2 更新反向代理,打包镜像,以及README文档 (#28)

Co-authored-by: xiuting.xu <xiutingxt.xu@gmail.com>
Reviewed-on: #28
Reviewed-by: yuyr <yuyr@zgclab.edu.cn>
Reviewed-by: huhy <husteryezi@163.com>
Reviewed-by: sundapeng <sundp@mail.zgclab.edu.cn>
This commit was merged in pull request #28.
This commit is contained in:
2025-10-20 09:45:32 +08:00
parent 1a768bc837
commit d1b89c0cf6
37 changed files with 372 additions and 230 deletions

View File

@@ -1,13 +1,31 @@
# Alertmanager
## 启动示例
## 构建
1. 首先设置构建和部署的环境变量, 在项目根目录下执行:
```bash
cp src/alert/tests/.env.example src/alert/tests/.env
```
然后找到复制出来的.env文件,修改环境变量。
2. 使用脚本构建,在项目根目录下执行:
```bash
docker run -d --name alertmanager \
-p 9093:9093 \
-v /opt/alertmanager/data:/alertmanager \
argus-alert:latest
bash src/alert/alertmanager/build/build.sh
```
构建成功后,会在项目根目录下生成argus-alertmanager-latest.tar
## 部署
提供docker-compose部署。在src/alert/tests目录下
```bash
docker-compose up -d
```
## 动态配置
修改alertmanager.yml后,调用`/-/reload`接口可以重新加载配置
配置文件放在`/private/argus/alert/alertmanager/alertmanager.yml`下,修改alertmanager.yml后,调用`http://alertmanager.alert.argus.com:9093/-/reload`接口(POST)可以重新加载配置.
```bash
curl -X POST http://localhost:9093/-/reload
```

View File

@@ -19,8 +19,11 @@ RUN wget https://github.com/prometheus/alertmanager/releases/download/v${ALERTMA
rm alertmanager-${ALERTMANAGER_VERSION}.linux-amd64.tar.gz
ENV ALERTMANAGER_BASE_PATH=/private/argus/alert/alertmanager
ENV ARGUS_UID=2133
ENV ARGUS_GID=2015
ARG ARGUS_UID=2133
ARG ARGUS_GID=2015
ENV ARGUS_UID=${ARGUS_UID}
ENV ARGUS_GID=${ARGUS_GID}
RUN mkdir -p /usr/share/alertmanager && \
mkdir -p ${ALERTMANAGER_BASE_PATH} && \

View File

@@ -0,0 +1,13 @@
#!/bin/bash
set -euo pipefail
docker pull ubuntu:24.04
source src/alert/tests/.env
docker build \
--build-arg ARGUS_UID=${ARGUS_UID} \
--build-arg ARGUS_GID=${ARGUS_GID} \
-f src/alert/alertmanager/build/Dockerfile \
-t argus-alertmanager:latest .
docker save -o argus-alertmanager-latest.tar argus-alertmanager:latest

View File

@@ -18,6 +18,7 @@ DOMAIN=alertmanager.alert.argus.com
IP=$(ifconfig | grep -A 1 eth0 | grep inet | awk '{print $2}')
echo "current IP: ${IP}"
echo "${IP}" > /private/argus/etc/${DOMAIN}
chmod 755 /private/argus/etc/${DOMAIN}
echo "[INFO] Starting Alertmanager process..."

View File

@@ -55,6 +55,6 @@ alerting:
alertmanagers:
- static_configs:
- targets:
- "localhost:9093" # Alertmanager 地址
- "alertmanager.alert.argus.com:9093" # Alertmanager 地址
```

5
src/alert/tests/.env Normal file
View File

@@ -0,0 +1,5 @@
DATA_ROOT=/home/argus/tmp/private/argus
ARGUS_UID=1048
ARGUS_GID=1048
USE_INTRANET=false

View File

@@ -0,0 +1,5 @@
DATA_ROOT=/home/argus/tmp/private/argus
ARGUS_UID=1048
ARGUS_GID=1048
USE_INTRANET=false

View File

@@ -1,4 +1,3 @@
version: '3.8'
services:
alertmanager:
build:
@@ -17,20 +16,21 @@ services:
ports:
- "${ARGUS_PORT:-9093}:9093"
volumes:
- ${DATA_ROOT:-./data}/alertmanager:/private/argus/alert/alertmanager
- ${DATA_ROOT:-./data}/alert/alertmanager:/private/argus/alert/alertmanager
- ${DATA_ROOT:-./data}/etc:/private/argus/etc
networks:
- argus-network
- argus-debug-net
restart: unless-stopped
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
argus-network:
argus-debug-net:
driver: bridge
name: argus-network
name: argus-debug-net
volumes:
alertmanager_data: