3.8. 事件通知
3.8.1. 在管理门户中配置事件通知
Red Hat Virtualization Manager 可以在 Red Hat Virtualization Manager 管理的环境中发生特定事件时,通过电子邮件通知指定用户。要使用这个功能,您必须设置邮件传输代理来发送邮件。只有电子邮件通知可以通过管理门户进行配置。SNMP 陷阱必须在 Manager 机器上配置。
流程
- 确保您有权访问电子邮件服务器,该服务器可接受来自 Manager 自动消息并将其传送到分发列表。
-
点
并选择一个用户。 - 点用户的 User Name 进入详情页面。
- 在 Event Notifier 选项卡中,单击 Manage Events。
- 使用 Expand All 按钮或特定主题的扩展按钮来查看事件。
- 选中适当的复选框。
在 Mail Recipient 字段中输入电子邮件地址。
注意电子邮件地址可以是文本消息电子邮件地址(例如
1234567890@carrierdomainname.com
)或包含电子邮件地址和文本邮件电子邮件地址的电子邮件地址。- 点击 。
在 Manager 计算机上,将
ovirt-engine-notifier.conf
复制到名为90-email-notify.conf
的新文件:# cp /usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf /etc/ovirt-engine/notifier/notifier.conf.d/90-email-notify.conf
-
编辑
90-email-notify.conf
,删除所有除EMAIL 通知
部分外的所有内容。 输入正确的电子邮件变量,如下例所示。此文件覆盖原始
ovirt-engine-notifier.conf
文件中的值。#---------------------# # EMAIL Notifications # #---------------------# # The SMTP mail server address. Required. MAIL_SERVER=myemailserver.example.com # The SMTP port (usually 25 for plain SMTP, 465 for SMTP with SSL, 587 for SMTP with TLS) MAIL_PORT=25 # Required if SSL or TLS enabled to authenticate the user. Used also to specify 'from' user address if mail server # supports, when MAIL_FROM is not set. Address is in RFC822 format MAIL_USER= # Required to authenticate the user if mail server requires authentication or if SSL or TLS is enabled SENSITIVE_KEYS="${SENSITIVE_KEYS},MAIL_PASSWORD" MAIL_PASSWORD= # Indicates type of encryption (none, ssl or tls) should be used to communicate with mail server. MAIL_SMTP_ENCRYPTION=none # If set to true, sends a message in HTML format. HTML_MESSAGE_FORMAT=false # Specifies 'from' address on sent mail in RFC822 format, if supported by mail server. MAIL_FROM=rhevm2017@example.com # Specifies 'reply-to' address on sent mail in RFC822 format. MAIL_REPLY_TO= # Interval to send smtp messages per # of IDLE_INTERVAL MAIL_SEND_INTERVAL=1 # Amount of times to attempt sending an email before failing. MAIL_RETRIES=4
注意如需了解更多选项,请参阅
/etc/ovirt-engine/notifier/notifier.conf.d/README
。启用并重启
ovirt-engine-notifier
服务以激活您所做的更改:# systemctl daemon-reload # systemctl enable ovirt-engine-notifier.service # systemctl restart ovirt-engine-notifier.service
指定用户现在根据 Red Hat Virtualization 环境中的事件接收电子邮件。所选事件显示在该用户的 Event Notifier 标签页中。
3.8.2. 在管理门户中取消事件通知
用户配置了一些不必要的电子邮件通知,并希望这些通知被取消。
流程
-
单击
。 - 单击用户的 User Name。这会打开详情视图。
- 点 Event Notifier 选项卡,列出用户接收电子邮件通知的事件。
- 单击 Manage Events。
- 使用 Expand All 按钮或特定主题的扩展按钮查看事件。
- 清除适当的复选框以删除该事件的通知。
- 点击 。
3.8.3. ovirt-engine-notifier.conf 中的事件通知参数
事件通知程序配置文件可以在 /usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf 中找到。
变量名称 | 默认 | 备注 |
---|---|---|
SENSITIVE_KEYS | none | 不会记录的以逗号分隔的键列表。 |
JBOSS_HOME | /opt/rh/eap7/root/usr/share/wildfly | 管理器所使用的 JBoss 应用服务器的位置。 |
ENGINE_ETC | /etc/ovirt-engine |
管理器使用的 |
ENGINE_LOG | /var/log/ovirt-engine |
Manager |
ENGINE_USR | /usr/share/ovirt-engine |
管理器使用的 |
ENGINE_JAVA_MODULEPATH | ${ENGINE_USR}/modules | JBoss 模块附加到的文件路径。 |
NOTIFIER_DEBUG_ADDRESS | none | 可用于对通知程序使用的 Java 虚拟机进行远程调试的机器地址。 |
NOTIFIER_STOP_TIME | 30 | 服务将超时的时间(以秒为单位)。 |
NOTIFIER_STOP_INTERVAL | 1 | 超时计数器将递增的时间(以秒为单位)。 |
INTERVAL_IN_SECONDS | 120 | 将消息分配给订阅者的时间间隔(以秒为单位)。 |
IDLE_INTERVAL | 30 | 执行低优先级任务的间隔(以秒为单位)。 |
DAYS_TO_KEEP_HISTORY | 0 | 这个变量设定在历史记录表中保留的天数。如果没有设置此变量,事件会无限期地保留在历史记录表中。 |
FAILED_QUERIES_NOTIFICATION_THRESHOLD | 30 |
发送通知电子邮件的失败查询数。在第一次获取通知失败后会收到通知电子邮件,然后每次达到此变量指定的失败次数后,都会发送通知电子邮件。如果您指定一个 |
FAILED_QUERIES_NOTIFICATION_RECIPIENTS | none |
发送通知电子邮件的收件人的电子邮件地址。必须使用逗号分隔电子邮件地址。 |
DAYS_TO_SEND_ON_STARTUP | 0 | 通知程序启动时将处理并发送的旧事件的天数。如果值为 0,且服务在一段时间后停止并启动,则服务停止和服务启动时间之间的所有通知都将丢失,如果您想在服务停止和启动时间间发生的事件上收到通知,请将此值设置为 1 或更大值。 |
FILTER | exclude:* |
用于决定电子邮件通知的触发器的算法。这个变量的值包括 |
MAIL_SERVER | none | SMTP 邮件服务器地址。必需。 |
MAIL_PORT | 25 |
用于通信的端口。可能的值有 |
MAIL_USER | none | 如果启用了 SSL 来验证用户,则必须设置此变量。如果没有设置 MAIL_FROM 变量时,此变量也用于指定"from"用户地址。有些邮件服务器不支持此功能。该地址采用 RFC822 格式。 |
SENSITIVE_KEYS | ${SENSITIVE_KEYS},MAIL_PASSWORD | 如果邮件服务器需要身份验证,或者启用了 SSL 或 TLS,则需要验证该用户。 |
MAIL_PASSWORD | none | 如果邮件服务器需要身份验证,或者启用了 SSL 或 TLS,则需要验证该用户。 |
MAIL_SMTP_ENCRYPTION | none |
通信中使用的加密类型。可能的值为 |
HTML_MESSAGE_FORMAT | false |
如果此变量设为 |
MAIL_FROM | none | 如果邮件服务器支持,则此变量以 RFC822 格式指定发件人地址。 |
MAIL_REPLY_TO | none | 此变量在发送邮件中指定 RFC822 格式的回复地址(如果邮件服务器支持)。 |
MAIL_SEND_INTERVAL | 1 | 每个 IDLE_INTERVAL 发送的 SMTP 消息数 |
MAIL_RETRIES | 4 | 在失败前尝试发送电子邮件的次数。 |
SNMP_MANAGERS | none |
将充当 SNMP 管理器的计算机的 IP 地址或完全限定域名。条目必须由空格分开,并且可以包含一个端口号。例如, |
SNMP_COMMUNITY | public | (仅SNMP 版本 2)SNMP 社区. |
SNMP_OID | 1.3.6.1.4.1.2312.13.1.1 | 警报的默认 trap 对象标识符。定义此 OID 时,所有 trap 类型都会向 SNMP Manager 发送并附加了事件信息。请注意,更改默认陷阱可防止生成的陷阱遵守管理器的管理信息库。 |
SNMP_VERSION | 2 |
定义要使用的 SNMP 版本。支持 SNMP 版本 2 和版本 3 陷阱。可能的值: |
SNMP_ENGINE_ID | none | (SNMPv3)用于 SNMPv3 陷阱管理器 ID。这个 ID 是通过 SNMP 连接的设备的唯一标识符。 |
SNMP_USERNAME | none | (SNMPv3)用于 SNMPv3 陷阱的用户名。 |
SNMP_AUTH_PROTOCOL | none |
(SNMPv3) SNMPv3 授权协议。可能的值: |
SNMP_AUTH_PASSPHRASE | none | (SNMPv3) SNMP_SECURITY_LEVEL 时使用的密码短语设置为 AUTH_NOPRIV 和 AUTH_PRIV。 |
SNMP_PRIVACY_PROTOCOL | none |
(SNMPv3) SNMPv3 隐私协议。可能的值有: 重要 RFC3826 中没有定义 AES192 和 AES256,因此验证您的 SNMP 服务器在启用这些协议前是否支持这些协议。 |
SNMP_PRIVACY_PASSPHRASE | none |
|
SNMP_SECURITY_LEVEL | 1 |
(SNMPv3) SNMPv3 安全级别。可能的值有:* |
ENGINE_INTERVAL_IN_SECONDS | 300 | 监控安装 Manager 的机器之间的间隔(以秒为单位)。间隔从监控完成的时间测量。 |
ENGINE_MONITOR_RETRIES | 3 | 通知程序尝试监控故障后以给定间隔内安装的机器状态的次数。 |
ENGINE_TIMEOUT_IN_SECONDS | 30 | 在通知程序尝试监控管理器在故障后以给定间隔安装的机器的状态前,等待的时间(以秒为单位)。 |
IS_HTTPS_PROTOCOL | false |
如果 JBoss 在安全模式下运行,则此条目必须设为 |
SSL_PROTOCOL | TLS | 启用 SSL 时 JBoss 配置连接器使用的协议。 |
SSL_IGNORE_CERTIFICATE_ERRORS | false |
如果 JBoss 在安全模式下运行并且需要忽略 SSL 错误,则必须将此值设置为 |
SSL_IGNORE_HOST_VERIFICATION | false |
如果 JBoss 在安全模式下运行并且要忽略主机名验证,则必须将此值设置为 |
REPEAT_NON_RESPONSIVE_NOTIFICATION | false | 此变量指定是否安装 Manager 的机器将向订阅者发送重复失败的信息。 |
ENGINE_PID | /var/lib/ovirt-engine/ovirt-engine.pid | Manager PID 的路径和文件名。 |
3.8.4. 配置 Red Hat Virtualization Manager 以发送 SNMP Traps
将您的 Red Hat Virtualization Manager 配置为发送简单网络管理协议(SNMP)陷阱到一个或多个外部 SNMP 管理器。SNMP 陷阱包含系统事件信息;它们用于监控您的红帽虚拟化环境。发送到 SNMP 管理器的陷阱数量和类型可在 Red Hat Virtualization Manager 中定义。
Red Hat Virtualization 支持 SNMP 版本 2 和版本 3。SNMP 版本 3 支持以下安全级别:
- NoAuthNoPriv
- SNMP 陷阱在没有授权或隐私的情况下发送。
- AuthNoPriv
- SNMP 陷阱是通过密码授权发送,但没有隐私。
- AuthPriv
- SNMP 陷阱通过密码授权和隐私发送。
前提条件
- 一个或多个外部 SNMP 管理器配置为接收陷阱。
- 将充当 SNMP 管理器的计算机的 IP 地址或完全限定域名。(可选)决定 Manager 接收陷阱通知的端口。默认值为 UDP 端口 162。
-
SNMP 社区(仅SNMP 版本 2)。多个 SNMP 管理器可以属于单个社区。管理系统和代理只能在同一社区内进行通信。默认社区为
公共
。 - 警报的陷阱对象标识符。Red Hat Virtualization Manager 提供 1.3.6.1.4.1.2312.13.1.1. 的默认 OID。定义此 OID 时,所有 trap 类型都会向 SNMP Manager 发送并附加了事件信息。请注意,更改默认陷阱可防止生成的陷阱遵守管理器的管理信息库。
- SNMP 用户名,表示 SNMP 版本 3、安全级别 1、2 和 3。
- SNMP 密语,表示 SNMP 版本 3、安全级别 2 和 3。
- SNMP 专用密语,表示 SNMP 版本 3,安全级别 3。
Red Hat Virtualization Manager 在 /usr/share/doc/ovirt-engine/mibs/OVIRT-MIB.txt
和 /usr/share/doc/ovirt-engine/mibs/REDHAT-MIB.txt
中提供管理信息基础。在继续操作前,请加载 SNMP 经理中的 MIBs。
默认 SNMP 配置值存在于事件通知守护进程配置文件 /usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf
中。以下流程中概述的值基于此文件中提供的默认值或示例值。不要直接编辑此文件,因为系统更改(如升级)可能会删除您对此文件所做的任何更改。相反,将此文件复制到 /etc/ovirt-engine/notifier/notifier.conf.d/<integer>-snmp.conf
,其中 <
; integer > 是一个数字,表示应运行该文件的优先级。
流程
在 Manager 中,创建名为
<integer>-snmp.conf
的 SNMP 配置文件,其中<integer>
是一个整数,表示处理文件的顺序。例如:# vi /etc/ovirt-engine/notifier/notifier.conf.d/20-snmp.conf
提示复制事件通知守护进程配置文件
/usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf
中的默认 SNMP 设置。此文件包含所有设置的内联注释。指定 SNMP Manager (s)、SNMP 版本 2,以及示例中的格式 OID:
SNMP_MANAGERS="manager1.example.com manager2.example.com:162" SNMP_COMMUNITY=public SNMP_OID=1.3.6.1.4.1.2312.13.1.1
定义是否使用 SNMP 版本 2 (默认)还是 3:
SNMP_VERSION=3
为 SNMP_ENGINE_ID 指定一个值。例如:
SNMP_ENGINE_ID="80:00:00:00:01:02:05:05"
使用 SNMP 版本 3,为 SNMP 陷阱指定安全级别:
安全级别 1, NoAuthNoPriv traps:
SNMP_USERNAME=NoAuthNoPriv SNMP_SECURITY_LEVEL=1
安全级别 2,AuthNoPriv 陷阱(以用户
ovirtengine
的身份)使用 SNMP Auth passphraseauthpass
。SNMP_USERNAME=ovirtengine SNMP_AUTH_PROTOCOL=MD5 SNMP_AUTH_PASSPHRASE=authpass SNMP_SECURITY_LEVEL=2
安全级别 3、AuthPriv 陷阱,用户
ovirtengine
有 SNMP Auth 密码短语authpass
和 SNMP Priv 密码短语privpass
。例如:SNMP_USERNAME=ovirtengine SNMP_AUTH_PROTOCOL=MD5 SNMP_AUTH_PASSPHRASE=authpass SNMP_PRIVACY_PROTOCOL=AES128 SNMP_PRIVACY_PASSPHRASE=privpass SNMP_SECURITY_LEVEL=3
定义要发送到 SNMP 管理器的事件:
例 3.16. 事件示例
将所有事件发送到默认的 SNMP 配置集:
FILTER="include:*(snmp:) ${FILTER}"
将严重性为
ERROR
或 ALERT的所有事件
发送到默认的 SNMP 配置集:FILTER="include:*:ERROR(snmp:) ${FILTER}"
FILTER="include:*:ALERT(snmp:) ${FILTER}"
将 VDC_START 的事件发送到指定的电子邮件地址:
FILTER="include:VDC_START(snmp:mail@example.com) ${FILTER}"
将事件发送到默认的 SNMP 配置集,但 VDC_START 发送到默认的 SNMP 配置集:
FILTER="exclude:VDC_START include:*(snmp:) ${FILTER}"
这个默认过滤器在
ovirt-engine-notifier.conf
中定义 ; 如果您没有禁用此过滤器或应用覆盖过滤器,则不会发送任何通知:FILTER="exclude:*"
VDC_START
是可用审计日志消息的示例。审计日志消息的完整列表可在/usr/share/doc/ovirt-engine/AuditLogMessages.properties
中找到。或者,在您的 SNMP Manager 中过滤结果。- 保存该文件。
启动
ovirt-engine-notifier
服务,并确保该服务在引导时启动:# systemctl start ovirt-engine-notifier.service # systemctl enable ovirt-engine-notifier.service
检查您的 SNMP 管理器,以确保收到陷阱。
SNMP_MANAGERS
、MAIL_SERVER
或两者都必须在 /usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf
或以覆盖文件的形式定义,以便运行通知程序服务。
SNMP 配置文件示例
此示例配置文件基于 ovirt-engine-notifier.conf
中的设置。专用的 SNMP 配置文件(如此配置文件)会覆盖 ovirt-engine-notifier.conf
中的设置。
将事件通知守护进程配置文件 /usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf
中的默认 SNMP 设置复制到 /etc/ovirt-engine/notifier/notifier.conf.d/<_integer_>-snmp.conf
,其中 <_integer_
> 指示应运行该文件的优先级。此文件包含所有设置的内联注释。
/etc/ovirt-engine/notifier/notifier.conf.d/20-snmp.conf
SNMP_MANAGERS="manager1.example.com manager2.example.com:162" 1 SNMP_COMMUNITY=public 2 SNMP_OID=1.3.6.1.4.1.2312.13.1.1 3 FILTER="include:*(snmp:)" 4 SNMP_VERSION=3 5 SNMP_ENGINE_ID="80:00:00:00:01:02:05:05" 6 SNMP_USERNAME=<username> 7 SNMP_AUTH_PROTOCOL=MD5 8 SNMP_AUTH_PASSPHRASE=<authpass> 9 SNMP_PRIVACY_PROTOCOL=AES128 10 SNMP_PRIVACY_PASSPHRASE=<privpass> 11 SNMP_SECURITY_LEVEL=3 12
- 1
- 将充当 SNMP 管理器的计算机的 IP 地址或完全限定域名。条目必须由空格分开,并且可以包含一个端口号。例如,
manager1.example.com manager2.example.com:164
- 2
- (仅SNMP 版本 2)默认 SNMP 社区字符串。
- 3
- 用于传出通知的 SNMP Trap Object Identifier。iso (1) org (3) dod (6) internet (1) private (4) enterprise (1) redhat (2312) ovirt (13) engine (1) notifier (1)注意
更改默认将阻止生成的陷阱符合 OVIRT-MIB.txt。
- 4
- 用于确定 SNMP 通知的触发器和收件人的算法。
- 5
- SNMP 版本.支持 SNMP 版本 2 和版本 3 陷阱。2 = SNMPv2, 3 = SNMPv3.
- 6
- (仅SNMP 版本 3)用于 SNMP 陷阱引擎 ID。
- 7
- (仅SNMP 版本 3)用于 SNMP 陷阱的用户名。
- 8
- (仅SNMP 版本 3)SN auth 协议。支持的值有 MD5 和 SHA。
SNMP_SECURITY_LEVEL
设为 2 (AUTH_NOPRIV
)或 3 (AUTH_PRIV
)时是必需的。 - 9
- (仅SNMP 版本 3)N SNMP auth密语。
SNMP_SECURITY_LEVEL
设为 2 (AUTH_NOPRIV
)或 3 (AUTH_PRIV
)时是必需的。 - 10
- (仅SNMP 版本 3)SNMP 隐私协议。支持的值有 AES128、AES192 和 AES256。请注意,AES192 和 AES256 没有在 RFC3826 中定义,因此验证您的 SNMP 服务器在启用这些协议前是否支持这些协议。
SNMP_SECURITY_LEVEL
设为 3 时需要(AUTH_PRIV
)。 - 11
- (仅SNMP 版本 3)SNMP 隐私密码短语。
SNMP_SECURITY_LEVEL
设为 3 时需要(AUTH_PRIV
)。 - 12
- (仅SNMP 版本 3)SNMP 安全级别。1 =
NOAUTH_NOPRIV
,2 =AUTH_NOPRIV
,3 =AUTH_PRIV
。