网络工程师常用的2个监控工具:Nagios、Zabbix

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【7月更文挑战第9天】

在现代网络管理中,监控工具是确保网络运行正常、快速发现和解决问题的关键。本文将详细介绍网络工程师常用的两款监控工具:Nagios、Zabbix。每款工具都有其独特的功能和使用场景,了解并掌握这些工具的使用对于网络工程师而言至关重要。

Nagios

Nagios是一款开源的网络监控工具,最初由Ethan Galstad在1999年发布。它的设计目的是监控系统的运行状态,包括网络设备、服务器、应用程序及服务,并在问题发生时提供告警。Nagios的核心优势在于其灵活的插件系统,可以通过各种插件扩展其功能,适应不同的监控需求。

https://www.nagios.org/

主要功能

Nagios的主要功能包括:

  1. 网络和服务器监控:监控主机的可达性和服务的运行状态。
  2. 服务监控:支持HTTP、SMTP、POP3、NNTP、PING等常见协议的监控。
  3. 资源使用监控:监控CPU负载、内存使用、磁盘使用等系统资源。
  4. 告警机制:通过电子邮件、短信等方式发送告警通知,及时报告问题。
  5. 插件支持:通过自定义插件扩展监控功能,支持几乎所有的应用程序、服务和系统。

安装与配置

为了使用Nagios进行网络监控,首先需要在服务器上安装并配置Nagios。

在安装Nagios之前,需要准备一台运行Linux操作系统的服务器。本文以CentOS 7为例,介绍Nagios的安装过程。

  1. 更新系统包:
sudo yum update
  1. 安装必要的软件包:
sudo yum install httpd php gcc glibc glibc-common gd gd-devel make net-snmp
  1. 启动并配置HTTP服务器:
sudo systemctl start httpd
sudo systemctl enable httpd
  1. 下载并解压Nagios Core源码包:
cd /tmp
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz
tar -zxvf nagios-4.4.6.tar.gz
cd nagios-4.4.6
  1. 配置、编译并安装Nagios:
./configure
make all
sudo make install
sudo make install-init
sudo make install-commandmode
sudo make install-config
sudo make install-webconf
  1. 创建Nagios用户和组:
sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios
sudo usermod -a -G nagcmd apache
  1. 下载并解压Nagios插件:
cd /tmp
wget https://nagios-plugins.org/download/nagios-plugins-2.3.3.tar.gz
tar -zxvf nagios-plugins-2.3.3.tar.gz
cd nagios-plugins-2.3.3
  1. 配置、编译并安装Nagios插件:
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
sudo make install
  1. 启动Nagios服务并配置为开机自启动:
sudo systemctl start nagios
sudo systemctl enable nagios
  1. 确保Apache服务器也在运行:
sudo systemctl start httpd
sudo systemctl enable httpd

使用方法

Nagios的配置文件主要位于/usr/local/nagios/etc目录下。通过编辑这些配置文件,可以定义需要监控的主机、服务和告警规则。

  • nagios.cfg:主配置文件,控制Nagios的全局设置。
  • objects/commands.cfg:命令定义文件,包含Nagios使用的检查命令。
  • objects/contacts.cfg:联系人定义文件,定义告警接收者。
  • objects/localhost.cfg:本地主机和服务定义文件,默认示例。

配置示例

  1. 编辑nagios.cfg,确保配置正确:
cfg_file=/usr/local/nagios/etc/objects/commands.cfg
cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
  1. 添加监控对象

objects/localhost.cfg文件中,添加需要监控的主机和服务。例如:

define host {
    use             linux-server
    host_name       webserver
    alias           My Web Server
    address         192.168.1.1
}

define service {
    use                     generic-service
    host_name               webserver
    service_description     HTTP
    check_command           check_http
}

检查配置文件并重启Nagios

  1. 检查配置文件语法:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  1. 如果没有错误,重启Nagios:
sudo systemctl restart nagios

实际案例

案例一:监控Web服务器

配置Nagios监控一台Web服务器的运行状态,并设置告警策略。当Web服务器无法访问时,Nagios会发送邮件告警。

  1. 添加Web服务器的主机定义:
