内容简介:大家好,经过2个月的开发,夜莺v4来了,欢迎大家试用。本文为大家介绍一下开发v4的背景、最新模块组成、升级建议,同时演示一下单机快速部署的方式。如果朋友是第一次尝试夜莺,可以按照后面讲解的部署方式来搞,...
大家好,经过2个月的开发,夜莺v4来了,欢迎大家试用。本文为大家介绍一下开发v4的背景、最新模块组成、升级建议,同时演示一下单机快速部署的方式。如果朋友是第一次尝试夜莺,可以按照后面讲解的部署方式来搞,5分钟搞定。
演进背景
v3版本融入了很多运维平台的功能,组件变多,部署麻烦,不同的组件相互之间有调用关系,在做分布式部署的时候需要了解整体架构才能正确修改配置文件,对用户提出了较高的要求。很多issue和群里的讨论,都反映出了这个复杂性问题。
我们希望降低这个复杂度,所以,把众多服务端模块做了合并。这样原来组件之间的调用都变成了进程内部的方法调用,可靠性性能都会提升。
新的架构
模块合并之后,把时序存储抽离,总共只剩3个组件:server、prober、agentd。
服务端就是部署server模块,如果要集群部署,就搞2个机器,每个机器分别部署server模块即可。每个server会使用本机的redis,所以,有几个server就部署几个redis,redis只需监听在127.0.0.1,供本机的server使用即可。
prober是个中心式探针,比如贵司有2个网络区域,每个网络区域可以部署一个prober,用此prober采集监控本区域的数据库中间件。如果担心prober挂掉,每个区域可以部署多个prober做高可用。不同网络区域的prober,有个配置要注意,即:report.region字段,比如有bj和gz两个网络区域,每个网络区域分别部署了2台prober,bj的2台prober,report.region要设置为bj,gz的2台prober,report.region要设置为gz。最后,在server.yml里修改monapi.region字段,配上bj和gz。
如果网络是可以互联互通的,那就简单了,prober和server混部即可,都放到中心。
agentd是部署到所有目标机器的,采集目标机器的性能指标,在目标机器执行插件之类的,v4版本的agentd与server之间通信只走了server的rpc端口,所以相比v3,开通网络acl要变简单了。
升级建议
如果v2、v3已经玩得很溜了,并且满足贵司的需求,就不建议升级了。当然,如果新版本有些功能特别想要,那就只能升级了。
如果时序库是使用的tsdb+index这个方案,tsdb进程不用动,可以复用v3的,但是index需要升级。tsdb+index这俩模块的代码抽取到了github.com/n9e/n9e-tsdb中了,编译方法和二进制最新地址都可以在这个repo的README中找到。
server.yml默认使用m3作为存储后端,所以,如果使用tsdb+index的方案,需要修改server.yml,把DataSource改成使用tsdb。
不过我个人建议大家尝试一下m3db,容灾、扩容都做的很方便。
快速部署
这里我带着大家部署一个单机版本的夜莺v4,请大家提前准备好 mysql 、 redis 、nginx,单机部署,直接yum安装即可,非常简便。请找一台干净的机器测试!
1、下载二进制
mkdir -p /home/n9ecd /home/n9ewget http://116.85.64.82/n9e-4.0.0.tar.gztar zxvf n9e.tar.gz
2、初始化数据库,这里假设使用 root 账号,密码为 1234,如果不是这个账号密码,需要修改 /home/n9e/etc/mysql.yml
cd /home/n9e/sqlmysql -uroot -p1234 < n9e_ams.sqlmysql -uroot -p1234 < n9e_hbs.sqlmysql -uroot -p1234 < n9e_job.sqlmysql -uroot -p1234 < n9e_mon.sqlmysql -uroot -p1234 < n9e_rdb.sql
3、redis请不要配置密码, 如果redis设置了密码,需要修改/home/n9e/etc/server.yml,把密码改对
4、下载前端静态资源文件,放到/home/n9e下,请不要随意更换目录结构,否则还要自行修改nginx.conf,徒增烦恼
cd /home/n9ewget http://116.85.64.82/pub-3.5.2.tar.gztar zxvf pub.tar.gz
5、覆盖nginx.conf。如果静态资源文件不是放到/home/n9e下的,就要先修改nginx.conf了
cp etc/nginx.conf /etc/nginx/nginx.confsystemctl restart nginx
6、时序数据存储部署,这里选择使用单机版本的m3db
mkdir -p /home/m3dbcd /home/m3dbwget https://s3-gz01.didistatic.com/n9e-pub/tarball/m3dbnode-single-v0.0.1.tar.gztar zxvf m3dbnode-single-v0.0.1.tar.gzcd m3dbnode-single./scripts/install.sh# retentionTime 表示历史监控数据存储时长,使用m3一般建议最长不要超过3个月curl -X POST http://localhost:7201/api/v1/database/create -d '{"type": "local","namespaceName": "default","retentionTime": "48h"}'
7、最后一步,启动相关进程。即可访问nginx看效果了
cd /home/n9e./control start server./control start prober./control start agentd
效果图如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- NixOS 20.09“夜莺”发布
- 滴滴夜莺运维平台发布 3.3.1 版本
- 滴滴开源夜莺Nightingale:企业级监控解决方案
- 开源 | 夜莺 Nightingale:滴滴开源的企业级监控解决方案
- DockOne微信分享(二五二):滴滴开源监控夜莺的架构设计思考
- 滴滴夜莺发布 v3 版本,从运维监控演化成了运维平台
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Developer's Guide to Social Programming
Mark D. Hawker / Addison-Wesley Professional / 2010-8-25 / USD 39.99
In The Developer's Guide to Social Programming, Mark Hawker shows developers how to build applications that integrate with the major social networking sites. Unlike competitive books that focus on a s......一起来看看 《Developer's Guide to Social Programming》 这本书的介绍吧!
