跳到主要内容

嘉为蓝鲸WeOps 4.9 内容说明

1、资源模型内置说明

操作系统、数据库、中间件、容器等对象进行资源模型内置,具体模型、字段、自动发现和采集能力详见列表

查看资产和模型字段的具体信息,点击可下载WeOps内置的模型说明表格,包括WeOps初始化内置的资产模型和字段,以及自动发现和采集能力。

1.1 操作系统模型内置情况

类型纳管对象内置模型字段自动发现采集情况
操作系统Windows Server详见表格【WeOps内置的模型说明表格】使用Agent采集配置数据
操作系统linux详见表格【WeOps内置的模型说明表格】使用Agent采集配置数据

1.2 数据库模型内置情况

类型纳管对象内置模型字段自动发现采集情况
数据库Oracle详见表格【WeOps内置的模型说明表格】支持自动发现采集
数据库MySQL详见表格【WeOps内置的模型说明表格】支持自动发现采集
数据库MSSQL详见表格【WeOps内置的模型说明表格】
数据库REDIS详见表格【WeOps内置的模型说明表格】支持自动发现采集
数据库MongoDB详见表格【WeOps内置的模型说明表格】
数据库ElasticSearch详见表格【WeOps内置的模型说明表格】
数据库PostgreSQL详见表格【WeOps内置的模型说明表格】支持自动发现采集
数据库DB2详见表格【WeOps内置的模型说明表格】
数据库数据库集群详见表格【WeOps内置的模型说明表格】

1.3 中间件模型内置情况

类型纳管对象内置模型字段自动发现采集情况
中间件Apache详见表格【WeOps内置的模型说明表格】
中间件Tomcat详见表格【WeOps内置的模型说明表格】
中间件Nginx详见表格【WeOps内置的模型说明表格】
中间件IIS详见表格【WeOps内置的模型说明表格】
中间件RabbitMQ详见表格【WeOps内置的模型说明表格】
中间件WebLogic详见表格【WeOps内置的模型说明表格】
中间件Kafka详见表格【WeOps内置的模型说明表格】
中间件IBM MQ详见表格【WeOps内置的模型说明表格】
中间件ZooKeeper详见表格【WeOps内置的模型说明表格】

1.4 K8S模型内置情况

类型纳管对象内置模型字段自动发现采集情况
K8SK8S集群详见表格【WeOps内置的模型说明表格】
K8SK8S命名空间详见表格【WeOps内置的模型说明表格】支持自动发现采集
K8SK8S工作负载详见表格【WeOps内置的模型说明表格】支持自动发现采集
K8SPod详见表格【WeOps内置的模型说明表格】支持自动发现采集
K8SNode详见表格【WeOps内置的模型说明表格】支持自动发现采集

1.5 云平台模型内置情况

类型纳管对象内置模型字段自动发现采集情况
VMwareVcenter详见表格【WeOps内置的模型说明表格】
VMwareVMware虚拟机详见表格【WeOps内置的模型说明表格】支持自动发现采集
VMwareESXI详见表格【WeOps内置的模型说明表格】支持自动发现采集
VMware数据存储详见表格【WeOps内置的模型说明表格】支持自动发现采集
阿里云阿里云账号详见表格【WeOps内置的模型说明表格】
阿里云ECS详见表格【WeOps内置的模型说明表格】支持自动发现采集
腾讯云腾讯云账号详见表格【WeOps内置的模型说明表格】
腾讯云CVM详见表格【WeOps内置的模型说明表格】支持自动发现采集
华为云ManageOne平台详见表格【WeOps内置的模型说明表格】
华为云ManageOne云服务器详见表格【WeOps内置的模型说明表格】支持自动发现采集
华为云ManageOne宿主机详见表格【WeOps内置的模型说明表格】支持自动发现和采集
华为云ManageOne数据存储详见表格【WeOps内置的模型说明表格】支持自动发现和采集
华为云ManageOne云平台详见表格【WeOps内置的模型说明表格】支持自动发现和采集
华为云华为云账号详见表格【WeOps内置的模型说明表格】
华为云华为云ECS详见表格【WeOps内置的模型说明表格】支持自动发现和采集
深信服超融合(SangforHCI)SangforHCI平台详见表格【WeOps内置的模型说明表格】
深信服超融合(SangforHCI)SangforHCI虚拟机详见表格【WeOps内置的模型说明表格】支持自动发现和采集
华为大数据平台FusionInsight平台详见表格【WeOps内置的模型说明表格】
华为大数据平台FusionInsight集群详见表格【WeOps内置的模型说明表格】支持自动发现和采集
华为大数据平台FusionInsight主机详见表格【WeOps内置的模型说明表格】支持自动发现和采集

1.6 基础设备模型内置情况

类型纳管对象内置模型字段自动发现采集情况
基础设备交换机实例名、管理IP、管理端口、型号、SNMP版本、品牌支持自动发现采集,自动发现采集字段如下:
实例名、管理IP、管理端口、型号、SNMP版本、品牌
基础设备路由器实例名、管理IP、管理端口、SNMP版本、型号、品牌支持自动发现采集,自动发现采集字段如下:
实例名、管理IP、管理端口、SNMP版本、型号、品牌
基础设备防火墙设备实例名、管理IP、管理端口、型号、SNMP版本、品牌支持自动发现采集,自动发现采集字段如下:
实例名、管理IP、管理端口、型号、SNMP版本、品牌
基础设备负载均衡设备实例名、管理IP、管理端口、SNMP版本、型号、品牌支持自动发现采集,自动发现采集字段如下:
实例名、管理IP、管理端口、型号、SNMP版本、品牌
基础设备物理机实例名、IP地址、型号、类型、硬盘大小、CPU型号、型号、品牌、sn设备序列号、网卡数量、内存大小、MAC地址、维护人、过保日期、存放地点、资产编号
基础设备网络设备端口实例名、品牌

1.7 硬件设备模型内置情况

类型纳管对象内置模型字段
硬件设备硬件服务器详见表格【WeOps内置的模型说明表格】
硬件设备存储详见表格【WeOps内置的模型说明表格】
硬件设备安全设备详见表格【WeOps内置的模型说明表格】

1.8 其他模型内置情况

类型纳管对象内置模型字段自动发现采集情况
目录服务详见表格【WeOps内置的模型说明表格】
邮件服务Exchange Server详见表格【WeOps内置的模型说明表格】
证书SSL证书详见表格【WeOps内置的模型说明表格】

2、监控指标说明

2.1 各对象支持监控方式汇总

对象类型对象名称支持的监控方式
操作系统linux、Windows等1、Agent采集
2、自定义脚本监控插件(shell、powershell)
数据库Oracle、MySQL、MSSQL1、内置监控插件
2、自定义脚本监控插件(shell、powershell)
3、SQL监控插件
MongoDB、Redis、PGSQL、其他扩展数据库1、内置监控插件
2、自定义脚本监控插件(shell、powershell)
中间件Apache、Nginx、Tomcat...1、内置监控插件
2、自定义脚本监控插件(shell、powershell、BK-pull)
云平台阿里云、腾讯云、华为公有云......1、内置监控插件
K8Snode、pod1、内置监控插件
网络设备snmp交换机、路由器、防火墙、负载均衡1、内置监控插件
2、自定义SNMP监控模板
硬件设备IPMI硬件服务器.....1、内置监控插件

操作系统、数据库、中间件等对象内置监控插件的监控指标,具体如下表。(部分对象已经内置监控插件、内置关键指标、内置监控策略详见列表)

点击可下载WeOps内置的监控指标说明表格,包括WeOps初始化内置的资产指标、指标说明和推荐阈值等信息

2.2 各对象监控说明

1 操作系统监控指标

序号对象类型指标数量指标/事件内置监控插件内置监控策略
1操作系统-Windows97详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】
2操作系统-Linux97详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】

2 数据库监控指标

序号对象类型指标数量指标/事件内置监控插件内置监控策略
1数据库-MySQL21详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】
2数据库-MSSQL20详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】
3数据库-Oracle25详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】
4数据库-MongoDB27详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】
5数据库-Redis30详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】
6数据库-PGSQL74详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】
7数据库-MongoDB74详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】
8数据库-ElasticSearch详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】

3 中间件监控指标

序号对象类型指标数量指标/事件内置关键指标内置监控插件内置监控策略
1中间件-Tomcat详见【WeOps内置的监控指标说明表格】详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】
2中间件-Nginx8详见【WeOps内置的监控指标说明表格】详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】
3中间件-Apache详见【WeOps内置的监控指标说明表格】详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】
4中间件-IIS详见【WeOps内置的监控指标说明表格】详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】
5中间件-Kafka详见【WeOps内置的监控指标说明表格】详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】
6中间件-RabbitMQ详见【WeOps内置的监控指标说明表格】详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】
7中间件-IBM MQ详见【WeOps内置的监控指标说明表格】详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】
8中间件-ZooKeeper详见【WeOps内置的监控指标说明表格】详见【WeOps内置的监控指标说明表格】已内置监控插件详见【WeOps内置的监控指标说明表格】

4 K8S监控指标

序号对象类型指标数量指标内置关键指标内置监控插件内置监控策略
1K8S-Pod17详见【WeOps内置的监控指标说明表格】CPU使用率、容器CPU使用率、内存使用量、容器内存使用量已内置监控指标CPU使用率>80%、容器CPU使用率>80%、memory limit %>80%、container memory limit %>80%
2K8S-Node14详见【WeOps内置的监控指标说明表格】CPU使用率、应用内存使用量、1分钟平均负载、文件系统使用率已内置监控指标CPU使用率>80%、应用内存使用率>80%、物理内存使用率>80%、文件系统使用率>80%

5 云平台监控指标

序号云平台类型指标数量指标
1VMware数据存储3详见【WeOps内置的监控指标说明表格】
2VMwareESXI10详见【WeOps内置的监控指标说明表格】
3VMware虚拟机12C详见【WeOps内置的监控指标说明表格】
4阿里云ECS8详见【WeOps内置的监控指标说明表格】
5腾讯云CVM11详见【WeOps内置的监控指标说明表格】
6腾讯云TDSQL详见【WeOps内置的监控指标说明表格】
7腾讯云TDMQ详见【WeOps内置的监控指标说明表格】
8腾讯云Serverless详见【WeOps内置的监控指标说明表格】
9华为云-manageone云服务器9详见【WeOps内置的监控指标说明表格】
10华为云-manageone宿主机/详见【WeOps内置的监控指标说明表格】
11华为云-manageone数据存储/详见【WeOps内置的监控指标说明表格】
12华为云-manageone云平台/详见【WeOps内置的监控指标说明表格】
13华为公有云华为云ECS/详见【WeOps内置的监控指标说明表格】
14SangforHCISangforHCI虚拟机/详见【WeOps内置的监控指标说明表格】
15华为FusionInsight云服务器/详见【WeOps内置的监控指标说明表格】
16NutanixHCI(路坦力)虚拟机、物理机、磁盘、虚拟磁盘、存储容器、存储池、卷组、集群/详见【WeOps内置的监控指标说明表格】

6 网络设备监控指标

以下展示的是内置的网络设备指标模板,WeOps提供拓展能力,可支持不同品牌和型号的设备(通过自定义监控模板的方式进行能力拓展)。

序号对象类型厂商指标数量指标
1防火墙Cisco40详见【WeOps内置的监控指标说明表格】
3防火墙华为33详见【WeOps内置的监控指标说明表格】
4防火墙NETGEAR详见【WeOps内置的监控指标说明表格】
5防火墙WatchGuard详见【WeOps内置的监控指标说明表格】
6防火墙东软Neteye详见【WeOps内置的监控指标说明表格】
7防火墙飞塔详见【WeOps内置的监控指标说明表格】
8防火墙Checkpoint详见【WeOps内置的监控指标说明表格】
9负载均衡设备Riverbed详见【WeOps内置的监控指标说明表格】
10负载均衡设备Superiority详见【WeOps内置的监控指标说明表格】
11负载均衡设备F5负载均衡详见【WeOps内置的监控指标说明表格】
12负载均衡设备A10负载均衡详见【WeOps内置的监控指标说明表格】
13交换机Cisco40详见【WeOps内置的监控指标说明表格】
14交换机H3C40详见【WeOps内置的监控指标说明表格】
11交换机华为33详见【WeOps内置的监控指标说明表格】
12交换机MOXA详见【WeOps内置的监控指标说明表格】
13交换机NETGEAR详见【WeOps内置的监控指标说明表格】
14交换机派凌详见【WeOps内置的监控指标说明表格】
15交换机神州数码详见【WeOps内置的监控指标说明表格】
16交换机Cisco Nexus详见【WeOps内置的监控指标说明表格】
17交换机锐捷详见【WeOps内置的监控指标说明表格】
18交换机Alcatel-Timetra交换机提供网络设备监控模板,可导入使用
19交换机Brocade-FC交换机提供网络设备监控模板,可导入使用
20交换机Brocade-Foundry交换机提供网络设备监控模板,可导入使用
21交换机Dell-Force S-Series交换机提供网络设备监控模板,可导入使用
22交换机D-Link-Des交换机提供网络设备监控模板,可导入使用
23交换机D-Link-Des7200交换机提供网络设备监控模板,可导入使用
24交换机Extreme提供网络设备监控模板,可导入使用
25交换机Intel-QLogic InfiniBand交换机提供网络设备监控模板,可导入使用
26交换机Juniper提供网络设备监控模板,可导入使用
27交换机Mellanox提供网络设备监控模板,可导入使用
28交换机Q-Tech提供网络设备监控模板,可导入使用
29交换机Ubiquiti-AirOS交换机提供网络设备监控模板,可导入使用
30交换机zyxel-aam1212-51提供网络设备监控模板,可导入使用
31交换机zyxel-es3500-8pd提供网络设备监控模板,可导入使用
32交换机zyxel-gs4012f提供网络设备监控模板,可导入使用
33交换机zyxel-ies-500x提供网络设备监控模板,可导入使用
34交换机zyxel-ies-6000提供网络设备监控模板,可导入使用
35交换机zyxel-mes3500-10提供网络设备监控模板,可导入使用
36交换机zyxel-mes3500-24提供网络设备监控模板,可导入使用
37交换机zyxel-mes-3528提供网络设备监控模板,可导入使用
38交换机zyxel-mgs3500-24s提供网络设备监控模板,可导入使用
39交换机zyxel-mgs3520-28x提供网络设备监控模板,可导入使用
40交换机zyxel-mgs-3712提供网络设备监控模板,可导入使用
41交换机zyxel-mgs-3712f提供网络设备监控模板,可导入使用
42交换机zyxel-xgs-4728f提供网络设备监控模板,可导入使用
43路由器Cisco26详见【WeOps内置的监控指标说明表格】
44路由器H3C28详见【WeOps内置的监控指标说明表格】
45路由器华为21详见【WeOps内置的监控指标说明表格】
46路由器Cisco Nexus详见【WeOps内置的监控指标说明表格】
47路由器锐捷详见【WeOps内置的监控指标说明表格】
48物理服务器Cisco-UCS服务器提供网络设备监控模板,可导入使用
49物理服务器Dell-iDRAC服务器提供网络设备监控模板,可导入使用
50物理服务器HP-iLO服务器提供网络设备监控模板,可导入使用
51物理服务器IBM-IMM服务器提供网络设备监控模板,可导入使用
52物理服务器Supermicro-ATEN服务器提供网络设备监控模板,可导入使用
53存储华为-5300 V5存储提供网络设备监控模板,可导入使用
54存储NetApp-FAS3220存储提供网络设备监控模板,可导入使用

