# 新华三

H3C数据集成

# 告警配置

  • 在类型配置处选择事件

选择DIP实例类型图

# DIP实例配置

名称配置

  • 名称:输入DIP实例名称。

# IN配置

告警IN配置

  • 主机:华三服务端程序的主机IP
  • 端口:华三服务端程序占用的端口
  • 用户名:请求华三服务端程序需要的用户名
  • 密码:请求华三服务端程序需要的密码
  • 是否为HTTP长连接:选择代表不是长连接,会定时轮询获取华三服务中某个时间点前的数据;选择代表为长连接,采用注册推送机制,数据是实时推送的;当选择时,不再需要首次获取时间段轮询间隔配置项,选择默认值即可,告警URL按照华三文档接口要求填写即可,格式为/imcrs/events?uuid=xxxx&type=xxxx,具体参数参考如下:
查询参数 参数说明
type 事件类型。整数(int)类型,必须,值:11。代表告警服务器推送事件。
uuid UUID。字符串(String)类型,必须。用于标识客户端的唯一ID。
alarmLevel 告警级别。整数(int)类型,支持多值查询。非必须,无缺省值。未设置时表示转发所有级别的告警。合法值可通过告警级别查询接口获取
customView 自定义视图ID。数字(long)类型。非必须,无缺省值。
deviceIp 设备IP地址。字符串(String)类型,支持多值设置。非必须,无缺省值。
ipSegment IP地址网段。字符串(String)类型,支持多值设置。非必须,无缺省值。IP地址间用"-"分隔,如"192.168.0.1-192.168.0.254"。
eventOid 告警事件Oid。字符串(String)类型,支持多值查询。非必须,无缺省值。
sendRecovered 是否发送可恢复告警oid列表。布尔(boolean)类型,非必须,缺省为 false。当设置为 true 时,会推送告警可恢复告警oid列表。
  • 告警URL:请求华三告警所需的url,根据华三官方文档,获取所有状态告警的url是/imcrs/fault/alarm?recStatus=255,查询参数recStatus=255代表告警复状态是任意类型(通常包含已恢复和未恢复)的告警。以下是华三的告警恢复状态recStatus的值(参考华三官方文档中的/fault/alarmRecStatus)

    <list>
        <alarmRecStatus>
            <id>255</id>
             <desc>所有状态</desc>
        </alarmRecStatus>
        <alarmRecStatus>
            <id>1</id>
            <desc>已恢复</desc>
        </alarmRecStatus>
        <alarmRecStatus>
            <id>0</id>
            <desc>未恢复</desc>
         </alarmRecStatus>
    </list>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
  • 字符集:获取华三告警数据时的字符集,默认utf-8

  • 首次获取时间段:距离当前时间前多久 默认20分钟

  • 轮询间隔:告警数据采集时间间隔 默认60分钟

  • 告警源:EMV中定义的告警源,项目通常要对接来自不同系统的告警,依照该字段来区分不同系统的告警

# 数据映射

告警数据映射

列表下的是华三的数据属性名称,列表下的是映射的森数据DIX中的数据属性名称。

