找回密码
 立即注册
查看: 669|回复: 0

[linux] Linux本地部署Nightingale夜莺监控并实现远程访问提高运维效率

[复制链接]

19

主题

0

回帖

83

积分

注册会员

积分
83
发表于 2024-5-25 13:56:18 | 显示全部楼层 |阅读模式
本帖最后由 lavonXV 于 2024-5-25 13:58 编辑

Nightingale(夜莺)是一款开源的监控系统,可以帮助运维人员实时监控服务器和应用的状态,提高系统稳定性和运维效率。本文将详细介绍如何在linux环境下本地部署Nightingale,并配置远程访问功能。

1. 准备工作

在开始部署之前,需要确保系统满足以下基本要求:

(1) 一台运行Linux操作系统的服务器(例如:Ubuntu 20.04)。
(2) 安装了Docker和Docker Compose。
(3) 配置好防火墙,允许相应端口的访问。

1.1 安装Docker

如果尚未安装Docker,可以通过以下命令进行安装:


  1. sudo apt-get update
  2. sudo apt-get install -y docker.io
  3. sudo systemctl start docker
  4. sudo systemctl enable docker
复制代码



验证Docker是否安装成功:


  1. docker --version
复制代码



1.2 安装Docker Compose

Docker Compose可以帮助我们更方便地管理多容器应用。使用以下命令安装Docker Compose:


  1. sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  2. sudo chmod +x /usr/local/bin/docker-compose
复制代码



验证Docker Compose是否安装成功:


  1. docker-compose --version
复制代码



2. 下载并配置Nightingale

2.1 下载Nightingale源码

首先,克隆Nightingale的GitHub仓库:


  1. git clone <a href="https://github.com/ccfos/nightingale.git" target="_blank">https://github.com/ccfos/nightingale.git</a>
  2. cd nightingale
复制代码



2.2 配置Docker Compose文件

在Nightingale项目目录中,找到`docker-compose.yml`文件。我们需要对该文件进行一些修改,以便适应我们的部署环境。

编辑`docker-compose.yml`,确保配置如下:


  1. version: '3'

  2. services:
  3.   n9e:
  4.     image: n9e/n9e:v5.1.0
  5.     container_name: n9e
  6.     restart: always
  7.     ports:
  8.       - "17000:17000"
  9.       - "17001:17001"
  10.     volumes:
  11.       - ./n9e-data:/data
  12.     environment:
  13.       - MYSQL_HOST=mysql
  14.       - MYSQL_PORT=3306
  15.       - MYSQL_USER=root
  16.       - MYSQL_PASS=yourpassword
  17.       - MYSQL_DB=n9e
  18.       - REDIS_ADDR=redis:6379
  19.       - JWT_SECRET=your_jwt_secret
  20.       - ADMIN_Email[email protected]
  21.       - ADMIN_PASS=admin_password

  22.   mysql:
  23.     image: mysql:5.7
  24.     container_name: mysql
  25.     restart: always
  26.     environment:
  27.       MYSQL_ROOT_PASSWORD: yourpassword
  28.       MYSQL_DATABASE: n9e
  29.     volumes:
  30.       - ./mysql-data:/var/lib/mysql

  31.   redis:
  32.     image: redis:5.0
  33.     container_name: redis
  34.     restart: always
  35.     volumes:
  36.       - ./redis-data:/data
复制代码


将`yourpassword`和`your_jwt_secret`替换为实际的密码和密钥。

3. 启动Nightingale

配置完成后,通过以下命令启动Nightingale服务:


  1. docker-compose up -d
复制代码


此时,Nightingale会自动启动,并通过`17000`和`17001`端口提供服务。

4. 配置防火墙和远程访问

为了实现远程访问,需要配置防火墙以允许相关端口的访问。

4.1 配置防火墙

使用`ufw`(Uncomplicated Firewall)配置防火墙,允许`17000`和`17001`端口的访问:


  1. sudo ufw allow 17000/tcp
  2. sudo ufw allow 17001/tcp
  3. sudo ufw enable
复制代码



4.2 配置反向代理(可选)

为了提高安全性和便捷性,可以使用Nginx配置反向代理。

4.2.1 安装Nginx

使用以下命令安装Nginx:


  1. sudo apt-get install -y nginx
复制代码



4.2.2 配置Nginx

在`/etc/nginx/sites-available`目录中创建一个新的配置文件,例如`nightingale`:


  1. sudo nano /etc/nginx/sites-available/nightingale
复制代码



在文件中添加以下内容:


  1. server {
  2.     listen 80;
  3.     server_name your_domain_or_ip;

  4.     location / {
  5.         proxy_pass http://localhost:17000;
  6.         proxy_set_header Host $host;
  7.         proxy_set_header X-Real-IP $remote_addr;
  8.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  9.         proxy_set_header X-Forwarded-Proto $scheme;
  10.     }

  11.     location /api/ {
  12.         proxy_pass http://localhost:17001;
  13.         proxy_set_header Host $host;
  14.         proxy_set_header X-Real-IP $remote_addr;
  15.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  16.         proxy_set_header X-Forwarded-Proto $scheme;
  17.     }
  18. }
复制代码


激活该配置文件,并重启Nginx:


  1. sudo ln -s /etc/nginx/sites-available/nightingale /etc/nginx/sites-enabled/
  2. sudo systemctl restart nginx
复制代码



5. 访问Nightingale

现在,可以通过浏览器访问Nightingale监控系统:

- 输入`http://your_domain_or_ip`访问Nightingale的Web界面。
- 使用之前配置的管理员邮箱和密码登录。

6. 添加监控节点

在Nightingale Web界面中,可以添加新的监控节点和设置告警规则。

6.1 添加主机

在“主机管理”页面,添加需要监控的主机。可以通过SSH远程执行脚本来安装Nightingale Agent,或手动安装。

6.2 配置告警规则

根据业务需求,在“告警管理”页面配置告警规则,确保在系统异常时能够及时收到通知。

7. 总结

本文详细介绍了如何在Linux环境下本地部署Nightingale监控系统,并实现远程访问。通过Docker和Docker Compose,简化了安装和配置过程;通过防火墙和反向代理配置,确保系统的安全性和访问的便捷性。希望本文能帮助读者快速上手Nightingale,提高运维效率。
资讯 | 优惠 | 测评 | 技术
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系站长|Archiver|手机版|小黑屋|主机论坛

GMT+8, 2025-4-5 02:26 , Processed in 0.067823 second(s), 24 queries .

Powered by 主机论坛 HostSsss.Com

HostSsss.Com

快速回复 返回顶部 返回列表