站点图标 IDC铺

三分钟构建自动化运维平台-nightingale(夜莺)

三分钟构建自动化运维平台-nightingale(夜莺)插图

最终搭建完成成品监控效果如图所示

夜莺是一套分布式高可用的运维监控系统,最大的特点是混合云支持,既可以支持传统物理机虚拟机的场景,也可以支持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

具体配置如下

然后配置你想要添加的图标显示想要监控的内容

最终能够呈现的效果如图所示的看板监控

退出移动版