跳到主要内容

嘉为蓝鲸WeOps 4.17 技术说明

1、资源需求说明

服务器资源需求

标准架构说明

WeOps采用蓝鲸PaaS+SaaS的基础架构,通过PaaS的管控平台能力和在客户端安装Agent实现纳管,并为企业的IT运维部门提供覆盖资源管理、监控告警、健康扫描、运维工具等多项功能为一体的运维工具,以故障定位和全生命周期管理为核心,持续保障业务连续性。

标准资源需求

服务器资源需求为标准3台架构,推荐配置如下:

序号节点角色推荐操作系统CPU最低配置内存推荐配置数据盘空间(务必划分至/data,建议支持在线扩容)组件清单
1中控机RedHat/CentOS7.9 64位8核32GB200GBiam,ssm,usermgr,gse,license,redis,consul,es7,monitorv3(influxdb-proxy),monitorv3(monitor),monitorv3(grafana)
2APPORedHat/CentOS7.9 64位8核32GB200GBnginx,consul,mongodb,rabbitmq,appo,influxdb(bkmonitorv3),monitorv3(transfer),fta,beanstalk
3APPTRedHat/CentOS7.9 64位8核32GB200GBpaas,cmdb,job,mysql,zk(config),kafka(config),appt,consul,log(api),nodeman(nodeman)

支持部署的操作系统

CPU架构操作系统
x86Open Euler 20.03
x86银河麒麟v10sp3
x86Rocky Linux8
x86RedHat 8
arm64银河麒麟v10 sp3

网络权限需求

