1.5 运维平台之软件CMDB

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.5 运维平台之软件CMDB相关的知识,希望对你有一定的参考价值。

前述:

    0.硬件CMDB,即面向设备资源的资产管理,面向运维人员钟情于此.

     软件CMDB,面向业务资源的配置管理,类似业务信息管理平台, 开发、PE和测试人员更加关心此处.

    1.硬件CMDB各个公司都在建设(程度不一),软件CMDB(业务信息管理平台)系统化管理维护更少.

    2.运维人员钟情硬件CMDB,对业务信息管理也只是笼统维护,远远没有到达基于应用项目的业务维护,监控力度只是系统和服务层面).

    3.开发人员开发任务繁重,没有精力提交应用业务信息,结果.....大家都很忙,可是开发出什么鬼呀,经常被市场同事投诉(真实经历).

    4. 当然开发肯定有需求分析和项目规划, 可是必须让维护人员(运维)了解和维护相关的业务应用项目.

    5. 沟通很重要, 运维人员不单单被动的维护, 以运营的手段对待项目.


困惑:

    1.涉及到微服务的开发需要了解服务部署在哪时,当前实例数和资源调度情况,更别说相关应用的日志和监控数据.

    2.运维人员进行报警巡检或性能分析或添加监控,某些服务出现问题(访问出错|服务报警|应用上线和下线回收),不知道找

        哪些相关开发和测试人员进行沟通处理, 尤其优化某个子项目服务组, 确认影响故障域和风险评估.

    3.大量应用上线,特别是容器和微服务化, 导致业务项目更加复杂, 系统<->服务<->应用数据串更新频繁,传统手段无法维护.

    4.对于某些爆发性(广告秒投项目)或者弹性伸缩应用项目,应用业务资源使用情况更加需不同人员知晓.

        最近TW业务推广,此项目资源是否充足,以便进行扩充; 结果突发专线跑满,影响到其它业务,原来就是推广业务造成, 临时追加带宽.

    5.反正很多都是口口相传,只有专门人员知晓,人员沟通成本非常高,知情度低也会影响工作效率.能不能提供一个便捷平台,让开发、

        运维、测试人员更加高效处理应用项目业务.


应用业务配置管理-大图

应用业务配置管理系统相关资源(系统层、宿主、容器、服务、服务组、应用项目)关联,以及对应监控系统关系.

技术分享图片技术分享图片


部分成果展示:

1. 面向业务资源配置管理, 全部隶属于'应用及服务'下.

技术分享图片技术分享图片


2.服务器系统管理,  OS系统作为应用及服务的基础资源.

技术分享图片技术分享图片


3. 基于硬件服务器维护(类似硬件CMDB), 基于服务器系统维护, 基于应用项目维护, 大约这三个阶段.暂时到达服务器系统到应用项目之间, 监控系统也是基于服务器系统, 作为运维人员更加需要此切点.

技术分享图片技术分享图片


4. docker宿主节点, 专门拆分出来.

技术分享图片技术分享图片


5. 宿主节点和容器实例拓扑图.