define host {
    use             linux-server
    host_name       webserver
    alias           My Web Server
    address         192.168.1.1
}
  1. 添加HTTP服务的监控:
define service {
    use                     generic-service
    host_name               webserver
    service_description     HTTP
    check_command           check_http
    notification_interval   10 ; 每10分钟通知一次
    notification_options    w,u,c,r ; 通知类型:warning, unknown, critical, recovery
}
  1. 配置联系人以接收告警通知:

编辑contacts.cfg文件,添加联系人信息:

define contact {
    contact_name            admin
    alias                   Nagios Admin
    service_notification_period     24x7
    host_notification_period        24x7
    service_notification_options    w,u,c,r
    host_notification_options       d,u,r
    service_notification_commands   notify-service-by-email
    host_notification_commands      notify-host-by-email
    email                   admin@example.com
}
  1. 配置告警命令:

编辑commands.cfg文件,定义告警命令:

define command {
    command_name    notify-service-by-email
    command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
}

define command {
    command_name    notify-host-by-email
    command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nHost: $HOSTNAME$\nState: $HOSTSTATE$\n\nAddress: $HOSTADDRESS$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$HOSTOUTPUT$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ alert - $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
}

案例二:监控数据库服务器

配置Nagios监控一台MySQL数据库服务器的性能指标,包括CPU使用率、内存使用率、磁盘I/O、数据库查询性能等。当某项指标超出阈值时,发送告警邮件。

  1. 添加数据库服务器的主机定义:
define host {
    use             linux-server
    host_name       dbserver
    alias           My Database Server
    address         192.168.1.2
}
  1. 添加MySQL服务的监控:

首先,需要安装MySQL监控插件,如check_mysql。假设插件已安装并配置好,可以在Nagios中添加相应的服务定义:

define service {
    use                     generic-service
    host_name               dbserver
    service_description     MySQL
    check_command           check_mysql
    notification_interval   10
    notification_options    w,u,c,r
}

深入配置与高级功能

除了基本的安装和配置,Nagios还提供了一些高级功能,可以更有效地帮助管理员监控和管理网络系统。

使用NRPE插件进行远程监控

NRPE(Nagios Remote Plugin Executor)插件允许Nagios服务器执行远程主机上的插件,从而监控远程主机的状态。下面是配置NRPE插件的步骤:

  1. 在远程主机上安装NRPE和Nagios插件:
sudo yum install nrpe nagios-plugins-all
  1. 配置NRPE:

编辑/etc/nagios/nrpe.cfg文件,允许Nagios服务器访问:

allowed_hosts=127.0.0.1,192.168.1.10
  1. 在NRPE配置文件中定义命令:
command[check_users]=/usr/lib64/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib64/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
  1. 启动并启用NRPE服务:
sudo systemctl start nrpe
sudo systemctl enable nrpe
  1. 在Nagios服务器上配置远程主机和服务检查:

在Nagios服务器的配置文件中添加远程主机和服务定义:

define host {
    use             linux-server
    host_name       remote_host
    alias           Remote Host
    address         192.168.1.20
}

define service {
    use                     generic-service
    host_name               remote_host
    service_description     Users
    check_command           check_nrpe!check_users
}

define service {
    use                     generic-service
    host_name               remote_host
    service_description     Load
    check_command           check_nrpe!check_load
}

使用Nagios XI进行高级管理

Nagios XI是Nagios的商业版本,提供了更加用户友好的界面和一些高级功能,如自动发现、配置向导、报告和预测分析等。虽然Nagios XI是付费软件,但对于大规模部署和需要更复杂管理功能的企业来说,它是一个非常值得考虑的选项。

  1. 安装Nagios XI:

Nagios XI的安装比Nagios Core稍微复杂,需要更多的系统资源。可以参考官方文档进行安装:https://www.nagios.com/products/nagios-xi/

  1. 使用自动发现功能:

Nagios XI提供自动发现功能,可以快速发现网络中的设备并进行初始配置,大大减少手工配置的工作量。

  1. 配置向导:

配置向导帮助用户快速配置常见的监控场景,如Web服务器、数据库服务器、网络设备等,极大地简化了配置过程。

