Solarwinds-NPM 集成

1.准备工作

  • 下载并安装 Java7 以上版本。
  • 下载alert-agent并存放至 Solarwinds 服务器任意目录,同时将您的app key添加到 alert-agent中:
  • 添加 appkey:打开文件 alert-agent安装目录 \conf\runtime.properties,并将您的 appkey 添加的文件中

2 配置 Solarwinds 10.0 NPM

  • 开始菜单 -> SolarWinds Orion -> Alerting, Reporting, and Mapping -> Advanced Alert Manager 进入告警配置 Configure Alerts

  • 选择具体的告警规则,进入编辑模式。

  • 集成事件触发

1.选择Trigger Actions -> Add New Action -> Execute an external program

2.在Porgram to execute中填写:

alert-agent安装目录\bin\alert.exe "eventType:trigger" "alarmName:${AlertName\}" "eventId:${AlertID}-${ObjectID}" "entityName:${NetObjectName}" "entityId:${NodeID}-${ObjectID}" "alarmContent:${City}设备:${NodeName},IP:${IP_Address},状态:${Status},类型:${MachineType},备注:${Comments}" "entityId:${NodeID}-${ObjectID}" "priority:1"

这里给出NodeInterface两种常用模版,您可以根据告警规则的实际需要选择,也可以自定义告警内容alarmContent

Node模版: alert-agent安装目录\bin\alert.exe "eventType:trigger" "alarmName:${AlertName}" "eventId:-${ObjectID}" "entityName:${NetObjectName}" "entityId:${NodeID}-${ObjectID}" "alarmContent:${City}设备:${NodeName},IP:${IP_Address},状态:${Status},类型:${MachineType},备注:${Comments}" "entityId:${NodeID}-${ObjectID}" "priority:1"

Interface模版: alert-agent安装目录\bin\alert.exe "eventType:trigger" "alarmName:${AlertName}" "eventId:-${ObjectID}" "entityName:${NetObjectName}" "entityId:${NodeID}-${ObjectID}" "alarmContent:${Node.City}设备:${Node.NodeName},IP:${Node.IP_Address},状态:${Status},类型:${Node.MachineType},备注:${Comments}" "entityId:${NodeID}-${ObjectID}" "priority:1"

  • 集成事件恢复: 与集成事件触发相比,集成事件恢复相对简单,只需要在Porgram to execute中填写:

alert-agent安装目录\bin\alert.exe "eventType:resolve" "alarmName:、${AlertName}" "eventId:${AlertID}-${ObjectID}"

好了,现在已经完成配置, 按照该方法配置其他告警规则。

3. 自定义Solarwinds NPM告警内容

  • 默认配置下,通过 event 事件接口发送到 110云告警.

alert-agent安装目录\bin\alert.exe "eventType:trigger" "alarmName:${AlertName}" "eventId:-${ObjectID}" "entityName:${NetObjectName}" "entityId:${NodeID}-${ObjectID}" "alarmContent:${City}设备:${NodeName},IP:${IP_Address},状态:${Status},类型:${MachineType},备注:${Comments}" "entityId:${NodeID}-${ObjectID}" "priority:1"

其中 alarmContent 部分就是告警的内容,我们可以根据需要添加告警内容信息,如“该设备是核心路由器,如果出现问题,请及时联系xxx,手机是xxx”,也可以添加 SolarWinds 变量:选择 Alert Sharing -> Insert Variable

所有的 SolarWinds 变量值都可以添加到您的告警内容中,例如:

接口${NodeName}接收转发率${Interface.OutPercentUtil}高于阀值75%。

严重!核心设备端口DOWN:${city} ${Cloud}${cluster} ${layer} ${Device} ${model} ${NodeName} ${InterfaceName}端口.

更多详细 SolarWinds 变量的信息请参考 SolarWinds 官方文档

附:测试触发动作是否设置正确方法

  1. ACTION MANAGER -> Execute an external program -> 勾选 110monitor-trigger -> TEST

  1. 若 OneAlert 平台能收到测试告警,即触发动作设置正常。

  2. 若 OneAlert 平台无法收到测试告警,并且日志中也不显示任何信息,需要进行以下步骤设置,设置好后重新执行第一步即可。

1. 我的电脑,右键属性,进入 [控制面板 > 系统和安全 > 系统] 界面。
2. 单击左侧 高级系统设置 -> 环境变量。
3. 新增系统变量:变量名:EXE4J_JAVA_HOME,变量值:安装目录\alert-agent\jre。
4. cmd 打开 CD 安装目录\alert-agent\bin;复制alert.exe及后面一串[见注]。
注:复制内容:alert.exe "eventType:trigger" "alarmName:${AlertName}" "eventId:-${ObjectID}" "entityName:${NetObjectName}" "entityId:${NodeID}-${ObjectID}" "alarmContent:${City}设备:${NodeName},IP:${IP_Address},状态:${Status},类型:${MachineType},备注:${Comments}" "entityId:${NodeID}-${ObjectID}" "priority:1"

如果您对 OneAlert 感兴趣,可以选择使用我们的产品,只需要点击下面的按钮免费注册即可。


注册,永久免费使用 OneAlert