纳管对象源地址方向目标地址协议端口用途
直连主机linuxnodeman --> agentTCP22SSH协议,节点管理推送Linux-Agent(仅用于一次性远程安装,可临时开通,手动安装可不开通)
windowsnodeman --> agentTCP135,137,139RPC协议,节点管理推送Windows-Agent(仅用于一次性远程安装,可临时开通,手动安装可不开通)
TCP445SMB协议,节点管理推送Windows-Agent(仅用于一次性远程安装,可临时开通,手动安装可不开通)
TCP1025-5000RPC动态端口(WinSvr08或以前),节点管理推送Windows-Agent(仅用于一次性远程安装,可临时开通,手动安装可不开通)
TCP49152-65535RPC动态端口(WinSvr08R2之后),节点管理推送Windows-Agent(仅用于一次性远程安装,可临时开通,手动安装可不开通)
linux/windowsgse_btsvr --> agentTCP60020-60030BT传输
agent --> nodemanTCP80,443节点管理后台Nginx端口,用于介质下载、上报日志、获取配置
TCP10300节点管理后台CallBack端口,用于回调获取配置
agent --> zkTCP2181agent从zk获取GSE配置
agent --> gse_taskTCP48533GSE任务服务端口
agent --> gse_dataTCP58625GSE数据上报端口
agent --> gse_btsvrTCP59173BT传输
agent --> gse_btsvrTCP,UDP10020BT传输
agent --> gse_btsvrUDP10030BT传输
非直连主机linuxProxy --> PagentTCP22SSH协议,节点管理推送Linux-Pagent(仅用于一次性远程安装,可临时开通,手动安装可不开通)
windowsProxy --> PagentTCP135,137,139RPC协议,节点管理推送Windows-Pagent(仅用于一次性远程安装,可临时开通,手动安装可不开通)
TCP445SMB协议,节点管理推送Windows-Pagent(仅用于一次性远程安装,可临时开通,手动安装可不开通)
TCP1025-5000RPC动态端口(WinSvr08或以前),节点管理推送Windows-Pagent(仅用于一次性远程安装,可临时开通,手动安装可不开通)
TCP49152-65535RPC动态端口(WinSvr08R2之后),节点管理推送Windows-Pagent(仅用于一次性远程安装,可临时开通,手动安装可不开通)
linux/windowsnodeman --> ProxyTCP22SSH协议,节点管理推送Linux-Pagent(仅用于一次性远程安装,可临时开通,手动安装可不开通)
gse_btsvr --> ProxyTCP60020-60030BT传输
Proxy --> Pagent
Pagent --> ProxyTCP17980,17981Proxy CallBack 端口,用于转发Pagent的回调
Proxy --> nodemanTCP80,443节点管理后台Nginx端口,用于介质下载、上报日志、获取配置
TCP10300节点管理后台CallBack端口,用于回调获取配置
Proxy --> zkTCP2181Proxy从zk获取GSE配置
Pagent --> ProxyTCP48533GSE任务服务端口
Proxy --> gse_task
Pagent --> ProxyTCP58625GSE数据上报端口
Proxy --> gse_data
Pagent --> ProxyTCP58725Ping告警数据上报端口
Pagent --> ProxyTCP59173BT传输
Proxy --> gse_btsvr
Pagent --> ProxyTCP,UDP10020BT传输
Proxy --> gse_btsvr
Pagent --> ProxyTCP10030BT传输
Proxy --> gse_btsvr
云平台Vmware"automate接入点
(如默认区域采集节点)" --> vSphere API
TCP443使用HTTPS协议连接vSphere API进行自动发现及监控采集
腾讯云--> CVM API使用HTTPS协议连接CVM API进行自动发现及监控采集,采集腾讯云需要访问 *.tencentcloudapi.com的域名
阿里云--> ECS API使用HTTPS协议连接ECS API进行自动发现及监控采集,采集阿里云需要访问 *.aliyuncs.com的域名
华为云ManageOne--> RESTful API使用HTTPS协议连接RESTful API进行自动发现及监控采集
华为公有云--> OpenStack API使用HTTPS协议连接OpenStack API进行自动发现及监控采集,采集华为云需要访问 *.myhuaweicloud.com的域名
深信服超融合--> RESTful API使用HTTPS协议连接RESTful API进行自动发现及监控采集
网络设备防火墙/路由器/负载均衡/交换机 "weops-proxy接入点
(如默认区域采集节点)" --> 防火墙/路由器/负载均衡/交换机
UDP161使用SNMP协议连接目标网络设备进行自动发现及监控采集
防火墙/路由器/负载均衡/交换机 --> SNMP Trap服务端UDP162网络设备通过SNMP Trap向服务端发送告警信息
硬件设备硬件服务器 "weops-proxy接入点
(如默认区域采集节点)" --> 硬件服务器
UDP161使用SNMP协议连接目标硬件服务器进行监控采集
UDP623使用IPMI协议连接目标硬件服务器进行监控采集
K8S/K8S集群 --> weops-chart接入点TCP9093数据回写到WeOps的Prometheus
自定义上报/自定义上报源 --> weops指定自定义上报服务器TCP10205自定义上报默认端口


2、告警源接入API

1、调用方式

POST

2、调用格式

{

"ip": '10.0.0.1', // 告警对象

"source_time": " 2022-04-13 17:00:53 ", // 告警发生的时间,格式:YYYY-MM-DD HH:mm:ss,必须

"alarm_type": "api_default", // 告警指标,必须

"level": "remain", // 告警级别,必须,枚举:remain/warning/fatal(提醒/警告/致命)

"alarm_name": "FAILURE for production/HTTP", // 告警名称,可选

"alarm_content": "FAILURE for production/HTTP on machine 10.0.0.1", // 告警详情,可选

"meta_info": "结算中心", // 告警其余信息,可选

"action": "firing", // 告警事件动作,可选,不传默认是firing, 枚举:firing/resolved(产生告警/消除告警)

"bk_obj_id": "host", // CMDB模型ID,可选,

"bk_inst_id": 2, // CMDB模型实例ID,可选

}

3、参数列表

参数必须备注
ipY告警对象
source_timeY告警发生的时间,格式:YYYY-MM-DD HH:mm:ss
alarm_typeY告警指标
levelY告警级别
alarm_nameN告警名称
alarm_contentN告警详情
meta_infoN告警其余信息
actionN告警事件动作
bk_obj_idNCMDB模型ID
bk_inst_idNCMDB模型实例ID

备注信息:告警源为REST API的告警,会根据告警源ID+告警对象+告警指标+告警级别,自动生成唯一的告警事件I

