夜莺监控单节点部署(v3)
夜莺架构图如下:

本教程部署夜莺的方式为单节点部署
环境准备:centos7系统
需要安装包:mariadb(mysql)、redis、nginx、夜莺相关包
步骤如下:
1、首先安装基础资源包,可以直接通过yum安装即可,命令如下:
yum -y install nginx redis mariadb*
2、创建目录/home/n9e ,然后将下载好的二进制包解压到此目录下,执行命令如下:
mkdir -p /home/n9e
wget http://116.85.64.82/n9e.tar.gz
tar -xf n9e.tar.gz -C /home/n9e

注意:/home/n9e表示默认目录,如果要修改还需要去修改nginx的配置文件nginx.conf
3、 初始化数据库,这里假设使用root账号,密码1234,如果不是这个账号密码,注意修改/home/n9e/etc/mysql.yml
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相关配置,挨个检查修改下:
cd /home/n9e/etc grep redis -r .
注:如果rdb为分布式部署,还需要修改redis配置文件bind为0.0.0.0
5、 下载前端静态资源文件,放到默认的/home/n9e目录下,如果要改目录,需要修改后面提到的nginx.conf
cd /home/n9e
wget http://116.85.64.82/pub.tar.gz
tar zxvf pub.tar.gz
6、 覆盖nginx.conf,建议大家还是看一下这个配置,熟悉一下nginx配置,夜莺不同web侧组件就是通过nginx的不同location区分的。覆盖完了配置记得reload一下或者重启nginx
cp etc/nginx.conf /etc/nginx/nginx.conf
systemctl reload nginx 或者systemctl restart nginx
7、 检查identity.yml,要保证这个shell可以正常获取本机ip,如果实在不能正常获取,自己又不懂shell不会改,在specify字段写死也行
# 用来做心跳,给服务端上报本机ip
ip:
specify: ""
shell: ifconfig `route|grep '^default'|awk '{print $NF}'`|grep inet|awk '{print $2}'|head -n 1
# MON、JOB的客户端拿来做本机标识
ident:
specify: ""
shell: ifconfig `route|grep '^default'|awk '{print $NF}'`|grep inet|awk '{print $2}'|head -n 1
8、 检查agent.yml的几个shell,挨个检查是否可以跑通,跑不通就改成适合自己的,实在是不会改,直接写死,比如disk部分,写死80Gi直接写:disk: echo 80Gi即可
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}'
9、 启动各个进程,包括mysql、redis、nginx,夜莺的各个组件直接用control脚本启动即可,后续上生产环境,可以用systemd之类的托管
cd /home/n9e
./control start all || ./control status all
systemctl start nginx|mariadb|redis
10、 登录web,账号root,密码root.2020,进来第一步一定要修改密码,如果nginx报权限类的错误,检查selinux是否关闭了,如下命令可关闭
setenforce 0 表示临时关闭,如果要永久需要修改配置文件vim /etc/selinux/config
注意:如果设置了自己的mysql密码记得更改/etc/mysql.yml文件
本例子中部署的是3.1.6版本,3.4.1版本与3.1.6版本有一些差别,除了界面差别外,配置文件中的cookieName值也不同,3.1.6的值如下:

3.4.1版本的值为:

注:rdb模块需要连接mysql,如果不在一台机器上,需要修改mysql允许rdb机器连接
常见问题:
1、部署后无监控指标,显示no data,可能是transfer或者tsdb或者index组件问题,可开启DEBUG排查


