Linux本地部署Nightingale夜莺监控并实现远程访问提高运维效率
本帖最后由 lavonXV 于 2024-5-25 13:58 编辑Nightingale(夜莺)是一款开源的监控系统,可以帮助运维人员实时监控服务器和应用的状态,提高系统稳定性和运维效率。本文将详细介绍如何在Linux环境下本地部署Nightingale,并配置远程访问功能。
1. 准备工作
在开始部署之前,需要确保系统满足以下基本要求:
(1) 一台运行Linux操作系统的服务器(例如:Ubuntu 20.04)。
(2) 安装了Docker和Docker Compose。
(3) 配置好防火墙,允许相应端口的访问。
1.1 安装Docker
如果尚未安装Docker,可以通过以下命令进行安装:
sudo apt-get update
sudo apt-get install -y docker.io
sudo systemctl start docker
sudo systemctl enable docker
验证Docker是否安装成功:
docker --version
1.2 安装Docker Compose
Docker Compose可以帮助我们更方便地管理多容器应用。使用以下命令安装Docker Compose:
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
sudo chmod +x /usr/local/bin/docker-compose
验证Docker Compose是否安装成功:
docker-compose --version
2. 下载并配置Nightingale
2.1 下载Nightingale源码
首先,克隆Nightingale的GitHub仓库:
git clone <a href="https://github.com/ccfos/nightingale.git" target="_blank">https://github.com/ccfos/nightingale.git</a>
cd nightingale
2.2 配置Docker Compose文件
在Nightingale项目目录中,找到`docker-compose.yml`文件。我们需要对该文件进行一些修改,以便适应我们的部署环境。
编辑`docker-compose.yml`,确保配置如下:
version: '3'
services:
n9e:
image: n9e/n9e:v5.1.0
container_name: n9e
restart: always
ports:
- "17000:17000"
- "17001:17001"
volumes:
- ./n9e-data:/data
environment:
- MYSQL_HOST=mysql
- MYSQL_PORT=3306
- MYSQL_USER=root
- MYSQL_PASS=yourpassword
- MYSQL_DB=n9e
- REDIS_ADDR=redis:6379
- JWT_SECRET=your_jwt_secret
- [email protected]
- ADMIN_PASS=admin_password
mysql:
image: mysql:5.7
container_name: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: yourpassword
MYSQL_DATABASE: n9e
volumes:
- ./mysql-data:/var/lib/mysql
redis:
image: redis:5.0
container_name: redis
restart: always
volumes:
- ./redis-data:/data
将`yourpassword`和`your_jwt_secret`替换为实际的密码和密钥。
3. 启动Nightingale
配置完成后,通过以下命令启动Nightingale服务:
docker-compose up -d
此时,Nightingale会自动启动,并通过`17000`和`17001`端口提供服务。
4. 配置防火墙和远程访问
为了实现远程访问,需要配置防火墙以允许相关端口的访问。
4.1 配置防火墙
使用`ufw`(Uncomplicated Firewall)配置防火墙,允许`17000`和`17001`端口的访问:
sudo ufw allow 17000/tcp
sudo ufw allow 17001/tcp
sudo ufw enable
4.2 配置反向代理(可选)
为了提高安全性和便捷性,可以使用Nginx配置反向代理。
4.2.1 安装Nginx
使用以下命令安装Nginx:
sudo apt-get install -y nginx
4.2.2 配置Nginx
在`/etc/nginx/sites-available`目录中创建一个新的配置文件,例如`nightingale`:
sudo nano /etc/nginx/sites-available/nightingale
在文件中添加以下内容:
server {
listen 80;
server_name your_domain_or_ip;
location / {
proxy_pass http://localhost:17000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
location /api/ {
proxy_pass http://localhost:17001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
激活该配置文件,并重启Nginx:
sudo ln -s /etc/nginx/sites-available/nightingale /etc/nginx/sites-enabled/
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,提高运维效率。
页:
[1]