4、标准返回字段说明

名称类型说明
resultbool请求成功与否,true:请求成功,false:请求失败
codestring返回状态码:1200为成功,其余为失败
dataobject请求成功返回的数据
messagestring请求失败返回的错误消息

5、调用示例

3、通知支持方式说明

邮件

邮件是相对较为常见的通知方式,对接配置比较简便,需提供一个发件箱,并允许蓝鲸对SMTP服务器的访问权限。参数说明如下:

dest_url: 若用户不擅长用 Python,可以提供一个其他语言的接口,填到dest_url,ESB 仅作请求转发即可打通邮件配置

smtp_host: SMTP 服务器地址 (注意区分企业邮箱还是个人邮箱)

smtp_port: SMTP 服务器端口 (注意区分企业邮箱还是个人邮箱)

smtp_user: SMTP 服务器帐号

smtp_pwd: SMTP 服务器帐号密码 (一般为授权码)

smtp_usessl: 默认为 False

smtp_usetls: 默认为 False

mail_sender: 默认的邮件发送者 (smtp_user 相同)

短信

企业采用的短信服务厂商不尽相同,目前蓝鲸仅支持腾讯云sms服务开箱即用,其他厂商对接需企业提供短信服务接口文档,并在蓝鲸侧做定制适配,以下以腾讯云sms为例列举参数说明:

dest_url: 若用户不擅长用 Python,可以提供一个其他语言的接口,填到 dest_url,ESB 仅作请求转发即可打通短信配置

qcloud_app_id: SDK AppID

qcloud_app_key: App Key

qcloud_sms_sign: 在腾讯云 SMS 申请的签名,比如:腾讯科技

微信公众号

1)微信公众号对接需要满足以下先决条件:

  a)企业需提供一个微信公众号;

  b)蓝鲸平台发布在公网。

2)创建微信公众号:打开微信公众平台(https://mp.weixin.qq.com/)自行注册微信公众号服务号,所在行业选择IT科技/IT软件与服务(和后面的模板消息有关联);

3)添加模板消息

4)统一告警中心配置公众号相关信息:

APPID,AppSecret:在服务号管理后台-开发-基本配置中可获取到

Token:自行设置 (必须是英文或数字, 长度3-32字符)

template_id:在服务号管理后台-功能-模板消息中可获取到

5)然后,在微信服务号管理后台-开发-基本配置,须填写以下参数:

IP白名单:填写统一告警中心服务器出口IP

服务器地址:填写内容为{{alarmcenter_url}}/alarm/mobile/wechat/event/,{{alarmcenter_url}}为统一告警中心地址

令牌(token):上一步中填写的token

消息加解密密钥:不需要设定

消息加解密方式:选择 “明文模式”

6)在服务号管理后台-设置-公众号设置-功能设置,设置网页授权域名处需下载授权文件提供给实施工程师进行蓝鲸服务器Nginx配置,然后填写网页授权域名为paas域名, 即可通过验证。

企业微信

1)企业微信对接需要满足以下先决条件:

  a)统一告警中心SaaS(这里指SaaS所在蓝鲸appo服务器)能够访问外网(统一告警中心的告警会先把消息推送到企业微信服务器,然后企业微信再转发推送到客户的企业微信上,所以蓝鲸服务器需要能够访问公网);

  b)蓝鲸平台的域名需要发布在公网;

  c)外部访问蓝鲸公网域名+端口和在客户内网环境访问蓝鲸域名+端口需要一致,这是由告警中心这个SaaS的底层代码和企信的回调域设置决定的。事实上,告警中心移动端的配置是通过企信扫二维码实现的,这个二维码由SaaS生成,其实质是一个url,这个url只能从内网的蓝鲸服务器获取。因此,企信去访问这个url时,要先访问发布在公网的蓝鲸域名。强烈推荐蓝鲸平台采用https方式部署。

2)逻辑架构参考下图:

3)企业微信对接需在统一告警中心填写以下参数:

企业ID:在企业微信后台“我的企业”中可以获取到;

AgentID,Secret:在应用的基础信息中可以获取到