# 新华三
# 告警配置
- 在类型配置处选择事件
# DIP实例配置
- 名称:输入DIP实例名称。
# 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}"}]}]
- 1)h3c系统中${deviceIp}在对方系统中具有唯一性,若${deviceIp}是CI分类中的主键(CI分类中不一定也叫deviceIp),此时在
备注:也可以使用华三告警中的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库,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
URL(必填项) | 数据库地址 | jdbc:mysql://0.0.0.0:3306/db_vmdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8 |
用户名(必填项) | 数据库用户名 | username |
密码(必填项) | 数据库密码 | password |
是否保存历史数据(必填项) | 默认为是,保存历史数据 | 是 |
ES
选择此项会将数据保存至ES库,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
ES请求地址(必填项) | 数据库地址 | 0.0.0.0:9200 |
用户名 | 数据库用户名 | username |
密码 | 数据库密码 | password |
ES性能数据保留天数(必填项) | 默认为7,保存7天内的性能数据 | 7 |
数据域 | ThingJS-X数据域ID (可选) |
ACTIVEMQ
选择此项会将数据发送至ActiveMQ,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
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,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
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,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
请求地址(必填项) | RocketMQ地址 | 0.0.0.0:9876;0.0.0.0:9876 |
生产者组别 | RocketMQ生产者组别 | producerGroup |
消息发送主题 | 消息发送主题 | topicA |
消息标签 | 消息标签 | tagA |
超时时间 | 消息发送超时时间,单位为毫秒 | 30000 |
字符集 | 字符编码集,默认UTF-8 | UTF-8 |
消息发送类型 | 分为:异步发送,单向发送,同步发送共三种;默认为异步发送 | 异步发送 |
KAFKA
选择此项会将数据发送至kafka,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
请求地址(必填项) | 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,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
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服务,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
http服务路径(必填项) | http服务地址 | http://0.0.0.0:0000 |
请求头 | 填写json格式的参数 | {"key":"value"} |
字符集 | 字符编码集,默认utf-8 | utf-8 |
HTTPSPOST
选择此项会将数据通过post请求发送至https服务,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
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实例名称
# IN配置
- 主机:华三服务端程序的主机IP
- 端口:华三服务端程序占用的端口
- 用户名:请求华三服务端程序需要的用户名
- 密码:请求华三服务端程序需要的密码
- 实例指标uri:查询单设备单指标实例列表(查询指定设备指定指标下的实例列表。),一般是
/imcrs/perf/monitor
,例如查询指定设备上性能:/imcrs/perf/monitor?devId="10011",查询参数如下
devId:设备Id, 长整数(int)类型。
taskId:指标Id,长整数(long)类型。
2
- 性能数据uri:查询单指标多设备性能汇总数据列表,一般是
/imcrs/perf/summaryData
,查询参数如下
taskId:指标Id,整数(int)类型。
devId:设备Id ,长整数(long)类型。
beginTime,开始时间,长整数(long)类型。
endTime:结束时间,长整数(long)类型。
dataGranularity:数据粒度,整数(int)类型。
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}"}]}]
- 1)当${devIp}在对方系统中具有唯一性,且${devIp}是CI分类中的主键(CI分类中不一定也叫devIp),此时在
备注:也可以使用华三性能中的devId来映射CI字段。
# Out配置
告警的发送方式选择:点击添加,选择对应的发送方式将数据进行发送
MYSQL
选择此项会将数据保存至mysql库,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
URL(必填项) | 数据库地址 | jdbc:mysql://0.0.0.0:3306/db_vmdb?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2b8 |
用户名(必填项) | 数据库用户名 | username |
密码(必填项) | 数据库密码 | password |
是否保存历史数据(必填项) | 默认为是,保存历史数据 | 是 |
ES
选择此项会将数据保存至ES库,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
ES请求地址(必填项) | 数据库地址 | 0.0.0.0:9200 |
用户名 | 数据库用户名 | username |
密码 | 数据库密码 | password |
ES性能数据保留天数(必填项) | 默认为7,保存7天内的性能数据 | 7 |
数据域 | ThingJS-X数据域ID (可选) |
ACTIVEMQ
选择此项会将数据发送至ActiveMQ,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
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,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
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,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
请求地址(必填项) | RocketMQ地址 | 0.0.0.0:9876;0.0.0.0:9876 |
生产者组别 | RocketMQ生产者组别 | producerGroup |
消息发送主题 | 消息发送主题 | topicA |
消息标签 | 消息标签 | tagA |
超时时间 | 消息发送超时时间,单位为毫秒 | 30000 |
字符集 | 字符编码集,默认UTF-8 | UTF-8 |
消息发送类型 | 分为:异步发送,单向发送,同步发送共三种;默认为异步发送 | 异步发送 |
KAFKA
选择此项会将数据发送至kafka,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
请求地址(必填项) | 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,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
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服务,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
http服务路径(必填项) | http服务地址 | http://0.0.0.0:0000 |
请求头 | 填写json格式的参数 | {"key":"value"} |
字符集 | 字符编码集,默认utf-8 | utf-8 |
HTTPSPOST
选择此项会将数据通过post请求发送至https服务,配置项如下:
配置项名称 | 配置项描述 | 示例 |
---|---|---|
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实例时写的。
注:当待处理或待发送的数据量比较大时,可以将
采集周期
调整的长一点。