映射CI字段
${deviceIp} 不填/分类名.属性名/rulecode=索引名
  • 映射CI是为了确定发生告警的CI的ciCode,其所在行映射CI字段列的填写方式有三种情况。

    • 1)h3c系统中${deviceIp}在对方系统中具有唯一性,若${deviceIp}是CI分类中的主键(CI分类中不一定也叫deviceIp),此时在SourceCIName这一行的映射CI字段处不填任何内容,会默认按照cicode查找。
    • 2)当${deviceIp}在对方系统中具有唯一性,但${deviceIp}不是CI分类中的主键,此时映射CI字段一栏填写分类名.属性名(CMV中的分类及属性名,该属性与NODE对应,且能够唯一标识CI,但该属性在CMV中不一定叫deviceIp),如X86宿主机.主机名,即按照搜索分类的指定属性查找。
    • 3)若对方系统的告警中没有属性来标识发生告警的设备,则可以用两个或多个属性来匹配到唯一的设备(这两个或多个属性在CI分类中必须存在),此时需要在NOAH中使用这两个或多个属性建立规则索引。规则表达式的书写格式:$(属性1)_$(属性2),下划线可以用其他符号代替。在映射CI字段列填写rulecode=索引名称,此时按照按照在NOAH中建立的规则索引查找。
    • 4)多分类多属性匹配。如:CIPropertys=[{"className":"ghws,ghw1","CIAttribute":[{"name":"id","opType": "1","value": "${2}"}]}] 其中CIPropertys=为标识,必须填,CIPropertys=后面的是匹配规则,为json格式。
      • className为CMV中CI的分类名称,可以填多个,多个分类名称之间使用英文逗号分隔,,填入具体的分类会按照填写的分类进行匹配,不填则在全部分类中进行匹配;
      • CIAttribute为匹配的CI属性是一个数组格式,如果多属性匹配可配置多个属性的规则,name为属性名称,opType匹配的方式,1为精确匹配,2为模糊匹配,value为属性值${}是源数据中的值;
      • 不同分类或全部分类下的相同属性匹配:如CIPropertys=[{"className":"","CIAttribute":[{"name":"id","opType": "1","value": "${2}"}]}]
      • 不同分类下的不同属性,如CIPropertys=[{"className":"服务器","CIAttribute":[{"name":"配置项编码","opType": "1","value": "${2}"}]},{"className":"交换机","CIAttribute":[{"name":"IP地址","opType": "1","value": "${2}"}]}]
  • 备注:也可以使用华三告警中的deviceId来映射CI字段

# 级别映射

告警级别映射

重要

华三的默认告警级别,与森数据DIX告警级别不匹配,需要通过映射来进行匹配

  • :华三的告警级别
  • :森数据DIX的告警级别(1为最高级别)

级别映射配置,若无特殊需求,无需更改

6 1
5 2
4 3
3 4
2 5
1 6
  • 下面是华三官方文档中各告警级别代表的含义。

    <list>
    <alarmLevel>
        <id>255</id>
        <desc>所有级别</desc>
    </alarmLevel>
    <alarmLevel>
        <id>1</id>
        <desc>紧急</desc>
    </alarmLevel>
    <alarmLevel>
        <id>2</id>
        <desc>重要</desc>
    </alarmLevel>
    <alarmLevel>
        <id>3</id>
        <desc>次要</desc>
    </alarmLevel>
    <alarmLevel>
        <id>4</id>
        <desc>警告</desc>
    </alarmLevel>
    <alarmLevel>
        <id>5</id>
        <desc>通知</desc>
    </list>
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25

# Out配置

告警的发送方式选择:点击添加,选择对应的发送方式将数据进行发送

输出方式选择


  • MYSQL

选择此项会将数据保存至mysql库,配置项如下:

MysqlOut

配置项名称 配置项描述 示例
URL(必填项) 数据库地址 jdbc:mysql://0.0.0.0:3306/db_vmdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8
用户名(必填项) 数据库用户名 username
密码(必填项) 数据库密码 password
是否保存历史数据(必填项) 默认为是,保存历史数据

  • ES

选择此项会将数据保存至ES库,配置项如下:

EsOut

配置项名称 配置项描述 示例
ES请求地址(必填项) 数据库地址 0.0.0.0:9200
用户名 数据库用户名 username
密码 数据库密码 password
ES性能数据保留天数(必填项) 默认为7,保存7天内的性能数据 7
数据域 ThingJS-X数据域ID (可选)

  • ACTIVEMQ

选择此项会将数据发送至ActiveMQ,配置项如下:

ActivemqOut

