nightingale1/README.md

119 lines
3.9 KiB
Markdown
Raw Normal View History

2020-09-26 23:59:34 +08:00
v3.x终于来了文档正在编写中稍安勿躁...
---
# 升级说明
2020-09-28 12:33:27 +08:00
v3.x的版本和v2.x差别巨大没办法平滑迁移可以继续使用 [v.2.8.0](https://github.com/didi/nightingale/tree/v2.8.0) 我们之所以决定升级到v3.x具体原因 [请看这里](https://mp.weixin.qq.com/s/BoGcqPiIQIuiK7cM3PTvrw) 简而言之我们是希望夜莺逐渐演化为一个运维平台。如果v2.x用着也能满足需求可以继续用v2.x毕竟适合自己的才是最好的
2020-09-26 23:59:34 +08:00
# 新版效果
2020-09-27 23:02:54 +08:00
用户资源中心:
![](https://s3-gz01.didistatic.com/n9e-pub/image/snapshot/rdb.png)
资产管理中心:
![](https://s3-gz01.didistatic.com/n9e-pub/image/snapshot/ams.png)
任务执行中心:
![](https://s3-gz01.didistatic.com/n9e-pub/image/snapshot/job.png)
监控告警中心:
![](https://s3-gz01.didistatic.com/n9e-pub/image/snapshot/mon.png)
2020-09-26 23:59:34 +08:00
# 安装步骤
1、找个干净的CentOS7准备好mysql、redis、nginx简单yum安装一下即可生产环境mysql建议找dba帮忙来搞
2020-09-27 23:20:23 +08:00
```shell script
2020-09-26 23:59:34 +08:00
yum install -y mariadb* redis nginx
```
2、下载我们编译好的二进制到/home/n9e目录如果要更换目录要注意修改nginx.conf建议先用这个目录玩熟了再说
2020-09-27 23:20:23 +08:00
```shell script
2020-09-26 23:59:34 +08:00
mkdir -p /home/n9e
cd /home/n9e
wget http://116.85.64.82/n9e-3.0.0.tar.gz
tar zxvf n9e-3.0.0.tar.gz
```
3、初始化数据库这里假设使用root账号密码1234如果不是这个账号密码注意修改/home/n9e/etc/mysql.yml
2020-09-27 23:20:23 +08:00
```shell script
2020-09-26 23:59:34 +08:00
cd /home/n9e/sql
mysql -uroot -p1234 < n9e_ams.sql
mysql -uroot -p1234 < n9e_hbs.sql
mysql -uroot -p1234 < n9e_job.sql
mysql -uroot -p1234 < n9e_mon.sql
mysql -uroot -p1234 < n9e_rdb.sql
```
4、redis配置修改默认配置的6379端口密码为空如果默认配置不对可以执行如下命令看到多个配置文件里有redis相关配置挨个检查修改下
2020-09-27 23:20:23 +08:00
```shell script
2020-09-26 23:59:34 +08:00
cd /home/n9e/etc
grep redis -r .
```
2020-09-27 23:20:23 +08:00
5、下载前端静态资源文件放到默认的/home/n9e目录下如果要改目录需要修改后面提到的nginx.conf
```shell script
cd /home/n9e
2020-09-28 14:54:12 +08:00
wget http://116.85.64.82/pub.20200928.tar.gz
tar zxvf pub.20200928.tar.gz
2020-09-27 23:20:23 +08:00
```
6、覆盖nginx.conf建议大家还是看一下这个配置熟悉一下nginx配置夜莺不同web侧组件就是通过nginx的不同location区分的。覆盖完了配置记得reload一下或者重启nginx
```shell script
cp etc/nginx.conf /etc/nginx/nginx.conf
```
2020-09-26 23:59:34 +08:00
2020-09-27 23:20:23 +08:00
7、检查identity.yml要保证这个shell可以正常获取本机ip如果实在不能正常获取自己又不懂shell不会改在specify字段写死也行
2020-09-26 23:59:34 +08:00
2020-09-27 23:20:23 +08:00
```yaml
# 用来做心跳给服务端上报本机ip
ip:
specify: ""
shell: ifconfig `route|grep '^default'|awk '{print $NF}'`|grep inet|awk '{print $2}'|head -n 1
2020-09-26 23:59:34 +08:00
2020-09-27 23:20:23 +08:00
# MON、JOB的客户端拿来做本机标识
ident:
specify: ""
shell: ifconfig `route|grep '^default'|awk '{print $NF}'`|grep inet|awk '{print $2}'|head -n 1
```
2020-09-26 23:59:34 +08:00
2020-09-27 23:20:23 +08:00
8、检查agent.yml的几个shell挨个检查是否可以跑通跑不通就改成适合自己的实在是不会改直接写死比如disk部分写死80Gi直接写`disk: echo 80Gi`即可
```yaml
report:
# ...
sn: dmidecode -s system-serial-number | tail -n 1
fields:
cpu: cat /proc/cpuinfo | grep processor | wc -l
mem: cat /proc/meminfo | grep MemTotal | awk '{printf "%dGi", $2/1024/1024}'
disk: df -m | grep '/dev/' | grep -v '/var/lib' | grep -v tmpfs | awk '{sum += $2};END{printf "%dGi", sum/1024}'
```
2020-09-26 23:59:34 +08:00
2020-09-27 23:20:23 +08:00
9、启动各个进程包括mysql、redis、nginx夜莺的各个组件直接用control脚本启动即可后续上生产环境可以用systemd之类的托管
2020-09-26 23:59:34 +08:00
2020-09-27 23:27:11 +08:00
```shell script
cd /home/n9e
./control start all
```
10、登录web账号root密码root.2020进来第一步一定要修改密码如果nginx报权限类的错误检查selinux是否关闭了如下命令可关闭
```shell script
setenforce 0
```
2020-09-26 23:59:34 +08:00