跳到主要内容

资源纳管配置

1.0 资产关系总图示

WeOps所有资源模型之间的关联关系如下:

主机

如下图,主机直接与“模块”关联,其应用归属来自于所属的模块的应用。

数据库/中间件

如下图,数据库/中间件与主机关联,其应用归属来自于关联的主机应用属性。

K8S

如下图,K8S集群、命名空间、工作负载、pod、node的关联关系如图,各个模型的应用属性描述如下:

K8S集群:直接与集群关联,从而获得应用属性

node:来自于关联的K8S集群的应用属性

命名空间:直接与集群关联,从而获得应用属性

工作负载、pod:来自于所关联的命名空间的应用属性

网络设备

如下图,交换机、路由器、负载均衡、防火墙等网络设备直接与集群关联,从而获得对应的应用属性。

云平台-VMware

如下图,Vcenter、虚拟机、ESXI、数据存储直接的关联关系如图,各个模型的应用属性描述如下

vcenter:直接与集群关联,从而获得应用属性

虚拟机、ESXI、数据存储:各自直接与模块关联,从而获得应用属性

云平台-腾讯云/阿里云

如下图,云账户直接与集群关联,从而获得应用属性,云服务器(CVM、ECS)直接与模块关联,从而获得应用属性。

云平台-manageone

如下图,华为云Manageone平台的关联关系如下,各类对象的的应用归属描述如下

  • ManageOne平台:与集群管理,从而获得应用属性

  • 云服务器、云平台、宿主机、数据存储:直接与模块关联,从而获得应用属性

云平台-SangforHCI

如下图,SangforHCI平台的关联关系如下,各类对象的应用归属米搜狐如下

  • SangforHCI平台:直接与集群关联,从而获得集群的应用属性

  • 虚拟机:直接与模块关联,从而获得应用属性

云平台-FusionInsight

如下图,FusionInsight平台的关联关系如下,各类对象的应用归属米搜狐如下

  • FusionInsight平台:直接与集群关联,从而获得集群的应用属性

  • FusionInsight集群/主机:直接与模块关联,从而获得应用属性

云平台-华为云

如下图,华为云平台的关联关系如下,各类对象的应用归属米搜狐如下

  • 华为云账号:直接与集群关联,从而获得集群的应用属性

  • 华为云ECS:直接与模块关联,从而获得应用属性

1.1 主机纳管

背景介绍:需要把主机纳入到WeOps的管理中,有两种方式进行:一是手动创建仅记录主机信息,二是安装Agent进行主机信息的自动采集

方式一:手动创建

路径:资产-资产记录-主机

手动创建仅录入主机的相关信息,进行主机的信息管理和拓扑展示,若需要对手动创建的主机进行监控数据采集,需要对其进行Agent安装。

Step1:进入界面,点击“新建”

Step2:填写主机相关信息

在弹出的抽屉中填写相关主机信息,必填字段包括:内网IP、云区域

手动创建的主机agent状态为“未安装”,若需要安装agent,则前往“管理-管理中心-监控管理-监控采集”进行agent的安装。

方式二:安装Agent

路径:管理-监控管理-监控采集

以安装agent的方式进行主机的纳管,在agent安装后,可在“资产数据-资产记录(主机)”中形成对应的主机信息,同时支持监控数据的采集。可以选择手动单个agent安装,或者利用表格导入进行批量安装,安装步骤基本一致。

Step1:进入界面,点击安装Agent

如下图所示,选择“操作系统-主机”,进入主机Agent安装界面,点击“安装Agent”

Step2:填写相关信息

在安装的界面,选择该主机归属的业务、云区域以及接入点。随后在安装信息输入该纳管主机的IP地址,登录账号和密码等核心配置。输入完成之后点击[安装]按钮即可将agent部署至该主机。

Step3:等待安装成功

上一步骤点击安装将会跳转至安装界面,可以查看执行状态,点击查看日志可以查阅安装过程。

安装完成回到主机纳管的界面可以看到该主机的Agent已经顺利安装。

1.2 应用新建

背景介绍:当有新应用上线时,需要在WeOps的应用管理对该应用进行纳管,具体步骤如下:新建应用,填写该应用相关信息→确定该应用层级并配置拓扑→添加主机,进行管理。

Step1:新建业务

