夜莺二次开发指南 - 资产设备管理
前言
本系列将对夜莺平台各个模块的主要逻辑进行介绍,方便大家进行二次开发,本篇是系列的第四篇,资产设备管理 (AMS) 模块
首先贴下夜莺的项目地址和架构图,正在使用夜莺的读者欢迎给夜莺加一个 star
github 地址 https://github.com/didi/nightingale
v3.0 架构图如下
本节主要讲解资产管理系统 AMS 模块,开源版本只实现了主机设备的管理。关于功能的介绍可以到 bilibili 观看视频,AMS 是一个 web 服务,http 接口大家直接看 http/router.go 的代码,里面列举了 ams 的所有 http 接口。本篇主要介绍下大家如果将自己公司的主机设备自动注册到资产管理系统中,以及如何使用设备管理的扩展字段,首先介绍下设备注册
设备自动注册
agent 上报
在本系列第一篇中,介绍了 agent 负责了三个工作,其中一个工作是 主机设备信息的收集,只要将 n9e-agent 部署到需要收集信息的主机上,agent 就会自动采集主机的设备信息,采集方式是执行在 agent.yml 中提前写到的 shell 命令,将执行输出结构赋值给对象的字段,agent 配置文件如下
从配置文件我们可以发现 cpu、mem 和 disk 采集时所执行的命令,大家可以根据自己的场景去修改这些 shell
扩展字段使用
如果想要采集更多的信息,ams 也提供了扩展字段的能力,只需要在页面上添加好扩展字段的 key,然后再 agent.yml 的 fields 中 添加增加字段的采集命令即可,举个例子,如果我们想要增加主机内核版本的展示,首先我们到扩展字段管理添加 kernel_version 字段
然后在 agent.yml 的 report.fileds 中添加配置
这样即可实现扩展字段的自动上报。
接口调用
除了使用 agent 自动上报来注册设备以外,我们也可以和自己公司内部的平台联动,通过调用接口的方式,将系统设备自动注册到资产管理平台,ams 提供了 /hosts/register 的接口,调用方式可以参考 agent 的 report 的实现
租户自动分配
如果大家使用夜莺的场景比较简单,自家的公司只需要有一个租户的话,可以参考上面的配置,在 fileds 中配置 tenant 字段,主机注册到资产管理系统之后,会自动分配到 inner 租户下面
AMS 模块比较简单,本篇介绍到此就结束了,下篇将为大家介绍任务执行中心(JOB)模块
作者简介
秦叶宁 企业级开源运维平台 Nightingale 主程,Urlooker 作者,现负责滴滴私有云运维产品方向的工作,如有运维平台的搭建需求,欢迎与我联系:)
版权声明: 本文为 InfoQ 作者【qinyening】的原创文章。
原文链接:【http://xie.infoq.cn/article/54d1ec18393c95987aabce61b】。文章转载请联系作者。
评论