设为首页 收藏本站
查看: 805|回复: 0

LNMP环境下的Nagios搭建

[复制链接]

尚未签到

发表于 2019-1-13 08:27:27 | 显示全部楼层 |阅读模式
安装开始:
A、安装前准备
安装的机器上必须有一个WEB服务,本文是在Nginx环境上安装的。
下载nagios主程序和相关插件程序包
#mkdir /tmp/nagios/Packages
#cd /tmp/nagios/Packages
#wget http://downloads.sourceforge.net/project/nagios/nagios-3.x/nagios-3.5.0/nagios-3.5.0.tar.gz
#wget http://nagios-plugins.org/download/nagios-plugins-1.4.16.tar.gz
#wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.12.tar.gz
安装GD库(Nagios中的statusmap和trends模块必须)
#yum -y install libgd2-noxpm libgd2-noxpm-devel

B、Nagios监控端安装
1、创建Nagios用户及组
建立Nagios账号
#/usr/sbin/useradd -m -s /sbin/nologin nagios
2、创建一个名为nagcmd的用户组,用于从web接口执行外部命令。将Nagios用户和Nginx用户加入组中。
#groupadd nagcmd
#usermod -a -G nagcmd nagios
#usermod -a -G nagcmd www
注:上面的www是Nginx用户所属的组,如有不同请自行调整。

3、编译安装Nagios
#tar zxvf nagios-3.5.0.tar.gz
#cd nagios

#./configure --prefix=/usr/local/install/nagios --with-group=nagios --with-user=nagios --with-command-group=nagcmd --with-gd-lib=/usr/lib --with-gd-inc=/usr/include
#make all
#make install

#make install-init
#make install-config
#make install-commandmode

注:
make install 用于安装主要的程序、CGI及HTML文件
make install-init 用于生成init启动脚本
make install-config 用于安装示例配置文件
make install-commandmode 用于设置相应的目录权限
修改/usr/local/install/nagios/etc/objects/contacts.cfg
更改nagiosadmin 的联系人定义信息中的 Email 信息为你的 Email 以接收报警内容。

验证程序是否被正确安装
切换目录到安装路径,这里是/usr/local/install/nagios,看是否存在etc、bin、 sbin、 share、 var这五个目录
#ls /usr/local/install/nagios/
bin/     etc/     sbin/   share/   var/
注;bin–Nagios执行程序所在目录,其中的nagios文件即为主程序。
etc–Nagios配置文件位置
sbin–Nagioscgi文件所在目录,也就是执行外部命令所需文件所在的目录
Share–Nagios网页文件所在的目录
var–Nagios日志文件、spid 等文件所在的目录
var/archives–日志归档目录
var/rw–用来存放外部命令文件
4、编译并安装Nagios插件
由于Nagios主程序只是提供一个运行框架,其具体监控是靠运行在其下的插件完成的,所以Nagios插件是必须安装的。
#cd  /tmp/nagios/Packages
#tar zxvf nagios-plugins-1.4.16.tar.gz
#cd nagios-plugins-1.4.16

#./configure --prefix=/usr/local/install/nagios --with-nagios-user=nagios --with-nagios-group=nagcmd
#make &&make install

#cd ..
验证Nagios插件是否正确安装
#ls /usr/local/install/nagios/libexec     #显示安装的插件文件

5、搭建 Perl 环境
#cd /tmp/nagios/Packages
#yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
#yum install -y perl-devel perl-CPAN
tar -zxvf FCGI-0.74.tar.gz
cd FCGI-0.74
perl Makefile.PL
make && make install
cd ..
安装FCGI-ProcManager
tar zxvf FCGI-ProcManager-0.24.tar.gz
cd FCGI-ProcManager-0.24
perl Makefile.PL
make && make install
cd ..
安装IO/ALL 模块
tar zxvf IO-1.25.tar.gz
cd IO-1.25
perl Makefile.PL
#make &&make install
#cd ..
tar zxvf IO-All-0.44.tar.gz
cd IO-All-0.44
perl Makefile.PL  
make &&make install
#升级MakeMaker
tar zxvf ExtUtils-MakeMaker-6.62.tar.gz
cd ExtUtils-MakeMaker-6.62
perl Makefile.PL
make &&make install

安装perl fcgi 模块
启动perl-cgi
我们使用 unix socket 来监听 perl CGI 请求并解析
cd /usr/local/install/nginx/sbin/
然后把http://addcn.googlecode.com/svn/trunk/conf/nagios/nginx-fcgi.pl
上的那段代码copy下来,新建一个nginx-fcgi.pl放在/usr/local/install/nginx/sbin下
chmod +x nginx-fcgi.pl
启动nginx-fcgi.pl
/usr/local/install/nginx/sbin/nginx-fcgi.pl-l /usr/local/install/nginx/logs/nginx-fcgi.log -pid /usr/local/install/nginx/logs/nginx-fcgi.pid-S /usr/local/install/nginx/logs/nginx-fcgi.sock


注意上面两行是一条命令.
这时候报错:
-bash: /usr/local/nginx/sbin/nginx-fcgi.pl: /usr/bin/perl^M:bad interpreter: No such file or directory
这个是文件格式的问题.
解决:
vi /usr/local/nginx/sbin/nginx-fcgi.pl
在命令模式下:
:set ff
可以看到格式是 doc
设置格式:
:set ff=unix
然后保存退出
:wq
再次执行上面的

