9404803 发表于 2019-1-14 12:31:23

Centos 上部署 Nagios

1.概述
Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
2.Nagios部署
2.1.环境配置
1.Yum 安装所需的软件包和支持库
Yum install-y httpd httpd-manualhttpd-devel gd gd-develperl-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-INET6net-snmp-devel php-snmp dmidecodenet-snmp-perl perl-Crypt-DES fping perl-Config-IniFiles graphviz gcc-c++glib2-devel php-gd php-pdophp-ldap php-mbstring php-xml lib
Yum-yinstall gccopenssl-develpcre-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.# 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]
查看完整版本: Centos 上部署 Nagios