docker一键部署夜莺监控

1、夜莺监控简介

夜莺监控(Nightingale)是一款国产的开源云原生监控系统,它将数据采集、可视化、监控告警、数据分析等多个功能集成于一体,旨在提供一个开箱即用、功能完整的企业级监控解决方案。

2、技术架构与工作流程

夜莺在架构上设计灵活,可以看作一个统一的管理中枢,负责处理告警规则、数据查看和配置管理,而具体的数据采集和存储则可以对接生态中各种成熟的开源组件。

数据采集:支持多种采集器(Agent),如 Categraf(官方推荐)、Telegraf、Grafana-Agent等,它们负责收集监控数据并推送给夜莺服务端。

数据处理与告警:服务端模块接收数据后,可将其写入后端多种时序数据库(如Prometheus、VictoriaMetrics等),并同步执行配置好的告警规则判断。

数据展示与管理:提供统一的Web界面,用于配置告警规则、查看监控仪表盘、管理用户权限等,降低了多系统协同使用的复杂度。

3、功能特性

强大的告警管理:这是夜莺的核心优势。它提供了可视化的告警规则配置界面,改变了传统Prometheus需要修改配置文件的方式,便于团队协作。此外,还支持告警屏蔽、分级收敛(避免告警风暴)、多渠道通知以及通过脚本实现告警自愈等高级功能。

开箱即用的体验:产品内置了针对操作系统、MySQL、Redis等常见组件的监控仪表盘和告警规则模板,导入即可快速使用,大幅降低了初始建设成本。

灵活的部署与扩展:既支持简单的单机Docker快速部署,也支持为应对海量监控指标(数亿时间线)而进行的集群化水平扩展。独特的"中心-边缘"架构还能很好地支持多机房、混合云等复杂网络环境的统一监控管理。

4、主要适用场景

从零搭建监控平台:希望快速获得一个功能完备、易于管理的监控系统。

替代或升级现有监控组合:觉得维护Prometheus、AlertManager、Grafana等多个独立组件过于繁琐和割裂。

应对复杂部署环境:需要统一监控管理多个网络隔离的机房或混合云资源。

需要强化告警管理:团队规模扩大,需要通过更直观的UI和精细化的规则进行告警协同管理

5、拉取categraf镜像

bash 复制代码
```bash
docker pull mysql:8
docker pull redis:latest
docker pull victoriametrics/victoria-metrics:v1.79.12
docker pull flashcatcloud/nightingale:latest
docker pull flashcatcloud/categraf:latest

6、下载源码包

bash 复制代码
cd /data
wget https://github.com/ccfos/nightingale/archive/refs/tags/v8.0.0-beta.10.tar.gz

7、编辑docker-compose.yaml文件

bash 复制代码
tar -zxvf v8.0.0-beta.10.tar.gz
mv nightingale-8.0.0-beta.10 nightingale
cat /data/nightingale/docker/compose-bridge/docker-compose.yaml
networks:
  nightingale:
    driver: bridge
services:
  mysql:
    image: "mysql:8"
    container_name: mysql
    hostname: mysql
    restart: always
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 1234
    volumes:
      - ./mysqldata:/var/lib/mysql/
      - ../initsql:/docker-entrypoint-initdb.d/
      - ./etc-mysql/my.cnf:/etc/my.cnf
    networks:
      - nightingale
    ports:
      - "3306:3306"
  redis:
    image: "redis:latest"
    container_name: redis
    hostname: redis
    restart: always
    environment:
      TZ: Asia/Shanghai
    networks:
      - nightingale
    ports:
      - "6379:6379"
  victoriametrics:
    image: victoriametrics/victoria-metrics:v1.79.12
    container_name: victoriametrics
    hostname: victoriametrics
    restart: always
    environment:
      TZ: Asia/Shanghai
    ports:
      - "8428:8428"
    networks:
      - nightingale
    command:
      - "--loggerTimezone=Asia/Shanghai"
  nightingale:
    image: flashcatcloud/nightingale:latest
    container_name: nightingale
    hostname: nightingale
    restart: always
    environment:
      GIN_MODE: release
      TZ: Asia/Shanghai
      WAIT_HOSTS: mysql:3306, redis:6379
    volumes:
      - ./etc-nightingale:/app/etc
    networks:
      - nightingale
    ports:
      - "17000:17000"
      - "20090:20090"
    depends_on:
      - mysql
      - redis
      - victoriametrics
    command: >
      sh -c "/app/n9e"
  categraf:
    image: "flashcatcloud/categraf:latest"
    container_name: "categraf"
    hostname: "categraf01"
    restart: always
    environment:
      TZ: Asia/Shanghai
      HOST_PROC: /hostfs/proc
      HOST_SYS: /hostfs/sys
      HOST_MOUNT_PREFIX: /hostfs
      WAIT_HOSTS: nightingale:17000, nightingale:20090
    volumes:
      - ./etc-categraf:/etc/categraf/conf
      - /:/hostfs
    networks:
      - nightingale
    depends_on:
      - nightingale

8、启动categraf容器

bash 复制代码
cd /data/nightingale/docker/compose-bridge
docker-compose up -d
docker-compose ps

9、访问categraf服务

bash 复制代码
浏览器访问: http://192.168.112.115:7000
默认用户名密码: root/root.2020


相关推荐
一直都在57214 小时前
深入理解 synchronized:到底锁的是谁?
运维·服务器
RisunJan14 小时前
Linux命令-mkbootdisk(可建立目前系统的启动盘)
linux·运维·服务器
Sst的头号粉丝14 小时前
Docker——compose
运维·docker·容器
朽棘不雕15 小时前
Linux工具(上)
linux·运维·服务器
daad77715 小时前
bitcoin HD钱包示例 真实使命7
运维·服务器
Zero-Talent15 小时前
TCP/IP协议
运维·服务器·网络
桌面运维家15 小时前
Windows/Linux云桌面:高校VDisk方案部署指南
linux·运维·windows
Du_chong_huan15 小时前
1.7 计算机网络和因特网的历史 | 《计算机网络:自顶向下方法》精读版
运维·服务器·网络
ZZZKKKRTSAE15 小时前
rhel9快速上手Docker
运维·docker·容器
筱顾大牛15 小时前
Docker安装教程(加汉化!超详细!!!)
运维·docker·容器