搜索

3.8. 事件通知

download PDF

3.8.1. 在管理门户中配置事件通知

Red Hat Virtualization Manager 可以在 Red Hat Virtualization Manager 管理的环境中发生特定事件时,通过电子邮件通知指定用户。要使用这个功能,您必须设置邮件传输代理来发送邮件。只有电子邮件通知可以通过管理门户进行配置。SNMP 陷阱必须在 Manager 机器上配置。

流程

  1. 确保您有权访问电子邮件服务器,该服务器可接受来自 Manager 自动消息并将其传送到分发列表。
  2. Administration Users 并选择一个用户。
  3. 点用户的 User Name 进入详情页面。
  4. Event Notifier 选项卡中,单击 Manage Events
  5. 使用 Expand All 按钮或特定主题的扩展按钮来查看事件。
  6. 选中适当的复选框。
  7. Mail Recipient 字段中输入电子邮件地址。

    注意

    电子邮件地址可以是文本消息电子邮件地址(例如 1234567890@carrierdomainname.com)或包含电子邮件地址和文本邮件电子邮件地址的电子邮件地址。

  8. 点击 OK
  9. 在 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
  10. 编辑 90-email-notify.conf,删除所有除 EMAIL 通知 部分外的所有内容。
  11. 输入正确的电子邮件变量,如下例所示。此文件覆盖原始 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

  12. 启用并重启 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. 在管理门户中取消事件通知

用户配置了一些不必要的电子邮件通知,并希望这些通知被取消。

流程

  1. 单击 Administration Users
  2. 单击用户的 User Name。这会打开详情视图。
  3. Event Notifier 选项卡,列出用户接收电子邮件通知的事件。
  4. 单击 Manage Events
  5. 使用 Expand All 按钮或特定主题的扩展按钮查看事件。
  6. 清除适当的复选框以删除该事件的通知。
  7. 点击 OK

3.8.3. ovirt-engine-notifier.conf 中的事件通知参数

事件通知程序配置文件可以在 /usr/share/ovirt-engine/services/ovirt-engine-notifier/ovirt-engine-notifier.conf 中找到。

表 3.6. ovirt-engine-notifier.conf variables
变量名称默认备注

SENSITIVE_KEYS

none

不会记录的以逗号分隔的键列表。

JBOSS_HOME

/opt/rh/eap7/root/usr/share/wildfly

管理器所使用的 JBoss 应用服务器的位置。

ENGINE_ETC

/etc/ovirt-engine

管理器使用的 etc 目录的位置。

ENGINE_LOG

/var/log/ovirt-engine

Manager 使用的 日志目录的位置。

ENGINE_USR

/usr/share/ovirt-engine

管理器使用的 usr 目录的位置。

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

发送通知电子邮件的失败查询数。在第一次获取通知失败后会收到通知电子邮件,然后每次达到此变量指定的失败次数后,都会发送通知电子邮件。如果您指定一个 01 的值,则会为每个失败发送一封电子邮件。

FAILED_QUERIES_NOTIFICATION_RECIPIENTS

none

发送通知电子邮件的收件人的电子邮件地址。必须使用逗号分隔电子邮件地址。FILTER 变量已弃用此条目。

DAYS_TO_SEND_ON_STARTUP

0

通知程序启动时将处理并发送的旧事件的天数。如果值为 0,且服务在一段时间后停止并启动,则服务停止和服务启动时间之间的所有通知都将丢失,如果您想在服务停止和启动时间间发生的事件上收到通知,请将此值设置为 1 或更大值。

FILTER

exclude:*

用于决定电子邮件通知的触发器的算法。这个变量的值包括 includeexclude、事件和接收者的组合。For example, include:VDC_START(smtp:mail@example.com) ${FILTER}

MAIL_SERVER

none

SMTP 邮件服务器地址。必需。

MAIL_PORT

25

用于通信的端口。可能的值有 25 个用于普通 SMTP,465 用于使用 SSL 的 SMTP,以及 587 用于使用 TLS 的 SMTP。

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

通信中使用的加密类型。可能的值为 none, ssl, tls

HTML_MESSAGE_FORMAT

false

如果此变量设为 true,则邮件服务器以 HTML 格式发送消息。

MAIL_FROM

none

