1 安装在 CentOS
-
更新并安装必要软件包:
yum update yum install -y nagios nagios-plugins nagios-plugins-contrib
-
启动和设置服务:
systemctl start nagios systemctl enable nagios
-
设置开机启动(可选):
systemctl enable nagios
2 安装在 Debian/Ubuntu
-
更新和安装:
apt update apt install -y nagios nagios3-common nagios3-plugins nagios3-plugins-contrib
-
启动服务:
systemctl start nagios systemctl enable nagios
-
设置开机启动(可选):
systemctl enable nagios
3 在 Windows 上安装
- 下载Nagios Core for Windows。
- 安装并运行Nagios服务。
- 配置服务启动在系统启动时运行。
配置Nagios
1 配置主机和接收方
-
编辑主配置文件:
nano /etc/nagios3/nagios.cfg
-
添加主机配置:
define host { host_name localhost use generic-host max_attempts 5 check_interval 300 notification_interval 600 retry_interval 60 notification_period 0 notification_options w,u } define host { host_name 192.168.1.100 use generic-host max_attempts 5 check_interval 300 notification_interval 600 retry_interval 60 notification_period 0 notification_options w,u }替换
168.1.100为实际的远程主机IP地址。 -
添加接收方(可选):
define contact { contact_name adminuser service_notification_options c,r service_notification_period 0 }
2 配置服务监控
-
编辑服务监控文件:
nano /etc/nagios3/services.xml
-
添加HTTP服务监控:
<service> <definition> <service_name>HTTP</service_name> <checks> <check> <check_command>HTTP</check_command> <check_interval>300</check_interval> <check_timeout>60</check_timeout> <notification_interval>600</notification_interval> <statusmap> <statusmap_entry> <service> <key>1</key> <description>HTTP状态码</description> </service> </statusmap_entry> </statusmap> </check> </checks> </definition> </service> -
添加PING服务监控:
<service> <definition> <service_name>PING</service_name> <checks> <check> <check_command>PING</check_command> <check_interval>300</check_interval> <check_timeout>60</check_timeout> <notification_interval>600</notification_interval> </check> </checks> </definition> </service>
3 配置扩展监控(如NRDP/NRPE)
-
安装NRPE客户端:
- 在被监控的机器上安装
nrpe-client。 - 启用并配置NRPE客户端,确保与Nagios通信。
- 在被监控的机器上安装
-
在Nagios上配置NRPE:
define nrpe { use nrpeclient client_nagios_address 192.168.1.100 client_nagios_port 4 }
配置通知和报警
-
编辑接收方配置:
nano /etc/nagios3/contacts.cfg
-
添加邮件配置:
define contact { contact_name adminuser service_notification_options c,r service_notification_period 0 notification_method email email adminuser@example.com } -
配置通知触发条件:
define contact { contact_name adminuser service_notification_options w,u,c,r service_notification_period 0 notification_method email email adminuser@example.com }
管理用户权限
-
创建用户和管理员账号:
htpasswd -c /etc/nagios3/htpasswd adminuser htpasswd -C /etc/nagios3/htpasswd admin
-
限制普通用户权限:
define user { user_name adminuser groups nagios-users } define user { user_name admin groups nagios-admin }
扩展监控工具
-
安装Graphite:
yum install -y graphite2 graphite2-python
-
配置Nagios与Graphite集成:
在Nagios中添加数据收集器,配置Graphite的地址和端口。
自动化配置(可选)
-
使用Ansible:
- hosts: all roles: - role: nagios -
使用Chef:
file '/etc/nagios3/nagios.cfg' do content '配置内容...'
故障处理
-
监控服务状态:
nagios -S
-
解决服务问题:
- 检查日志文件,修复配置错误。
- 重启相关服务。
-
日志管理:
tail -f /var/log/nagios3/nagios.log
测试和优化
-
访问Nagios界面:
http://localhost:808/nagios3/
-
测试监控:
添加新的设备或服务,验证监控状态。
-
优化配置:
调整检查时间间隔,优化资源使用。
通过以上步骤,您可以成功配置并使用Nagios进行监控,继续探索更多功能,如使用第三方插件扩展监控能力。