使用Nagios Fusion进行集中管理

Nagios Fusion是另一款Nagios的商业产品,允许用户集中管理多个Nagios服务器。对于大型企业或多站点的网络监控,Nagios Fusion提供了统一的视图和集中管理功能。

  1. 安装Nagios Fusion:

同样,Nagios Fusion的安装可以参考官方文档:https://www.nagios.com/products/nagios-fusion/

  1. 添加多个Nagios服务器:

在Nagios Fusion的管理界面中,可以添加多个Nagios服务器,集中查看和管理它们的状态。

  1. 统一视图:

Nagios Fusion提供了统一的视图,显示所有连接的Nagios服务器的状态,帮助管理员快速了解整个网络的健康状况。

以下是一个复杂的实际案例,展示了如何使用Nagios监控一个包含多种设备和服务的网络环境。

某公司拥有一个大型网络环境,包括多个Web服务器、数据库服务器、文件服务器和网络设备(如路由器、交换机)。公司希望使用Nagios监控所有这些设备,并在出现问题时及时通知相关管理员。

定义主机组:

为了更好地组织和管理主机,可以将相同类型的主机分组。例如,将所有Web服务器分为一个组:

define hostgroup {
    hostgroup_name  web-servers
    alias           Web Servers
    members         webserver1,webserver2,webserver3
}

define hostgroup {
    hostgroup_name  db-servers
    alias           Database Servers
    members         dbserver1,dbserver2
}

define hostgroup {
    hostgroup_name  file-servers
    alias           File Servers
    members         fileserver1,fileserver2
}

定义服务模板:

为了减少重复配置,可以定义一些服务模板。例如,定义一个HTTP服务模板:

define service {
    name                            http-service
    use                             generic-service
    check_command                   check_http
    notification_interval           30
    notification_options            w,u,c,r
    register                        0
}

应用模板到主机组:

将HTTP服务模板应用到所有Web服务器:

define service {
    use                             http-service
    hostgroup_name                  web-servers
    service_description             HTTP
}

添加特定服务监控:

为数据库服务器添加MySQL监控:

define service {
    use                             generic-service
    hostgroup_name                  db-servers
    service_description             MySQL
    check_command                   check_mysql
    notification_interval           10
    notification_options            w,u,c,r
}

配置告警策略:

为每个主机组配置不同的告警策略。例如,为Web服务器配置邮件告警,为数据库服务器配置短信告警:

define contact {
    contact_name                    webadmin
    alias                           Web Admin
    service_notification_period     24x7
    host_notification_period        24x7
    service_notification_options    w,u,c,r
    host_notification_options       d,u,r
    service_notification_commands   notify-service-by-email
    host_notification_commands      notify-host-by-email
    email                           webadmin@example.com
}

define contact {
    contact_name                    dbadmin
    alias                           Database Admin
    service_notification_period     24x7
    host_notification_period        24x7
    service_notification_options    w,u,c,r
    host_notification_options       d,u,r
    service_notification_commands   notify-service-by-sms
    host_notification_commands      notify-host-by-sms
    pager                           +1234567890
}

Zabbix

Zabbix是一款企业级开源监控解决方案,由Alexei Vladishev在1998年创建,并于2001年发布第一个版本。Zabbix的设计目标是提供全面的监控功能,涵盖从硬件到软件、从网络设备到虚拟化环境的监控需求。Zabbix不仅支持实时监控,还能生成详细的报告和图表,帮助管理员进行性能分析和容量规划。

Zabbix的主要功能包括:

  1. 自动发现:能够自动发现网络中的设备和服务,并生成相应的监控项。
  2. 多种监控方式:支持SNMP、JMX、IPMI、WMI、agent、agentless等多种监控方式。
  3. 高级告警:支持多种告警渠道,如电子邮件、短信、即时通讯工具等,具备灵活的告警策略和依赖关系管理。
  4. 可视化:提供丰富的图表、仪表盘、报告等可视化工具,帮助管理员直观地了解系统状态。
  5. 数据存储和趋势分析:支持大规模数据存储和长时间趋势分析,方便进行历史数据查询和分析。

Zabbix安装与配置

