国产监控夜莺 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/n9e
cd /home/n9e
wget http://116.85.64.82/n9e-4.0.1.tar.gz
tar zxvf n9e-4.0.1.tar.gz

2、初始化数据库,这里假设使用 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

3、redis请不要配置密码, 如果redis设置了密码,需要修改/home/n9e/etc/server.yml,把密码改对

4、下载前端静态资源文件,放到/home/n9e下,请不要随意更换目录结构,否则还要自行修改nginx.conf,徒增烦恼

cd /home/n9e
wget http://116.85.64.82/pub-3.5.2.tar.gz
tar zxvf pub-3.5.2.tar.gz

5、覆盖nginx.conf。如果静态资源文件不是放到/home/n9e下的,就要先修改nginx.conf了

cp etc/nginx.conf /etc/nginx/nginx.conf
systemctl restart nginx

6、时序数据存储部署,这里选择使用单机版本的m3db

mkdir -p /home/m3db
cd /home/m3db
wget https://s3-gz01.didistatic.com/n9e-pub/tarball/m3dbnode-single-v0.0.1.tar.gz

tar zxvf m3dbnode-single-v0.0.1.tar.gz
cd m3dbnode-single
./scripts/install.sh

# 使用下面的curl初始化M3DB,这一步千万不能少!!!
# 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

# 其中server如果正常启动,会监听在8000和8001两个端口上,查看端口是否在监听可以用下面的命令
ss -tlnp|grep n9e-server

# 正常应该展示下面的输出
LISTEN     0      128         :::8000                    :::*                   users:(("n9e-server",pid=32234,fd=59))
LISTEN     0      128         :::8001                    :::*                   users:(("n9e-server",pid=32234,fd=58))

默认用户是root,密码是root.2020

8、可能的问题

系统安装好了,也能看到指标,但是点击指标看不到图

很可能是系统时间没有校准,与本地PC时间不一致

server模块进程虽然在,但是server的两个端口都没有在监听

这说明server模块没有正常启动,可以查看logs/server/stdout.log查看是否有一些有用的信息,大概率是m3没有安装好,或者m3没有用那个curl指令初始化。另外如果用的pve,可能会因为指令集导致m3进程起来,过一会就挂了,所以不要用pve

设备管理的列表里缺少了本机设备

说明agentd没有成功注册到server,需要检查agentd和server的日志来排查

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,869评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,716评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,223评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,047评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,089评论 6 395
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,839评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,516评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,410评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,920评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,052评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,179评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,868评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,522评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,070评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,186评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,487评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,162评论 2 356

推荐阅读更多精彩内容