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


相关推荐
Joy T5 小时前
【AI运维】02 云上基础部署:ECS、OSS 与 Nginx 的体系化理解与实践
运维·nginx
石小千6 小时前
Nexus升级(3.63.0--3.87.1)
运维
魂万劫7 小时前
如何在虚拟机VM上|Linux环境内安装windows
linux·运维·服务器·windows
数字化转型20258 小时前
SAP Signavio 在风机制造行业的深度应用研究
大数据·运维·人工智能
WordPress学习笔记8 小时前
wordpress根据分类ID调用分类名称和分类描述
运维·wordpress
qq_455760859 小时前
docker - 镜像、存储卷和网络深入理解
运维·docker·容器
一只废狗狗狗狗狗狗狗狗狗10 小时前
基于docker desktop的hadoop集群结点启动失败问题
hadoop·docker·docker desktop
九思x11 小时前
Linux 系统安装 JDK 17
linux·运维
HIT_Weston11 小时前
77、【Ubuntu】【Hugo】搭建私人博客:Detached HEAD
linux·运维·ubuntu
再睡一夏就好11 小时前
多线程并发编程核心:互斥与同步的深度解析及生产者消费者模型两种实现
linux·运维·服务器·jvm·c++·笔记