当前位置: 首页 > java >正文

Nightingale监控系统介绍与部署(可离线部署)

Nightingale 介绍

Nightingale(夜莺)是一个开源的企业级监控解决方案,由 Flashcat 开发和维护,广泛应用于服务器、云服务和应用的性能监控。它结合了 Prometheus 的时间序列数据存储和 Grafana 的可视化功能,提供强大的监控、告警和仪表盘功能,特别适合需要高可用性和可扩展性的企业环境。

主要功能
  • 时间序列数据收集:支持多种数据采集方式(如 Prometheus、VictoriaMetrics),通过 Categraf 采集主机、网络、数据库等指标。
  • 灵活的告警系统:支持多维度告警规则配置,可通过邮件、短信、钉钉、微信等渠道发送告警。
  • 可视化仪表盘:提供丰富的图形化界面,支持自定义仪表盘,部分兼容 Grafana 仪表盘。
  • 高可用性:支持集群部署,适合大规模分布式系统。
  • 开放生态:与 Prometheus、VictoriaMetrics 等开源工具无缝集成,支持多种数据源。
适用场景
  • 企业 IT 基础设施监控(服务器、容器、数据库)。
  • 云计算和微服务环境下的性能管理。
  • DevOps 团队的告警和问题排查。
项目信息
  • GitHub 仓库:GitHub - ccfos/nightingale: Nightingale for monitoring and alerting, just as Grafana for visualization.
  • 官方文档:Home · ccfos/nightingale Wiki · GitHub

安装环境

  • 操作系统:Ubuntu 18.04 或更高版本(或其他支持 Docker 的 Linux 发行版)。
  • 硬件要求:至少 2 核 CPU、4GB 内存、20GB 磁盘空间。
  • 网络要求:确保能访问 github.com 和 dockerproxy.net,端口 3306、6379、8428、17000、20090 未被占用。
  • 工具要求
    • Docker
    • Docker Compose
    • Git

安装步骤

1. 安装前提条件

确保虚拟机已安装以下工具:

  • Docker
    sudo apt update
    sudo apt install -y docker.io
    sudo systemctl start docker
    sudo systemctl enable docker
    验证:
    docker --version
  • Docker Compose
    sudo apt install -y docker-compose
    验证:
    docker-compose --version
  • Git
    sudo apt install -y git
    验证:
    git --version
2. 克隆 Nightingale 仓库

下载 Nightingale 源代码:

cd ~
git clone https://github.com/ccfos/nightingale.git

进入 Docker Compose 目录:

cd ~/nightingale/nightingale/docker/compose-bridge
3. 拉取镜像(使用 dockerproxy.net)

根据 docker-compose.yaml(未修改,包含 mysql:8、redis:6.2、victoriametrics/victoria-metrics:v1.79.12、flashcatcloud/nightingale:latest、flashcatcloud/categraf:latest),从 dockerproxy.net 拉取所有镜像:

docker pull dockerproxy.net/flashcatcloud/nightingale:latest
docker pull dockerproxy.net/library/mysql:8
docker pull dockerproxy.net/library/redis:6.2
docker pull dockerproxy.net/victoriametrics/victoria-metrics:v1.79.12
docker pull dockerproxy.net/flashcatcloud/categraf:latest
4. 重命名镜像(使用 docker tag)

将 dockerproxy.net 的镜像重命名为 docker-compose.yaml 所需的名称:

docker tag dockerproxy.net/flashcatcloud/nightingale:latest flashcatcloud/nightingale:latest
docker tag dockerproxy.net/library/mysql:8 mysql:8
docker tag dockerproxy.net/library/redis:6.2 redis:6.2
docker tag dockerproxy.net/victoriametrics/victoria-metrics:v1.79.12 victoriametrics/victoria-metrics:v1.79.12
docker tag dockerproxy.net/flashcatcloud/categraf:latest flashcatcloud/categraf:latest
5. 删除原始 dockerproxy.net 镜像

移除 dockerproxy.net 的镜像以节省空间:

docker rmi dockerproxy.net/flashcatcloud/nightingale:latest
docker rmi dockerproxy.net/library/mysql:8
docker rmi dockerproxy.net/library/redis:6.2
docker rmi dockerproxy.net/victoriametrics/victoria-metrics:v1.79.12
docker rmi dockerproxy.net/flashcatcloud/categraf:latest
6. 验证镜像

确认所有镜像存在且正确:

docker images
  • 应包含:
    • flashcatcloud/nightingale:latest
    • mysql:8
    • redis:6.2
    • victoriametrics/victoria-metrics:v1.79.12
    • flashcatcloud/categraf:latest
