0.本文说明
- 因本人对运维方面的知识涉猎很少,带着学习和膜拜的精神安装和使用了这个系统,希望记录自己的整个学习过程。如果想直接上手安装和学习,还是需要浏览所有官方的视频,再下手比较合适(老鸟请随意)
- 有关安装步骤和方法,建议读者浏览github上官方的文档:
https://github.com/didi/nightingale/blob/master/README.md- 此系统的开源官网:
http://n9e.didiyun.com/- 此外公众号–运维散兵也有详情
- B站地址也有视频教程:
1.下载go并安装和编译
step1:下载并解压go语言包
golang 的下载地址:https://golang.google.cn/dl/
wget https://golang.google.cn/dl/go1.15.5.linux-amd64.tar.gz
tar xvf go1.15.5.linux-amd64.tar.gz
step2:添加go语言的环境变量
- 此时,我们需要把2个地址添加到环境变量,2个地址都在/home/qlhu目录下。一个是刚解压的go的语言包,go文件夹,地址为/home/qlhu/go
- 还需要再创建一个gopath文件夹,方便我们存放将要安装的开发项目
无root权限账户:
echo $PATH # 查看此时的环境变量(方便后续对比)
# /home/qlhu目录下面,有个.bashrc文件,进入到这个文件,将如下文件复制到里面
export go=/home/qlhu/go # 这个是我们下载的go语言安装包的地址
export go_path=/home/qlhu/gopath # 这个是我们创建文件夹的地址
export PATH=$go/bin:$PATH
source .bashrc # 别忘了刷新环境变量
go version # 这个可以校验如上步骤
echo $PATH # 再次查看所有环境变量,发现内容变多了
有root权限账户:
echo $PATH # 查看此时的环境变量(方便后续对比)
# 将如下内容,添加到文件/etc/profile的最底部
export go=/root/go # 这个是我们下载的go语言安装包的地址
export go_path=/root/gopath # 这个是我们创建文件夹的地址
export PATH=$go/bin:$PATH
source /etc/profile # 别忘了刷新环境变量
go version # 这个可以校验如上步骤
echo $PATH # 再次查看所有环境变量,发现内容变多了
step3:编译和安装
mkdir -p gopath/src/github.com/didi
cd gopath/src/github.com/didi
git clone https://github.com/didi/nightingale.git
cd nightingale
./control build # 这一步就是编译的过程,中途好像还要下载很多东西
如果遇到这样的问题,请参考如下链接:
https://www.cnblogs.com/haojile/p/13144030.html
2.安装mysql并导入配置数据库
mysql /redis/nginx的安装此处都省略了,下面是把所有需要的配置数据库导入
cd sql
mysql -uroot -p1234 < n9e_ams.sql # 修改你自己的密码,非1234
mysql -uroot -p1234 < n9e_hbs.sql
mysql -uroot -p1234 < n9e_job.sql
mysql -uroot -p1234 < n9e_mon.sql
mysql -uroot -p1234 < n9e_rdb.sql
# 安装软件对应的目录下,文件/etc/mysql.yml文件,需要将所有123456密码,修改为你真实的密码
---
rdb:
addr: "root:123456@tcp(127.0.0.1:3306)/n9e_rdb?charset=utf8&parseTime=True&loc=Asia%2FShanghai"
max: 16
idle: 4
debug: false
ams:
addr: "root:123456@tcp(127.0.0.1:3306)/n9e_ams?charset=utf8&parseTime=True&loc=Asia%2FShanghai"
max: 16
idle: 4
debug: false
job:
addr: "root:123456@tcp(127.0.0.1:3306)/n9e_job?charset=utf8&parseTime=True&loc=Asia%2FShanghai"
max: 16
idle: 4
debug: false
mon:
addr: "root:123456@tcp(127.0.0.1:3306)/n9e_mon?charset=utf8&parseTime=True&loc=Asia%2FShanghai"
max: 16
idle: 4
debug: false
hbs:
addr: "root:123456@tcp(127.0.0.1:3306)/n9e_hbs?charset=utf8&parseTime=True&loc=Asia%2FShanghai"
max: 16
idle: 4
debug: false
3.客户端(代理服务器)安装
# 在/home/qlhu/gopath/src/github.com/didi/nightingale目录下,压缩需要的安装文件
tar zcvf agent.tar.gz n9e-agent etc/agent.yml etc/identity.yml etc/address.yml control
如上压缩的文件,想办法放到代理服务器上,此处省略
在代理服务器上,将agent组件交给systemctl托管
# 安装源服务器:如下地址有所有组件的启动信息,其中agent.service是agent组建的配置启动信息
/home/qlhu/gopath/src/github.com/didi/nightingale/etc/service/agent.service
# 将源服务器上的agent.service文件,放在代理服务器的如下地址,就能把agent组件交给systemctl托管了
/usr/lib/systemd/system/
# 将agent组件,设置为开机自启动
systemctl enable agent
# agent.service文件内容
[Unit]
Description=n9e agent
After=network-online.target
Wants=network-online.target
[Service]
# modify when deploy in prod env
User=root
Group=root
Type=simple
Environment="GIN_MODE=release"
ExecStart=/root/nighter_agent/n9e-agent # 这里需要修改为代理服务器上的agent组件存放的地址
WorkingDirectory=/root/nighter_agent # agent组件的根目录
Restart=always
RestartSec=1
StartLimitInterval=0
[Install]
WantedBy=multi-user.target
# address.yml 文件的内容, 需要将如下127.0.0.1地址修改为软件安装源服务器地址
---
rdb:
http: 0.0.0.0:8000
addresses:
- 127.0.0.1
ams:
http: 0.0.0.0:8002
addresses:
- 127.0.0.1
job:
http: 0.0.0.0:8004
rpc: 0.0.0.0:8005
addresses:
- 127.0.0.1
monapi:
http: 0.0.0.0:8006
addresses:
- 127.0.0.1
transfer:
http: 0.0.0.0:8008
rpc: 0.0.0.0:8009
addresses:
- 127.0.0.1
tsdb:
http: 0.0.0.0:8010
rpc: 0.0.0.0:8011
index:
http: 0.0.0.0:8012
rpc: 0.0.0.0:8013
addresses:
- 127.0.0.1
judge:
http: 0.0.0.0:8014
rpc: 0.0.0.0:8015
addresses:
- 127.0.0.1
agent:
http: 0.0.0.0:2080
~
~