为了使用Zabbix进行网络监控,首先需要在服务器上安装并配置Zabbix。

在安装Zabbix之前,需要准备一台运行Linux操作系统的服务器。本文以CentOS 7为例,介绍Zabbix的安装过程。

  1. 更新系统包:
sudo yum update
  1. 安装MariaDB数据库:
sudo yum install mariadb-server mariadb
sudo systemctl start mariadb
sudo systemctl enable mariadb
  1. 安装Apache和PHP:
sudo yum install httpd php php-mysql php-gd php-xml php-bcmath php-mbstring
sudo systemctl start httpd
sudo systemctl enable httpd
  1. 添加Zabbix仓库:
sudo rpm -Uvh https://repo.zabbix.com/zabbix/5.4/rhel/7/x86_64/zabbix-release-5.4-1.el7.noarch.rpm
sudo yum clean all
  1. 安装Zabbix Server、Web前端和Agent:
sudo yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent
  1. 创建Zabbix数据库和用户:
mysql -uroot -p
CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
exit;
  1. 导入初始架构和数据:
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
  1. 编辑/etc/zabbix/zabbix_server.conf文件,配置数据库连接:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=password
  1. 启动并启用Zabbix Server和Agent:
sudo systemctl start zabbix-server
sudo systemctl enable zabbix-server
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent
  1. 编辑Apache配置文件/etc/httpd/conf.d/zabbix.conf
php_value date.timezone Europe/Riga

Europe/Riga替换为实际的时区,例如Asia/Shanghai

  1. 启动并启用Apache:
sudo systemctl restart httpd
  1. 通过Web浏览器访问Zabbix前端安装向导,完成安装配置:

访问http://your-server-ip/zabbix,根据提示完成安装向导的配置。

使用方法

完成安装和基本配置后,可以开始使用Zabbix进行监控。

添加主机和监控项

  1. 添加主机:

在Zabbix前端界面,导航到“Configuration” -> “Hosts”,点击“Create host”按钮,添加需要监控的主机。配置主机名、群组、接口等信息。

  1. 创建监控项:

在主机配置页面,导航到“Items”标签,点击“Create item”按钮,添加需要监控的项。例如,监控CPU使用率:

Name: CPU Load
Type: Zabbix agent
Key: system.cpu.load[percpu,avg1]
Type of information: Numeric (float)
Units: %

  1. 创建触发器:

在主机配置页面,导航到“Triggers”标签,点击“Create trigger”按钮,添加告警触发条件。例如,CPU使用率超过80%时触发告警:

Name: CPU load is too high
Expression: {hostname:system.cpu.load[percpu,avg1].last()} > 0.8
Severity: High

配置告警和通知

  1. 添加媒体类型:

导航到“Administration” -> “Media types”,添加新的媒体类型(如电子邮件、短信等)。

  1. 配置告警动作:

导航到“Configuration” -> “Actions”,点击“Create action”按钮,配置告警动作。例如,配置当CPU使用率超过阈值时发送电子邮件通知:

Name: CPU load high alert
Event source: Trigger
Condition: Trigger severity = "High"
Operation: Send message to user group "Zabbix administrators"

使用模板

Zabbix提供了许多预定义的模板,帮助快速配置常见的监控场景。可以在Zabbix前端界面导航到“Configuration” -> “Templates”,导入或创建模板,并应用到需要监控的主机上。

实际案例

案例一:监控Web服务器

配置Zabbix监控一台Web服务器的运行状态,包括HTTP响应时间、CPU使用率、内存使用率等。当某项指标超出阈值时,发送告警通知。

  1. 添加Web服务器主机:

在Zabbix前端添加Web服务器主机,配置基本信息。

  1. 创建HTTP监控项:

在主机配置页面的“Items”标签,创建HTTP监控项:

Name: HTTP response time
Type: HTTP agent
Key: web.page.get[example.com,,80]
Type of information: Numeric (float)
Units: s
  1. 创建触发器:

在主机配置页面的“Triggers”标签,创建触发器:

Name: HTTP response time is too high
Expression: {hostname:web.page.get[example.com,,80].last()} > 2
Severity: High
  1. 配置告警通知:

