
![]() 最终搭建完成成品监控效果如图所示 ![]() 夜莺是一套分布式高可用的运维监控系统,最大的特点是混合云支持,既可以支持传统物理机虚拟机的场景,也可以支持K8S容器的场景。同时,夜莺也不只是监控,还有一部分CMDB的能力、自动化运维的能力,很多公司都基于夜莺开发自己公司的运维平台。重点是部署方便快捷,相比目前主流的监控系统zabbix和Prometheus有自己的优势。更适合国人的操作习惯和体验,有着许多大公司线上环境的最佳实践,如美团,滴滴等等
![]() ![]() 夜莺运维平台是滴滴开源的一个运维平台有着滴滴公司最佳实践 夜莺拆成了四个子系统,分别是: 用户资源中心(RDB)、资产管理系统(AMS)、任务执行中心(JOB)、监控告警系统(MON)具体介绍请看官网,这里重点说明下部署步骤 我这里采用的docker部署 第一步github拉取代码镜像到服务器指定位置![]() 也可以去http://116.85.64.82/ 拉取最新版本的tar包 ![]() 拉取完成如图所示
![]() 第二步配置启动项 下载docker-compose curl -L https://github.com/docker/compose/releases/download/1.25.0-rc4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose# z& m! l5 U, I9 M% Ychmod +x /usr/local/bin/docker-compose5 n9 L& f5 C: j2 C2 O 利用docker-compose下载生成并启动镜像 cd /home/yeying-master/nightingale-master/dockerfilesdocker-compose up #启动& u2 X. D- _% b% W+ V 启动完成docker ps 会生成如图所示四个容器
![]() 注意端口不要被占用,否则无法正常启动若无报错则可正常访问 ![]() 初始账号密码为 root root.2020 至此 master节点搭建完成
![]() 第三步配置node节点: q l8 |0 A3 W. `, F wget http://116.85.64.82/n9e.tar.gz tar -xf n9e.tar.gz 解压后如图所示 [root@yeyin-master ~]# ll$ F# I: A) X8 S' z E0 |-rwxr-xr-x. 1 root root 3065 10月 9 23:02 control0 R3 _& E% U9 H) @' _) U drwxr-xr-x. 4 root root 4096 10月 9 23:03 etc -rwxr-xr-x. 1 root root 22834094 10月 8 19:50 n9e-agent! @) _+ e! G8 p" R, r7 A -rwxr-xr-x. 1 root root 20181862 10月 8 19:50 n9e-ams7 @+ G2 O. D0 _4 X -rwxr-xr-x. 1 root root 22098532 10月 8 19:50 n9e-index7 B; U# h6 g8 t -rwxr-xr-x. 1 root root 20610070 10月 8 19:50 n9e-job3 p7 Z5 J# N ^1 S7 e, M1 I* w% b -rwxr-xr-x. 1 root root 22062651 10月 8 19:50 n9e-judge5 w: @# K1 C; v+ m6 f -rwxr-xr-x. 1 root root 22890758 10月 8 19:49 n9e-monapi& Z9 m0 n4 F7 j8 M -rwxr-xr-x. 1 root root 23874802 10月 9 22:49 n9e-rdb+ r! Q+ u0 v( c* Z+ x' [ -rw-r--r--. 1 root root 97333889 10月 9 23:03 n9e.tar.gz; }- C5 f1 ?; F1 [% { -rwxr-xr-x. 1 root root 23887629 10月 8 19:50 n9e-transfer& L+ M1 a2 i x -rwxr-xr-x. 1 root root 20424816 10月 8 19:50 n9e-tsdb drwxr-xr-x. 2 root root 101 9月 28 10:07 sql 将 control n9e-agent/etc/address.yml /etc/agent.yml /etc/identity.yml 打包拷贝到/home/n9e/ 如图所示 ![]() 修改配置文件 vim address.yml 将全局192.168.106.132改成master节点的主机的ip :%s/192.168.106.132/ip/g![]() 配置开机自启服务 vim /usr/lib/systemd/system/agent.service5 `6 }/ Y- |: A8 K* ]8 ?, uDescription=n9e agent4 s$ h/ d _1 Q+ z/ Z' [ After=network-online.target' v7 a$ Q3 c( q: Z- Y Wants=network-online.target: k) M8 Z3 v! j" a( N% c. Y [Service]" ^' p1 C; B5 I) N8 H # modify when deploy in prod env9 Y0 P+ j. \$ S, \* Z' i1 ~ User=root2 b$ L! o: e# g# w5 b7 f4 p Group=root ) x% B6 x8 H5 h/ J: z Type=simple Environment="GIN_MODE=release"" n5 N" V b7 D, Z7 w- I" k$ D/ q" h ExecStart=/home/n9e/n9e-agent! J8 X7 S. U8 `2 w a& ? WorkingDirectory=/home/n9e4 m# |3 m: s5 a- V* J3 f$ Y Restart=always RestartSec=10 G5 u" G1 j2 B, R# `* J5 n StartLimitInterval=0; Z' y& A B3 l* z& s& ? [Install]0 y g- A# v; P9 A WantedBy=multi-user.target systemctl restart agent* P* a8 T3 L: ?( [* s( ] systemctl enable agent5 @; D9 t G$ \7 ?) j# O" [8 b 检查无报错说明启动正常 systemctl status agent![]() 进入web平台 ![]() 即可看到刚才添加的node节点的主机信息 ![]() 选择游离资源-挂载资源,将相应的服务器挂载到相应的项目目录下 ![]() 选择组织资源树-选择相应的项目 ![]() 能够看到刚才挂载的相应系统 任务执行中心可以批量执行任务,将相应的任务提前创建好,便于相应节点来批量执行任务 ![]() 用户中心可以批量加入服务器 ![]() 监控大盘可以产看相应的服务器监控内容,这点还是比较直观的 ![]() 告警策略可以根据自己的需求配置 ![]() 报警支持 邮件,钉钉,和企业微信
![]() ![]() ![]() 编写脚本启动程序 cat start.sh#!/bin/bash( u, p+ H+ S3 W2 N. B2 k5 @ # sh /home/n9e/control start all2 B. G) l1 A! }1 @! V# d9 ?9 X systemctl restart redis* e8 }- @; z9 R: U systemctl restart mariadb/ J x3 b8 e& h+ H: F ps -ef | grep nginx | grep master |awk '{print$2}' |xargs kill nginx echo "服务启动成功"* B4 {8 D( z, @. W: j yeyin配合grafana做展示平台 wget https://dl.grafana.com/oss/release/grafana-7.3.2-1.x86_64.rpm$ H4 l+ p, J' u9 K& Qsudo rpm -i --nodeps grafana-7.3.2-1.x86_64.rpm8 l6 f* Z5 H9 ?/ z, i systemctl start grafana-server.service systemctl status grafana-server.service 将n9e插件加入到grafana中grafana-cli --pluginUrl https://github.com/n9e/grafana-n9e-datasource/archive/v1.5.3.zip plugins install grafana-n9e-datasource2 c1 M) F: j u' d7 Y3 }4 _ systemctl restart grafana-server.service #重启服务 访问该地址 http://192.168.106.132:3000/ ![]() 初始账号密码 admin/admin
![]() ![]() 具体配置如下 ![]() 然后配置你想要添加的图标显示想要监控的内容 ![]() 最终能够呈现的效果如图所示的看板监控。 4 V v/ l# E8 z1 f# w3 w |