博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lnmp监控----nagios
阅读量:5840 次
发布时间:2019-06-18

本文共 5231 字,大约阅读时间需要 17 分钟。

Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的状态,交换机等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。   tar jxf nagios-cn-3.2.3.tar.bz2

cd nagios-cn-3.2.3
useradd nagios
usermod -G nagios nginx
yum install gd-devel perl-ExtUtils-Embed
./configure --enable-embedded-perl
make all
make install
make install-init
make install-commandmode
make install-config
make install-webconfig                                         //在apache下输入这条命令能快速整合,nginx下不能使用
这里安装的是nagios的主程序,安装完成我们发现,好多命令都没有,下面我们就让那些命令出现
tar zxf nagios-plugins-1.4.16.tar.gz
cd nagios-plugins-1.4.16
./configure --enable-extra-opts --enable-libtap --enable-perl-modules --with-nagios-user=nagios --with-nagios-group=nagios                         //这里加入了一些模块,并且指定安装之后的命令属于nagios用户
make
make install
这个命令可以检查nagios配置文件是否有语法错误
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
使nagios在nginx支持
tar zxf ExtUtils-Constant-0.23.tar.gz
cd ExtUtils-Constant-0.23
perl Makefile.PL
make && make install
tar zxf FCGI-0.74.tar.gz
cd FCGI-0.74 perl Makefile.PL
make
make install
tar zxf FCGI-ProcManager-0.24.tar.gz
cd FCGI-ProcManager-0.24
perl Makefile.PL make
make install
 
tar zxf Getopt-Long-2.38.tar.gz
cd Getopt-Long-2.38 perl Makefile.PL make
make install
tar zxf IO-All-0.44.tar.gz
cd IO-All-0.44
perl Makefile.PL
make make install
tar zxf Socket-2.001.tar.gz cd Socket-2.001
perl Makefile.PL
make && make install
期间可能需要的包
yum install perl-ExtUtils-CBuilder
这个文件是下载得到的
cp fastcgi-wrapper.pl /usr/bin/
[root@server4 ~]# fastcgi-wrapper.pl                                                               //开启fastcgi [root@server4 ~]# netstat -antlp|grep 8999                                                      //检查是否开启 tcp        0      0 127.0.0.1:8999              0.0.0.0:*                   LISTEN      14456/perl
编辑nginx配置文件,在网页中显示
 
cd /usr/local/lanmp/nginx/conf/
 vim nginx.conf