导航到“Configuration” -> “Actions”,创建告警动作,发送电子邮件通知管理员。

案例二:监控数据库服务器

配置Zabbix监控一台MySQL数据库服务器的性能指标,包括CPU使用率、内存使用率、磁盘I/O、数据库查询性能等。当某项指标超出阈值时,发送告警通知。

  1. 添加数据库服务器主机:

在Zabbix前端添加数据库服务器主机,配置基本信息。

  1. 导入MySQL模板:

导航到“Configuration” -> “Templates”,导入MySQL监控模板。

  1. 应用模板到数据库服务器:

在数据库服务器主机配置页面,导航到“Templates”标签,选择MySQL模板并应用。

  1. 创建自定义监控项和触发器:

根据具体需求,创建额外的监控项和触发器。例如,监控MySQL查询时间:

Name: MySQL query time
Type: Zabbix agent
Key: mysql.query.time
Type of information: Numeric (float)
Units: s

创建触发器:

Name: MySQL query time is too high
Expression: {hostname:mysql.query.time.last()} > 1
Severity: High

深入配置与高级功能

除了基本的安装和配置,Zabbix还提供了一些高级功能,可以更有效地帮助管理员监控和管理网络系统。

使用Zabbix代理和代理守护进程

Zabbix代理(Agent)和代理守护进程(Proxy)是Zabbix的重要组件,允许在被监控主机上收集数据,并将其发送到Zabbix服务器。

Zabbix代理

Zabbix代理安装在被监控主机上,直接从操作系统和应用程序收集数据,并将其发送到Zabbix服务器。以下是安装和配置Zabbix代理的步骤:

  1. 在被监控主机上安装Zabbix代理:
sudo yum install zabbix-agent
  1. 配置Zabbix代理:

编辑/etc/zabbix/zabbix_agentd.conf文件,配置服务器地址和主机名:

Server=your_zabbix_server_ip
Hostname=your_monitored_host_name
  1. 启动并启用Zabbix代理:
sudo systemctl start zabbix-agent
sudo systemctl enable zabbix-agent

Zabbix代理守护进程

Zabbix代理守护进程用于代理模式下,可以收集分布式网络中的数据并汇总到一个或多个Zabbix服务器。这对于大规模分布式网络环境尤为有用。

  1. 在代理服务器上安装Zabbix代理守护进程:
sudo yum install zabbix-proxy-mysql
  1. 配置Zabbix代理守护进程:

编辑/etc/zabbix/zabbix_proxy.conf文件,配置数据库和Zabbix服务器连接:

Server=your_zabbix_server_ip
Hostname=your_proxy_name
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=password
  1. 启动并启用Zabbix代理守护进程:
sudo systemctl start zabbix-proxy
sudo systemctl enable zabbix-proxy

使用Zabbix API进行自动化

Zabbix提供了功能强大的API接口,允许用户通过编程方式与Zabbix系统进行交互,进行自动化操作。例如,批量添加主机、监控项、触发器等。

  1. Zabbix API认证:

首先,需要获取Zabbix API的认证令牌:

import requests
import json

url = "http://your_zabbix_server_ip/api_jsonrpc.php"
headers = {
   
   "Content-Type": "application/json"}

data = {
   
   
    "jsonrpc": "2.0",
    "method": "user.login",
    "params": {
   
   
        "user": "Admin",
        "password": "zabbix"
    },
    "id": 1
}

response = requests.post(url, headers=headers, data=json.dumps(data))
auth_token = response.json()["result"]
  1. 通过API添加主机:

使用获取的认证令牌,通过API添加主机:

data = {
   
   
    "jsonrpc": "2.0",
    "method": "host.create",
    "params": {
   
   
        "host": "New_Host",
        "interfaces": [
            {
   
   
                "type": 1,
                "main": 1,
                "useip": 1,
                "ip": "192.168.1.10",
                "dns": "",
                "port": "10050"
            }
        ],
        "groups": [
            {
   
   
                "groupid": "2"
            }
        ]
    },
    "auth": auth_token,
    "id": 2
}

response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json())