路径:资产-应用

在应用列表页面,点击“添加应用”按钮,可以进行应用的新建。需填写基础信息和角色信息。

Step2:配置应用拓扑

路径:资产-应用

  • 进入新创建的应用的详情页面,点击左侧的节点信息,展示该应用的拓扑

  • 点击页面左侧的拓扑的对应节点,可依据实际情况依次添加“子应用”、“集群”和“模块”等层级

Step3:主机分配和移动

路径:资产-应用

应用的拓扑新建完成后,可以向各个节点添加主机。选中需要添加的节点,点击“主机列表”下的“添加主机”按钮,这里展示了所有没有归属应用的主机列表(展示手动创建/安装Agent两种方式下未归属应用主机),选择需要加入的主机,点击下一步,选择模块即可添加成功。

1.3 数据库/中间件纳管

背景介绍:关联主机已经进行Agent的安装,并且Agent正常(主机Agent安装详见1.1主机纳管),这里以Oracle为例进行介绍,有两种方式进行资源的纳管,一种是手动纳管,一种是创建自动发现任务进行资产纳管。

方法一:手动纳管

路径:资源-资源记录-数据库(Oracle)

Step1:进入界面,点击“新建”,进行实例信息录入

点击“新建”按钮后,在弹出的抽屉中,填入Oracle的相关信息。

Step2:建立与主机的关联

实例新建完成后,点击“查看”按钮,进入到该实例的详情页。

点击“关联信息”中的“关联管理”,建立该Oracle数据库和对应主机的关联关系。

手动创建的资产的配置信息需求手动维护和更新。

方法二:自动发现

路径:管理-资产管理-自动发现

选择数据库-Oracle,创建自动发现任务,新建任务时,选择资产的IP范围、输入对应凭据

自动发现任务执行完成后,资产数据有如下更新:新增Oracle资产、根据周期实时更新资产配置信息、自动关联对应主机。

1.4 云平台纳管(以腾讯云为例)preview

背景介绍:运维部门需要对云平台(VMware/阿里云/腾讯云)进行资产管理,并展示其直接的关联关系,可以在WeOps的资产数据进行管理,进行云平台的纳管,有两种方式进行:一是手动纳管,手动维护资产信息和关联关系,二是自动发现,自动发现资产信息、关联关系,并自动更新。这里以阿里云为例进行介绍。

方法一:手动纳管

路径:资源-资源记录-腾讯云

如下图,在“腾讯云—云账户”页面,点击“新建”按钮,进行腾讯云账号的创建,这里的“腾讯云账号”是为了区分不同账号下的云服务器而创建的资产模型

如下图,在“腾讯云-CVM”页面,点击“新建”按钮,进行云服务器的创建,并手动填写对应信息。

创建完成后,在CVM的实例详情中,进行其与云账户的关联。

方法二:自动发现

路径:资源-资源记录-腾讯云

如下图,在“腾讯云—云账户”页面,点击“新建”按钮,先进行腾讯云账号的创建。

路径:管理-资产管理-自动发现(腾讯云)

在自动发现页面,选择腾讯云,进行腾讯云某个账号下云服务器的发现和采集。在创建采集任务时,可以选择使用已有的凭据,云平台的凭据可在“资产-凭据管理-云平台”中维护,若无关联凭据,在新建自动发现任务时可以新建凭据。

  • 阿里云/腾讯云/VMware设置自动发现的账号需要的最小化权限为:只读权限,具体如下

  • 域名配置如下:阿里云的域名都是带{资源}+{region}的,例如ecs.cn-guangzhou.aliyuncs.com。腾讯云的域名带{资源}的,例如cvm.tencentcloudapi.com

自动发现完之后,自动采集该腾讯云账号下的所有的CVM及其信息,并在“资产记录-腾讯云-CVM”中自动新增/更新信息。

1.5 K8S纳管preview

背景介绍:需要对K8S集群以及相关的命名空间、工作负载、pod、node的信息进行采集和呈现。“WeOps-资产记录”已经内置K8S五项模型及关联关系,包括“K8S集群”、“K8S命名空间”、“K8S工作负载”、“Pod”、“Node”

原理介绍

WeOps对k8s进行配置发现与采集的原理如图

需要额外部署的组件和功能:

