编译安装Nightinggale3.8.0

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语言编译环境
  1. https://studygolang.com/dl找Go安装包下载链接,目前最新的是1.16.4版本

wget https://studygolang.com/dl/golang/go1.16.4.linux-amd64.tar.gz

  1. 安装并配置环境变量
tar -zxvf go1.16.4.linux-amd64.tar.gz -C /usr/local/
cd ~
vi .bash_profile
  1. 添加内容
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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值