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

Nightingale 介绍

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

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

安装环境

  • 操作系统: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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Oreo.Li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值