7 硬件设备监控指标

序号对象类型指标数量指标/事件
1硬件服务器5详见【WeOps内置的监控指标说明表格】
2存储5详见【WeOps内置的监控指标说明表格】
3安全设备5详见【WeOps内置的监控指标说明表格】

8 其他监控指标

序号对象类型指标数量指标/事件内置监控插件
1进程15详见【WeOps内置的监控指标说明表格】已内置监控指标
2拨测12详见【WeOps内置的监控指标说明表格】已内置监控指标
3Active Directory活动目录详见【WeOps内置的监控指标说明表格】已内置监控指标
4Exchange邮件系统详见【WeOps内置的监控指标说明表格】已内置监控插件


3、监控插件参数和权限说明

WeOps监控插件使用的参数和授予权限说明如下

3.1 MSSQL

使用说明

插件功能

基于配置连接数据库并从中收集指标,其收集的指标及其采集、生成方式均由配置文件定义。

插件版本

适用于插件版本V3.1.2,其他版本插件说明详见: sql-exporter

版本支持

操作系统支持: linux, windows

是否支持arm: 支持

组件支持版本:

主版本号次版本号指标支持
200810.x-
2008 R210.5-
201211.x-
201412.x-
201613.x
201714.x
201915.x
202216.x

是否支持远程采集:

参数说明

参数名含义是否必填使用举例
-host数据库主机IP127.0.0.1
-port数据库服务端口1433
SQLSERVERUSER数据库用户名(环境变量)SA
SQLSERVERPASSWORD数据库密码(环境变量)
-config.filesql_exporter.yml 采集器全局配置文件, 包含超时设置、最大连接数、目标配置、采集指标配置文件名等默认已有采集器全局配置文件
-log.level日志级别info
-web.listen-addressexporter监听id及端口地址127.0.0.1:9601
collector.file.contentmssql_standard.collector.yml 采集指标配置文件, 包含指标名、维度、sql等内容。注意!该参数为文件参数,非探针执行文件参数!默认已有标准采集指标配置文件

采集器全局配置文件说明(sql_exporter.yml)

# 全局配置
global:
# sql语句的超时时间,这个值需要比prometheus的 `scrape_timeout` 值要小。如果配置了下方的 scrape_timeout_offset 值,那么最终的超时时间为, min(scrape_timeout, X-Prometheus-Scrape-Timeout-Seconds - scrape_timeout_offset)
# X-Prometheus-Scrape-Timeout-Seconds 为 prometheus 的超时时间
scrape_timeout: 10s
# 从 prometheus 的超时时间中减去一个偏移量,防止 prometheus 先超时。
scrape_timeout_offset: 500ms
# 各个sql收集器之间运行间隔的秒数
min_interval: 0s
# 允许获取到的数据库最大的连接数, <=0 表示不限制。
max_connections: 3
# 允许空闲连接数的个数,<=0 不做限制
max_idle_connections: 3

# 配置监控的数据库和抓取信息
target:
# 配置数据库链接信息
# sqlserver://user(用户名):password(密码)@127.0.0.1(数据库服务域名或者IP):1433(数据库服务端口号)
data_source_name: "sqlserver://user:password@127.0.0.1:1433"
# 收集器的名字, 对应下方 collector_files 中文件的 collector_name 的值
collectors: [mssql_*]
collector_files:
- "*.collector.yml"

采集指标配置文件(mssql_standard.collector.yml)

# 收集器的名字
collector_name: mssql_standard

metrics:
- metric_name: mssql_version # 指标ID
type: counter # 类型
help: 'Fetched version of instance.' # 描述
key_labels: # 维度值
- ProductVersion
values: [value] # 值
query: | # sql语句
SELECT CONVERT(VARCHAR(128), SERVERPROPERTY ('productversion')) AS ProductVersion, 1 AS value

使用指引

以下是在SQL Server中使用命令行创建监控用户的教程:

方式一:

  1. 连接到 MSSQL 数据库服务器,并使用具有足够权限的管理员用户帐户登录。
  2. 在 SQL Server Management Studio 中,右键单击 Security,然后选择 "New Login"。
  3. 在 "Login - New" 对话框中,输入监控用户的用户名,选择 "SQL Server authentication" 作为登录类型,并设置一个强密码
  4. 在 "Default database" 下拉菜单中,选择用户需要访问的数据库,一般默认master即可。
  5. 在 "Server Roles" 选项卡中,选择 "public" 角色。
  6. 在 "User Mapping" 选项卡中,将需要访问的数据库分配给该用户。
  7. 单击 "OK" 按钮以创建该用户。

在 MSSQL exporter 的配置文件中,使用此监控用户的凭据访问数据库。

方式二: 通过终端与数据库交互

  1. 打开命令提示符或PowerShell,使用sqlcmd命令连接到SQL Server,如下所示:

    sqlcmd -S server_address -U sa -P your_password

    其中,server_address是SQL Server的访问地址,sa是具有足够权限的SQL Server管理员的登录名,your_password是对应的密码。

  2. 使用以下命令创建监控用户,该用户只具有读取权限,允许用户查看所有对象的定义:

    CREATE LOGIN monitoring_user WITH PASSWORD = 'your_password';
    GRANT VIEW SERVER STATE TO monitoring_user;
    GRANT VIEW ANY DEFINITION TO monitoring_user;
    GO

    其中,monitoring_user是监控用户的名称,your_password是对应的密码。

  3. 如果需要在特定的数据库中监控,请使用以下命令授予监控用户对该数据库的访问权限:

    USE database_name;
    CREATE USER monitoring_user FOR LOGIN monitoring_user;
    ALTER ROLE db_datareader ADD MEMBER monitoring_user;
    GO

    其中,database_name是要监控的数据库的名称,一般默认使用master。

3.2 MySQL

使用说明

插件功能

采集器会定期执行SQL查询语句,例如 show global status 和 show slave status 等,获取相应的指标数据。

插件版本

适用于插件版本V4.2.4,其他版本插件说明详见: mysql-exporter

版本支持

操作系统支持: linux, windows

是否支持arm: 支持

组件支持版本

MySQL >= 5.6

MariaDB >= 10.3

是否支持远程采集

参数说明

参数名含义是否必填使用举例
MYSQL_USERmysql登录账户名(环境变量)monitor
MYSQL_PASSWORDmysql登录账户名的密码(环境变量)Monitor123!
--mysqld.hostmysql服务地址127.0.0.1
--mysqld.portmysql服务端口号3306
--log.level日志级别info
--web.listen-addressexporter监听id及端口地址127.0.0.1:9601

使用指引

  1. 连接MySQL

mysql -u[username] -p[password] -h[host] -P[port]

  1. 创建账户及授权

CREATE USER '[username]'@'%' IDENTIFIED BY '[password]'; GRANT PROCESS, SELECT, REPLICATION CLIENT ON *.* TO '[username]'@'%';

在 MariaDB 10.5+ 版本中,为了支持增量备份,引入了一种新的权限 REPLICA MONITOR。该权限允许用户监视复制进程,并查询与备份有关的信 息。

当 mysql exporter 用于监控 MariaDB 10.5+ 版本的数据库时,它需要使用 REPLICA MONITOR 权限来获取与备份有关的信息。如果没有授予监控用户 REPLICA MONITOR 权限,则无法获取这些信息,导致监控数据不完整或无法正常工作。 因此,在 MariaDB 10.5+ 版本中,需要使用 GRANT 命令为监控用户授予 REPLICA MONITOR 权限。

GRANT REPLICA MONITOR ON *.* TO '[username]'@'%';

3.3 Oracel

参数说明

参数名含义是否必填使用举例
DATA_SOURCE_NAMEDSN参数,在连接Oracle数据库时,需要提供一个连接字符串,其中包括Oracle数据库实例的主机名、端口号和服务名称,例如: oracle://username:password@hostname:port/service_name 注意!该参数为环境变量oracle://weops:Weops123@127.0.0.1:1521/ORCLCDB
--custom.metrics自定义指标查询文件路径 注意!该参数在平台层面为文件参数,进程中该参数值为采集配置文件路径(上传文件即可,平台会补充文件路径)!
--query.timeout查询超时秒数,默认使用5s5
--log.level日志级别info
--web.listen-addressexporter监听id及端口地址127.0.0.1:9601