配置项名称 配置项描述 示例
URL(必填项) ActiveMQ地址 failover://(tcp://0.0.0.0:61616,tcp://0.0.0.0:61616)?randomize=false&timeout=5000&maxReconnectAttempts=-1
队列名(必填项) ActiveMQ队列名称 queue
用户名 ActiveMQ用户名 username
密码 ActiveMQ密码 password

  • RABBITMQ

选择此项会将数据发送至RabbitMQ,配置项如下:

RabbitmqOut

配置项名称 配置项描述 示例
URL(必填项) RabbitMQ地址 0.0.0.0
端口(必填项) RabbitMQ端口号 12000
用户名 RabbitMQ用户名 username
密码 RabbitMQ密码 password
RabbitMq工作模式(必填项) 共有:简单模式,订阅模式,路由模式和Topic四种模式;默认为简单模式 简单模式
RabbitMq交换机或队列名称以及路由键(必填项) 根据工作模式填写json数据 如下表所示
交换机或队列是否持久化(必填项) 默认为否,不支持持久化
无服务时是否自动删除队列或者交换机(必填项) 默认为否,不会自动删除队列或交换机
RabbitMq工作模式 对应json
简单模式 {"name":"交换机名称"}
订阅模式 {"name":"交换机名称"}
路由模式 {"name":"交换机名称","routingKey":"路由键"}
Topic模式 {"name":"交换机名称","routingKey":"路由键"}

注:此处的交换机名称和路由键按照实际情况填写


  • ROCKETMQ

选择此项会将数据发送至RocketMQ,配置项如下:

RocketmqOut

配置项名称 配置项描述 示例
请求地址(必填项) RocketMQ地址 0.0.0.0:9876;0.0.0.0:9876
生产者组别 RocketMQ生产者组别 producerGroup
消息发送主题 消息发送主题 topicA
消息标签 消息标签 tagA
超时时间 消息发送超时时间,单位为毫秒 30000
字符集 字符编码集,默认UTF-8 UTF-8
消息发送类型 分为:异步发送,单向发送,同步发送共三种;默认为异步发送 异步发送

  • KAFKA

选择此项会将数据发送至kafka,配置项如下:

KafkaOut

配置项名称 配置项描述 示例
请求地址(必填项) kafka地址 0.0.0.0:9092;0.0.0.0:9092
消息发送主题(必填项) 消息发送主题 topicA
sasl静态认证文件地址(非必填) sasl conf认证文件位置 /uinnova/dix/kafka_sasl_jaas.conf
用户名(非必填) Kafka动态认证用户名 username
密码(非必填) Kafka动态认证密码 password
密码加密算法(非必填) 对密码进行加密的算法,下拉框中二选一 SCRAM-SHA-256 或 SCRAM-SHA-512
延迟(非必填) 消息发送延迟,单位为秒 1

  • MQTT

选择此项会将数据发送至mqtt,配置项如下:

MqttOut

配置项名称 配置项描述 示例
URL(必填项) mqtt地址 tcp://127.0.0.0:1883
MQTT客户端ID(必填项) mqtt客户端ID clientID101
用户名 mqtt用户名 username
密码 mqtt密码 password
消息发送主题 消息发送主题 topicA
消息发送质量 分为:仅分发一次,至少分发一次,最多分发一次共三种;默认仅分发一次 仅分发一次
字符集 字符编码集,默认UTF-8 UTF-8

  • HTTPPOST

选择此项会将数据通过post请求发送至http服务,配置项如下:

HttppostOut

配置项名称 配置项描述 示例
http服务路径(必填项) http服务地址 http://0.0.0.0:0000
请求头 填写json格式的参数 {"key":"value"}
字符集 字符编码集,默认utf-8 utf-8

  • HTTPSPOST

选择此项会将数据通过post请求发送至https服务,配置项如下:

HttpspostOut

配置项名称 配置项描述 示例
http服务路径(必填项) https服务地址 https://0.0.0.0:0000
请求头 填写json格式的参数 {"key":"value"}
字符集 字符编码集,默认utf-8 utf-8

