文章目录
1. 环境准备
操作系统:CentOS-7-x86_64-Minimal-2009
夜莺版本:V3.8.0
如果是一个全新的CentOS7操作系统
关闭selinux,firewall
setenforce 0
sed -i 's#SELINUX=enforcing#SELINUX=disabled#' /etc/selinux/config
systemctl disable firewalld.service
systemctl stop firewalld.service
更换阿里yum源(可选,如果原yum源不好用)
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
安装并初始化mariadb(mysql)、nginx、redis 、git等
yum install -y mariadb* redis nginx git ack tree unzip curl
systemctl enable mariadb #设置开机启动
systemctl enable redis
systemctl enable nginx
systemctl start mariadb #启动
systemctl start redis
systemctl start nginx
mysqladmin -u root password '1234' #mariadb初始化
配置go语言编译环境
- 去 https://studygolang.com/dl找Go安装包下载链接,目前最新的是1.16.4版本
wget https://studygolang.com/dl/golang/go1.16.4.linux-amd64.tar.gz
- 安装并配置环境变量
tar -zxvf go1.16.4.linux-amd64.tar.gz -C /usr/local/
cd ~
vi .bash_profile
- 添加内容
export GOROOT=/usr/local/go
export GOPATH=/home/goProject
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT/bin
export PATH=$PATH:$GOPATH/bin
# 配置国内代理,使用的阿里云(可选)
export GO111MODULE=on
export GOPROXY=https://mirrors.aliyun.com/goproxy/
4.注销登录,查看安装结果
source .bash_profile
# 注销并重新登录,
go version
# 查看安装结果如下
go version go1.16.4 linux/amd64
下载编译代码
# 创建安装目录
mkdir -p $GOPATH/src/github.com/didi
cd $GOPATH/src/github.com/didi
# 下载v3.8.0版本,https://github.com/didi/nightingale/tree/v3.8.0
wget https://github.com/didi/nightingale/archive/refs/tags/v3.8.0.zip
unzip v3.8.0.zip
cd nigntingale-3.8.0
# 此时ls查看应当和github中的文件一致
./control build
编译之后的文件应该如下所示:
修改配置启动
1. 配置脚本,使服务器能够获取本机的IP
方法1 配置ifconfig指令
yum provides ifconfig
yum install net-tools
方法2 修改脚本
检查获取ip地址的shell脚本,因为linux操作系统版本差异,获取ip地址的指令可能不同,CentOS7建议以下指令(参考)
ip addr | awk '/^[0-9]+: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, "\\1", "g", $2)}'
使用ack ifconfig
查看获取IP的脚本文件
cd $GOPATH/src/github.com/nightingale-3.8.0/src
ack ifconfig
这个文件是用来做心跳,把本机IP汇报给服务器。
不同的夜莺版本V3版本配置位置不同,根据上文可以看到该版本位于identify.yml文件中
例如在官方视频中配置文件如下
2. 导入sql配置
查看sql文件列表,不同夜莺版本也不一样
[root@bogon github.com]# cd $GOPATH/src/github.com/nightingale-3.8.0/sql
[root@bogon sql]# ls
n9e_ams.sql n9e_job.sql n9e_mon.sql n9e_rdb.sql upgrade
n9e_hbs.sql n9e_mon-patch.sql n9e_rdb-patch.sql README.md
导入sql文件并验证
mysql -uroot -p < n9e_ams.sql
mysql -uroot -p < n9e_hbs.sql
mysql -uroot -p < n9e_job.sql
mysql -uroot -p < n9e_mon.sql
mysql -uroot -p < n9e_mon-patch.sql
mysql -uroot -p < n9e_rdb.sql
mysql -uroot -p < n9e_rdb-patch.sql
mysql -uroot -p
MariaDB [(none)]> show databases;
结果如下:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| n9e_ams |
| n9e_hbs |
| n9e_job |
| n9e_mon |
| n9e_rdb |
| performance_schema |
| test |
+--------------------+
3.配置Nginx
修改pub目录地址到真实路径(如果有)
vim $GOPATH/src/github.com/nightingale-3.8.0/etc/nginx.conf
修改其中的pub文件路径配置
数据库配置
Nginx配置
# 备份
cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak
# 替换
cp $GOPATH/src/github.com/nightingale-3.8.0/etc/nginx.conf /etc/nginx/nginx.conf
# 重启nginx
systemctl restart nginx
Mysql密码修改(可选,如果monapi无法启动)
vim $GOPATH/src/github.com/nightingale-3.8.0/etc/mysql.yml
:%s/1234/Work2020/g
启动
测试环境,直接用control脚本启动,如果是生产环境的话,尽量用system
./control start all
输出如下:
rdb started
job started
ams started
monapi started
tsdb started
index started
transfer started
judge started
agent started
prober started
查看状态
./control status
输出如下:
root 1863 1.0 0.4 843636 38228 pts/0 Sl 03:00 0:00 /home/fuzhiyong/goProject/src/github.com/nightingale-3.8.0/n9e-rdb
root 1894 0.1 0.2 898328 17560 pts/0 Sl 03:00 0:00 /home/fuzhiyong/goProject/src/github.com/nightingale-3.8.0/n9e-ams
root 1913 0.4 0.2 856236 23228 pts/0 Sl 03:00 0:00 /home/fuzhiyong/goProject/src/github.com/nightingale-3.8.0/n9e-monapi
root 1929 0.2 0.2 903780 18492 pts/0 Sl 03:00 0:00 /home/fuzhiyong/goProject/src/github.com/nightingale-3.8.0/n9e-tsdb
root 1951 0.1 0.2 902180 16324 pts/0 Sl 03:00 0:00 /home/fuzhiyong/goProject/src/github.com/nightingale-3.8.0/n9e-index
root 1984 0.2 0.2 903276 17080 pts/0 Sl 03:00 0:00 /home/fuzhiyong/goProject/src/github.com/nightingale-3.8.0/n9e-judge
root 2017 0.3 0.2 920996 17648 pts/0 Sl 03:00 0:00 /home/fuzhiyong/goProject/src/github.com/nightingale-3.8.0/n9e-prober