资源纳管配置
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.7 配置文件纳管
背景介绍:运维部门需要对资源的配置文件进行资产管理,方便查看和使用,目前WeOps已经内置好“配置文件”的模型,将需要配置文件的资源模型与“配置文件”的模型相关联,即可对该资源的配置文件进行管理
Step1:创建关联
路径:管理-资产管理-模型管理
如下图,以主机为例,在资产管理-模型管理中,点击“配置文件”模型的按钮,在“关联”中,创建关联,选择目标模型“主机”,关联类型“belong”,约束条件“N-N”
Step2:配置文件管理
路径:资源-资源记录-主机
当资源模型的关联配置完成以后,就可以在主机的详情页看到配置文件的tab,如下图,在主机列表中,点击“查看”按钮
如下图,配置文件进行管理,可以进行配置文件的创建,选择对应的维护人,每个配置文件点击详情后,可以查看这个配置文件的具体内容,包括基本信息、版本列表和具体文档、变更记录等信息。
针对版本列表,支持上传不同版本文档的上传、下载、预览、删除等等
针对变更记录,可查看每个配置文件的变更情况,以及变更前后的对比。