最终搭建完成成品监控效果如图所示
夜莺是一套分布式高可用的运维监控系统,最大的特点是混合云支持,既可以支持传统物理机虚拟机的场景,也可以支持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-composechmod +x /usr/local/bin/docker-compose 利用docker-compose下载生成并启动镜像 cd /home/yeying-master/nightingale-master/dockerfiles7 o( ]" Y- T- F+ ?4 T3 `" Vdocker-compose up #启动 启动完成docker ps 会生成如图所示四个容器
注意端口不要被占用,否则无法正常启动若无报错则可正常访问
初始账号密码为 root root.2020 至此 master节点搭建完成
第三步配置node节点5 g/ T! S0 F" j2 |9 ~ \ wget http://116.85.64.82/n9e.tar.gz tar -xf n9e.tar.gz7 V6 x! V; ^1 w# w- h 解压后如图所示 [root@yeyin-master ~]# ll( F7 g4 T+ ?5 U9 T$ V-rwxr-xr-x. 1 root root 3065 10月 9 23:02 control drwxr-xr-x. 4 root root 4096 10月 9 23:03 etc# { O, W* w: |8 V2 \+ @9 l. n( e7 J -rwxr-xr-x. 1 root root 22834094 10月 8 19:50 n9e-agent -rwxr-xr-x. 1 root root 20181862 10月 8 19:50 n9e-ams -rwxr-xr-x. 1 root root 22098532 10月 8 19:50 n9e-index -rwxr-xr-x. 1 root root 20610070 10月 8 19:50 n9e-job- w' U! E0 O: |8 K3 }, } [ -rwxr-xr-x. 1 root root 22062651 10月 8 19:50 n9e-judge, `! D0 P; ?& m -rwxr-xr-x. 1 root root 22890758 10月 8 19:49 n9e-monapi -rwxr-xr-x. 1 root root 23874802 10月 9 22:49 n9e-rdb -rw-r--r--. 1 root root 97333889 10月 9 23:03 n9e.tar.gz: A$ v+ p; ?. r2 W { -rwxr-xr-x. 1 root root 23887629 10月 8 19:50 n9e-transfer -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/g0 t9 A0 r' M! N4 x
配置开机自启服务 vim /usr/lib/systemd/system/agent.serviceDescription=n9e agent6 Y! o% D w5 q1 Q. C% C* a After=network-online.target0 K6 l! X# \$ c" v6 ~$ ] Wants=network-online.target1 m7 T8 y1 H9 r/ O, x( p# I7 s , g. R8 i+ |" J5 R2 _- g( y1 U0 P [Service]1 J( V1 {" p1 q$ K2 r$ P$ ^! p # modify when deploy in prod env User=root+ {7 f9 {: F# Y! }4 d# L, A Group=root5 k# ~' t8 q& ^( g% b & j* o8 p$ l( u- o$ q J5 T+ c' ` Type=simple Environment="GIN_MODE=release" ExecStart=/home/n9e/n9e-agent$ }7 C! B3 Z2 L, a WorkingDirectory=/home/n9e+ v0 L7 L+ w: D7 E& E9 p Restart=always RestartSec=1 StartLimitInterval=0) [9 W2 U' [3 x [Install] WantedBy=multi-user.target7 [0 X3 g' M! W: r C3 T+ ` systemctl restart agent systemctl enable agent5 H. D$ ]0 ]' h% m, h% n 检查无报错说明启动正常 systemctl status agent
进入web平台
即可看到刚才添加的node节点的主机信息
选择游离资源-挂载资源,将相应的服务器挂载到相应的项目目录下
选择组织资源树-选择相应的项目
能够看到刚才挂载的相应系统 任务执行中心可以批量执行任务,将相应的任务提前创建好,便于相应节点来批量执行任务
用户中心可以批量加入服务器
监控大盘可以产看相应的服务器监控内容,这点还是比较直观的
告警策略可以根据自己的需求配置
报警支持 邮件,钉钉,和企业微信
编写脚本启动程序 cat start.sh#!/bin/bash1 T( k B4 m3 R9 M6 t! I # sh /home/n9e/control start all7 n9 }4 h$ U0 Y systemctl restart redis systemctl restart mariadb, r; Y& L1 [7 E& I: l ps -ef | grep nginx | grep master |awk '{print$2}' |xargs kill nginx echo "服务启动成功"6 r: W; M, Y; j yeyin配合grafana做展示平台 wget https://dl.grafana.com/oss/release/grafana-7.3.2-1.x86_64.rpmsudo rpm -i --nodeps grafana-7.3.2-1.x86_64.rpm systemctl start grafana-server.service 9 E" w. j1 e7 k! c* O 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-datasource( j+ b. n- t& K+ W1 A systemctl restart grafana-server.service #重启服务 访问该地址 http://192.168.106.132:3000/
初始账号密码 admin/admin
具体配置如下
然后配置你想要添加的图标显示想要监控的内容
最终能够呈现的效果如图所示的看板监控。 * L7 v- n* T' {$ L& X( |2 O* B |
微信公众号
手机版