1. 概述
Nagios 是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的 主机 状态,交换机 路由器 等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
2. Nagios 部署
2.1.环境配置
1. Yum 安装所需的软件包和支持库
Yum install -y httpd httpd-manualhttpd-devel gd gd-devel perl-GDmysql-server mysql-devel php php-mysql php-gd php-pear perl-DBIperl-Digest-SHA1 perl-Digest-HMAC net-snmp-utils perl-socket6 perl-IO-INET6 net-snmp-devel php-snmp dmidecode net-snmp-perl perl-Crypt-DES fping perl-Config-IniFiles graphviz gcc-c++ glib2-devel php-gd php-pdo php-ldap php-mbstring php-xml lib
Yum -y install gcc openssl-devel pcre-devel zlib-devel
2. Sendmail 部署
Ø 首先要确保sendmail相关组件的完整安装,我们可以使用如下的命令来完成sendmail的安装:
# yum install -y sendmail*
Ø 然后重新启动sendmail服务:
# service sendmail restart
Ø 然后发送测试邮件,验证sendmail的可用性:
# echo "Hello World" | mail abc@abc.com
mail yanjuxian@126.com test
sdf(内容 )
ctrl +D
2.2.Nagios部署
Nagios 之前的准备,特别需要安装 Gd-devel,另外安装Nagios时需要加 –with-gd-lib=/usr/lib –with-gd-inc=/usr/include;不然不能生成 statusmap.cgi 也就不能看到状态图了
1. 创建运行帐户
Groupadd nagios
Useradd –g nagios nagios
Passwd nagios
Mkdir /usr/local/nagios
Chown –R nagios:nagios /usr/local/nagios
Chmod 755 /usr/local/nagios/
Usermod –G nagios apache
Grep ^User /etc/httpd/conf/httpd.conf
User apach
查看运行Apache的帐户
2. Nagios 主程序安装:
Tar zxvf nagios-3.4.3.tar.gz
Cd nagios-3.4.3
./configure –prefix=/usr/local/nagios --with-gd-lib=/usr/lib --with-gd-inc=/usr/include --enable-event-broker
Make all
Make all install
Make install-init // 安装启动脚本到/etc/init.d/
Make install-commandmode
Make install-config // 安装初始配置文件到/usr/local/naigos
3. Nagios-plugins 的安装
Tar zxvf nagios-plugins-1.4.14.tar.gz
Cd nagios-plugins-1.14
./configure –prefix=/usr/local/nagios-plugins
Make
Make install
安装完成以后在/usr/local/nagios-plugins 会产生一个Libexc的目录,将该目录全部移动至/User/local/nagios目录下即可。
如下:
Mv /usr/local/nagios-plugins/libexec /usr/local/nagios/
4. 现在配置Apache:
在apache的httpd.conf文件中加入以下内容:
Vi /etc/httpd/conf/httpd.conf
ScriptAlias /nagios/cgi-bin/usr/local/nagios/sbin
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile/usr/local/nagios/etc/htpasswd.users
Require valid-user
Alias /nagios /usr/local/nagios/share
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthType Basic
AuthUserFile/usr/local/nagios/etc/htpasswd.users
Require valid-user
重启Apache
Service httpd restart
#vi/usr/local/nagios/etc/objects/contacts.cfg
修改Nagiosadmin 这行其中的邮件地址为你的Email地址,以将报警邮件发到你的邮箱
5. 设置登陆Web 界面时HTTP验证的帐户密码
Htpasswd –c/usr/local/nagios/etc/htpasswd.users nagiosadmin
重启动apache
Service httpd restart
重启动Nagios
Service nagios restart
6. 配置和启动Nagios
7. Cd /usr/local/nagios/etc
里面如果有cfg-sample,就把目录里的cgf-sample文件全部拷贝成.cfg例如:
Cp nagios.cfg-sample nagios.cfg
没有的话直接修改:
Vi cgi.cfg
Use_authentication=1 改称 use_authentication=0 即不用验证,不然有些页面不会显示。
8. 修改后用如下命令检查配置文件是否正常:
/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg
如果出现如下显示就是说明配置没问题
Total Warnings:0
Total Errors:0
如果有错误,用以下命令检查那里有错误:
CD /usr/local/nagios/bin/ -d /usr/local/nagios/etc/nagios.cfg
Chown –R nagios.nagios nagios.log
Service nagios restart
Nagios 部署完毕
Http ://IP/nagios/
3. Nagios 邮件报警配置
1.配置 Contacts.cfg
1. vim /etc/nagios/objects/contacts.cfg
2.
3. define contact{ //30 行
4. contact_name nagiosadmin
5. use generic-contact
6. alias Nagios Admin
7. email xxxx@163.com // 这里改成自己的邮箱
8. }
2.配置 Nagios.cfg和 Localhost.cfg
查看 复制 打印 ?
1. vim /etc/nagios/nagios.cfg
2.
3. enable_notifications=1 //807 行,开启报警
4. 确认 nagios.cfg 里面的 interval_length ,通过那个,算出相应的
5. normal_check_interval 比如 interval_length=60, 那
6. normal_check_interval=10
7. max_check_attempts=3
8. retry_check_interval=1
9. 这样就实现在 10 分钟一次检测,重试 3 次,重试时间 1 分钟!
10.
11. 上面的总的开启也就是 nagios 装的所有插件,出现问题都会报警
12.
13. vim /etc/nagios/objects/localhost.cfg
14.
15. define service{ // 以 processes 为例
16. use local-service ; Name of service template to use
17. host_name localhost
18. service_description Total Processes
19. check_command check_local_procs!250!400!RSZDT
20. notifications_enabled 1
21. }
22.
如果总的没有开启, Localhost,cfg里面可以一个一个配置,这样比较麻烦,如果总的开启了,里面的不想启动就可以 Notifications_enables设置成 0这样,就不会发报警,其他的发送报警。
3.添加发报警用户
1. [root@localhost objects]# cyradm -u cyrus localhost --auth plain
2. verify error:num=18:self signed certificate
3. Password:
4. IMAP Password:
5. localhost> cm nagios
6. localhost> quit
可以看一下 nagios 发邮件配置文件 commands.cfg
4. 配置 Templates.cfg
Check_interval 5 检测时间;
Retry_interval 1 重试间隔;
Max_check_attempts 10 最大重试次数;
Notification_interval 120 通告间隔,默认 2 个小时,这个设定的是再次发送通告的周期,
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com