使用指引

  1. 查看Oracle数据库服务名和域名
    注意!对于oracle数据库12版本,DSN中数据库名后必须加入域名,其他版本一般不需要
    ORCLCDB是Oracle数据库的一个服务名称(Service Name),它用于唯一标识数据库实例中的一个服务。
    例: "oracle://system:Weops123!@db12c-oracle-db.oracle:1521/ORCLCDB.localdomain"

    • 查看当前数据库实例的 SERVICE_NAME 参数的值。

      SELECT value FROM v$parameter WHERE name = 'service_names'; 
    • 查看当前数据库实例的 DB_DOMAIN 参数的值。如果返回结果为空,表示未设置特定的域名。

      SELECT value FROM v$parameter WHERE name = 'db_domain';
  2. 若出现unknown service error

    • 需检查监听器的当前状态,确保监听器正在运行并监听正确的端口,运行命令 lsnrctl status
    • 确认监听器配置文件(lsnrctl status会输出监听器配置状态等信息,寻找配置文件,通常是 listener.ora)中是否正确定义了服务名称,并与您尝试连接的服务名称匹配。
    • lsnrctl 在oracle数据库12版本中,此命令一般存放于 /u01/app/oracle/product/12.2.0/dbhome_1/ ; 在oracle数据库19版本中,一般存放于 /opt/oracle/product/19c/dbhome_1/bin
  3. 连接Oracle数据库
    使用操作系统的身份认证(通常是超级用户或管理员),直接以 sysdba 角色登录到数据库

    sqlplus / as sysdba

    使用指定账户登录

    sqlplus username/password@host:port/service_name
  4. 创建账户及授权
    注意!创建账户时必须使用管理员账户

    # 新建用户
    CREATE USER [user] IDENTIFIED BY [password];

    # 修改用户的密码,密码若含特殊字符需使用双引号将密码括起来
    ALTER USER [user] IDENTIFIED BY [password];

    # 允许用户建立数据库会话
    GRANT CREATE SESSION TO [user];

    # uptime指标授权
    GRANT SELECT ON V_$instance to [user];

    # rac指标授权
    GRANT SELECT ON GV_$instance to [user];

    # sessions类指标授权
    GRANT SELECT ON V_$session to [user];

    # resource类指标授权
    GRANT SELECT ON V_$resource_limit to [user];

    # asm_diskgroup类指标授权
    GRANT SELECT ON V_$datafile to [user];
    GRANT SELECT ON V_$asm_diskgroup_stat to [user];

    # activity类指标授权
    GRANT SELECT ON V_$sysstat to [user];

    # process类指标授权
    GRANT SELECT ON V_$process to [user];

    # wait_time类指标授权
    GRANT SELECT ON V_$waitclassmetric to [user];
    GRANT SELECT ON V_$system_wait_class to [user];

    # tablespace类指标授权
    GRANT SELECT ON dba_tablespace_usage_metrics to [user];
    GRANT SELECT ON dba_tablespaces to [user];

    # asm_disk_stat类指标授权
    GRANT SELECT ON V_$asm_disk_stat to [user];
    GRANT SELECT ON V_$asm_diskgroup_stat to [user];
    GRANT SELECT ON V_$instance to [user];

    # asm_space_consumers类指标授权
    GRANT SELECT ON V_$asm_alias to [user];
    GRANT SELECT ON V_$asm_diskgroup to [user];
    GRANT SELECT ON V_$asm_file to [user];

    # sga类指标授权
    GRANT SELECT ON V_$sga TO weops;
    GRANT SELECT ON V_$sgastat TO weops;

    # pga类指标授权
    GRANT SELECT ON V_$pgastat TO weops;

    # dataguard类指标授权
    GRANT SELECT ON V_$dataguard_stats TO weops;

  5. 自定义指标查询文件

    • 文件内容规范

      • 每一类自定义查询指标必须含有[[metric]]开头
      • 对于每个指标部分,需要提供上下文(context)、请求(request)和请求字段与注释之间的映射。
      • context 指标前缀
      • labels 指标维度数据信息,[维度1], [维度2], [维度3]...
      • metricsdesc [指标后缀] = [指标的描述信息]
      • metricstype [指标后缀] = [指标类型]
      • request sql查询语句,注意sql中字段与 labelsmetricsdesc 的映射
    • 使用自定义指标查询 (通过命令行参数 --custom.metrics 设置),下方是默认的自定义指标文件配置内容

      [[metric]]
      context = "rac"
      metricsdesc = { node = "Number of nodes in the RAC cluster." }
      request = "select count(*) as node from gv$instance where database_type='RAC'"

      [[metric]]
      context = "asm_disk_stat"
      labels = [ "inst_id", "node_name", "instance_name", "diskgroup_name", "disk_number", "failgroup", "path" ]
      metricsdesc = { reads = "Total number of I/O read requests for the DG.", writes = "Total number of I/O write requests for the DG.", read_time = "Total I/O time (in hundreths of a second) for read requests for the disk", write_time = "Total I/O time (in hundreths of a second) for write requests for the disk", bytes_read = "Total number of bytes read from the DG", bytes_written = "Total number of bytes written from the DG", iops = "Total number of I/O requests for the DG" }
      metricstype = { reads = "counter", writes = "counter", bytes_read = "counter", read_time = "counter", write_time = "counter", bytes_written = "counter", iops = "counter" }
      request = '''
      SELECT i.instance_number AS inst_id,
      i.host_name AS node_name,
      i.instance_name,
      g.name AS diskgroup_name,
      ds.disk_number AS disk_number,
      ds.failgroup AS failgroup,
      ds.reads AS reads,
      ds.writes AS writes,
      ds.read_time * 1000 AS read_time,
      ds.write_time * 1000 AS write_time,
      ds.bytes_read AS bytes_read,
      ds.bytes_written AS bytes_written,
      REGEXP_REPLACE (ds.PATH, '.*/\', '\') AS PATH,
      ds.reads + ds.writes AS iops
      FROM v$asm_disk_stat ds, v$asm_diskgroup_stat g, v$instance i
      WHERE ds.mount_status = 'CACHED' AND ds.group_number = g.group_number
      '''

      [[metric]]
      context = "asm_space_consumers"
      labels = [ "inst_id", "diskgroup_name", "node_name", "instance_name", "sid", "file_type" ]
      metricsdesc = { size_mb = "Total space usage by db by file_type" , files = "Number of files by db by type" }
      request = '''
      SELECT i.instance_number AS inst_id,
      i.host_name AS node_name,
      i.instance_name,
      gname AS diskgroup_name,
      dbname AS sid,
      file_type,
      ROUND (SUM (space) / 1024 / 1024) size_mb,
      COUNT (*) AS files
      FROM v$instance i,
      (SELECT gname,
      REGEXP_SUBSTR (full_alias_path,
      '[[:alnum:]_]*',
      1,
      1) dbname,
      file_type,
      space,
      aname,
      system_created,
      alias_directory
      FROM ( SELECT CONCAT ('+' || gname,
      SYS_CONNECT_BY_PATH (aname, '/'))
      full_alias_path,
      system_created,
      alias_directory,
      file_type,
      space,
      LEVEL,
      gname,
      aname
      FROM (SELECT b.name gname,
      a.parent_index pindex,
      a.name aname,
      a.reference_index rindex,
      a.system_created,
      a.alias_directory,
      c.TYPE file_type,
      c.space
      FROM v$asm_alias a, v$asm_diskgroup b, v$asm_file c
      WHERE a.group_number = b.group_number
      AND a.group_number = c.group_number(+)
      AND a.file_number = c.file_number(+)
      AND a.file_incarnation = c.incarnation(+))
      START WITH (MOD (pindex, POWER (2, 24))) = 0
      AND rindex IN
      (SELECT a.reference_index
      FROM v$asm_alias a, v$asm_diskgroup b
      WHERE a.group_number =
      b.group_number
      AND (MOD (a.parent_index,
      POWER (2, 24))) =
      0)
      CONNECT BY PRIOR rindex = pindex)
      WHERE NOT file_type IS NULL AND system_created = 'Y')
      GROUP BY i.instance_number,
      i.host_name,
      i.instance_name,
      gname,
      dbname,
      file_type
      '''

3.4 postgres

参数说明

参数名含义是否必填使用举例
DATA_SOURCE_NAMEDSN参数,PostgreSQL数据源的环境变量,包括数据库地址、端口、数据库名、用户和密码等信息。 注意!该参数为环境变量postgresql://user:password@127.0.0.1:5432/postgres?sslmode=disable
--extend.query-path自定义指标采集文件路径 注意!该参数在平台层面为文件参数,进程中该参数值为采集配置文件路径(上传文件即可,平台会补充文件路径)!上传内容满足规范的文件
--log.level日志级别info
--web.listen-addressexporter监听id及端口地址127.0.0.1:9601
additional额外参数,可留空内容--disable-default-metrics

注意 一般连接的数据库名都需要填写为 postgres

额外参数说明

额外参数(additional)不需要赋值,只需要填写对应内容,作为采集器的功能或者采集指标的开关,postgreSQL插件支持的额外参数如下:

  1. 不采集默认指标,只保留自定义指标采集文件中的指标
    --disable-default-metrics
  2. 不采集配置(Setting)类,pg_settings前缀开头的指标
    --disable-settings-metrics
  3. 不采集后台写入器(Bgwriter)类,pg_stat_bgwriter前缀开头的指标
    --no-collector.bgwriter
  4. 不采集复制槽信息,replication_slot前缀开头的指标
    --no-collector.replication_slot

自定义查询配置文件

使用自定义查询配置文件 (通过命令行参数 --extend.query-path 设置) 来采集自定义监控指标,下方是内置自定义查询文件的内容:

pg_postmaster:  # 指标名前缀,该项下查询得到的指标都会有该前缀名
query: "SELECT pg_postmaster_start_time as start_time_seconds from pg_postmaster_start_time()" # 指标对应执行的sql查询语句
master: true # 这个参数是一个布尔值,设置这个查询是否应该只在主节点上执行。如果为true,则查询只在主节点上执行,否则在所有节点上执行。
metrics: # 指标列表,定义了要公开的指标名称和相应的监控类型
- start_time_seconds: # 指标名
usage: "GAUGE" # 指标类型
description: "Time at which postmaster started" # 指标描述

pg_replication:
query: "SELECT CASE WHEN NOT pg_is_in_recovery() THEN 0 ELSE GREATEST (0, EXTRACT(EPOCH FROM (now() - pg_last_xact_replay_timestamp()))) END AS lag"
master: true
metrics:
- lag:
usage: "GAUGE"
description: "Replication lag behind master in seconds"

pg_stat_statements:
query: "SELECT t2.rolname, t3.datname, queryid, calls, ( total_plan_time + total_exec_time ) / 1000 as total_time_seconds, ( min_plan_time + min_exec_time ) / 1000 as min_time_seconds, ( max_plan_time + max_exec_time ) / 1000 as max_time_seconds, ( mean_plan_time + mean_exec_time ) / 1000 as mean_time_seconds, ( stddev_plan_time + stddev_exec_time ) / 1000 as stddev_time_seconds, rows, shared_blks_hit, shared_blks_read, shared_blks_dirtied, shared_blks_written, local_blks_hit, local_blks_read, local_blks_dirtied, local_blks_written, temp_blks_read, temp_blks_written, blk_read_time / 1000 as blk_read_time_seconds, blk_write_time / 1000 as blk_write_time_seconds FROM pg_stat_statements t1 JOIN pg_roles t2 ON (t1.userid=t2.oid) JOIN pg_database t3 ON (t1.dbid=t3.oid) WHERE t2.rolname != 'rdsadmin' AND queryid IS NOT NULL"
master: true
metrics:
- rolname:
usage: "LABEL"
description: "Name of user"
- datname:
usage: "LABEL"
description: "Name of database"
- queryid:
usage: "LABEL"
description: "Query ID"
- calls:
usage: "COUNTER"
description: "Number of times executed"
- total_time_seconds:
usage: "COUNTER"
description: "Total time spent in the statement, in milliseconds"
- min_time_seconds:
usage: "GAUGE"
description: "Minimum time spent in the statement, in milliseconds"
- max_time_seconds:
usage: "GAUGE"
description: "Maximum time spent in the statement, in milliseconds"
- mean_time_seconds:
usage: "GAUGE"
description: "Mean time spent in the statement, in milliseconds"
- stddev_time_seconds:
usage: "GAUGE"
description: "Population standard deviation of time spent in the statement, in milliseconds"
- rows:
usage: "COUNTER"
description: "Total number of rows retrieved or affected by the statement"
- shared_blks_hit:
usage: "COUNTER"
description: "Total number of shared block cache hits by the statement"
- shared_blks_read:
usage: "COUNTER"
description: "Total number of shared blocks read by the statement"
- shared_blks_dirtied:
usage: "COUNTER"
description: "Total number of shared blocks dirtied by the statement"
- shared_blks_written:
usage: "COUNTER"
description: "Total number of shared blocks written by the statement"
- local_blks_hit:
usage: "COUNTER"
description: "Total number of local block cache hits by the statement"
- local_blks_read:
usage: "COUNTER"
description: "Total number of local blocks read by the statement"
- local_blks_dirtied:
usage: "COUNTER"
description: "Total number of local blocks dirtied by the statement"
- local_blks_written:
usage: "COUNTER"
description: "Total number of local blocks written by the statement"
- temp_blks_read:
usage: "COUNTER"
description: "Total number of temp blocks read by the statement"
- temp_blks_written:
usage: "COUNTER"
description: "Total number of temp blocks written by the statement"
- blk_read_time_seconds:
usage: "COUNTER"
description: "Total time the statement spent reading blocks, in milliseconds (if track_io_timing is enabled, otherwise zero)"
- blk_write_time_seconds:
usage: "COUNTER"
description: "Total time the statement spent writing blocks, in milliseconds (if track_io_timing is enabled, otherwise zero)"

#### 使用指引

1. 连接Postgres数据库
输入连接指令后输入对应的密码即可进入数据库。
```shell
psql -U [user] -h [host] -p [port] -d [database]
```

2. 创建账户及授权
执行下方sql可以创建具有监控权限的账户,用户名 `weops`,密码 `Weops123!`。 **注意!** 数据库版本 >= 10才需要执行 `GRANT pg_monitor TO weops; `,9.x版本无法执行该授权。
```sql
CREATE OR REPLACE FUNCTION __tmp_create_user() returns void as $$
BEGIN
IF NOT EXISTS (
SELECT -- SELECT list can stay empty for this
FROM pg_catalog.pg_user
WHERE usename = 'weops') THEN
CREATE USER weops;
END IF;
END;
$$ language plpgsql;

SELECT __tmp_create_user();
DROP FUNCTION __tmp_create_user();

ALTER USER weops WITH PASSWORD 'Weops123!';
ALTER USER weops SET SEARCH_PATH TO weops,pg_catalog;

GRANT CONNECT ON DATABASE postgres TO weops;

GRANT pg_monitor TO weops; -- 数据库版本 >= 10 才需要执行这条sql

CREATE SCHEMA IF NOT EXISTS weops;
GRANT USAGE ON SCHEMA weops TO weops;

CREATE OR REPLACE FUNCTION get_pg_stat_activity() RETURNS SETOF pg_stat_activity AS
$$ SELECT * FROM pg_catalog.pg_stat_activity; $$
LANGUAGE sql
VOLATILE
SECURITY DEFINER;

CREATE OR REPLACE VIEW weops.pg_stat_activity
AS
SELECT * from get_pg_stat_activity();

GRANT SELECT ON weops.pg_stat_activity TO weops;

CREATE OR REPLACE FUNCTION get_pg_stat_replication() RETURNS SETOF pg_stat_replication AS
$$ SELECT * FROM pg_catalog.pg_stat_replication; $$
LANGUAGE sql
VOLATILE
SECURITY DEFINER;

CREATE OR REPLACE VIEW weops.pg_stat_replication
AS
SELECT * FROM get_pg_stat_replication();

GRANT SELECT ON weops.pg_stat_replication TO weops;

CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
CREATE OR REPLACE FUNCTION get_pg_stat_statements() RETURNS SETOF pg_stat_statements AS
$$ SELECT * FROM public.pg_stat_statements; $$
LANGUAGE sql
VOLATILE
SECURITY DEFINER;

CREATE OR REPLACE VIEW weops.pg_stat_statements
AS
SELECT * FROM get_pg_stat_statements();

GRANT SELECT ON weops.pg_stat_statements TO weops;
```


### **3.5 Redis**

#### 参数说明

| **参数名** | **含义** | **是否必填** | **使用举例** |
|-------------------------|-------------------------------------------------|----------|------------------------|
| REDIS_USER | 用于身份验证的用户名(环境变量),Redis ACL for Redis 6.0+, 默认为空 | 否 | admin |
| REDIS_PASSWORD | redis密码(环境变量),若为空则不填,默认为空 | 否 | 123456 |
| -redis.addr | redis 实例地址 | 是 | redis://localhost:6379 |
| -include-system-metrics | 是否包含系统指标,比如total_system_memory_bytes, 默认为false | 否 | true |
| -is-cluster | 是否集群模式, 默认为false | 是 | false |
| -ping-on-connect | 连接后是否ping redis 实例并将持续时间记录为指标,默认为false | 否 | true |
| -connection-timeout | 连接到redis的超时时间, 默认为15s | 否 | 15s |
| -web.listen-address | exporter监听id及端口地址 | 否 | 127.0.0.1:9601 |


#### 使用指引