适用场景和环境: (https://github.com/tm-roamer/ctopo/)

(1)适用于监控网络ip节点互联关系的场景

(2)适用于社交网络的群组互联访问关系

技术分享图片技术分享图片


6. 容器实例.

技术分享图片

7. 应用项目

技术分享图片技术分享图片


8. 有些服务组模块被多应用调用, 反正需要量化区分服务资源,在应用和服务间增加服务组层.

微服务项目也可以在此处添加, 定义为应用则太大, 定义为服务又太小, 暂时此处.

技术分享图片技术分享图片

9. 应用服务

暂时不写. 服务注册和服务发现, 类似服务治理吧.

容器服务 基于 consul+register 作为 服务注册 发现及健康检查中心.


10. 我的小目标.

只知道这些服务器系统资源正常, 服务也正常, 这些数据都太片面, 独立无法关联起来.

监控需求(贴近业务,告警合并压缩), 非常需要此业务配置管理系统.

告警合并压缩, 某个项目故障,可能多方位报警, 需要挑选出更加上层报警上报, 需要知道关系链.

技术分享图片技术分享图片


####################################################################

如何标识资源:

硬件设备-Asset(X86服务器、小型机、交换路由设备、防火墙、机架等)最终选用SN进行唯一标识,device_id用于存放设备编码(条形码/二维码标签),

name则为设备名称(X86服务器则为主机名, 交换设备则为设备名).  服务器业务IP和管理IP会存放在Asset-server,  交换机管理IP存放在Asset-switch.

####硬件设备不一定有OS系统,特别是购买腾讯云和阿里云VM主机,硬件设备肯定就不用提供, 所以造成Asset-AgentInfo拆分.


主机信息-AgentInfo(kvm、vm、hwvm、X86服务器系统)必须存在OS(linux|windows|unix),安装系统初始化同时需要安装agent.  最终使用hostname

作为唯一标识, agent_ip使用映射IP(hostname -i). 刚开始使用IP标识, 居然有些系统居然有四种IP(私网|公网)且没有合法(hostname -i), 最后用回hostname.

####遇到过硬件服务器系统同时安装KVM和Docker,kvm宿主机和依附vm都存放在AgentInfo(可以安

####装agent), 可是主机系统和宿主节点属性不一致, DockerNode引擎版本、network、storage、

####image,反正就要拆. 有时购买云供应商容器服务,无法提供AgentInfo,对接加入维护使用,也是拆分

####的原因之一;  对接授权和监控和代码发布应用, 方便以后松散对接.


宿主节点-DockerNode, node_id用于主健(用于它用); host_on为可选,用于对接主机系统; 最终使用docker_name作为唯一标识.

####


容器实例-Container, node_id用于主健(用于它用); node_on和name最终作为唯一标识.

####不同宿主节点的容器实例name有可能一致(反正当前情况是这样);生命周期特别短,标识ID和IP地

####址经常变,暂时选用node_on和name联合识别.


资源收集方式和更改通知.

服务器管理信息收集:

        手动录入: 通过网页进行手动填写信息.

        Agent自动汇报: 在系统OS同时安装Agent代理,进行数据收集和汇报.

        中继自动汇报:  例如华为fushion cute私有云, 可以通过相关API读取VM相关信息, 直接入库.

宿主节点和容器实例:

        Agent自动汇报: 主要在宿主机器通过docker info|docker inspect进行数据收集和录入.

        中继自动汇报:  某个第三方平台,通过API进行信息入库.

服务管理:

        手工录入:  非常不推荐, 针对非规范化和量少的服务.

        Agent录入: 服务必须规范化, 服务安装部署时进行服务自动添加, 一般针对传统服务.

        consul服务发现: 特别是针对consul和register服务,对容器服务非常有用.

服务组管理:

        一般通过nginx和haproxy进行分发管理, 或者其它方式.

        haproxy可以通过状态API页面读取service_cluster和相关服务, 方便自动入库.

更改通知:

    以上资源变动, 最好能对接到监控系统, 让相关人员了解, 解放我们双手.

技术分享图片技术分享图片


参考链接:

http://blog.csdn.net/younger_china/article/details/52243759

http://blog.csdn.net/yeasy/article/details/47749725

http://blog.csdn.net/zhangjun2915/article/details/44080453

http://blog.csdn.net/gsying1474/article/details/51773391

https://gliderlabs.com/registrator/latest/user/quickstart/

http://blog.csdn.net/daiyudong2020/article/details/53559008

http://blog.csdn.net/yeasy/article/details/47749725

http://dockone.io/article/272

http://www.techweb.com.cn/network/system/2016-01-28/2270190.shtml

http://www.cnblogs.com/wintersun/p/6747355.html

http://blog.csdn.net/u010246789/article/details/51871051

http://blog.51cto.com/renyongfan/1827797

以上是关于1.5 运维平台之软件CMDB的主要内容,如果未能解决你的问题,请参考以下文章

运维平台之CMDB

1.运维平台之规划路线

自动化运维平台之开发经验

CMDB和运维自动化

把zabbix图形整合至运维平台

第二个运维平台项目