各个版本下载地址:https://github.com/didi/nightingale/releases
一、安装
1.安装编译
下载我们编译好的二进制到/home/n9e目录,如果要更换目录,要注意修改nginx.conf
mkdir -p /home/n9e
cd /home/n9e
wget http://116.85.64.82/n9e.tar.gz
tar zxvf n9e.tar.gz
redis配置修改,默认配置的6379端口,密码为空,如果默认配置不对,可以执行如下命令,看到多个配置文件里有redis相关配置,挨个检查修改下
cd /home/n9e/etc
grep redis -r
下载前端静态资源文件,放到默认的/home/n9e目录下,如果要改目录,需要修改后面提到的nginx.conf
cd /home/n9e
wget http://116.85.64.82/pub.tar.gz
tar zxvf pub.tar.gz
前端的源码单独拆了一个repo,地址是: https://github.com/n9e/fe 没有和nightingale放一块
2.安装mysql、redis、nginx
yum install -y mariadb* redis nginx
安装完成MariaDB,首先启动MariaDB
systemctl start mariadb
设置开机启动
systemctl enable mariadb
接下来进行MariaDB的相关简单配置
mysql_secure_installation
登录mysql
mysql -uroot -p
开启redis
systemctl start redis
开启nginx
systemctl start nginx
3.导入n9e数据库表结构
mysql -uroot -p </home/n9e/sql/n9e_ams.sql
mysql -uroot -p </home/n9e/sql/n9e_hbs.sql
mysql -uroot -p </home/n9e/sql/n9e_job.sql
mysql -uroot -p </home/n9e/sql/n9e_mon.sql
mysql -uroot -p </home/n9e/sql/n9e_rdb.sql
安全考虑,建议为 n9e 独立建立 mysql 用户,在 mysql 里创建 n9e 用户并授权
mysql>create user n9e@127.0.0.1 identified by '你的密码';
mysql>grant all on n9e_ams.* to n9e@127.0.0.1;
mysql>grant all on n9e_hbs.* to n9e@127.0.0.1;
mysql>grant all on n9e_job.* to n9e@127.0.0.1;
mysql>grant all on n9e_mon.* to n9e@127.0.0.1;
mysql>grant all on n9e_rdb.* to n9e@127.0.0.1;
mysql> flush privileges;
并修改组件/usr/local/n9e/etc/mysql.yml 文件里的数据库配置信息
vi /home/n9e/etc/mysql.yml
---
rdb:
addr: "n9e:你的密码@tcp(127.0.0.1:3306)/n9e_rdb?charset=utf8&parseTime=True&loc=Asia%2FShanghai"
max: 16
idle: 4
debug: false
ams:
addr: "n9e:你的密码@tcp(127.0.0.1:3306)/n9e_ams?charset=utf8&parseTime=True&loc=Asia%2FShanghai"
max: 16
idle: 4
debug: false
job:
addr: "n9e:你的密码@tcp(127.0.0.1:3306)/n9e_job?charset=utf8&parseTime=True&loc=Asia%2FShanghai"
max: 16
idle: 4
debug: false
mon:
addr: "n9e:你的密码@tcp(127.0.0.1:3306)/n9e_mon?charset=utf8&parseTime=True&loc=Asia%2FShanghai"
max: 16
idle: 4
debug: false
hbs:
addr: "n9e:你的密码@tcp(127.0.0.1:3306)/n9e_hbs?charset=utf8&parseTime=True&loc=Asia%2FShanghai"
max: 16
idle: 4
debug: false
4.修改Nginx的配置文件
cat /home/n9e/etc/nginx.conf
把/home/n9e/etc/nginx.conf的配置信息拷贝到/usr/local/nginx/conf/nginx.conf,即
vi /etc/nginx/nginx.conf
增加配置
######################## nightingale ############################
upstream n9e.rdb {
server 127.0.0.1:8000;
keepalive 60;
}
upstream n9e.ams {
server 127.0.0.1:8002;
keepalive 60;
}
upstream n9e.job {
server 127.0.0.1:8004;
keepalive 60;
}
upstream n9e.monapi {
server 127.0.0.1:8006;
keepalive 60;
}
upstream n9e.transfer {
server 127.0.0.1:8008;
keepalive 60;
}
upstream n9e.index {
server 127.0.0.1:8012;
keepalive 60;
}
server {
listen 6699 default_server;
server_name n9e.example.com;
root /home/n9e/pub;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location =/ {
rewrite / /mon;
}
location / {
try_files $uri /layout/index.html;
}
location ~ .*(.htm|.html|manifest.json)$ {
add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
}
location /api/rdb {
proxy_pass http://n9e.rdb;
}
location /api/ams {
proxy_pass http://n9e.ams;
}
location /api/job {
proxy_pass http://n9e.job;
}
location /api/mon {
proxy_pass http://n9e.monapi;
}
location /api/index {
proxy_pass http://n9e.index;
}
location /api/transfer {
proxy_pass http://n9e.transfer;
}
}
5.验证配置是否正确
nginx -t
重新载入nginx
service nginx reload
启动
service nginx start
service nginx status
6.启动服务
启动所有
./control start all
查看状态
./control status
7. 访问
访问:http://ip:6699/
账号密码:root/root.2020
二、客户端单独部署
1.打包agent端需要的文件
tar zcvf agent.tar.gz n9e-agent etc/agent.yml etc/identity.yml etc/address.yml control
2.可以用python起一个httpserver
ss -tlnp| grep 8099
python -mSimpleHTTPServer 8099
3.在客户端下载这个压缩包
mkdir -p /home/n9e
cd /home/n9e
4.解压
address.yml
tar zxvf agent.tar.gz
5.修改配置文件
vi address.yml
:%s/127.0.0.1/你的ip/g
6.启动agent
./control start agent
7.设置自启动方式
把服务端的客户端启动文件复制到客户端的/usr/lib/systemd/system/agent.service
cat etc/service/agent.service
vim /usr/lib/systemd/system/agent.service
启动
systemctl start agent
开机自启动
systemctl enable agent