1. 验证redis密码
```shell
./redis-cli -h redis地址 -p 端口号
./redis-cli -h 127.0.0.1 -p 6379

# 进入后会出现 127.0.0.1:6379>
# 在右侧输入AUTH 密码, 如果正确会返回OK, 下面是一些示例
root@5a3f395bab17:/usr/local/bin# ./redis-cli -h 127.0.0.1 -p 6379 -a wsbs201712
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
127.0.0.1:6379>
127.0.0.1:6379> AUTH 1234567
(error) ERR invalid password
127.0.0.1:6379> AUTH 123456
OK
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) "123456"
```

- 查看redis密码
方法1: 通过redis-cli进入redis后执行config get requirepass命令

```shell
# 返回示例,密码为空
127.0.0.1:6379> config get requirepass
1) "requirepass"
2) ""

# 返回示例,密码不为空
127.0.0.1:6379> config get requirepass
(error) NOAUTH Authentication required.
```

方法2: 寻找Redis的配置文件, 默认在/etc/redis.conf,找到字样"requirepass"
requirepass redis密码

### **3.6 MongoDB**

#### 参数说明

| **参数名** | **含义** | **是否必填** | **使用举例** |
|----------------------|---------------------------------------------------------------------------------------------------------------|----------|------------------------------------------------|
| MONGODB_URI | mongodb URI参数,在连接mongodb时,需要提供一个连接字符串,例如: mongodb://username:password@host:port/database_name **注意!该参数为环境变量** | 是 | mongodb://weops:Weops123@127.0.0.1:27017/weops |
| --collect-all | 是否采集所有collectors的指标,默认采集所有 | 是 | true | |
| --timeout | 连接mongodb超时时间(seconds), 默认为10s | 否 | 5 |
| --log.level | 日志级别 | 否 | info |
| --web.listen-address | exporter监听id及端口地址 | 否 | 127.0.0.1:9601 |

* 额外参数说明

,mongoDB插件支持的额外参数如下:
- collect-all默认使用采集以下所有collector指标,如果不需要采集所有,可选择赋值--collect-all=false并单独启用以下的collector, 若启用则赋值true
--collector.diagnosticdata: getDiagnosticData类指标
--collector.replicasetstatus: replSetGetStatus类指标
--collector.dbstats: dbStats类指标
--collector.topmetrics: top admin command类指标
--collector.indexstats: $indexStats类指标
--collector.collstats: $collStats类指标


#### 使用指引

1. 连接mongoDB
- 输入连接指令后输入对应的账户配置即可进入。有多种方式进入MongoDB,下面列出常用的使用方式
```shell
# 常用
mongo -u [username] -p [password] --host [host] --port [port]

# 连接MongoDB并指定端口
mongo 127.0.0.1:27017

# 使用用户名和密码连接到指定的MongoDB数据库
mongo 127.0.0.1:27017/test -u [username] -p [password]
```

- 如果没有mongo命令,可尝试使用mongosh命令,具体使用方式与上面mongo连接命令方式一致,MongoDB Shell下载地址: https://www.mongodb.com/try/download/shell

2. 创建账户及授权
- 需要注意auth授权的账户密码是管理员, 创建的用户是新的账户密码
- 管理员授权命令若失败,可尝试直接创建账户,一般管理员为admin
- 创建账户
创建在admin下的账户
```
use admin;
db.auth('admin', '管理员密码');
db.createUser({
user: 'weops',
pwd: 'Weops123',
roles: [{ role: 'read', db: 'admin' }, 'clusterMonitor'],
mechanisms: ['SCRAM-SHA-256']
});
```

创建在其他数据库下的账号
```
use admin;
db.auth('admin', '管理员密码');
use weops;
db.createUser({
user: 'weops',
pwd: 'Weops123',
roles: [{ role: 'read', db: 'weops' }],
mechanisms: ['SCRAM-SHA-256']
});
db.grantRolesToUser('weops', [{ role: 'clusterMonitor', db: 'admin' }]);
```

需要注意mongodb的版本,`mechanisms: ['SCRAM-SHA-256']` 身份认证一般用于 >= 4.0,
若mongodb < 4.0 (比如3.6), 那么可以去掉 `mechanisms: ['SCRAM-SHA-256']` , 或者使用 `mechanisms: ['SCRAM-SHA-1']`