7. 保存镜像(用于离线部署)

将镜像导出为 tar 文件,以便在其他机器上离线部署:

docker save -o nightingale.tar flashcatcloud/nightingale:latest
docker save -o mysql.tar mysql:8
docker save -o redis.tar redis:6.2
docker save -o victoriametrics.tar victoriametrics/victoria-metrics:v1.79.12
docker save -o categraf.tar flashcatcloud/categraf:latest
  • 这些 .tar 文件(nightingale.tar、mysql.tar、redis.tar、victoriametrics.tar、categraf.tar)将保存在当前目录。
8. 使用 MobaXterm 上传镜像(离线部署)

在本地机器上使用 MobaXterm 将保存的镜像文件上传到目标机器:

  1. 打开 MobaXterm,连接到目标虚拟机(通过 SSH)。
  2. 在 MobaXterm 左侧的“文件”面板,找到包含 .tar 文件的本地目录(例如,您的 PC 上的 C:\Downloads)。
  3. 将以下文件拖放到 MobaXterm 的文件面板中的目标目录(例如 /home/leo/nightingale/nightingale/docker/compose-bridge):
    • nightingale.tar
    • mysql.tar
    • redis.tar
    • victoriametrics.tar
    • categraf.tar
  4. 验证文件是否上传成功:
    ls -lh ~/nightingale/nightingale/docker/compose-bridge
9. 加载镜像(在离线机器上)

在目标机器上导入镜像:

cd ~/nightingale/nightingale/docker/compose-bridge
docker load -i nightingale.tar
docker load -i mysql.tar
docker load -i redis.tar
docker load -i victoriametrics.tar
docker load -i categraf.tar
  • 验证导入的镜像:
    docker images
10. 清理旧状态

清理之前的容器和卷,以避免冲突:

cd ~/nightingale/nightingale/docker/compose-bridge
docker-compose down
docker system prune -f
docker volume prune -f
11. 运行 Docker Compose

启动 Nightingale:

docker-compose up -d
  • 等待 1-2 分钟以确保容器初始化。
12. 验证容器状态

检查容器状态:

docker-compose ps
  • 确保所有服务(mysql、redis、victoriametrics、nightingale、categraf)状态为 Up。
  • 如果有容器状态为 Restarting 或 Exited,查看日志:
    docker-compose logs <服务名>
    例如:
    docker-compose logs mysql
    docker-compose logs nightingale
13. 访问 Nightingale Web 界面
  • 根据 docker-compose.yaml,Nightingale 监听端口 17000。在浏览器中访问:
    http://<虚拟机IP>:17000
    • 例如,如果虚拟机 IP 是 192.168.1.100,访问 http://192.168.1.100:17000。
    • 默认登录凭据:
      • 用户名:root
      • 密码:root.2020
http://www.xdnf.cn/news/6246.html

相关文章:

  • sql server 2019 将单用户状态修改为多用户状态
  • map和unordered_map
  • 七部门:设立“国家创业投资引导基金”,优先支持取得关键核心技术突破的科技型企业上市融资
  • libmemcached库api接口讲解零
  • 使用frp实现客户端开机自启(含静默运行脚本)
  • IEEE PRMVAI 2025 “人工智能的应用“分论坛
  • 在 Rocky Linux 上手动安装 zsh
  • 龙虎榜——20250514
  • Postman接口测试
  • 操作系统实验 实验4 页面置换算法
  • python库sqlalchemy
  • 现代计算机图形学Games101入门笔记(八)
  • K8S redis 部署
  • 火线、零线、地线
  • 【HALCON】 HALCON 教程:正确使用 `get_dict_tuple` 获取字典内容
  • win11 VSCode 强制弹窗微软登录
  • 【数据管理平台测试文档】
  • 40-canvas中文字的横向对齐方式
  • CSS 锚点滑动效果的技术
  • NDM:高效全能的下载工具
  • 【设计模式】- 创建者模式
  • 2011-2020年各省粗离婚率数据
  • 记录: Windows下远程Liunx 系统xrdp 用到的一些小问题(免费踩坑 记录)
  • Qwen3模型架构、训练方法梳理
  • 因果推断 | 用SHAP分值等价因果效应值进行反事实推理
  • 怎样将MM模块常用报表设置为ALV默认格式(MB52、MB5B、ME2M、ME1M等)
  • Redis实现-优惠卷秒杀(基础版本)
  • 数据安全学习指南(1.0版本)
  • 开发指南112-样式的优先级别
  • Ascend的aclgraph(七)AclConcreteGraph:capture_begin