news 2026/2/27 7:31:44

WatchAlert 轻量级AI日志告警 - Docker安装部署

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
WatchAlert 轻量级AI日志告警 - Docker安装部署

全面兼容主流可观测技术栈

监控类型 支持的数据源

Metrics Prometheus、VictoriaMetrics

Logs Loki、ElasticSearch、VictoriaLogs、ClickHouse、SLS(阿里云日志服务)、TLS(火山云日志服务,开发中)、CLS(腾讯云日志服务,开发中)

Traces Jaeger

Events Kubernetes 事件监控

基础协议监测 HTTP、ICMP、TCP、SSL

告警机器人 飞书、钉钉、企业微信、邮件、自定义 Webhook、Slack

🔍 核心亮点

🧠 AI 智能分析

基于 AI 技术对告警内容进行深度语义解析,自动识别异常模式

提供根因推测、排查建议与修复思路,让每一次告警都“言之有物”

🕰️ 完善的值班机制

支持轮班排班、节假日调整、值班交接等场景

告警通知精准匹配责任人,确保第一时间响应

⚡ 告警升级机制

多级告警策略配置:从首次触发到升级通知,层层保障不漏报支持超时重试、通知升级、负责人转接等功能,保障告警闭环处理

📊 Namespace 级告警分类

支持以命名空间(Namespace)为单位进行告警分组管理

清晰分类,快速定位,大幅提升故障处理效率

安装部署

环境准备

要安装最新版Docker-CE,支持compose V2

网络支持访问Dockerhub,国内可能需要配置加速源。

已安装Git,用于下载部署文件。

需要占用本机TCP端口:80、3306、6379、9001,确保空闲。

Docker 国内安装

PS:安装最新版,使用compose V2部署。

https://mirror.nju.edu.cn/mirrorz-help/docker-ce/?mirror=NJU

Docker Hub国内加速

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": [

"https://docker-0.unsee.tech",

"https://docker-cf.registry.cyou",

"https://docker.1panel.live"

]

}

EOF

systemctl daemon-reload && sudo systemctl restart docker

systemctl enable docker

Git 下载部署文件编排启动容器

PS:如果没git,可用dnf install git或 apt install git 安装。

cd /opt

git clone https://github.com/opsre/WatchAlert.git

# 国内如果无法通过Github下载,可替换为在Gitee下载> git clone https://gitee.com/semaik/WatchAlert.git

cd /opt/WatchAlert/deploy/docker-compose

# 进入docker-compose.yaml 文件所在目录进行部署

sed -i 's|docker.io/||g' docker-compose.yaml

# 删除docker.io字段,确保自动使用加速器。

docker compose up -d

# 拉取镜像并在后台启动

docker compose ps

# 查看启动状态,注意第一次启动需要启动init-mysql 容器用于初始化数据库,初始化完成后会自动停止。

访问Web 初始化admin密码

浏览器打开http://你的主机IP,第一次访问如下。点击初始化 admin密码。

输入两次密码后点击提交,然后使用admin账号进行登录。

登录后界面如下

部署后删除init-mysql容器和升级操作

将docker-compose.yaml 文件重写如下

vim /opt/WatchAlert/deploy/docker-compose/docker-compose.yaml

PS:删除init-mysql容器是为了防止下次启动再次导入数据库,但注意要在成功初始化密码登录Web后操作。

services:

w8t-service:

container_name: w8t-service

image: docker.io/cairry/watchalert:latest

environment:

- TZ=Asia/Shanghai

volumes:

- ../../config/config.yaml:/app/config/config.yaml

restart: always

privileged: true

ports:

- "9001:9001"

healthcheck:

test: ["CMD", "wget", "localhost:9001/hello"]

interval: 5s

timeout: 2s

retries: 10

depends_on:

- w8t-mysql

- w8t-redis

networks:

- w8t

w8t-web:

container_name: w8t-web

image: docker.io/cairry/watchalert-web:latest

environment:

- TZ=Asia/Shanghai

restart: always

privileged: true

ports:

- "80:80"

networks:

- w8t

w8t-redis:

container_name: w8t-redis

image: redis:latest

ports:

- "6379:6379"

command: [ "redis-server", "/usr/local/etc/redis/redis.conf" ]

volumes:

- ./redis:/data

- ./redis.conf:/usr/local/etc/redis/redis.conf:ro

environment:

- TZ=Asia/Shanghai

restart: always

networks:

- w8t

w8t-mysql:

container_name: w8t-mysql

image: mysql:8.0

ports:

- "3306:3306"

volumes:

- ./mysql:/var/lib/mysql

environment:

- TZ=Asia/Shanghai

- MYSQL_ROOT_PASSWORD=w8t.123

- MYSQL_DATABASE=watchalert

restart: always

networks:

- w8t

networks:

w8t:

driver: bridge

删除init-mysql容器

docker compose up -d --remove-orphans

# 删除多余容器

docker compose ps

NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS

w8t-mysql mysql:8.0 "docker-entrypoint.s…" w8t-mysql 29 minutes ago Up 29 minutes 0.0.0.0:3306->3306/tcp, [::]:3306->3306/tcp, 33060/tcp

w8t-redis redis:latest "docker-entrypoint.s…" w8t-redis 29 minutes ago Up 29 minutes 0.0.0.0:6379->6379/tcp, [::]:6379->6379/tcp