如果邮件服务器支持,则此变量以 RFC822 格式指定发件人地址。

MAIL_REPLY_TO

none

此变量在发送邮件中指定 RFC822 格式的回复地址(如果邮件服务器支持)。

MAIL_SEND_INTERVAL

1

每个 IDLE_INTERVAL 发送的 SMTP 消息数

MAIL_RETRIES

4

在失败前尝试发送电子邮件的次数。

SNMP_MANAGERS

none

将充当 SNMP 管理器的计算机的 IP 地址或完全限定域名。条目必须由空格分开,并且可以包含一个端口号。例如,manager1.example.com manager2.example.com:164

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 陷阱。可能的值: 23

SNMP_ENGINE_ID

none

(SNMPv3)用于 SNMPv3 陷阱管理器 ID。这个 ID 是通过 SNMP 连接的设备的唯一标识符。

SNMP_USERNAME

none

(SNMPv3)用于 SNMPv3 陷阱的用户名。

SNMP_AUTH_PROTOCOL

none

(SNMPv3) SNMPv3 授权协议。可能的值: MD5SHA

SNMP_AUTH_PASSPHRASE

none

(SNMPv3) SNMP_SECURITY_LEVEL 时使用的密码短语设置为 AUTH_NOPRIV 和 AUTH_PRIV。

SNMP_PRIVACY_PROTOCOL

none

(SNMPv3) SNMPv3 隐私协议。可能的值有: AES128AES192AES256

重要

RFC3826 中没有定义 AES192 和 AES256,因此验证您的 SNMP 服务器在启用这些协议前是否支持这些协议。

SNMP_PRIVACY_PASSPHRASE

none

SNMP_SECURITY_LEVEL 设置为 AUTH_PRIV 时使用的 SNMPv3 隐私密语。

SNMP_SECURITY_LEVEL

1

(SNMPv3) SNMPv3 安全级别。可能的值有:* 1 - NOAUTH_NOPRIV * 2 - AUTH_NOPRIV * 3 - AUTH_PRIV

ENGINE_INTERVAL_IN_SECONDS

300

监控安装 Manager 的机器之间的间隔(以秒为单位)。间隔从监控完成的时间测量。

ENGINE_MONITOR_RETRIES

3

通知程序尝试监控故障后以给定间隔内安装的机器状态的次数。

ENGINE_TIMEOUT_IN_SECONDS

30

在通知程序尝试监控管理器在故障后以给定间隔安装的机器的状态前,等待的时间(以秒为单位)。

IS_HTTPS_PROTOCOL

false

如果 JBoss 在安全模式下运行,则此条目必须设为 true

SSL_PROTOCOL

TLS

启用 SSL 时 JBoss 配置连接器使用的协议。

SSL_IGNORE_CERTIFICATE_ERRORS

false

如果 JBoss 在安全模式下运行并且需要忽略 SSL 错误,则必须将此值设置为 true

SSL_IGNORE_HOST_VERIFICATION

false

如果 JBoss 在安全模式下运行并且要忽略主机名验证,则必须将此值设置为 true

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,其中 &lt; integer > 是一个数字,表示应运行该文件的优先级。

流程

  1. 在 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 设置。此文件包含所有设置的内联注释。

  2. 指定 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
  3. 定义是否使用 SNMP 版本 2 (默认)还是 3:

    SNMP_VERSION=3
  4. 为 SNMP_ENGINE_ID 指定一个值。例如:

    SNMP_ENGINE_ID="80:00:00:00:01:02:05:05"
  5. 使用 SNMP 版本 3,为 SNMP 陷阱指定安全级别:

    安全级别 1, NoAuthNoPriv traps:

    SNMP_USERNAME=NoAuthNoPriv
    SNMP_SECURITY_LEVEL=1

    安全级别 2,AuthNoPriv 陷阱(以用户 ovirtengine 的身份)使用 SNMP Auth passphrase authpass

    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
  6. 定义要发送到 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 中过滤结果。

  7. 保存该文件。
  8. 启动 ovirt-engine-notifier 服务,并确保该服务在引导时启动:

    # systemctl start ovirt-engine-notifier.service
    # systemctl enable ovirt-engine-notifier.service

检查您的 SNMP 管理器,以确保收到陷阱。

注意

SNMP_MANAGERSMAIL_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
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.