云原生监控告警新选择:夜莺(Nightingale)在K8S集群部署与私有镜像构建指南

[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ]

📢 大家好,我是 WeiyiGeek,一名深耕安全运维开发(SecOpsDev)领域的技术从业者,致力于探索DevOps与安全的融合(DevSecOps),自动化运维工具开发与实践,企业网络安全防护,欢迎各位道友一起学习交流、一起进步 🚀,若此文对你有帮助,一定记得倒点个关注⭐与小红星❤️,收藏学习不迷路 😋 。

0x00 前言简述

描述:上一篇【国产化监控新选择!夜莺Nightingale在OpenEuler上的极简部署指南】,作者简单介绍了夜莺监控系统,以及如何通过二进制的方式部署夜莺(nightingale),本篇将介绍如何使用自行构建夜莺监控容器镜像,并通过docker容器化快部署夜莺,最后作者以生产环境为例,演示在 Kubernetes 集群环境下部署一个最新版本的夜莺监控系统,以便于后续接入 Prometheus 以及 VictoriaMetrics 监控指标数据和 jaeger 链路追踪,并使用夜莺监控系统进行分组告警通知和抑制告警。

原文链接: https://articles.zsxq.com/id_pe9p5cw2x8f2.html

实践环境:

# 获取最新版本号,截止发稿前最新版本为 v8.0.0-beta.14
curl -s https://api.github.com/repos/ccfos/nightingale/releases/latest | grep "tag_name" | cut -d '"' -f 4
  # v8.0.0-beta.14

# 获取最新二进制包下载链接地址
curl -s https://api.github.com/repos/ccfos/nightingale/releases/latest | grep "browser_download_url" | grep "linux-amd64.tar.gz" | cut -d '"' -f 4
  # https://github.com/ccfos/nightingale/releases/download/v8.0.0-beta.14/n9e-v8.0.0-beta.14-linux-amd64.tar.gz

0x01 容器化部署夜莺监控系统

Docker 容器方式部署

描述:夜莺官网已经写的非常详细了,你只需要安装 docker 以及 docker-compose 环境,便可开箱即用,此处不再赘述。

Docker 环境说明

$ docker version
Client: Docker Engine - Community
 Version:           26.1.3
Server: Docker Engine - Community
 Engine:
  Version:          26.1.3

$ docker-compose version
Docker Compose version v2.23.0

操作实践

# 方式1.拉取源代码
git clone --depth=1 https://github.com/ccfos/nightingale.git

# 方式2.二进制安装包
mkdir -vpls /opt/n9e && cd /opt/n9e
download_url=$(curl -s https://api.github.com/repos/ccfos/nightingale/releases/latest | grep "browser_download_url" | grep "linux-amd64.tar.gz" | cut -d '"' -f 4)
wget https://gh.wygk.eu.org/$download_url
tar -zxvf ${download_url##*/}

# 不论通过那种方式,解压后都有一个 docker/compose-bridge 目录,进入这个目录执行 docker-compose up -d 命令即可(国内网络,镜像下载可能会失败,您需要自行解决科学上网的问题)
ls  docker/compose-bridge 
# docker-compose.yaml  etc-categraf  etc-mysql  etc-nightingale

cd /opt/n9e/docker/compose-bridge
docker compose up -d
[+] Running 5/5
#  ✔ Container victoriametrics  Started        0.6s
#  ✔ Container redis            Started        0.6s
#  ✔ Container mysql            Started        0.6s
#  ✔ Container nightingale      Started        0.2s
#  ✔ Container categraf         Started

执行完毕后,Docker compose 便会启动了多个容器,分别是:

  • victoriametrics:时序数据库,和 Prometheus 兼容,性能更好

  • redis:缓存数据库,夜莺使用 Redis 来存储 jwt token 和机器的心跳元信息

  • mysql:关系型数据库,夜莺使用 MySQL 来存储用户信息、告警规则、仪表盘等配置类数据

  • nightingale:夜莺监控的核心服务

  • categraf:监控数据采集器,负责采集主机的 CPU、内存、磁盘等指标数据.

当然你也可以单独只运行 nightingale (主要是临时测试使用),注意:未持久化数据容器重启后丢失,例如:

# 创建并运行夜莺监控容器
docker run -d --name nightingale \
  -e GIN_MODE=release \
  -e TZ=Asia/Shanghai \
  -p 17000:17000 \
  -p 20090:20090 \
  --restart=always \
  flashcatcloud/nightingale:latest \
  sh -c "/app/n9e"

# 查看容器运行状态
docker ps
# CONTAINER ID   IMAGE                                           COMMAND            CREATED         STATUS         PORTS                                                                                          NAMES
# 504c6c8d7a2f   flashcatcloud/nightingale:latest                "sh -c /app/n9e"   4 seconds ago   Up 3 seconds   0.0.0.0:20090->20090/tcp, :::20090->20090/tcp, 0.0.0.0:17000->17000/tcp, :::17000->17000/tcp   nightingale

# 若开启了主机防火墙一定要开放 17000 和 20090 端口,否则无法访问夜莺监控系统
firewall-cmd --add-port=17000/tcp --add-port=20090/tcp --permanent
firewall-cmd --reload

等待几分钟,夜莺监控系统便会启动成功,你可以通过浏览器访问 http://127.0.0.1:17000 来查看夜莺的 Web 界面,默认用户名是 root,默认密码是 root.2020。

注意:请把 127.0.0.1 替换成你的服务器 IP 地址。

weiyigeek.top-登录容器部署的夜莺图

参考来源:https://n9e.github.io/zh/docs/install/compose/

Kubernetes 集群环境中部署

描述:考虑到在当下企业生产环境中,通常会使用 Kubernetes 容器编排工具来管理容器化应用,而不是 Docker 以及其他容器。此外由于笔者企业内部有安全合规要求,通常不会直接使用外部工具提供的镜像,而是自行构建夜莺监控系统的容器镜像,并通过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

全栈工程师修炼指南

原创不易,赞赏鼓励!

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

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

打赏作者

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

抵扣说明:

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

余额充值