安装 Nagios
你需要确保你已经安装了 Nagios 核心和相关插件,以下是常见的操作系统中安装 Nagios 核心的步骤:
在 Ubuntu 上安装 Nagios:
- 更新并升级包:
sudo apt update && sudo apt upgrade -y
- 安装必要的软件:
sudo apt install -y nagios nagios-plugins
- 启动和启用 Nagios 服务:
sudo systemctl start nagios sudo systemctl enable nagios
在 CentOS/RHEL 上安装 Nagios:
- 安装必要的 EPEL 仓库:
sudo yum install -y epel-release
- 安装 Nagios 和插件:
sudo yum install -y nagios nagios-plugins
- 启动和启用 Nagios 服务:
sudo systemctl start nagios sudo systemctl enable nagios
配置 Nagios 监控目标
Nagios 使用配置文件来定义要监控的主机和服务,配置文件位于 /etc/nagios/iwb 或 /etc/nagios/objects 目录中。
添加主机(目标服务器):
- 打开主机定义文件(
/etc/nagios/iwb/localhost.cfg),并添加以下内容:define host { host_name=你的主机名或IP地址 use_class=direct address=你的主机IP地址或127...1 max_check_interval=5 check_interval=60 notification_interval=600 retry_interval=60 notification_period=86400 contact_groups= admins notifications= enabled }
添加服务:
- 打开服务定义文件(
/etc/nagios/iwb/localhost:tcp.cfg),并添加以下内容:define service { host_name=你的主机名或IP地址 use_class=direct check_command= check_tcp!100!80 max_check_interval=5 check_interval=60 notification_interval=600 retry_interval=60 notification_period=86400 contact_groups= admins notifications= enabled }
定义监控项
Nagios 提供了许多预定义的检查命令(如 check_ping、check_load、check_mem 等),你可以根据需要定义监控项。
示例:监控 CPU 和内存使用率
- 打开 CPU 使用率的定义文件(
/etc/nagios/iwb/localhost.cpu.cfg):define service { host_name=你的主机名或IP地址 use_class=direct check_command= check_cpu!100!5 max_check_interval=5 check_interval=60 notification_interval=600 retry_interval=60 notification_period=86400 contact_groups= admins notifications= enabled }
示例:监控磁盘空间
- 打开磁盘空间的定义文件(
/etc/nagios/iwb/localhost.disks.cfg):define service { host_name=你的主机名或IP地址 use_class=direct check_command= check_disk!100!5!/ max_check_interval=5 check_interval=60 notification_interval=600 retry_interval=60 notification_period=86400 contact_groups= admins notifications= enabled }
配置报警和通知
Nagios 可以通过邮件、SNMP、或第三方服务(如 Pushover)发送报警,以下是常见的配置方法。
配置邮件通知:
- 打开 Nagios 配置文件(
/etc/nagios/nagios.cfg):define notification { contact_group= admins notification_method= email notification_levels= critical, warning email= admin@example.com }
配置 Pushover 通知:
- 安装 Pushover Python 库:
pip install pushover
- 打开 Nagios 配置文件(
/etc/nagios/nagios.cfg):define notification { contact_group= admins notification_method= pushover notification_levels= critical, warning pushover_api= your_api_key pushover_device= your_device_id }
启动和测试 Nagios
- 启动 Nagios 服务:
sudo systemctl start nagios
- 访问 Nagios 网络界面:
http://你的服务器IP:808
- 登录 NagiosWeb 界面(默认用户名和密码是
nagios和nagios)。
监控和管理
- 监控状态:在 NagiosWeb 界面查看所有主机和服务的状态。
- 历史数据:使用
/nagios/cgi-bin/trends.cgi查看历史数据。 - 数据分析:使用 Nagios 的数据分析功能或第三方工具(如 Graphite、InfluxDB)进行深度分析。
- 报警处理:配置通知和报警,确保在服务或主机出现问题时能够及时响应。
高级配置和优化
- 减少不必要的检查:只监控重要服务和资源,避免监控过载。
- 配置检查间隔:根据环境需求调整检查间隔,平衡监控精度和性能消耗。
- 使用第三方插件:如存储监控数据到数据库或可视化工具(如 Grafana)。
故障排除
- 被监控主机拒绝连接:检查防火墙设置,确保监控代理(如 NRPE)能够正常通信。
- 配置错误:逐步验证配置文件,确保主机和服务定义正确无误。
- 性能问题:优化 Nagios 配置,减少不必要的检查,或者升级到更高性能的版本。
通过以上步骤,你应该能够有效地使用 Nagios 监控服务器并管理网络环境。