3. mongo相关命令指引
- 查询特定数据库下的用户属性
```
use weops;
db.getUser('weops');

# 执行命令返回的用户信息
{
"_id" : "weops.weops",
"userId" : UUID("2a14dcf6-fd72-4247-9a45-092ea128c775"),
"user" : "weops",
"db" : "weops",
"roles" : [
{
"role" : "read",
"db" : "weops"
},
{
"role" : "clusterMonitor",
"db" : "admin"
}
],
"mechanisms" : [
"SCRAM-SHA-256"
]
}
  • 查看全局所有用户 db.system.users.find().pretty();

  • 查看所有数据库 show dbs;

3.7 IIS

参数说明

IIS exporter采集目前只可以设置日志级别参数,直接下发到windows服务器即可。

使用指引

  1. 检查 IIS 服务是否已启动:
  • 打开 IIS 管理器:

直接进入 IIS 管理器:

在计算机中搜索并运行 "IIS 管理器"。选择你的服务器,然后在左侧面板中展开 "服务器名",选择 "应用程序池",在右侧窗口中查看应用程序池的状态。

使用服务器管理器进入 IIS 管理器: 使用开始菜单或搜索栏找到 "服务器管理器" 并打开。打开 "服务器管理器",在左侧面板中选择 "IIS"。右键点击你的服务器,选择 "InternetInformation Services (IIS) 管理器"。

  • 检查应用程序池和网站状态:

在 IIS 管理器中,展开 "服务器名",然后选择 "应用程序池"。在应用程序池窗口内查看应用程序池的状态。同时,选择 "网站",然后右键点击网站,在管理网站选项中查看是否已启动。

  • 验证 IIS 服务是否启动:

在浏览器中输入默认的 IIS 服务地址:http://127.0.0.1。如果 IIS 服务已启动并运行,你应该会看到 "Internet Information Services" 或类似的内 容页面。否则,可能会显示连接错误或无法访问页面。

  1. 检查性能计数器 Get-Counter '\Web Service(_total)*' 此命令将返回有关IIS Web服务的总体性能计数器信息

3.8 AD

使用说明

AD Exporter用于采集Windows Active Directory域控制器的指标,通过 Windows Management Instrumentation (WMI) 提供的接口来采集数据。

版本支持

操作系统支持: windows

是否支持arm: 否

组件支持版本:

可以在支持 WMI 的 Windows 操作系统上采集数据。

是否支持远程采集:

参数说明

AD exporter采集目前只可以设置日志级别参数,直接下发到windows服务器即可。

3.9 Exchange

使用说明

Windows Exchange Exporter用于采集Windows Exchange的指标,通过 Windows Management Instrumentation (WMI) 提供的接口来采集数据。

版本支持

操作系统支持: windows

是否支持arm: 否

组件支持版本:

可以在支持 WMI 的 Windows 操作系统上采集数据。

是否支持远程采集:

参数说明

Exchange exporter采集目前只可以设置日志级别参数,直接下发到windows服务器即可。

3.10 ElasticSearch

使用说明

版本支持

操作系统支持: linux, windows

是否支持arm: 支持

组件支持版本:

elasticsearch版本: 5.x, 6.x, 7.x, 8.x 部署模式支持: 单机(Standalone), 集群(Cluster)

是否支持远程采集:

参数说明

参数名含义是否必填使用举例
ES_USERNAMEelasticsearch账户名, 填入则会覆盖uri中的账户, 特殊字符不需要转义weops
ES_PASSWORDelasticsearch密码, 填入则会覆盖uri中的密码, 特殊字符不需要转义Weops@123
--es.urielasticsearch访问地址, 注意区分http和https, uri中的账户密码特殊字符需要转义http://127.0.0.1:9200
--es.all全节点采集开关(开关参数), 如果打开则采集集群中所有节点, 否则只采集填写的连接地址的节点数据, 默认关闭
--es.ssl-skip-verify跳过SSL认证开关(开关参数), 如果打开则跳过SSL认证, 默认关闭
--es.indices索引采集开关(开关参数), 如果打开则采集所有在集群中的索引, 默认关闭
--es.indices_settings索引配置采集开关(开关参数), 如果打开则采集所有在集群中的索引配置信息, 默认关闭
--es.indices_mappings索引映射采集开关(开关参数), 如果打开则采集所有在集群中的索引映射信息, 默认关闭
--es.shards分片采集开关(开关参数), 如果打开则采集所有在集群中的分片信息, 默认关闭
--es.slm快照管理采集开关(开关参数), 如果打开则采集快照管理信息, 默认关闭
--collector.clustersettings集群配置采集开关(开关参数), 如果打开则采集集群配置信息, 默认关闭
--collector.snapshots快照采集开关(开关参数), 如果打开则采集快照信息, 默认关闭
--es.clusterinfo.interval集群配置信息更新时间间隔,默认5m5m
--es.timeout连接elasticsearch超时时间, 默认5s5s
--web.listen-addressexporter监听id及端口地址127.0.0.1:9601
--log.level日志级别info

使用指引

  1. 配置监控账户 示例:
设置所需权限描述
exporter defaultscluster monitor所有集群的只读操作,如集群健康和状态、热线程、节点信息、节点和集群统计以及待处理的集群任务。
cluster_settingscluster monitor
indicesindices monitor所有监控所需的操作(恢复、段信息、索引统计和状态)。 可对每个索引或 *(通配符)应用此权限。
indices_settingsindices monitor可对每个索引或 *(通配符)应用此权限。
indices_mappingsindices view_index_metadata可对每个索引或 *(通配符)应用此权限。
shards不确定是indices、cluster monitor还是两者都是
snapshotscluster:admin/snapshot/status 和 cluster:admin/repository/getES Forum Post
slmread_slm
data_streammonitor 或 manage可对每个数据流或 *(通配符)应用此权限。

不同版本的elasticsearch配置监控账户的方式和可配置权限不同,具体可参考官方文档

  1. 采集参数 探针每次从 Elasticsearch 服务抓取监控指标时都会获取新的信息。 因此,需要注意频繁的采集频率可能会对 Elasticsearch 服务造成过大的压力, 特别是当打开了 --es.all--es.indices 的采集开关。 建议首先测量从 /_nodes/stats/_all/_stats 获取数据所需的时间,然后根据实际情况来调整采集频率。

3.11 Kafka

使用说明

插件功能 连接到Kafka,获取与主题、消费者组以及其他相关数据。帮助用户监控Kafka健康状态、性能指标以及消费者行为。

版本支持

操作系统支持: linux, windows

是否支持arm: 支持

组件支持版本:

kafka版本: >= 0.10.1.0 部署模式支持: 单机(Standalone), 集群(Cluster)

是否支持远程采集:

参数说明

参数名含义是否必填使用举例
--kafka.serverkafka服务主机ip:服务端口,若为集群,也请填写单个ip和服务端口127.0.0.1:9092
--kafka.versionkafka服务版本0.10.1.0
--sasl.enabledSASL认证开关(开关参数)
SASL_USERNAMEkafka SASL用户名(环境变量)weops
SASL_PASSWORDkafka SASL用户的密码(环境变量)weops123
SASL_MECHANISMkafka SASL机制(环境变量),若不开启SASL则填空,否则可填plain、scram-sha512、scram-sha256plain
TOPIC_FILTER筛选并留下含有正则关键字的主题(环境变量),默认不过滤.*
TOPIC_EXCLUDE筛选并排除含有正则关键字的主题(环境变量),默认不过滤^$
GROUP_FILTER筛选并留下含有正则关键字的消费者组(环境变量),默认不过滤.*
GROUP_EXCLUDE筛选并排除含有正则关键字的消费者组(环境变量),默认不过滤^$
--verbosity日志级别,默认为0,0(ERROR级别),1(INFO级别),(DEBUG级别)0
--web.listen-addressexporter监听id及端口地址127.0.0.1:9601

使用指引

  1. 查看kafka版本 有以下几种方式:

    • 进入kafka安装目录,比如/opt/kafka_2.11-0.11.0.3/bin,那么该kafka版本为0.11.0.3
    • 进入kafka目录,比如/opt/kafka/libs,该路径底下的包会含有版本信息,比如 kafka_2.12-0.10.2.0.jar,那么该kafka版本为0.10.2.0
  2. 主题和消费者组过滤选项 支持主题和消费者组的过滤,需要注意如果主题过多或者在集群的模式下,可能监控获取到的数据量会较大,指标抓取时长会增加并且会占用较多的cpu资源, 一般建议缩小监控的主题和消费者组范围,减少指标抓取时长和资源占用。若需要全部数据,注意要增加抓取时长等待时间(采集任务采集周期)。

3.12 Tomcat

使用说明

通过抓取和公开JMX目标的mBeans来收集有关应用程序的度量数据,并将这些度量数据转换为Prometheus监控指标格式。

版本支持

操作系统支持: linux, windows

是否支持arm: 支持

组件支持版本:

tomcat版本: 6.x, 7.x, 8.x, 9.x, 10.x

是否支持远程采集:

参数说明

参数名含义是否必填使用举例
host监听IP(采集器IP),建议使用默认的127.0.0.1127.0.0.1
port监听端口(采集器监听端口),一般为9601,注意不要与已使用端口冲突9601
usernamejmx认证用户名,若未配置则留空
passwordjmx认证密码,若未配置则留空
jmx_urljmx 连接字符串,格式为service:jmx:rmi:///jndi/rmi://${target_host}:${target_port}/jmxrmiservice:jmx:rmi:///jndi/rmi://127.0.0.1:1234/jmxrmi

使用指引

  1. 配置tomcat jmx参数

    • 打开tomcat的bin目录下的catalina.sh文件

    • 在文件中找到CATALINA_OPTS变量,添加如下参数

      -Dcom.sun.management.jmxremote
      -Dcom.sun.management.jmxremote.port=1234
      -Dcom.sun.management.jmxremote.ssl=false
      -Dcom.sun.management.jmxremote.authenticate=false

      例如:

      CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.1.1 -Dcom.sun.management.jmxremote.port=1234 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

      配置JMX的账号密码验证(选择性):

      CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=192.168.1.1 -Dcom.sun.management.jmxremote.port=1234 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.access.file=./jmx.access -Dcom.sun.management.jmxremote.password.file=./jmx.password"

      jmx.access文件内容参考:

      #用户名    权限
      monitor readonly

      jmx.password参考内容:

      注意:若无法启动tomcat则建议修改jmx.password文件的权限,权限设置为400或600
      #用户名 密码
      monitor monitor
    • 重启tomcat

    • 验证jmx端口是否生效: netstat -antlp |grep 1234

3.13 Apache

使用说明

向Apache服务器的server-status模块页面发送请求,获取服务器的运行状态信息。

版本支持

操作系统支持: linux, windows

是否支持arm: 支持

组件支持版本:

Apache版本: 2.2, 2.4

是否支持远程采集:

参数说明

参数名含义是否必填使用举例
SCRAPE_URIapache server-status模块访问地址(环境变量),如果有http auth则使用http://user:password@localhost/server-status?autohttp://localhost/server-status/?auto
--web.listen-addressexporter监听id及端口地址127.0.0.1:9601
--log.level日志级别info

使用指引

  1. 配置server-status 默认配置文件存放于 /etc/httpd/conf/httpd.conf 需要先检查是否开启mod_status模块,检查文件内容是否含有 LoadModule status_module modules/mod_status.so,若没有则需要手动添加 开启模块后,在文件末尾添加以下内容,若已存在则修改对应配置

    ExtendedStatus On               # 开启ExtendedStatus
    <Location /server-status> # server-status服务地址,按需配置
    SetHandler server-status # 开启server-status服务
    Deny from all # 禁止任何来源访问,按需配置
    Allow from 127.0.0.1 # 允许指定IP访问
    </Location>

    修改后使用 apachectl -t 检查配置文件内容是否正确,如果正确会返回 Syntax OK,否则会返回错误信息

    注意: 配置更改后需要重启服务,使用 apachectl graceful 重启apache服务不会中断原有连接

  2. 验证server-status 配置完成后,使用 curl http://localhost/server-status?auto 验证server-status是否正常工作,如果正常会返回以下内容

    Total Accesses: 1
    Total kBytes: 0
    CPULoad: .000797
    Uptime: 884
    ReqPerSec: .00113208
    BytesPerSec: .000797
    BytesPerReq: 702.5
    BusyWorkers: 1
    IdleWorkers: 7
    Scoreboard: _W_______

    如果返回 Forbidden,则需要检查配置文件中的 Allow from 是否正确配置,如果返回 Not Found,则需要检查配置文件中的 Location 是否正确配置

3.14 Nginx

使用说明

插件功能

Nginx Exporter通过解析 Nginx 的状态页面和其他可访问的信息源, 从中提取出有价值的监控数据。 该工具能够将从 Nginx 收集到的数据转换为易于理解和分析的监控指标,使用户能够更轻松地监视和评估 Nginx 实例的性能。收集多种关键的 Nginx 指标,从而实现性能优化和故障排查。

插件版本

适用于插件版本V7.3.3,其他版本插件说明详见: nginx-exporter

版本支持

操作系统支持: linux, windows

是否支持arm: 支持

是否支持远程采集:

参数说明

参数名含义是否必填使用举例
-nginx.commonnginx stub采集开关(开关参数), 默认打开
NGINX_SCRAPE_URInginx stub访问地址(环境变量)http://127.0.0.1:8080/stub_status
-nginx.vtsnginx vts采集开关(开关参数), 默认关闭
NGINX_VTS_SCRAPE_URInginx vts访问地址(环境变量)http://127.0.0.1:8080/vts_status
-nginx.rtmpnginx rtmp采集开关(开关参数), 默认关闭
NGINX_RTMP_SCRAPE_URInginx rtmp访问地址(环境变量)http://127.0.0.1:8080/rtmp_status
NGINX_RTMP_REGEX_STREAMnginx rtmp音视频流正则过滤(环境变量), 默认采集所有.*
-nginx.timeoutnginx采集超时时间, 默认为5s5s
-log.level日志级别info
--web.listen-addressexporter监听id及端口地址127.0.0.1:9601

使用指引

注意:采集器所在的服务器需要能够正常访问对应模块功能的地址。

  1. nginx配置 采集nginx基础指标需要开启stub_status模块。 采集vts类指标需要开启vts模块, 提供对 nginx 虚拟机主机状态数据的访问,可将数据输出格式为json、html、jsonp、prometheus。 采集rtmp类指标需要开启rtmp模块。

  2. 检查模块配置
    通过 nginx -V 查看模块是否添加成功, 可看到示例中已安装stub_status和vts模块

    nginx -V

    # 返回结果示例
    nginx version: nginx/1.25.1
    built with OpenSSL 1.1.1n 15 Mar 2022
    TLS SNI support enabled
    configure arguments: --prefix=/opt/bitnami/nginx --with-http_stub_status_module --with-stream --with-http_gzip_static_module --with-mail --with-http_realip_module --with-http_stub_status_module --with-http_v2_module --with-http_ssl_module --with-mail_ssl_module --with-http_gunzip_module --with-threads --with-http_auth_request_module --with-http_sub_module --with-http_geoip_module --with-compat --with-stream_realip_module --with-stream_ssl_module --with-cc-opt=-Wno-stringop-overread --add-module=/bitnami/blacksmith-sandox/nginx-module-vts-0.2.2 --add-dynamic-module=/bitnami/blacksmith-sandox/nginx-module-geoip2-3.4.0 --add-module=/bitnami/blacksmith-sandox/nginx-module-substitutions-filter-0.20220124.0 --add-dynamic-module=/bitnami/blacksmith-sandox/nginx-module-brotli-0.20220429.0
  3. nginx配置文件 文件内容示例(一般为nginx.conf)

    # 开启 upstram zones 
    upstream backend{
    server 127.0.0.1:80;
    }

    vhost_traffic_status_zone; # 开启vts统计模块
    vhost_traffic_status_filter_by_host on; # 打开vts vhost过滤
    vhost_traffic_status_filter_by_set_key $status $server_name; # 开启vts详细状态码统计

    server {
    server_name *.example.org;

    listen 8080;

    # vts访问路径
    location /vts_status {
    vhost_traffic_status_display; # 开启vts展示
    vhost_traffic_status_display_format html;
    }

    # stub_status访问路径
    location /stub_status {
    stub_status on; # 开启stub_status模块
    access_log off;
    allow 127.0.0.1; # 只允许本地IP访问
    deny all; # 禁止任何IP访问
    }
    }

    nginx访问控制需要自行配置,allowdeny 后内容按照实际情况填写。

    vts除了状态码统计, 还有基于地理信息的统计,根据访问量或访问流量对nginx做访问限制,详细使用见文档: https://github.com/vozlt/nginx-module-vts#installation

  4. 重新加载配置
    sudo nginx -t && sudo nginx -s reload

  5. 检查配置
    ` nginx -t

    返回结果示例

    nginx: the configuration file /opt/bitnami/nginx/conf/nginx.conf syntax is ok nginx: configuration file /opt/bitnami/nginx/conf/nginx.conf test is successful `

  6. 重启服务 如果是改变 Nginx 的编译参数、添加新的模块, 通常需要重新编译和安装, 然后重启服务。

3.15 Zookeeper

使用说明

插件连接Zookeeper并执行命令:mntrruok。通过执行这些命令,插件会收集相关输出结果,并将其转化为监控指标以供分析。

插件版本

适用于插件版本V2.1.13,其他版本插件说明详见: zookeeper-exporter

版本支持

操作系统支持: linux, windows

是否支持arm: 支持

组件支持版本:

部署模式支持: 单机(Standalone), 集群(Cluster)

是否支持远程采集:

参数说明

参数名含义是否必填使用举例
--zk-hostsZookeeper服务的地址,可使用逗号分隔多个服务地址。例如 10.0.0.1:2181,10.0.0.2:2181,10.0.0.3:2181127.0.0.1:2181
--timeout连接超时时间(s)30

使用指引

需要确保zookeeper能够响应监控探针输入的命令。 注意从版本v3.4.10开始可能需要 mntr 命令白名单,详情参考: 4lw.commands.whitelist

测试mntr结果

echo mntr | nc 127.0.0.1 2181
zk_version 3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 04:05 GMT
zk_avg_latency 0
zk_max_latency 0
zk_min_latency 0
zk_packets_received 1
zk_packets_sent 0
zk_num_alive_connections 1
zk_outstanding_requests 0
zk_server_state standalone
zk_znode_count 51
zk_watch_count 0
zk_ephemerals_count 0
zk_approximate_data_size 621501
zk_open_file_descriptor_count 38
zk_max_file_descriptor_count 1048576
zk_fsync_threshold_exceed_count 0

测试ruok结果

echo ruok | nc 127.0.0.1 2181
imok%

注意
能采集到的监控指标与zookeeper版本有关,如果发现监控指标有缺失,请检查mntr和ruok是否能显示对应的字段,否则监控探针无法转换为对应的指标。

3.16 RabbitMQ

使用说明

插件功能

从rabbitmq服务的管理插件模块页获取服务的运行状态信息。

插件版本

适用于插件版本V2.1.9,其他版本插件说明详见: rabbitmq-exporter

版本支持

操作系统支持: linux, windows

是否支持arm: 支持

组件支持版本:

rabbitmq版本: 3.7.x, 3.8.x

是否支持远程采集:

参数说明

参数名含义是否必填使用举例
RABBIT_URLRabbitMQ管理插件的URLhttp://127.0.0.1:15672
RABBIT_USERRabbitMQ管理插件的用户名,该用户需要具备监控标签guest
RABBIT_PASSWORDRabbitMQ管理插件的密码guest
RABBIT_CONNECTION连接类型,"direct"或"loadbalancer". 使用"loadbalancer"时会删除自身标签direct
RABBIT_EXPORTERS激活的模块列表。可能的模块包括: connections,shovel,federation,exchange,node,queue,memoryconnections,exchange,node,queue,memory
RABBIT_TIMEOUT从管理插件检索数据的超时时间,以秒为单位30
LOG_LEVEL日志级别,可能的值包括:"debug", "info", "warning", "error", "fatal"或"panic"info
SKIP_VHOST正则表达式,与之匹配的vhost名字不会被导出。该操作在INCLUDE_VHOST之后进行,适用于队列和交换机^$
INCLUDE_VHOST正则表达式用于过滤vhost. 只有匹配的vhosts会被导出。适用于队列和交换机.*
INCLUDE_QUEUES正则表达式用于过滤队列. 只有匹配的名字会被导出
SKIP_QUEUES正则表达式,与之匹配的队列名不会被导出(适用于处理短暂的rpc队列)
INCLUDE_EXCHANGES正则表达式用于过滤交换机. (只有在匹配的vhosts中的交换机会被导出)
SKIP_EXCHANGES正则表达式,与之匹配的交换机名不会被导出
MAX_QUEUES删除度量之前,队列的最大数量(如果将其设置为0,则禁用)0

使用指引

  1. 需要获取rabbitmq管理插件页面的账户和密码才可使用。
  2. rabbitmq_up指标与常见的up指标不同,若其他模块的rabbitmq_module_up指标采集异常也会导致rabbitmq_up指标为0,只有全部采集模块正常时rabbitmq_up才会为1,若不清楚哪些模块有问题,可以编辑RABBIT_EXPORTERS参数,减少采集的模块。

4、告警源插件说明

序号告警源插件版本
1REST API无需版本适配
2VCenter5.5及以上
3华为云
4阿里云
5腾讯云
6听云
6Zabbix3.X、4.X、5.X
7Prometheus2.15
8日志易3.6
9H3C-IMC
10华为esight系统
11绿盟日志审计系统V2.0


5、日志内容说明

5.1 日志探针说明

Weops支持日志探针管理和安装,并内置探针对应的配置文件模板详情如下,若查看更加详细内容可下载表格WeOps内置日志探针说明

序号探针名称探针说明内置模板
1Filebeat能够采集操作系统中的任意日志文件。1、自定义模板
2、内置模板:ActiveMQ 、Coredns 、Elasticsearch、IIS、Kafka、mongodb、mssql、MySQL、Nginx、Oracle、PostgreSQL、RabbitMQ、Redis、Apache Tomcat
2Packetbeat能够采集操作系统中的流量数据1、自定义模板
2、内置模板:AMQP、Cassandra、DHCPv4、DNS、HTTP、ICMP、Memcache、MongoDb、MySQL、NFS、PostgreSQL(pgSQL)、Redis、SIP、Thrift-RPC、Detailed TLS
3Auditbeat能够监听文件或操作系统的变更动态,例如文件发生了修改、用户登录了操作系统等。1、自定义模板
2、内置模板:文件变化日志、系统变更日志
4Metricbeat轻量级的指标收集器,用于监控和收集系统和应用程序的指标数据1、自定义模板
2、内置模板:system指标日志、Window指标日志、linux指标日志、docker指标日志
5Winlogbeat能够采集Windows事件1、自定义模板
2、内置模板:应用程序日志、安全事件日志、系统事件日志
6Uniprobe与packetbeat功能类似,额外具备http请求的响应延迟、操作系统的网络环境质量等数据1、自定义模板

5.2 日志提取器说明

WeOps支持的提取器如下表

提取器名称适用说明
复制输入适用于需要从非结构化的日志数据中提取特定字段或值的场景。将原始消息中的一部分数据复制到提取器的规则中,并将其存储在结构化的数据字段中
Grok模式适用于需要从非结构化的日志数据中提取特定字段或值的场景。用于从非结构化的日志数据中提取结构化数据。它使用预定义的Grok模式或自定义Grok模式来匹配和提取数据,包括一些特殊的模式,用于匹配常见的数据格式,如IP地址、日期、时间戳等。(WeOps内置常用的Grok表达式)(Grok表达式是一种用于解析非结构化或半结构化数据的模式匹配工具。它是由Elasticsearch社区开发的一种基于正则表达式的模式匹配语言)
JSON适用于处理JSON格式的日志数据的场景。可以从JSON格式的数据中提取特定的字段,并将它们存储在结构化的数据字段中。
正则表达式适用于需要从未结构化的日志数据中提取特定字段或值的场景。使用正则表达式从数据中提取特定的字段,并将它们存储在结构化的数据字段中
正则表达式替换适用于需要替换日志数据中特定字符串的场景。正则表达式替换器可以使用正则表达式从数据中匹配特定的模式,并将其替换为指定的字符串
分隔适用于需要从日志数据中提取特定字段或值的场景。使用指定的分隔符将数据分割成多个部分,并将它们存储在结构化的数据字段中
子窜捕获适用于需要从日志数据中提取特定子字符串的场景。使用指定的开始和结束字符串或位置来捕获数据中的子串,并将它们存储在结构化的数据字段中

5.3 日志NIDS网络入侵识别能力

WeOps支持接入NIDS网络入侵识别识别日志,支持的识别规则类别如下,点击可下载WeOps-NIDS网络入侵识别能力清单

规则类型说明
CVE识别利用CVE通用漏洞进行的网络攻击
Malicious_behavior识别常见的可疑行为,例如利用http请求执行netstat命令
Crypto_miner_pool识别与常见公共矿池地址进行的网络传输
MySQL识别特定的 MySQL 数据库恶意活动
DNS_tunnel识别可疑的DNS隧道请求
ICMP_tunnel识别可疑的ICMP隧道请求
Behinder识别冰蝎渗透
Metasploit识别Metasploit渗透
PHP_Weevely_Webshell识别Weevely渗透
PowerShell_Empire识别PowerShell Empire渗透
webshell_caidao识别菜刀渗透
CobaltStrike识别CobaltStrike渗透

6、APM内容说明

6.1 服务器-应用探针接入

支持语言框架说明

WeOps目前封装支持两类开发语言,java和python,具体的框架如下

(1)Java

库/框架支持版本
Akka Actors2.5+
Akka HTTP10.0+
Apache Axis21.6+
Apache Camel2.20+ (不包括3.x)
Apache DBCP2.0+
Apache CXF JAX-RS3.2+
Apache CXF JAX-WS3.0+
Apache Dubbo2.7+
Apache HttpAsyncClient4.1+
Apache HttpClient2.0+
Apache Kafka Producer/Consumer API0.11+
Apache Kafka Streams API0.11+
Apache MyFaces1.2+ (不包括3.x)
Apache Pulsar2.8+
Apache RocketMQ gRPC/Protobuf-based Client5.0.0+
Apache RocketMQ Remoting-based Client4.8+
Apache Struts 22.3+
Apache Tapestry5.4+
Apache Wicket8.0+
Armeria1.3+
AsyncHttpClient1.9+
AWS Lambda1.0+
AWS SDK1.11.x和2.2.0+
Azure Core1.14+
Cassandra Driver3.0+
Couchbase Client2.0+和3.1+
c3p00.9.2+
Dropwizard Metrics4.0+ (默认禁用)
Dropwizard Views0.7+
Eclipse Grizzly2.3+
Eclipse Jersey2.0+ (不包括3.x)
Eclipse Jetty HTTP Client9.2+ (不包括10+)
Eclipse Metro2.2+ (不包括3.x)
Eclipse Mojarra1.2+ (不包括3.x)
Elasticsearch API Client7.16+和8.0+
Elasticsearch REST Client5.0+
Elasticsearch Transport Client5.0+
Finatra2.9+
Geode Client1.4+
Google HTTP Client1.19+
Grails3.0+
GraphQL Java12.0+
gRPC1.6+
Guava ListenableFuture10.0+
GWT2.0+
Hibernate3.3+ (not including 6.x yet)
HikariCP3.0+
HttpURLConnection Java8+
Hystrix1.4+
Java ExecutorsJava 8+
Java Http ClientJava 11+
java.util.loggingJava 8+
Java PlatformJava 8+
JAX-RS0.5+
JAX-RS Client1.1+
JAX-WS2.0+ (not including 3.x yet)
JBoss Log Manager1.1+
JDBCJava 8+
Jedis1.4+
JMS1.1+
Jodd Http4.2+
JSP2.3+
Kotlin Coroutines1.0+
Ktor1.0+
Kubernetes Client7.0+
Lettuce4.0+
Log4j 11.2+
Log4j 22.11+
Logback1.0+
Micrometer1.5+
MongoDB Driver3.1+
Netty3.8+
OkHttp2.2+
Oracle UCP11.2+
OSHI5.3.1+
Play2.4+
Play WS1.0+
Quartz2.0+
R2DBC1.0+
RabbitMQ Client2.7+
Ratpack1.4+
Reactor3.1+
Reactor Netty0.9+
Rediscala1.8+
Redisson3.0+
RESTEasy3.0+
Restlet1.0+
RMI Java8+
RxJava1.0+
Scala ForkJoinPool2.8+
Servlet2.2+
Spark Web Framework2.3+
Spring Boot
Spring Batch3.0+ (not including 5.0+ yet)
Spring Data1.8+
Spring Integration4.1+ (not including 6.0+ yet)
Spring JMS2.0+
Spring Kafka2.7+
Spring RabbitMQ1.0+
Spring Scheduling3.1+
Spring RestTemplate3.1+
Spring Web MVC3.1+
Spring Web Services2.0+
Spring WebFlux5.3+
Spymemcached2.12+
Tomcat JDBC Pool8.5.0+
Twilio6.6+ (not including 8.x yet)
Undertow1.4+
Vaadin14.2+
Vert.x Web3.0+
Vert.x HttpClient3.0+
Vert.x Kafka Client3.6+
Vert.x RxJava23.5+
Vert.x SQL Client4.0+
Vibur DBCP11.0+
ZIO2.0.0+

(2)python

库/框架
aio_pika
aiohttp_client
aiopg
asgi
asyncpg
aws_lambda
base
boto
boto3sqs
botocore
celery
confluent_kafka
dbapi
django
elasticsearch
falcon
fastapi
flask
grpc
httpx
jinja2
kafka_python
logging
mysql
mysqlclient
pika
psycopg2
pymemcache
pymongo
pymysql
pyramid
redis
remoulade
requests
sqlalchemy
sqlite3
starlette
system_metrics
tornado
tortoiseorm
urllib
urllib3
wsgi

(3)其他

库/框架
Node.js
TypeScript

接入步骤说明

(1)Java

WeOps采用OpenTelemetry探针无代码侵入的接入方式, 支持上百种Java框架自动上传Trace数据, 详细的Java框架列表请参见支持清单,若您的Java框架不在支持清单,请参考接入文档进行手动接入。

前置检查

开始探针安装前,请检查主机环境,确保满足以下条件:
1、 WeOps数据接收端所在系统和探针所在系统的时钟同步
2、 WeOps数据接收端所在系统和探针所在系统、后端服务之间网络环境正常可以相互通信
3、 探针所在系统Java运行环境已安装
4、 服务启动所使用的操作系统用户具备探针安装目录的读、写、运行权限

安装流程

1、下载Agent,通过“WeOps-管理-APM关联-应用接入”页面下载

2、修改启动参数

java -javaagent:<opentelemetry-javaagent.jar文件路径> -Dotel.resource.attributes=service.name=<服务英文名>,bk.biz.id=41,probe.name=3781099f-a6c8-48d6-aedf-7fdff1ff1eca -Dotel.exporter.otlp.endpoint=10.10.26.235:4317 -Dotel.metrics.exporter=none  -jar <myapp.jar>

3、前往“WeOps-APM-调用链”查看调用链情况

(2)Python

WeOps采用OpenTelemetry探针无代码侵入的接入方式, 支持数十种Python框架自动上传Trace数据, 详细的Python框架列表请参见支持清单,若您的Python框架不在支持清单,请参考接入文档进行手动接入。

前置检查

开始探针安装前,请检查主机环境,确保满足以下条件:
1、 WeOps数据接收端所在系统和探针所在系统的时钟同步
2、 WeOps数据接收端所在系统和探针所在系统、后端服务之间网络环境正常可以相互通信
3、 探针所在系统Python运行环境已安装
4、 服务启动所使用的操作系统用户具备探针安装目录的读、写、运行权限

安装流程

1、在项目中安装OpenTemetry组件

pip install opentelemetry-distro opentelemetry-exporter-otlp
opentelemetry-bootstrap -a install

2、项目运行时修改OpenTemetry配置并运行

opentelemetry-instrument --traces_exporter otlp --resource_attributes "bk.biz.id=32" --resource_attributes "probe.name=4dff9337-5e2a-4de9-a372-2edcae98d89c" --exporter_otlp_endpoint 10.10.26.235:4317 --service_name <服务英文名> python <myapp.py>

3、前往“WeOps-APM-调用链”查看调用链情况

6.2 K8S集群-应用探针接入

K8S集群的OT探针接入指引

前置准备

以下内容需要按照顺序进行部署

(1)部署cert manager到集群

可参考: https://cert-manager.io/docs/installation/

kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.13.3/cert-manager.yaml

等待cert-manager全部就绪才可部署opearator,例如

kubectl get pod -n cert-manager

NAME READY STATUS RESTARTS AGE
cert-manager-56588b57f4-6pbc2 1/1 Running 0 5d5h
cert-manager-cainjector-7bbf568f47-m2f6l 1/1 Running 0 5d5h
cert-manager-webhook-7f7c7898cc-b9x6f 1/1 Running 0 5d5h

(2)部署operator

需要注意依赖的k8s版本,最下方已列出对应的版本依赖

# 版本v0.82.0
kubectl apply -f https://github.com/open-telemetry/opentelemetry-operator/releases/download/v0.82.0/opentelemetry-operator.yaml

(3)部署Instrumentation

注意: 必须指定命名空间以对特定命名空间的资源进行注入,否则将不会生效。例如,如果未指定命名空间,只有默认命名空间才能接受自动注入

apiVersion: opentelemetry.io/v1alpha1
kind: Instrumentation
metadata:
name: my-instrumentation
namespace: tomcat
spec:
propagators:
- tracecontext
- baggage
- b3
sampler:
type: parentbased_traceidratio
argument: "0.25"
java:
env:
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://127.0.0.1:4317
- name: OTEL_RESOURCE_ATTRIBUTES
value: bk.biz.id=2
- name: OTEL RESOURCE_ATTRIBUTES
value: 18ed4404-f20b-457d-a5e8-7fa964061823

容器安装探针

(1)提前拉取java agent镜像

docker pull ghcr.io/open-telemetry/opentelemetry-operator/autoinstrumentation-java:1.28.0

(2)添加参数

  • 注意部署文件中annotations的添加位置,在多容器情况下需要指定注入的容器名称
  • 若Instrumentation修改过,则注入容器的部署部分需要重新部署,或者重新拉起新的pod
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-deployment-with-multiple-containers
spec:
selector:
matchLabels:
app: my-pod-with-multiple-containers
replicas: 1
template:
metadata:
labels:
app: my-pod-with-multiple-containers
annotations:
instrumentation.opentelemetry.io/inject-java: "true"
instrumentation.opentelemetry.io/container-names: "myapp"
spec:
containers:
- name: myapp
image: myImage1
- name: myapp2
image: myImage2
- name: myapp3
image: myImage3
查看调用链
版本依赖

目前WeOps内置的探针版本为v0.82.0,适用的K8S版本号为:v1.19 to v1.27

OpenTelemetry OperatorKubernetesCert-Manager
v0.90.0v1.23 to v1.28v1
v0.89.0v1.23 to v1.28v1
v0.88.0v1.23 to v1.28v1
v0.87.0v1.23 to v1.28v1
v0.86.0v1.23 to v1.28v1
v0.85.0v1.19 to v1.28v1
v0.84.0v1.19 to v1.28v1
v0.83.0v1.19 to v1.27v1
v0.82.0v1.19 to v1.27v1
v0.81.0v1.19 to v1.27v1
v0.80.0v1.19 to v1.27v1
v0.79.0v1.19 to v1.27v1
v0.78.0v1.19 to v1.27v1
v0.77.0v1.19 to v1.26v1
v0.76.1v1.19 to v1.26v1
v0.75.0v1.19 to v1.26v1

K8S集群Beyla接入指引

第一步、创建命名空间并配置权限

创建命名空间 kubectl create namespace beyla

创建ServiceAccount并绑定ClusterRole授权,授予pod和ReplicaSets的list和watch权限

apiVersion: v1
kind: ServiceAccount
metadata:
name: beyla
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: beyla
rules:
- apiGroups: ["apps"]
resources: ["replicasets"]
verbs: ["list", "watch"]
- apiGroups: [""]
resources: ["pods"]
verbs: ["list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: beyla
subjects:
- kind: ServiceAccount
name: beyla
namespace: beyla
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: beyla
第二步、配置Beyla的采集规则

部署Beyla前,需通过配置采集规则,定义采集K8S集群中的哪些数据

apiVersion: v1
kind: ConfigMap
metadata:
namespace: beyla
# 如果需要接入多个的业务,需部署多套Beyla,需更改metadata.name保证不重复
name: beyla-config
data:
beyla-config.yml: |
# 开启kubernetes发现和元数据
attributes:
kubernetes:
enable: true

# 提供自动路由报告,同时最小化基数
routes:
unmatched: heuristic

# 填写需要检测的服务的deployment,比如检测docs的deployment
discovery:
services:
- k8s_deployment_name: "^docs$" # 根据实际的命名规则调整正则表达式
# 还可以支持检测多个deployment,比如解除下方注释则会同时检测docs和website的deployment
# - k8s_deployment_name: "^website$"

除了使用k8s_deployment_name字段作为检测规则外,还支持以下字段(选择一类字段使用即可):

  • k8s_pod_name
  • k8s_namespace
  • k8s_replicaset_name
  • k8s_statefulset_name
  • k8s_daemonset_name
  • k8s_owner_name (DeploymentReplicaSetDaemonSet or StatefulSet)
第三步、使用DaemonSet方式部署Beyla

具体如下:

apiVersion: apps/v1
kind: DaemonSet
metadata:
namespace: beyla
# 如果需要接入多个的业务,需部署多套Beyla,需更改metadata.name保证不重复
name: beyla
spec:
selector:
matchLabels:
instrumentation: beyla # 需与metadata.name保持一致
template:
metadata:
labels:
instrumentation: beyla # 需与metadata.name保持一致
spec:
serviceAccountName: beyla
hostPID: true # 必须为true,否则将导致Beyla服务异常
volumes:
- name: beyla-config
configMap:
name: beyla-config # 需与第二步中采集规则的metadata.name一致
containers:
- name: beyla
image: grafana/beyla:1.3.1
securityContext:
privileged: true # 必须为true,否则将导致Beyla服务异常
volumeMounts:
- mountPath: /config
name: beyla-config
env:
- name: BEYLA_CONFIG_PATH
value: /config/beyla-config.yml
- name: OTEL_EXPORTER_OTLP_ENDPOINT
valueFrom:
secretKeyRef:
name: grafana-credentials
key: otlp-endpoint
- name: OTEL_EXPORTER_OTLP_HEADERS
valueFrom:
secretKeyRef:
name: grafana-credentials
key: otlp-headers
- name: OTEL_RESOURCE_ATTRIBUTES
value: bk.biz.id=2 # WeOps中的配置应用id

7、仪表盘说明

7.1 仪表盘说明

序号仪表盘名称关键指标
1单主机运行状态CPU使用率、应用内存可用率、磁盘空间使用率、1分钟系统负载、系统进程数、磁盘IO使用率、当前连接数、网卡出流量、网卡入流量、可用inode数量
2应用主机运行状态CPU使用率、内存剩余空间、磁盘空间使用率、5分钟系统负载、磁盘IO使用率、当前连接数、网卡出流量、网卡入流量
3Oracle监控数据库状态、服务器CPU使用率、服务器内存使用率、进程使用率、活跃用户会话数、阻塞超过3分钟个数、软解析率、PGA使用率、SGA使用率、SharePool使用率、缓冲区命中率、表空间使用率、Top5等待事件及数量、ASM磁盘状态、ASM磁盘使用率、ScanIP监听状态、redolog1小时内切换次数、VIP监听状态、归档日志空间使用率
4MySQL监控服务器CPU使用率、服务器内存使用率、数据文件所在空间使用率、binlog日志所在空间使用率、当前已连接的线程数、查询缓存命中率、每分钟执行语句的次数、每分钟查询次数、每分钟慢查询的次数、InnoDB缓冲池的使用率、InnoDB每分钟写日志请求数、主从同步状态、主从延迟时间、线程使用率
5MSSQL监控用户连接数、作业执行状态、数据库缓存页面数、每秒连接错误数、服务器CPU使用率、服务器内存使用率、数据库连接数、平均磁盘队列长度、缓冲区命中率、阻塞进程数、等待内存授予的进程数、数据库文件使用率、数据库日志文件使用率、每秒刷新的脏页数、每秒全表扫描数、每秒惰性写入、排队等待物理磁盘的物理读写请求的平均数、每秒锁等待数、每秒锁超时数、每秒等待内存页I/O锁的时间
6Redis监控仪表盘redis可用性、内存碎片率、Redis分配器分配的内存总量、客户端连接数、拒绝的连接数、退出的秘钥数量、过期的密钥总数、keyspace命中成功率、每秒处理命令数、每秒输入字节数、每秒输出字节数、服务器CPU使用率、服务器内存使用率、数据占用的内存大小的百分比
7Apache监控仪表盘Apache状态、运行时间、忙碌的worker数、空闲的worker数、服务器CPU使用率、服务器内存使用率、进程IO写速率、进程IO读速率、不同状态计分版数量统计、每个请求的字节数、每秒传输的字节数、每分钟平均请求数
8Tomcat监控仪盘活动连接数、会话数、全局请求数、线程数、堵塞线程数、接收的流量、发送的流量、过期会话数、错误请求数、线程池状态、服务器CPU使用率、服务器内存使用率
9Nginx监控仪盘Nginx监控状态、正在处理的活跃的连接数、驻留(等待)等待连接数、每分钟成功握手次数、服务器CPU使用率、服务器内存使用率、读连接数、写连接数、每分钟成功处理请求数、每分钟处理未丢失的请求数

7.2 仪表盘各个组件说明

所属模块组件名称作用支持的配置
监控仪表盘展示指定时间范围内,该监控指标的最近数值1、配置需要展示的监控指标
2、可以根据选择的维度汇聚方式展示“最大值”“最小值”“平均值”“累加值”“维度数量”
3、支持配置仪表盘展示的最大值/最小值,支持选择各个阈值的配色
监控单值展示指定时间范围内,该监控指标的最近数值1、配置需要展示的监控指标
2、可以根据选择的维度汇聚方式展示“最大值”“最小值”“平均值”“累加值”“维度数量”
监控饼形图指定时间范围内,该监控指标的最近数值,每个饼状图代表一项资产,若有多维度则展示百分比1、配置需要展示的监控指标
监控柱状图展示指定时间范围内,该监控指标的最近数值;柱状图的每一簇代表一项资产,若资产有多维度,则展示多条1、配置需要展示的监控指标
监控折线图以时间为横坐标展示指定时间内该监控指标的数值变化,多资产和多维度都在用一个折线图中展示1、配置需要展示的监控指标
2、支持配置阈值线
3、支持配置是否面积填充
资产资产表格展示选中的资产基本配置信息1、支持配置所有资产管理的资产
2、支持选择展示的字段
3、对于枚举型字段等特殊字段,支持筛选/排序等操作
自动化运维工具展示/执行各个运维工具1、配置展示不同的运维工具
2、在仪表盘直接使用该工具对选中的资产进行操作,并展示执行结果
日志日志消息展示日志的原始消息1、配置搜索条件
2、配置展示字段
3、支持配置某个字段的升序/降序
日志单值展示单个数值或统计结果,最近数据的第一个值1、配置分组和度量,确定统计的角度和值
2、设置趋势:越大越好、越小越好,普通
日志表格以表格的形式展示各个分组的度量统计数值1、配置搜索语句
2、配置分组和度量,确定统计的角度和值
3、配置排序,分组和度量的字段可以设置排序
日志饼形图按照特定度量字段,统计各个分组该度量值所占的百分比1、配置搜索语句
2、配置分组和度量,确定统计的角度和值
3、配置排序,分组和度量的字段可以设置排序
日志折线图用于展示统计数据的变化趋势,比如随时间的变化趋势1、配置搜索语句
2、配置分组和度量,确定统计的角度和值
3、配置排序,分组和度量的字段可以设置排序
日志柱状图以柱形图展示日志数据,展示各个分组的度量值1、配置搜索语句
2、配置分组和度量,确定统计的角度和值
3、配置排序,分组和度量的字段可以设置排序
4、支持设置堆叠/分组模式
日志地图以地图的形式展示IP地址的地域分布情况1、配置搜索语句
2、选择中国地图/世界地图
3、配置地域字段
4、支持阈值配色
高级单值填写Trino语句,获取对应数据后,以单值形式呈现1、填写Trino语句
高级折线图填写Trino语句,获取对应数据后,以折线图形式呈现1、填写Trino语句
2、配置X轴、Y轴展示的数值和维度数值
高级饼形图填写Trino语句,获取对应数据后,以饼形图形式呈现1、填写Trino语句
2、配置分组(组别)和度量值
高级柱状图填写Trino语句,获取对应数据后,以柱状图形式呈现1、填写Trino语句
2、配置X轴、Y轴展示的数值和维度数值
高级表格填写Trino语句,获取对应数据后,以表格形式呈现1、填写Trino语句
高级流量拓扑填写Trino语句,获取对应数据后,以流量拓扑形式呈现1、填写Trino语句
2、配置源对象和目标对象
3、配置连线数值和阈值配色
高级桑基图填写Trino语句,获取对应数据后,以桑基图形式呈现1、填写Trino语句
2、配置源对象、目标对象和度量值


8、健康扫描包说明

共内置11个扫描包,各个扫描包的介绍和相关指标见下表

序号扫描包名称对象操作系统检查项数量检查项
1基础健康检查-Windows主机Windows10Windows是否激活、内存可用大小、磁盘空间使用率(Windows)、磁盘可用空间(Windows)、磁盘IO读速率、磁盘IO写速率、DCP时间百分比、处理器队列长度、逻辑磁盘队列长度、每秒页面错误数
2基础健康检查-Linux主机Linux8磁盘空间使用率(Linux)、磁盘可用空间(Linux)、交换空间使用率、iNode可用大小、iNode使用率、僵尸进程数、TIME_WAIT状态的连接数、passwd文件权限
3基础健康检查-ActiveDirectoryActiveDirectory4AD数据库文件盘可用空间、AD数据库日志文件盘可用空间、AD健康性检查、时间偏差检查
4基础健康检查-ExchangeServerExchangeServer(支持系统为Exchange Server 2016/2019的邮箱角色)22关键服务测试、活动目录连接测试、ActiveSync连接测试、Ecp连接测试、Imap连接测试、Owa连接测试、Pop连接测试、Outlook连接测试、Smtp连接测试、复制健康性测试、数据包出站错误、数据库平均读延迟、数据库平均写延迟、数据库日志平均读延迟、数据库日志平均写延迟、应用重启次数、工作进程重启次数、应用队列中的请求数、RPC请求数(信息存储进程)、RPC平均延迟(客户端协议)、RPC平均延迟(数据库)、证书过期时间
5基础健康检查- MSSQL(Windows)MSSQLWindows26缓冲区命中率、磁盘空间使用率、可用连接数、MSSQL内存可用大小、阻塞源会话(近一个小时)、死锁情况(近一个小时)、长事务(TOP5)、页生存周期、实例内存使用情况、数据库使用内存、可用线程数、资源等待Top5、磁盘队列数、群集资源状态、群集网络状态、群集仲裁状态、AlwaysOn同步健康状态、AlwaysOn发送队列大小、AlwaysOn重做队列大小、AlwaysOn重做延迟时长、文件组可用大小、错误日志磁盘可用大小、作业执行失败Top20、最近备份时间、SQL代理服务启动方式、最近完整备份时间
6基础健康检查- MySQL(Windows)MySQLWindows17InnoDB缓冲区命中率、每秒查询数、每秒事务数、每秒全表扫描数量、慢查询数量、数据空间使用率、Binlog日志空间使用率、不能立即获得表锁次数、InnoDB行锁次数、可用连接数、数据文件总大小、InnoDB缓存池可用大小、锁等待数量、操作系统CPU使用率、操作系统内存使用率、操作系统内存可用大小、操作系统交换空间使用率
7基础健康检查- MySQL(Linux)MySQLLinux17InnoDB缓冲区命中率、每秒查询数、每秒事务数、每秒全表扫描数量、慢查询数量、数据空间使用率、Binlog日志空间使用率、不能立即获得表锁次数、InnoDB行锁次数、可用连接数、数据文件总大小、InnoDB缓存池可用大小、锁等待数量、操作系统CPU使用率、操作系统内存使用率、操作系统内存可用大小、操作系统交换空间使用率
8基础健康检查- Oracle(Windows)OracleWindows20缓冲区命中率、共享池命中率、表空间空间使用率、归档空间使用率、数据空间使用率、ASM磁盘组空间使用率、可用会话数、可用进程数、SQL硬解析百分比、内存排序百分比、无效索引个数、行锁等待大于1分钟数量、联机日志每小时切换次数、DG状态、最近备份成功状态、实例状态、监听状态、Oracle目录使用率、操作系统内存使用率、操作系统内存可用大小
9基础健康检查- Oracle(Linux)OracleLinux14缓冲区命中率、共享池命中率、表空间空间使用率、可用会话数、可用进程数、SQL硬解析百分比、内存排序百分比、无效索引个数、行锁等待大于1分钟数量、联机日志每小时切换次数、最近备份成功状态、实例状态、监听状态、Oracle目录使用率
10基础健康检查- vCenter(Windows)vCenterWindows7物理机最新启动时间、物理机cpu使用率、物理机内存使用率、物理机上虚拟机数量、存储空间使用率、物理机NTP服务器、物理机NTP服务状态
11基础健康检查- vCenter(Linux)vCenterLinux7物理机最新启动时间、物理机cpu使用率、物理机内存使用率、物理机上虚拟机数量、存储空间使用率、物理机NTP服务器、物理机NTP服务状态


9、运维工具说明

内置的脚本工具的介绍见下表

序号工具类型工具名脚本类型工具介绍
1操作系统类查询消耗系统内存最多的进程shell(Linux)查找出Linux系统当前占用内存资源最多的TopN进程
2操作系统类查询消耗系统CPU最多的进程shell(Linux)查找出Linux系统当前占用CPU资源最多的TopN进程
3操作系统类MSSQL全库备份powershell(Windows)将MSSQL全库备份到所选服务器的指定目录,支持SQL Server 2008 R2及以上版本
4操作系统类修改Windows本地账号密码powershell(Windows)修改Windows本地账号密码,支持Powershell 5.2及以上版本
5操作系统类修改Linux账号密码shell(Linux)修改Linux账号密码
6操作系统类查询系统本地帐户信息powershell(Windows)查找出Windows系统所有本地帐户的信息
7操作系统类查询AD用户上次登陆时间powershell(Windows)查找出指定的AD用户上次登陆时间,需在域服务器执行该脚本
8操作系统类查询服务进程状态信息shell(Linux)查找出Linux系统指定进程的状态信息
9操作系统类查询占用空间最大的目录和文件shell(Linux)查找出Linux系统指定目录下占用空间最大的top N目录和文件
10操作系统类Pingshell(Linux)测试所选主机与目标主机的数据连通性是否正常
11操作系统类查看Linux日志文件shell(Linux)查看Linux日志文件,协助问题排查
12操作系统类AD密码质量审计powershell(Windows)执行AD审计,检查AD账号使用弱密码、重复密码、默认密码和空密码等情况
13操作系统类查找容量最大的文件shell(Linux)查找容量最大的文件
14操作系统类统计目录的文件数量shell(Linux)统计目录的文件数量
15操作系统类查询僵尸进程数shell(Linux)查询僵尸进程数
16操作系统类查询文件打开数最多的进程shell(Linux)查询文件打开数最多的进程
17操作系统类MySQL显示错误日志内容shell(Linux)MySQL显示错误日志内容
18操作系统类Oracle显示错误日志内容shell(Linux)Oracle显示错误日志内容
19操作系统类MySQL显示参数值shell(Linux)MySQL显示参数值
20操作系统类查询网络连接数最多的服务python(Linux)查询网络连接数最多的服务
21操作系统类查找UID或GID为0的系统用户shell(Linux)查找UID或GID为0的系统用户
22操作系统类查询已删除用户的进程shell(Linux)查询已删除用户的进程
23操作系统类Oracle显示参数值shell(Linux)Oracle显示参数值
24操作系统类查询权限为777的文件shell(Linux)查询权限为777的文件
25操作系统类统计TIME_WAIT连接数量python(Linux)统计TIME_WAIT连接数量
26操作系统类查询无属主或无属组的文件shell(Linux)查询无属主或无属组的文件
27操作系统类查询进程的文件打开数shell(Linux)查询进程的文件打开数
28操作系统类收集sosreportshell(Linux)收集sosreport或 supportconfig
29操作系统类检查拥有sudo权限账号或组shell(Linux)检查拥有sudo权限账号或组
30操作系统类MySQL查询实例连接数和活动连接数shell(Linux)MySQL查询实例连接数和活动连接数
31操作系统类Oracle查询实例连接数和活动连接数shell(Linux)Oracle查询实例连接数和活动连接数
32操作系统类Oracle查看正在运行的SQL语句shell(Linux)Oracle查看正在运行的SQL语句
33操作系统类Oracle查看最近15分钟的等待事件shell(Linux)Oracle查看最近15分钟的等待事件
34操作系统类Oracle查询会话增长趋势shell(Linux)Oracle查询会话增长趋势
35操作系统类Oracle查看当前的等待事件shell(Linux)Oracle查看当前的等待事件
36操作系统类Oracle查看表空间的大小和可用空间shell(Linux)Oracle查看表空间的大小和可用空间
37操作系统类Oracle查看数据库锁信息shell(Linux)Oracle查看数据库锁信息
38操作系统类查看系统防火墙启用情况powershell(Windows)查看系统防火墙启用情况
39操作系统类查看占用内存 Top10进程信息powershell(Windows)查看占用内存 Top10进程信息
40操作系统类Oracle查看ASM磁盘组大小和可用空间shell(Linux)Oracle查看ASM磁盘组大小和可用空间
41操作系统类Oracle查询数据库中具有DBA权限的用户shell(Linux)Oracle查询数据库中具有DBA权限的用户
42操作系统类MySQL查看表空间的大小和可用空间shell(Linux)MySQL查看表空间的大小和可用空间
42操作系统类MySQL查询当前运行的SQL语句shell(Linux)MySQL查询当前运行的SQL语句
43操作系统类查看所有物理网卡的网线连接状态shell(Linux)查看所有物理网卡的网线连接状态
44操作系统类Linux补丁升级shell(Linux)适用于已部署Yum源的Linux服务器
序号工具类型工具名脚本类型工具介绍
1网络设备类显示CDP查找进程的结果(思科)telnet可以看见本地接口ID,与此接口直连的设备ID,设备类型,若对端接口是路由接口,可以看见对端接口ID
2网络设备类显示打开的CDP接口信息(思科)telnet可以看见接口状态,连接状态,封装类型,发送cdp报文周期
3网络设备类显示CDP表中所列相邻设备的信息(思科)telnet展示运行cdp协议的邻居设备的详细信息:设备ID,厂家,设备能力,ip地址,IOS类型和版本,设备功能
4网络设备类展示总包吞吐量(思科)telnet
5网络设备类展示接口统计信息(思科)telnet显示设置在路由器和访问服务器上所有接口的统计信息
6网络设备类显示连接所有用户(思科)telnet
7网络设备类显示产品库存清单(思科)telnet显示安装的所有思科产品的产品库存清单和UDI
8网络设备类显示接口的状态和全局参数(思科)telnet
9网络设备类显示路由选择表的当前状态(思科)telnet
10网络设备类显示IP路由表信息(思科)telnet
11网络设备类显示路由器的进程(思科)telnet
12网络设备类显示设置的协议(思科)telnet显示全局和接口的第三层协议的特定状态。
13网络设备类显示内存大小(思科)telnet
14网络设备类展示进程内存使用量(思科)telnet显示每个系统进程或指定进程使用的内存量
15网络设备类展示进程CPU使用率(思科)telnet显示所有进程及其CPU利用率
16网络设备类显示系统版本信息(思科)telnet

【备注】网络设备自动化运维支持的范围如下 | 类别|型号| | -----| ----| | 网络设备自动化支持的型号|A10, Accedian, AdtranOS,AlcatelAos,NokiaSros, ApresiaAeos, Arista, Aruba, HPProcurve, HPProcurve, ExtremeErs, ExtremeVsp, BroadcomIcos, RuckusFastiron, ExtremeNetiron, ExtremeNos,ExtremeNos, VyOS, CheckPointGaia, CalixB6,CentecOS,CienaSaos,CiscoAsa,CiscoFtd,CiscoIos,CiscoNxos,CiscoS300,CiscoTpTcCe,CiscoWlc,CiscoIos,CiscoXr,CloudGenixIon,Coriant,DellForce10,DellForce10,DellDNOS6,DellForce10,DellOS10,DellPowerConnect,DellIsilon,DlinkDS,Endace,Eltex,EltexEsr,Enterasys,ExtremeExos,ExtremeErs,ExtremeExos, ExtremeNetiron,ExtremeNos,ExtremeSlx,ExtremeNos,ExtremeVsp,ExtremeWing,F5Tmsh,F5Tmsh,F5Linux,Flexvnf,Fortinet,Generic,TerminalServer,HPComware,HPProcurve,Huawei,HuaweiSmartAX,HuaweiSmartAX,HuaweiVrpv8,IpInfusionOcNOS,Juniper,Juniper,JuniperScreenOs,Keymile,KeymileNOS,Linux, MikrotikRouterOs,MikrotikSwitchOs,MellanoxMlnxos, MellanoxMlnxos,MrvLx, MrvOptiswitch,NetAppcDot,NetgearProSafe,Netscaler, NokiaSros, OneaccessOneOS,OvsLinux, PaloAltoPanos,Pluribus,QuantaMesh,RaisecomRoap,RuckusFastiron,RuijieOS,SixwindOS,SophosSfos,TPLinkJetStream,UbiquitiEdge, UbiquitiEdgeRouter, UbiquitiEdge, UbiquitiUnifiSwitch,VyOS, WatchguardFireware, ZteZxros, Yamaha,|



10、内置工单流程

共内置5个自动化工单流程,具体介绍见下表

序号服务名称服务流程
1AD账号创建【前置条件】AD已经纳管/AD凭据已经录入→【提单】填写新建的信息→【管理员审批】选择域和组→【自动执行】引用自动化流程自动批量创建→【发送邮件】申请人接收通知邮件
2AD账号密码重置【前置条件】AD已经纳管/AD凭据已经录入→【提单】填写重置信息→【管理员审批】选择域和组→【自动执行】引用自动化流程自动批量重置→【发送邮件】申请人接收通知邮件
3AD账号禁用【前置条件】AD已经纳管/AD凭据已经录入→【提单】填写禁用的信息→【管理员审批】选择域和组→【自动执行】引用自动化流程自动批量禁用→【发送邮件】申请人接收通知邮件
4AD账号删除【前置条件】AD已经纳管/AD凭据已经录入→【提单】填写删除的信息→【管理员审批】选择域和组→【自动执行】引用自动化流程自动批量删除→【发送邮件】申请人接收通知邮件
5数据库SQL语句执行【前置条件】数据库已经纳管/数据库凭据已经录入→【提单】填写执行对象和SQL语句→【管理员审批】审批并选择凭据→【自动执行】引用自动化流程自动执行
6VMware虚拟机创建【前置条件】vcenter已经纳管并设置自动发现/凭据已经录入→【提单】填写申请的虚拟机配置→【管理员审批】审批并选择凭据→【自动执行】引用自动化流程自动执行
7VMware虚拟机快照创建【前置条件】vcenter已经纳管并设置自动发现/凭据已经录入→【提单】填写申请的信息→【管理员审批】审批并选择凭据→【自动执行】引用自动化流程自动执行
8VMware虚拟机快照回滚【前置条件】vcenter已经纳管并设置自动发现/凭据已经录入→【提单】填写申请的信息→【管理员审批】审批并选择凭据→【自动执行】引用自动化流程自动执行

共内置36个工单流程,具体介绍见下表

序号服务类型服务流程流程字段
1【AD相关】开通AD帐号使用人、账号名、显示名、手机号、邮箱、部门、使用时间、禁用时间、用途、紧急程度
2【AD相关】续用AD帐号使用人、账号名、手机号、邮箱、部门、禁用时间、原因、紧急程度
3【AD相关】修改AD帐号信息使用人、账号名、部门、修改内容、原因、紧急程度
4【AD相关】重置AD帐号密码使用人、账号名、部门、原因、紧急程度
5【AD相关】禁用AD帐号使用人、账号名、部门、原因、紧急程度
6【邮箱相关】开通邮箱帐号使用人、账号名、手机号、部门、使用时间、释放时间、邮箱容量、原因、紧急程度
7【邮箱相关】续用邮箱帐号使用人、邮箱、部门、释放时间、补充说明、紧急程度
8【邮箱相关】扩容邮箱帐号使用人、邮箱、部门、原因、扩容量、紧急程度
9【邮箱相关】注销邮箱帐号使用人、邮箱、部门、原因、紧急程度
10【服务器相关】申请服务器使用人、部门、使用时间、释放时间、规格、操作系统、指定IP、用途、补充说明、紧急程度
11【服务器相关】续用服务器使用人、部门、服务器IP、释放时间、用途、紧急程度
12【服务器相关】释放服务器使用人、部门、服务器IP、原因、紧急程度
13【服务器相关】扩容服务器使用人、部门、服务器IP、现规格、扩充至、紧急程度
14【服务器相关】创建服务器快照使用人、部门、服务器IP、原因、紧急程度
15【服务器相关】回滚服务器快照使用人、部门、服务器IP、原因、快照时间、紧急程度
16【服务器相关】服务器文件上传使用人、部门、服务器IP、操作系统、原因、紧急程度、附件
17【服务器相关】服务器文件下载使用人、部门、服务器IP、操作系统、文件路径、原因、紧急程度
18【服务器相关】开通网络策略使用人、部门、服务器IP、开通端口、用途、紧急程度
19【笔记本相关】申请笔记本使用人、部门、操作系统、型号、规格、预装软件、使用时间、退还时间、用途、紧急程度
20【笔记本相关】续用笔记本使用人、部门、资产编码、型号、退还时间、原因、紧急程度
21【笔记本相关】维修笔记本使用人、部门、资产编码、型号、是否为公司电脑、维修方式、故障现象、故障原因、紧急程度
22【笔记本相关】更换笔记本使用人、部门、资产编码、型号、现规格型号、期望规格型号、原因、紧急程度
23【笔记本相关】退还笔记本使用人、部门、资产编码、型号、原因
24【笔记本相关】安装办公软件使用人、部门、资产编码、型号、操作系统、软件名称、软件版本、用途、紧急程度
25【办公设备相关】申请办公设备使用人、部门、设备类型、使用时间、退还时间、用途、其他要求、紧急程度
26【办公设备相关】续用办公设备使用人、部门、资产编码、设备类型、型号、退还时间、原因、紧急程度
27【办公设备相关】维修办公设备使用人、部门、资产编码、设备类型、型号、故障现象、故障原因
28【办公设备相关】更换办公设备使用人、部门、资产编码、设备类型、现规格型号、期望规格型号、原因、紧急程度
29【办公设备相关】退还办公设备使用人、部门、资产编码、型号、原因
30【办公设备相关】打印机加纸设备位置、紧急程度
31【办公设备相关】更换墨盒设备位置、紧急程度
32【门禁相关】申请门禁账号使用人、工号、部门、使用时间、注销时间、原因、紧急程度
33【门禁相关】续用门禁帐号使用人、工号、部门、注销时间、原因、紧急程度
34【门禁相关】重置门禁密码使用人、工号、部门、原因、紧急程度
35【门禁相关】注销门禁账号使用人、工号、部门、原因、紧急程度
36【告警转工单】告警转工单标题、关联业务、影响范围、紧急程度、优先级、描述