Code Monkey home page Code Monkey logo

prometheus-manager's Introduction

Moon 监控平台

logo prometheus

License Release GitHub pull requests GitHub closed pull requests GitHub issues GitHub closed issues Stars Forks

1. 概述

在漫长黑夜中守护你的一轮明月

项目简介

Moon 是一款集成prometheus系列的监控管理工具,专为简化Prometheus监控系统的运维工作而设计。该工具提供了一站式的解决方案,能够集中管理和配置多个Prometheus实例及其相关的服务发现、规则集和警报通知。

UI展示

  • 系统大盘 系统大盘

  • 实时告警 实时告警

  • 告警策略 告警策略

  • 策略编辑 策略编辑

在线体验

系统架构

moon.svg

2. 快速开始

2.1 系统要求

  • 操作系统:Linux、macOS、Windows
  • Go语言环境:Go 1.20+
  • Docker (可选,用于快速部署)
  • K8s (暂时未尝试)
  • 环境依赖:
    • mysql数据库:8.0+(可选)
    • redis数据库(可选)
    • kafka消息队列(可选)

    注意:

    如果没有这些环境,可以直接进入`./deploy/rely`录下, 执行`docker-compose up -d`启动本地默认依赖, 该依赖包含了mysql,redis,kafka等,你可以选择屏蔽掉redis和kafka, 只启动mysql部分

2.2 安装部署

docker 部署

镜像仓库地址:https://hub.docker.com/repositories/aidemoonio

  • 拉取镜像
# agent
docker pull aidemoonio/moon-agent:latest
# server
docker pull aidemoonio/moon-server:latest
  • 启动服务
# server
docker run -d --name moon-server \
-p 8001:8000 \
-p 8888:8888 \
-p 8000:80 \
-v ./moon/server/db:/app/db \
-v ./moon/server/cache:/app/cache \
-v ./moon/server/log:/app/log \
aidemoonio/moon-server:latest 

# agent
docker run -d --name moon-agent \
-p 8002:8000 \
-v ./moon/agent/cache:/app/cache \
-v ./moon/agent/log:/app/log \
aidemoonio/moon-agent:latest
  • 访问服务

本地访问地址:http://localhost:8000/ 其他IP访问需要配置nginx,参考nginx

docker-compose 部署

    1. 使用默认配置部署
# docker-compose.yaml
version: "3.8"
services:
  moon-server:
    image: aidemoonio/moon-server:latest
    volumes:
      - "./moon/server/db:/app/db"
      - "./moon/server/cache:/app/cache"
      - "./moon/server/log:/app/log"
    ports:
      - "8000:80"
      - "8001:8000"
      - "8888:8888"
  moon-agent:
    image: aidemoonio/moon-agent:latest
    volumes:
      - "./moon/agent/cache:/app/cache"
      - "./moon/agent/log:/app/log"
    ports:
      - "8002:8000"
    depends_on:
      - moon-server
    1. 启动
docker-compose up -d
# 查看
docker-compose ps

k8s 部署

    1. 使用默认配置部署
    kubectl apply -f ./_output/yamls/moon.yaml
    1. 自定义部署,生成部署文件
    # 镜像需要更换成你自己的镜像
    make deploy-yaml
    kubectl apply -f ./_output/yamls/moon.yaml
    # or
    make deploy
  • 访问服务

服务端口通过NodePort暴露

本地访问moon-server所在的宿主机IP:http://宿主机IP:31008/

用户名:admin

密码: 123456

3. 功能详解

3.1 系统管理

用户管理

  • 功能说明:

主要管理用户信息,包括新增、修改、删除等操作。该系统不提供用户注册功能,用户信息由管理员添加。

  • 注意事项:

角色管理

  • 功能说明:

主要管理角色信息,包括新增、修改、删除等操作。通过权限和角色绑定,实现权限控制,精确到接口粒度。 采用RBAC模式实现,具体请参见RBAC

  • 注意事项:

权限管理

  • 功能说明:

主要管理权限信息,包括新增、修改、删除等操作。这里维护系统全部需要权限控制的接口。系统新增接口, 需要再次录入到权限管理中。

字典管理

  • 功能说明:

主要管理字典信息,包括新增、修改、删除等操作。字典信息主要用于系统中需要使用到的枚举值,比如状态、类型、告警等级等。

3.2 告警配置

  • 功能说明:

主要维护告警规则组、告警规则,通过表单方式维护prometheus规则信息,并支持多数据源场景,我们在配置规则时候,可以选择不同数据源,编写不同的报警规则,完成告警规则配置。 同时,还支持配置报警页面,告警事件发生后,能够把相同类型的各种规则事件归类到同一个报警页面,帮助我们运维同学集中处理告警。

3.3 实时告警

  • 功能说明:

主要是展示产生的告警数据,并按照不同报警页面分类展示。每一条告警数据除了展示基本信息外, 还可以展示持续时常,支持告警静默、强制删除、告警升级等操作。

3.4 历史告警

  • 功能说明:

主要用于查询历史告警,提供统计数据大盘,为复盘提供数据支撑

3.5 告警通知

  • 功能说明:

主要提供报警组、报警hook等通信方式维护,为报警策略提供通知对象数据。

4. 功能TODO

5. 常见问题解答

6. 贡献者

这个项目的存在要感谢所有做出贡献的人。 [Contributors].

7. Star 历史

Star History Chart

prometheus-manager's People

Contributors

aide-cloud avatar mmungdong avatar sumengzs avatar tyvekzhang avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.