# 保存并启动

  • 配置信息填写完成后,点击保存,成功保存后会在森数据DIX的数据集成页面看到新建的DIP实例

    新建DIP实例

    • 点击开始/启动按钮。

    启动DIP实例

    名词解释

    已接入:当前数据接口接入到的总数据量
    处理中:当前数据接口正在进行处理的数据量
    发送中:当前数据接口正在向外部发送的数据量
    已发送:当前数据接口发送到外部的总数据量

    • 待启动成功之后,点击日志按钮,查看数据是否能正常接入

# 监控信息

  • DIP实例启动成功后,点击监控按钮,进入DIP实例的监控页面。

  • 基本信息:包括当前状态、DIP实例名称、DIP实例唯一标识、DIP实例类型、DIP实例产品名称、DIP实例主机。除DIP实例唯一标识和DIP实例产品名称是系统生成的外,其余信息是在配置DIP实例时写的。

  • :当待处理或待发送的数据量比较大时,可以将采集周期调整的长一点。 监控DIP实例






# 性能配置

  • 在类型配置处选择性能

选择DIP实例类型图

# DIP实例配置

名称配置

  • 名称: DIP实例名称

# IN配置

性能IN配置

  • 主机:华三服务端程序的主机IP
  • 端口:华三服务端程序占用的端口
  • 用户名:请求华三服务端程序需要的用户名
  • 密码:请求华三服务端程序需要的密码
  • 实例指标uri:查询单设备单指标实例列表(查询指定设备指定指标下的实例列表。),一般是/imcrs/perf/monitor,例如查询指定设备上性能:/imcrs/perf/monitor?devId="10011",查询参数如下
 devId:设备Id, 长整数(int)类型。
 taskId:指标Id,长整数(long)类型。
1
2
  • 性能数据uri:查询单指标多设备性能汇总数据列表,一般是/imcrs/perf/summaryData,查询参数如下
taskId:指标Id,整数(int)类型。
devId:设备Id ,长整数(long)类型。
beginTime,开始时间,长整数(long)类型。
endTime:结束时间,长整数(long)类型。 
dataGranularity:数据粒度,整数(int)类型。
1
2
3
4
5
  • 指标列表uri:查询性能指标列表,即查询华三设备和端口上的指标列表,一般是/imcrs/perf/task
  • 端口性能数据uri:向华三获取指定设备端口性能数据的uri,一般是/imcrs/plat/res/device/{deviceId}/interface,deviceId是路径参数。
  • 任务ID:需要给指标设置对应的task(任务),点击添加,进入选择指标的页面,在该页面选择需要的指标,之后点击右上方的确认选择按钮,在页面就会出现接受性能的子任务列表如下表所示(taskId是该task的唯一标示,taskName是任务名称,taskDesc是对该任务的描述)
taskId taskName taskDesc
1 接口接收速率(bps) 接口接收速率
  • 字符集:获取性能数据时的字符集,默认utf-8
  • 轮询间隔:性能数据采集时间间隔 默认30分钟

# 数据映射

性能数据映射

列表下的是华三的数据属性名称,列表下的是映射的tarsier中的数据属性名称。