w8t-service docker.io/cairry/watchalert:latest "/app/w8t" w8t-service 29 minutes ago Up 29 minutes (unhealthy) 0.0.0.0:9001->9001/tcp, [::]:9001->9001/tcp

w8t-web docker.io/cairry/watchalert-web:latest "/docker-entrypoint.…" w8t-web 29 minutes ago Up 29 minutes 0.0.0.0:80->80/tcp, [::]:80->80/tcp

# 查看状态如上

升级到最新版

docker compose pull

docker compose up -d

## 拉取最新版镜像,并更新运行中的容器镜像为最新版。

日志数据源:ELK部署和Vlog部署教程

ELK系列:https://songxwn.com/categories/linux/ELK/

VictoriaLogs系列:https://songxwn.com/tags/VictoriaLogs/

Docker Compose配置文件讲解

用于定义和管理一个名为 WatchAlert 的多容器应用。它包含四个服务:w8t-service、w8t-web、w8t-redis 和 w8t-mysql,并使用一个名为 w8t 的自定义网络。下面是详细讲解:

🧩 总体结构说明

使用 docker-compose 来编排多个容器服务。

所有服务都连接到同一个网络 w8t,便于容器之间通信。

设置了时区为 Asia/Shanghai,适用于中国大陆或港澳地区。

🚀 服务详解

1. w8t-service:主后端服务

镜像:cairry/watchalert:latest

端口映射:将容器的 9001 端口映射到主机的 9001 端口。

配置挂载:将主机上的 ../../config/config.yaml 挂载到容器内 /app/config/config.yaml。

健康检查:

每 5 秒检查一次 /hello 接口是否可访问。

超时时间为 2 秒,最多重试 10 次。

依赖服务:启动前依赖 w8t-mysql 和 w8t-redis。

权限:privileged: true 赋予容器更高权限(慎用)。

2. w8t-web:前端 Web 服务

镜像:cairry/watchalert-web:latest

端口映射:容器的 80 端口映射到主机的 80 端口。

权限:同样设置为 privileged: true。

用途:提供用户界面,供浏览器访问。

3. w8t-redis:缓存数据库服务

镜像:redis:latest

端口映射:6379 是 Redis 默认端口。

配置挂载:

数据目录挂载到 ./redis。

Redis 配置文件挂载为只读到 /usr/local/etc/redis/redis.conf。

启动命令:使用指定配置文件启动 Redis。

4. w8t-mysql:关系型数据库服务

镜像:mysql:8.0

端口映射:3306 是 MySQL 默认端口。

数据挂载:将数据目录挂载到主机的 ./mysql。

环境变量:

设置时区。

设置 root 密码为 w8t.123。

初始化数据库名为 watchalert。

🌐 网络配置

networks:

w8t:

driver: bridge

所有服务都连接到 w8t 网络。

使用 bridge 驱动,适合单机部署。

基础配置流程

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/26 9:14:30

宽论框架下量化交易三大工具的协同作战

宽论作为一种科学、系统的交易理念&#xff0c;其量化交易的三大工具 —— 弹论、CDVA 分型以及带鱼短鱼理论&#xff0c;在市场实战中相互配合、协同作战&#xff0c;为投资者构建了一个强大的交易体系。深入探究这三大工具的协同机制&#xff0c;对投资者提升交易水平具有重要…

作者头像 李华
网站建设 2026/2/19 13:13:55

Path of Building:流放之路角色构建的艺术与科学

在《流放之路》这个充满无限可能的游戏世界里&#xff0c;每个玩家都是自己角色的建筑师。而Path of Building&#xff0c;这个被誉为"流放者必备工具"的离线构建工具&#xff0c;正是将这种建筑艺术推向极致的魔法画笔。它不仅仅是一个工具&#xff0c;更是一位懂你…

作者头像 李华
网站建设 2026/2/25 1:18:23

Beyond Compare 5密钥生成技术深度解析:逆向工程与数字签名机制

在软件授权验证领域&#xff0c;Beyond Compare 5作为一款专业的文件对比工具&#xff0c;其授权机制采用了复杂的RSA数字签名技术。本文将从技术原理、安全机制和实现方法三个维度&#xff0c;深入剖析该软件的密钥生成技术。 【免费下载链接】BCompare_Keygen Keygen for BCo…

作者头像 李华
网站建设 2026/2/21 8:29:37

达梦数据库中视图与索引的创建及使用详解

索引&#xff1a;在数据库管理与应用开发过程中&#xff0c;视图和索引是两个非常重要的数据库对象。视图能够简化复杂查询、保障数据安全&#xff0c;索引则可以大幅提升数据查询效率。本文将针对达梦&#xff08;DM&#xff09;数据库&#xff0c;详细介绍视图和索引的概念、…

作者头像 李华
网站建设 2026/2/9 2:44:51

macOS NTFS磁盘读写解决方案:技术实现与操作实践

macOS NTFS磁盘读写解决方案&#xff1a;技术实现与操作实践 【免费下载链接】ntfstool A ntfs tool for mac 项目地址: https://gitcode.com/gh_mirrors/nt/ntfstool 在跨平台数据交换日益频繁的今天&#xff0c;macOS用户面临着一个持续存在的技术挑战&#xff1a;对N…

作者头像 李华