1、kube-state-metrics: 集群配置信息的发现采集,需要其他服务主动调取,采用helm的形式在k8s中部署

2、Prometheus-agent: 从kube-state-metrics中获取数据,并推送到weops-prometheus,用helm chart的形式在k8s中部署

3、weops-promtheus: 数据临时存储,weops从此获取原始的资产数据,用docker的形式部署在appt

整体步骤:K8S部署操作——手动创建K8S集群实例——设置自动采集任务——自动采集K8S命名空间、工作负载、pod、node信息,并形成关联拓扑图

Step1:K8S部署操作

1、环境准备(basic auth的用户名密码默认为admin:admin,可按需调整)

在蓝鲸配置平台导入k8s模型组(关联关系必须准确

#!/bin/bash
mkdir /data/weops/prometheus/tsdb -p
cd /data/weops/prometheus

cat << "EOF" > prometheus-web.yml
basic_auth_users:
admin: $2y$12$Dx1PAPXkUcW10NhuRh.3iuHHDzmT7h6sgv1siHXksRbYk8RrqKkvC
EOF

cat << "EOF" > prometheus.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
EOF

docker load < prometheus.tgz

2、在appt启动weops附带的prometheus实例:

docker run -d --net=host -v /data/weops/prometheus/prometheus-web.yml:/opt/bitnami/prometheus/conf/prometheus-web.yml -v /data/weops/prometheus/prometheus.yml:/opt/bitnami/prometheus/conf/prometheus.yml bitnami/prometheus --name=prometheus --web.listen-address=0.0.0.0:9093 --web.enable-remote-write-receiver --web.config.file=/opt/bitnami/prometheus/conf/prometheus-web.yml --config.file=/opt/bitnami/prometheus/conf/prometheus.yml --storage.tsdb.retention.time=30m

运行后telnet localhost 9093 验证部署是否成功

3、在k8s集群中部署kube-state-metrics和promtheus(要求客户的镜像仓库中已有kube-state-metricsd:v2.5.0和prometheus:2.38.0镜像)

在k8s的control-plane上解压helm chart并部署,具体操作步骤可以查看gihub具体解释和操作步骤:https://github.com/WeOps-Lab/WeOps-Charts/

正常应输出(REVISION: 1):

检查pod状态:

kubectl get po -n weops

检查prometheus-agent状态:

Step2:创建K8S集群实例

路径:资源-资源记录-K8S(K8S集群)

如下图,在K8S集群页面中点击“新建”按钮,进行K8S集群实例的创建

Step3:创建K8S集群自动发现

路径:管理-资产管理-自动发现

如下图,在自动页面中点击“新建”按钮,进行K8S集群自动发现的任务的创建,创建时仅需要填写任务名称、选择需要采集K8S集群实例名称、设置采集频率即可。

任务创建完成后,可根据设置的采集频率进行采集,也可点击“立即发现”

Step4:自动发现相关信息

路径:资源-资源记录-K8S(K8S命名空间、K8S工作负载、Pod、Node)

设置自动发现任务后,自动发现该K8S集群下的命名空间、工作负载、Pod、Node相关实例信息,及其关联关系

1.6 网络设备纳管preview

背景介绍:运维部门需要对网络设备(交换机/路由器/负载均衡/防火墙)进行资产管理,并展示其直接的关联关系,可以在WeOps的资产数据进行管理,第一步需要进行网络设备的纳管,有两种方式进行:一是手动纳管,手动维护资产信息和关联关系,二是自动发现,自动发现资产信息、关联关系,并自动更新。这里以交换机为例进行介绍。

方法一:手动纳管

路径:资源-资源记录-基础设备(交换机)

在交换机的页面,点击“新建”按钮,进行资产的新建,填写必要的信息,包括品牌/型号等等,手动创建的资产需要手动维护/更新配置信息。

方法二:自动发现

路径:管理-资产管理-自动发现(网络设备)

在自动发现页面,选择网络设备,进行网络设备的自动发现任务的创建。

任务创建完成后,任务将会按照填写的信息和时间进行执行,执行完后,若有未识别到的OID,建议点击按照提示添加到OID库,以便后续可以直接自动发现和采集相关的信息。

【特殊说明如下】
在网络设备自动发现过程中,只有网络设备的品牌和型号在OID库的,才能自动发现和采集到相关的信息。如果需要拓展自动发现的范围有两种方式
(1)在管理-资产管理-OID库手动添加需要自动发现的网络设备的品牌型号的OID,添加完成后,自动发现即可发现相关信息。
(2)创建自动发现任务后,经过一次扫描,若有未识别到的OID,根据提示,在OID库中添加,添加完成后,自动发现即可发现相关信息

自动发现完成以后,自动采集到的网络设备已经对应的品牌、型号会自动更新到“资产数据-资产记录-交换机“里面

网络拓扑,对于自动发现的网络设备,展示了各个设备的拓扑图,可以通过自动关联/手动关联的方式,完善网络设备的拓扑图。

  • 注:只有符合内置OID库的网络设备品牌和型号的设备才可以被自动发现,若需要拓展OID库,如下图,可进行不同品牌型号的网络设备的OID新增,新增完成后,可进行自动发现和采集。

1.7 配置文件纳管(以主机配置文件为例)

背景介绍:运维部门需要对资源的配置文件进行资产管理,方便查看和使用,目前WeOps已经内置好“配置文件”的模型,已经与各个资产模型相关联,支持对各个资源的配置文件上传和管理,另外WeOps支持对主机类/网络设备类的配置文件自动发现和更新。

Step1:前提条件,确认关联

路径:管理-资产管理-模型管理

如下图,以主机为例,在资产管理-模型管理中,点击“配置文件”模型的按钮,在“关联”中,检查关联情况

Step2:配置文件创建

路径:资源-资产记录-主机

当资源模型的关联配置完成以后,就可以在主机的详情页看到配置文件的tab,如下图,在主机列表中,点击“查看”按钮

如下图,可以进行配置文件的创建,选择对应的维护人,每个配置文件点击详情后,可以查看这个配置文件的具体内容

  • 关于文件的上传有两种方式,对于主机/网络设备类的资产,已经支持自动采集的能力,可以创建配置文件的自动采集任务进行文件的采集和版本的更新;对于其他资产的配置文件来说,需要进行手动的上传和版本的维护。

Step3:配置文件自动采集

路径:管理-资源管理-自动发现

  • 对于主机/网络设备来说,配置文件支持自动发现和自动采集,所以在自动发现页面,选择配置文件进行配置文件自动采集任务的创建,这里以主机为例进行介绍

  • 任务执行后,可以在“资源-资产记录-主机-配置文件”中,查看这个主机的这个配置文件的采集信息

Step3:配置文件手动维护

路径:资源-资产记录-主机

  • 对不同版本的配置文件进行手动上传文件,修改/删除等操作,也可以支持预览

Step4:配置文件使用

  • 针对不同版本的文件,支持选择两个版本的文件进行对比,并标出差别之处

  • 针对变更记录,可查看每个配置文件的变更情况,以及变更前后的对比。

1.8 SSL证书纳管

背景介绍:运维部门关于多个域名,对于域名的证书相关信息的管理也尤为重要,尤其是证书的到期时间,WeOps提供SSL证书自动发现和采集能力,支持定期采集/更新证书的信息,结合事件到期提醒功能,即将到期的证书发送提醒。

Step1:创建证书实例

路径:资源-资产记录-证书

  • 如下图,在资产记录中创建一个SSL证书的实例,以便后续自动发现使用。

Step2:创建证书自动发现

路径:管理-资产管理-自动发现

  • 如下图,选择自动发现-SSL证书,选择刚才创建的正式实例,并为这个证书填写域名,比如“wedoc.canway.net”,填写完成,选择对应的扫描周期,即可按照周期进行扫描。当证书更新后,也会根据最新的扫描情况,进行更新相关信息。

Step3:证书自动发现/更新

路径:资源-资产记录-证书

*任务执行完成后,在资产记录的列表,可以看到采集的证书信息,包括“颁发者”、“域名”、“颁发时间”、“截止日期”等信息。

Step4:到期提醒

路径:资源-事件订阅

  • 当证书自动发现和采集创建完成之后,可以针对需求,对证书的到期时间进行订阅,在“事件订阅”中创建任务,选择证书的“截止日期”字段,创建扫描和提醒的时间,配置完后,会安装配置的提醒时间,发送邮件提醒。