通过这些API调用,可以实现Zabbix系统的自动化配置和管理,极大地提高工作效率。

使用Zabbix的可视化和报表功能

Zabbix提供了丰富的可视化和报表功能,帮助管理员更好地分析和展示监控数据。

  1. 创建图表:

在Zabbix前端界面,导航到“Monitoring” -> “Graphs”,选择需要展示的主机和监控项,创建图表。例如,展示CPU使用率、内存使用率等。

  1. 创建仪表盘:

导航到“Monitoring” -> “Dashboard”,创建自定义仪表盘,添加多个小组件(如图表、地图、报警视图等),实时监控系统状态。

  1. 生成报表:

导航到“Reports” -> “Availability Report”或“Triggers Top 100”,生成系统可用性报告或最频繁触发的告警报告,进行深入分析。

实际案例:监控复杂网络环境

以下是一个复杂的实际案例,展示了如何使用Zabbix监控一个包含多种设备和服务的网络环境。

案例背景

某公司拥有一个大型网络环境,包括多个Web服务器、数据库服务器、文件服务器和网络设备(如路由器、交换机)。公司希望使用Zabbix监控所有这些设备,并在出现问题时及时通知相关管理员。

案例配置

  1. 定义主机组:

为了更好地组织和管理主机,可以将相同类型的主机分组。例如,将所有Web服务器分为一个组:

define hostgroup {
    hostgroup_name  web-servers
    alias           Web Servers
    members         webserver1,webserver2,webserver3
}

define hostgroup {
    hostgroup_name  db-servers
    alias           Database Servers
    members         dbserver1,dbserver2
}

define hostgroup {
    hostgroup_name  file-servers
    alias           File Servers
    members         fileserver1,fileserver2
}
  1. 定义监控模板:

为了减少重复配置,可以定义一些监控模板。例如,定义一个HTTP服务模板:

define service {
    name                            http-service
    use                             generic-service
    check_command                   check_http
    notification_interval           30
    notification_options            w,u,c,r
    register                        0
}
  1. 应用模板到主机组:

将HTTP服务模板应用到所有Web服务器:

define service {
    use                             http-service
    hostgroup_name                  web-servers
    service_description             HTTP
}
  1. 添加特定服务监控:

为数据库服务器添加MySQL监控:

define service {
    use                             generic-service
    hostgroup_name                  db-servers
    service_description             MySQL
    check_command                   check_mysql
    notification_interval           10
    notification_options            w,u,c,r
}
  1. 配置告警策略:

为每个主机组配置不同的告警策略。例如,为Web服务器配置邮件告警,为数据库服务器配置短信告警:

define contact {
    contact_name                    webadmin
    alias                           Web Admin
    service_notification_period     24x7
    host_notification_period        24x7
    service_notification_options    w,u,c,r
    host_notification_options       d,u,r
    service_notification_commands   notify-service-by-email
    host_notification_commands      notify-host-by-email
    email                           webadmin@example.com
}

define contact {
    contact_name                    dbadmin
    alias                           Database Admin
    service_notification_period     24x7
    host_notification_period        24x7
    service_notification_options    w,u,c,r
    host_notification_options       d,u,r
    service_notification_commands   notify-service-by-sms
    host_notification_commands      notify-host-by-sms
    pager                           +1234567890
}
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
12天前
|
负载均衡 网络协议 算法
|
18天前
|
安全 网络安全 数据安全/隐私保护
|
11天前
|
负载均衡 网络协议 算法
|
15天前
|
域名解析 网络协议 安全
|
20天前
|
网络协议 安全 网络安全
|
21天前
|
运维 监控 网络协议
|
24天前
|
存储 网络安全 数据安全/隐私保护
|
3天前
|
存储 网络协议 安全
30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场
本文精选了 30 道初级网络工程师面试题,涵盖 OSI 模型、TCP/IP 协议栈、IP 地址、子网掩码、VLAN、STP、DHCP、DNS、防火墙、NAT、VPN 等基础知识和技术,帮助小白们充分准备面试,顺利踏入职场。
13 2
|
1月前
|
运维 监控 网络协议
|
1月前
|
运维 定位技术 网络虚拟化

推荐镜像

更多