在其中添加一下内容(添加一个虚拟主机)
 server{ listen 80; charset utf-8;                  #默认字符集,解决页面乱码 server_name nagios.westos.org; root /usr/local/nagios/share; index index.php index.html; auth_basic "Nagios Access"; auth_basic_user_file /usr/local/nagios/etc/htpasswd.users; location /nagios { alias /usr/local/nagios/share; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; include fastcgi.conf; } location ~ ^/nagios/cgi-bin/ { root /usr/local/nagios/sbin/;
                #在执行nagios命令时,网页之间访问的是nagios/cgi-bin/*.cgi, #这里我们要进行转码,以*.cgi的方式直接访问所以这里这样写。。。 rewrite ^/nagios/cgi-bin(.*)\.cgi  /$1.cgi break; include fastcgi.conf; fastcgi_param AUTH_USER $remote_user;   #nagios认证 fastcgi_param REMOTE_USER $remote_user; fastcgi_pass 127.0.0.1:8999; }
这其中需要建立一个认证文件
需要安装这个包
yum install httpd-tools-2.2.15-15.el6_2.1.x86_64
htpasswd -m /usr/local/nagios/etc/htpasswd.users  nagiosadmin               //修改nagiosadmin密码 //htpasswd.users这个文件已经存在,我们只需要把里面的管理员密码修改一下
nginx -t nginx -s reload                                                        //重启nginx,然后我们就可以在网页中显示nagios了,^_^
现在访问某些页面可能会有一些错误出现
所以我们需要安装一些包
rpm -ivh rrdtool-perl-1.3.8-6.el6.x86_64.rpm yum install perl-CGI                                                       //使网页正常显示图形
  yum install -y cjkuni-uming-fonts                                  //使网页正常显示中文
之后配置nagios,显示我们要的主机信息,和服务信息
cd /usr/local/nagios/etc/
vim nagios.cfg
添加2项,注释一项
cfg_file=/usr/local/nagios/etc/objects/hosts.cfg                             //为了分开管理,我们定义一个主机管理文件 和服务管理文件
cfg_file=/usr/local/nagios/etc/objects/services.cfg                         //服务管理文件
#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
cd objects/
cp localhost.cfg hosts.cfg                                                                 //拷贝模板
vim hosts.cfg 编辑
define host{                      //主机的管理 use                     linux-server                                                       //使用默认的主机规则 host_name               server4.example.com                                //主机名 alias                   Nagios server4                                                  //主机别名 address                 192.168.0.104                                                 //ip地址 icon_image              switch.gif                                                        //图标 statusmap_image         switch.gd2 2d_coords               100,200                                                        //2D图像的显示坐标 3d_coords               100,200,100                                                //3D图像的显示坐标
        }
define hostgroup{                               //主机组的管理 hostgroup_name  linux-servers ;                                  //主机组的名字 alias           Linux Servers ;                                              //别名 members         *     ;                                                        //*代表包含上面所有主机
}
 
cp localhost.cfg services.cfg
vim services.cfg
 
define servicegroup{ servicegroup_name 系统负荷检查 alias 负荷检查 members server4.example.com,进程总数,server4.example.com,登录用户数,server4.example.com,根分区,server4.example.com,交换空间利用率 }
define service{ use                             local-service         ; Name of service template to use host_name                       * service_description             PING                                                               //表示监控ping服务 check_command                   check_ping!100.0,20%!500.0,60% } define service{ use                             local-service         ; Name of service template to use host_name                       server4.example.com service_description             根分区 check_command                   check_local_disk!20%!10%!/
        }
define service{ use                             local-service         ; Name of service template to use host_name                       server4.example.com service_description             登录用户数 check_command                   check_local_users!20!50 } define service{ use                             local-service         ; Name of service template to use host_name                       server4.example.com service_description             进程总数 check_command                   check_local_procs!250!400!RSZDT }
define service{ use                             local-service         ; Name of service template to use host_name                       server4.example.com service_description             系统负荷 check_command                   check_local_load!5.0,4.0,3.0!10.0,6.0,4.0 }
define service{ use                             local-service         ; Name of service template to use host_name                       server4.example.com service_description             交换空间利用率 check_command                   check_local_swap!20!10 }
define service{ use                             local-service         ; Name of service template to use host_name                       server4.example.com service_description             SSH check_command                   check_tcp!22!1.0!10.0 notifications_enabled           0                                                                  //这里表示不进行通知 }
 
define service{ use                             local-service         ; Name of service template to use host_name                       server4.example.com service_description             HTTP check_command                   check_http notifications_enabled           0 }
完成之后检查是否有语法错误
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios reload                                            //重新读配置文件

转载于:https://www.cnblogs.com/Seven-Wang/p/4451582.html

你可能感兴趣的文章
软件测试面试题-网站
查看>>
Mybatis常见面试题(转)
查看>>
python if else while for
查看>>
面试 : C语言 功底 被 鄙视了
查看>>
C++ 对象的赋值和复制 基本的
查看>>
RHEL启动错误:Kernel panic - not syncing:Attempted to kill init!解决方案
查看>>
SharePoint 命令使用集锦 (持续更新中...)
查看>>
Objective-C 内存管理
查看>>
java中的动态代理(二)
查看>>
工厂模式
查看>>
C# 队列数据结构 (三)
查看>>
springmvc上传下载代码
查看>>
cmd中命令能用,vs中不能用解决方案
查看>>
cbv、resful、APIView和序列化组件
查看>>
标签和过滤器
查看>>
20155301-滕树晨 第二次随笔作业--从现有技能获取的经验应用于JAVA中
查看>>
【VS插件】Layered Architecture Solution Guidance (LASG)
查看>>
【UIKit】解决iOS7状态栏问题
查看>>
app测试
查看>>
java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory的解决
查看>>