添加nginx帐户权限
chown nagios:nagcmd /usr/local/install/nginx/logs/nginx-fcgi.sock
chown nagios:nagcmd /usr/local/install/nginx/logs/nginx-fcgi.pid
chmod 777 /usr/local/install/nginx/logs/nginx-fcgi.pid
chmod 777 /usr/local/install/nginx/logs/nginx-fcgi.sock
如果没有相关权限,访问的时候会报 502 错误.
6、配置NGINX
1)、配置Nagios Web界面登陆帐号及密码
#htpasswd –c /usr/local/install/nagios/etc/nagios passwd test
如果你没有htpasswd(这个工具由Apache安装包所提供),可在线生成需要加密数据。
a)、访问http://www.4webhelp.net/us/password.php生成需要加密数据
b)、创建加密验证文件
#vi /usr/local/install/nagios/etc/nagiospasswd
#加入生成的加密数据,冒号前是用户名,后面是加密后的密码
test:13MmxKsxRF36E


#vi /usr/local/install/nagios/etc/cgi.cfg
#以下几项中分别加入新增的用户,多用户用逗号分隔。
default_user_name=test
authorized_for_system_information=nagiosadmin,test
authorized_for_configuration_information=nagiosadmin,test
authorized_for_system_commands=nagiosadmin,test
authorized_for_all_services=nagiosadmin,test
authorized_for_all_hosts=nagiosadmin,test
authorized_for_all_service_commands=nagiosadmin,test
authorized_for_all_host_commands=nagiosadmin,test
refresh_rate=30        #nagios主页的刷新时间,我设置成30秒自动刷新


2)、修改NGINX配置,以支持WEB方式访问Nagios
将nagios下share文件链接到网站根目录,并改名为nagios。
ln -s /usr/local/install/nagios/share/usr/local/install/nginx/html/nagios
NGINX配置片断如下:
server
        {
     listen       80;
     server_name localhost;
     include  rewrite.conf;
     index  index.html index.htm index.php;
     root html/;
    auth_basic     "NagiosAccess";
    auth_basic_user_file /usr/local/install/nagios/etc/nagiospasswd;

location ~ .*\.(php|php5)?$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}

location ~.*\.(cgi|pl)?$
{
gzip off;
root /usr/local/install/nagios/sbin;
rewrite ^/nagios/cgi-bin/(.*)\.cgi/$1.cgi break;
fastcgi_pass unix:/usr/local/install/nginx/logs/nginx-fcgi.sock;
fastcgi_param SCRIPT_FILENAME /usr/local/install/nagios/sbin$fastcgi_script_name;
fastcgi_index index.cgi;
fastcgi_read_timeout 60;
fastcgi_param REMOTE_USER $remote_user;
include fastcgi.conf;
auth_basic "Nagios Access";
auth_basic_user_file /usr/local/install/nagios/etc/nagiospasswd;
}
}
7、启动服务
chkconfig --add nagios
chkconfig --level 2345 nagios on
service nagios start
/usr/local/install/nagios/bin/nagios -v /usr/local/install/nagios/etc/nagios.cfg #检验配置
/usr/local/install/nagios/bin/nagiostats #运行状态

8、安装NRPE
1)由于Nagios只能监测自己所在的主机的一些本地情况,例如,cpu负载、内存使用、硬盘使用等等。如果想要监测被监控的服务器上的这些本地情况,就要用到NRPE。NRPE(Nagios Remote Plugin Executor)是Nagios的一个扩展,它被用于被监控的服务器上,向Nagios监控平台提供该服务器的一些本地的情况。NRPE可以称为Nagios的Linux客户端。
由于NRPE是通过SSL方式在监控和被监控主机上进行数据传输的,所以必须先安装ssl相关的软件包。
#cd /tmp/nagios/Packages
#tar zxvf nrpe-2.12.tar.gz
#cd nrpe-2.12
#./configure --prefix=/usr/local/install/nagios
#make all
#make install-plugin

注:监控主机上只需要make install-plugin这一步就可以了。监控机上只要有一个check_nrpe插件用于连接被监控端nrpe的daemon就行了。
#ln -s /tmp/nagios/Packages/nrpe-2.12/src/nrpe /usr/local/install/nagios/bin/nrpe
#ln -s /tmp/nagios/Packages/nrpe-2.12/sample-config/nrpe.cfg /usr/local/install/nagios/etc/nrpe.cfg
启动NRPE
#/usr/local/install/nagios/bin/nrpe -c /usr/local/install/nagios/etc/nrpe.cfg -d
验证NRPE是否正确安装
#/usr/local/install/nagios/libexec/check_nrpe -H localhost
注:如果成功,会返回NRPE的版本号.
2)修改NRPE配置文件,让监控主机可以访问被监控主机的NRPE。
缺省NRPE配置文件中只允许本机访问NRPE的Daemon
#vi /usr/local/install/nagios/etc/nrpe.cfg
#缺省为127.0.0.1,只能本机访问
allowed_hosts=127.0.0.1,192.168.1.108
3)在commands.cfg中增加对check_nrpe的定义
# vi /usr/local/nagios/etc/objects/commands.cfg


  #'check_nrpe' command definition
define command{
       command_name    check_nrpe         # 定义命令名称为check_nrpe,在services.cfg中要使用这个名称.
       command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$       #这是定义实际运行的插件程序.
       }  

4)重启nrpe的方法
killall nrpe
#/usr/local/install/nagios/bin/nrpe -c /usr/local/install/nagios/etc/nrpe.cfg -d
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-662573-1-1.html 上篇帖子: nagios 网卡流量报警插件 下篇帖子: Nagios被监控端简单搭建
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表