最终搭建完成成品监控效果如图所示
夜莺是一套分布式高可用的运维监控系统,最大的特点是混合云支持,既可以支持传统物理机虚拟机的场景,也可以支持K8S容器的场景。同时,夜莺也不只是监控,还有一部分CMDB的能力、自动化运维的能力,很多公司都基于夜莺开发自己公司的运维平台。重点是部署方便快捷,相比目前主流的监控系统zabbix和Prometheus有自己的优势。更适合国人的操作习惯和体验,有着许多大公司线上环境的最佳实践,如美团,滴滴等等
官方地址
https://github.com/didi/nightingale
夜莺运维平台是滴滴开源的一个运维平台有着滴滴公司最佳实践
夜莺拆成了四个子系统,分别是:
用户资源中心(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
chmod +x /usr/local/bin/docker-compose
利用docker-compose下载生成并启动镜像
cd /home/yeying-master/nightingale-master/dockerfiles
docker-compose up #启动
启动完成docker ps 会生成如图所示四个容器
注意端口不要被占用,否则无法正常启动
若无报错则可正常访问
初始账号密码为 root root.2020
至此 master节点搭建完成
第三步配置node节点
wget http://116.85.64.82/n9e.tar.gz
tar -xf n9e.tar.gz
解压后如图所示
[root@yeyin-master ~]# ll
-rwxr-xr-x. 1 root root 3065 10月 9 23:02 control
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
-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
-rwxr-xr-x. 1 root root 22062651 10月 8 19:50 n9e-judge
-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
-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/g
配置开机自启服务
vim /usr/lib/systemd/system/agent.service
Description=n9e agent
After=network-online.target
Wants=network-online.target
[Service]
# modify when deploy in prod env
User=root
Group=root
Type=simple
Environment="GIN_MODE=release"
ExecStart=/home/n9e/n9e-agent
WorkingDirectory=/home/n9e
Restart=always
RestartSec=1
StartLimitInterval=0
[Install]
WantedBy=multi-user.target
systemctl restart agent
systemctl enable agent
检查无报错说明启动正常
systemctl status agent
进入web平台
即可看到刚才添加的node节点的主机信息
选择游离资源-挂载资源,将相应的服务器挂载到相应的项目目录下
选择组织资源树-选择相应的项目
能够看到刚才挂载的相应系统
任务执行中心可以批量执行任务,将相应的任务提前创建好,便于相应节点来批量执行任务
用户中心可以批量加入服务器
监控大盘可以产看相应的服务器监控内容,这点还是比较直观的
告警策略可以根据自己的需求配置
报警支持 邮件,钉钉,和企业微信
编写脚本启动程序
cat start.sh
#!/bin/bash
#
sh /home/n9e/control start all
systemctl restart redis
systemctl restart mariadb
ps -ef | grep nginx | grep master |awk '{print$2}' |xargs kill
nginx
echo "服务启动成功"
yeyin配合grafana做展示平台
wget https://dl.grafana.com/oss/release/grafana-7.3.2-1.x86_64.rpm
sudo rpm -i --nodeps grafana-7.3.2-1.x86_64.rpm
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-datasource
systemctl restart grafana-server.service #重启服务
访问该地址 http://192.168.106.132:3000/
初始账号密码 admin/admin
具体配置如下
然后配置你想要添加的图标显示想要监控的内容
最终能够呈现的效果如图所示的看板监控