您可以配置系统,以在服务状态发生更改或发生 FMA 事件时通知您。您可以指定简单邮件传输协议 (Simple Mail Transfer Protocol, SMTP) 或简单网络管理协议 (Simple Network Management Protocol, SNMP) 通知。
缺省情况下,在发生维护状态转换时会发送 SNMP 陷阱。如果您将 SNMP 用于转换通知,则可以为其他状态转换配置其他陷阱。
以下示例说明如何为 SMF 和 FMA 事件设置通知参数,以及如何删除通知参数。
示例 3-4 为服务状态事件配置全局通知以下命令会创建一个通知,当服务进入 maintenance 状态时即发送电子邮件通知。
$ svccfg setnotify -g to-maintenance mailto:sysadmins@example.com
-g 选项为没有设置定制值的所有服务实例设置此通知参数。所有修改的服务实例都会刷新。-g 选项只能在为服务状态转换设置通知时使用,不能用于 FMA 事件。
to-maintenance 参数是一个状态转换事件,如 smf(5) 手册页的“通知参数”中所述。如果仅指定状态名称,则同时包括 to-state 和 from-state 转换。此事件也可以是逗号分隔的转换列表。
mailto 参数指定您想要针对指定事件接收的通知。此参数还可以指定 snmp。snmp 通知值必须为 snmp:active 或 snmp:inactive。mailto 通知值可以为 mailto:active 或 mailto:inactive,另外还可以是此示例中所示的形式。设置通知参数会覆盖该事件的任何现有值。active 和 inactive 设置不覆盖现有值,而是切换现有通知对于指定事件是否有效。
下面的命令会创建一个通知,当 pkg/mirror 服务转换为 maintenance 状态时,该通知将发送电子邮件。
$ svccfg -s pkg/mirror setnotify to-maintenance mailto:installteam@example.com
下面的命令会创建一个通知,当 http:apache22 服务结束 online 状态时,该通知将发送电子邮件。
$ svccfg -s http:apache22 setnotify from-online mailto:webservices@example.com示例 3-6 为 FMA 事件配置通知
problem-diagnosed 参数是一个 FMA 事件。此参数可以是逗号分隔的 FMA 事件列表。请参见 smf(5) 手册页“通知参数”中的 FMA 事件列表。
$ svccfg setnotify problem-diagnosed mailto:IT@example.com示例 3-7 删除通知设置
以下命令会删除前面示例中指定的通知设置。
$ svccfg delnotify -g to-maintenance $ svccfg -s pkg/mirror delnotify to-maintenance $ svccfg setnotify problem-diagnosed mailto:root@localhost