映射CI字段
${devIp} DITEST.IP
  • 映射CI列的填写方式有三种情况。

    • 1)当${devIp}在对方系统中具有唯一性,且${devIp}是CI分类中的主键(CI分类中不一定也叫devIp),此时在ciCode这一行的映射CI字段处不填任何内容,会默认按照cicode查找。
    • 2)当${devIp}在对方系统中具有唯一性,但${devIp}不是CI分类中的主键,此时映射CI字段一栏填写分类名.属性名(CMV中的分类及属性名,该属性必须能够唯一标识CI,该属性在CMV中不一定叫devIp),如X86宿主机.主机IP,即按照搜索分类的指定属性查找。
    • 3)若对方系统的性能中没有属性来标识性能所属的设备,则可以用两个或多个属性来匹配到唯一的设备(这两个或多个属性在CI分类中必须存在),此时需要在NOAH中使用这两个或多个属性建立规则索引。规则表达式的书写格式:$(属性1)_$(属性2),下划线可以用其他符号代替。在映射CI字段列填写rulecode=索引名称,此时按照按照在NOAH中建立的规则索引查找。
    • 4)多分类多属性匹配。如:CIPropertys=[{"className":"ghws,ghw1","CIAttribute":[{"name":"id","opType": "1","value": "${2}"}]}] 其中CIPropertys=为标识,必须填,CIPropertys=后面的是匹配规则,为json格式。
      • className为CMV中CI的分类名称,可以填多个,多个分类名称之间使用英文逗号分隔,,填入具体的分类会按照填写的分类进行匹配,不填则在全部分类中进行匹配;
      • CIAttribute为匹配的CI属性是一个数组格式,如果多属性匹配可配置多个属性的规则,name为属性名称,opType匹配的方式,1为精确匹配,2为模糊匹配,value为属性值${}是源数据中的值;
      • 不同分类或全部分类下的相同属性匹配:如CIPropertys=[{"className":"","CIAttribute":[{"name":"id","opType": "1","value": "${2}"}]}]
      • 不同分类下的不同属性,如CIPropertys=[{"className":"服务器","CIAttribute":[{"name":"配置项编码","opType": "1","value": "${2}"}]},{"className":"交换机","CIAttribute":[{"name":"IP地址","opType": "1","value": "${2}"}]}]
  • 备注:也可以使用华三性能中的devId来映射CI字段

# Out配置

告警的发送方式选择:点击添加,选择对应的发送方式将数据进行发送

输出方式选择


  • MYSQL

选择此项会将数据保存至mysql库,配置项如下:

MysqlOut

配置项名称 配置项描述 示例
URL(必填项) 数据库地址 jdbc:mysql://0.0.0.0:3306/db_vmdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8
用户名(必填项) 数据库用户名 username
密码(必填项) 数据库密码 password
是否保存历史数据(必填项) 默认为是,保存历史数据

  • ES

选择此项会将数据保存至ES库,配置项如下:

EsOut

配置项名称 配置项描述 示例
ES请求地址(必填项) 数据库地址 0.0.0.0:9200
用户名 数据库用户名 username
密码 数据库密码 password
ES性能数据保留天数(必填项) 默认为7,保存7天内的性能数据 7
数据域 ThingJS-X数据域ID (可选)

  • ACTIVEMQ

选择此项会将数据发送至ActiveMQ,配置项如下:

ActivemqOut

配置项名称 配置项描述 示例
URL(必填项) ActiveMQ地址 failover://(tcp://0.0.0.0:61616,tcp://0.0.0.0:61616)?randomize=false&timeout=5000&maxReconnectAttempts=-1
队列名(必填项) ActiveMQ队列名称 queue
用户名 ActiveMQ用户名 username
密码 ActiveMQ密码 password

  • RABBITMQ

选择此项会将数据发送至RabbitMQ,配置项如下:

RabbitmqOut

配置项名称 配置项描述 示例
URL(必填项) RabbitMQ地址 0.0.0.0
端口(必填项) RabbitMQ端口号 12000
用户名 RabbitMQ用户名 username
密码 RabbitMQ密码 password
RabbitMq工作模式(必填项) 共有:简单模式,订阅模式,路由模式和Topic四种模式;默认为简单模式 简单模式
RabbitMq交换机或队列名称以及路由键(必填项) 根据工作模式填写json数据 如下表所示
交换机或队列是否持久化(必填项) 默认为否,不支持持久化
无服务时是否自动删除队列或者交换机(必填项) 默认为否,不会自动删除队列或交换机
RabbitMq工作模式 对应json
简单模式 {"name":"交换机名称"}
订阅模式 {"name":"交换机名称"}
路由模式 {"name":"交换机名称","routingKey":"路由键"}
Topic模式 {"name":"交换机名称","routingKey":"路由键"}

注:此处的交换机名称和路由键按照实际情况填写


  • ROCKETMQ

选择此项会将数据发送至RocketMQ,配置项如下:

RocketmqOut

配置项名称 配置项描述 示例
请求地址(必填项) RocketMQ地址 0.0.0.0:9876;0.0.0.0:9876
生产者组别 RocketMQ生产者组别 producerGroup
消息发送主题 消息发送主题 topicA
消息标签 消息标签 tagA
超时时间 消息发送超时时间,单位为毫秒 30000
字符集 字符编码集,默认UTF-8 UTF-8
消息发送类型 分为:异步发送,单向发送,同步发送共三种;默认为异步发送 异步发送

  • KAFKA

选择此项会将数据发送至kafka,配置项如下:

KafkaOut

配置项名称 配置项描述 示例
请求地址(必填项) kafka地址 0.0.0.0:9092;0.0.0.0:9092
消息发送主题(必填项) 消息发送主题 topicA
sasl静态认证文件地址(非必填) sasl conf认证文件位置 /uinnova/dix/kafka_sasl_jaas.conf
用户名(非必填) Kafka动态认证用户名 username
密码(非必填) Kafka动态认证密码 password
密码加密算法(非必填) 对密码进行加密的算法,下拉框中二选一 SCRAM-SHA-256 或 SCRAM-SHA-512
延迟(非必填) 消息发送延迟,单位为秒 1

  • MQTT

选择此项会将数据发送至mqtt,配置项如下:

MqttOut

配置项名称 配置项描述 示例
URL(必填项) mqtt地址 tcp://127.0.0.0:1883
MQTT客户端ID(必填项) mqtt客户端ID clientID101
用户名 mqtt用户名 username
密码 mqtt密码 password
消息发送主题 消息发送主题 topicA
消息发送质量 分为:仅分发一次,至少分发一次,最多分发一次共三种;默认仅分发一次 仅分发一次
字符集 字符编码集,默认UTF-8 UTF-8

  • HTTPPOST

选择此项会将数据通过post请求发送至http服务,配置项如下:

HttppostOut

配置项名称 配置项描述 示例
http服务路径(必填项) http服务地址 http://0.0.0.0:0000
请求头 填写json格式的参数 {"key":"value"}
字符集 字符编码集,默认utf-8 utf-8

  • HTTPSPOST

选择此项会将数据通过post请求发送至https服务,配置项如下:

HttpspostOut

配置项名称 配置项描述 示例
http服务路径(必填项) https服务地址 https://0.0.0.0:0000
请求头 填写json格式的参数 {"key":"value"}
字符集 字符编码集,默认utf-8 utf-8

# 保存并启动

  • 配置信息填写完成后,点击保存,成功保存后会在森数据DIX的数据集成页面看到新建的DIP实例

    新建DIP实例

    • 点击开始/启动按钮。

    启动DIP实例

    名词解释

    已接入:当前数据接口接入到的总数据量
    处理中:当前数据接口正在进行处理的数据量
    发送中:当前数据接口正在向外部发送的数据量
    已发送:当前数据接口发送到外部的总数据量

    • 待启动成功之后,点击日志按钮,查看数据是否能正常接入

# 监控信息

  • DIP实例启动成功后,点击监控按钮,进入DIP实例的监控页面。

  • 基本信息:包括当前状态、DIP实例名称、DIP实例唯一标识、DIP实例类型、DIP实例产品名称、DIP实例主机。除DIP实例唯一标识和DIP实例产品名称是系统生成的外,其余信息是在配置DIP实例时写的。

  • :当待处理或待发送的数据量比较大时,可以将采集周期调整的长一点。 监控DIP实例

上次更新时间: 3/20/2023, 9:06:32 AM