kidys 发表于 2019-1-16 06:23:12

centos 5.5 nginx nagios监控端和被控端安装配置指南

一、nagios监控端安装1. nagios安装# wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.2.tar.gz  # tar zxvf nagios-3.2.2.tar.gz
  # cd nagios-3.2.2
  # useradd -m -s /bin/bash nagios
  # groupadd nagios
  # usermod -G nagios nagios
  # groupadd nagcmd
  # usermod -a -G nagcmd nagios
  # usermod -a -G nagcmd www
  # ./configure --prefix=/data/nagios --with-command-group=nagcmd
  # make
  # make all
  # make install
  # make install-init   # 生成init启动脚本
  # make install-config   # 安装示例配置文件
  # make install-commandmode   # 设置相应的目录权限
2. nagiox插件安装# wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gz  # tar zxvf nagios-plugins-1.4.15.tar.gz
  # cd nagios-plugins-1.4.15
  # ./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/data/nagios
  # make
  # make install
3. nrpe安装# tar zxvf nrpe-2.12.tar.gz  # cd nrpe-2.12
  # ./configure
  # make all
  # cp src/check_nrpe /data/nagios/libexec/
4. 配置  # 加入系统服务并设为开机自动
  # chkconfig --add nagios
  # chkconfig nagios on
# mkdir /data/nagios/var/rw  # chown nagios.nagios /data/nagios/var/rw
# 测试配置文件可用  # /data/nagios/bin/nagios -v /data/nagios/etc/nagios.cfg
# 取消用户认证(方便调试)  # vi /data/nagios/etc/cgi.cfg
  找到use_authentication=1并把值改为0
# 修改联系人邮箱  # vi /data/nagios/etc/objects/contacts.cfg
# 定义check_nrpe命令  # vi /data/nagios/etc/objects/commands.cfg
1234define command{ command_name check_nrpe command_line /data/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }# 启动服务  # service nagios start
5. nginx 配置Nginx 的 cgi 支持参见 Nginx fastcgi perl (pl、cgi)支持0102030405060708091011121314151617181920212223242526272829303132333435363738394041424344server {   listen       88;   server_name_;       location / {         root   /data/nagios/share;         indexindex.html index.htm index.php;   }       location ~ .*.(php|php5)?$   {       root /data/nagios/share;       fastcgi_pass127.0.0.1:9000;       fastcgi_index index.php;       include fcgi.conf;   }       location /nagios {         alias /data/nagios/share;   }       location /cgi-bin/images {         alias /data/nagios/share/images;   }       location /cgi-bin/stylesheets {         alias /data/nagios/share/stylesheets;   }       location /cgi-bin {         alias /data/nagios/sbin;   }       location ~ .*.(cgi|pl)?$   {       gzip off;       root   /data/nagios/sbin;       rewrite ^/nagios/cgi-bin/(.*).cgi /$1.cgi break;       fastcgi_passunix:/data/nginx/logs/perl-fcgi.sock;       fastcgi_index index.cgi;       include fcgi.conf;       fastcgi_read_timeout   60;   } }二、nagios被控端安装配置yum install opensll-devel1. nagios-plugins安装# groupadd nagios  # useradd nagios -M -s /sbin/nologin -g nagios
  # tar zxvf nagios-plugins-1.4.15.tar.gz
  # cd nagios-plugins-1.4.15
  # ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-gourp=nagios && make && make install
2. nrpe安装# tar zxvf nrpe-2.12.tar.gz  # cd nrpe-2.12
  # ./configure --prefix=/usr/local/nagios && make && make install
3. 配置启动# mkdir -p /usr/local/nagios/etc  # cp sample-config/nrpe.cfg /usr/local/nagios/etc/
  # vi /usr/local/nagios/etc/nrpe.cfg
  修改 allowed_hosts 值为监控端的IP
# 启动nrpe  /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
三、监控应用1. 监控Squid下载check_squid脚本,将压缩包里的check_squid解压缩到监控端的/data/nagios/libexec 里# 修改权限  # chmod 755 /data/nagios/libexec/check_squid
# 安装脚本执行的依赖perl模块  # yum -y install perl-libwww-perl
check_squid命令参数Usage: url urluser urlpass proxy proxyport proxyuser proxypass expectstatus  url squid dst站点域名 如:http://www.xtgly.com
  urluser 目标站点需要认证登录的用户名, 符号"-"代表没有
  urlpass 目标站点需要认证登录的用户密码, 符号"-"代表没有
  proxy squid cache服务器的IP地址或者域名
  proxyport Squid cache服务器监听的端口,默认3128
  proxyuser squid cache服务器需要认证登录的用户名, 符号"-"代表没有
  proxypass squid cache服务器需要认证登录的用户名, 符号"-"代表没有
  expectstatus HTTP协议返回的HTTP code, 符号"2"代表从2开始
# 测试  # /data/nagios/libexec/check_squid http://www.xtgly.com - - 74.82.*.* 80 - - 2
  OK - Status: 200 OK
# nagios监控端配置  # vi /data/nagios/etc/objects/commands.cfg 加入
1234define command { command_name check_squid command_line $USER1$/check_squid $ARG1$ $ARG2$ $ARG3$ $HOSTADDRESS$ $ARG4$ $ARG5$ $ARG6$ $ARG7$ }# vi /data/nagios/etc/objects/hosts.cfg 加入010203040506070809101112131415161718define host{ use                     linux-server host_name               74.82.*.* alias                   74.82.*.* address               74.82.*.* } define hostgroup{ hostgroup_name          CDN alias                   CDN Servers members               74.82.*.* } define service{ use                     generic-service host_name               74.82.*.* service_description   Squid check_command         check_squid!http://www.xtgly.com!-!-!80!-!-!2 notifications_enabled   0 }  2.监控mysql
  添加数据库监控帐号密码

  mysql> CREATE USER 'jk'@'127.0.0.1'>  mysql> flush privileges;
  # vi /data/nagios/etc/objects/commands.cfg 加入
1234define command{command_name check_mysqlcommand_line $USER1$/check_mysql -H $ARG1$ -P $ARG2$ -u $ARG3$ -p $ARG4$ }  # vi /data/nagios/etc/objects/hosts.cfg 加入
010203040506070809101112131415161718define host{use                     linux-serverhost_name               74.82.*.*alias                   74.82.*.*address               74.82.*.*} define hostgroup{hostgroup_name          74.82.*.*alias                   DirectAdminmembers               74.82.*.*} define service{use                     generic-servicehost_name               74.82.*.*service_description   mysqlcheck_command         check_mysql!74.82.*.*!3306!ptjk!ptjk3310000notifications_enabled   0 }  3.监控apache状态
  apache服务端添加状态显示
12345SetHandler server-status Order deny,allow Deny from all Allow from localhost  nagios服务端操作
  # 安装终端web浏览器
  # yum install lync
  # 下载check_apachestatus,并放至/data/nagios/libexec目录下
  # cd /data/nagios/libexec
  # wget http://exchange.nagios.org/components/com_mtree/attachment.php?link_id=1376&cf_id=24
  # mv check_apachestatus.pl check_apachestatus (如果nagios不在/usr/local目录下,注意修改这个脚本里的路径)
  # chown nagios:nagios check_apachestatus
  # chmod 755 check_apachestatus
  # vi /data/nagios/etc/objects/commands.cfg 加入
1234define command{ command_name check_apachestatus command_line $USER1$/check_apachestatus -H $HOSTADDRESS$ -p $ARG1$ }  # vi /data/nagios/etc/objects/hosts.cfg 加入
1234567define service{ use                     generic-service host_name               74.82.*.* service_description   http check_command         check_apachestatus!81 notifications_enabled   1 }  4.监控rsync
  # 下载脚本check_rsync,放至/data/nagios/libexec,注意脚本里的nagios路径需要修改
  # cd /data/nagios/libexec
  # wget http://exchange.nagios.org/components/com_mtree/attachment.php?link_id=307&cf_id=29
  # chown nagios:nagios check_rsync
  # chmod 755 check_rsync
  # vi /data/nagios/etc/objects/commands.cfg 加入
1234define command{ command_name check_rsync command_line $USER1$/check_rsync -H $HOSTADDRESS$ -p $ARG1$ }  # vi /data/nagios/etc/objects/hosts.cfg 加入
1234567define service{ use                     generic-service host_name               74.82.*.* service_description   rsync check_command         check_rsync!873 notifications_enabled   1 }  5.监控nginx
  # nginx服务端添加状态显示
12345678server { listen 84; server_name _; location / { stub_status on; access_log off; } }  # 下载check_nginx,并放至/data/nagios/libexec目录下
  # cd /data/nagios/libexec
  # wget http://www.nginxs.com/download/check_nginx
  # chown nagios:nagios check_nginx
  # chmod 755 check_nginx
  # vi /data/nagios/etc/objects/commands.cfg 加入
1234define command{ command_name check_nginx command_line $USER1$/check_nginx -U $ARG1$ }  # vi /data/nagios/etc/objects/hosts.cfg 加入
1234567define service{ use                     generic-service host_name               74.82.*.* service_description   http check_command         check_nginx!74.82.*.*:84 notifications_enabled   1 }  四、nagios cacti npc 整合 (注意php要支持pho-mysql)
# wget http://downloads.sourceforge.net/project/nagios/ndoutils-1.x/ndoutils-1.4b9/ndoutils-1.4b9.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fnagios%2Ffiles%2Fndoutils-1.x%2Fndoutils-1.4b9%2F&ts=1304223824&use_mirror=nchc  # tar zxvf ndoutils-1.4b9.tar.gz
  # cd ndoutils-1.4b9
  # vi include/config.h
  找到261行
12#include #include  修改为
12#include #include   # ./configure --enable-mysql --disable-pgsql --with-mysql=/data/mysql --with-mysql-lib=/data/mysql/lib
  # make
  # cp src/ndomod-3x.o /data/nagios/bin/ndomod.o
  # cp src/ndo2db-3x /data/nagios/bin/ndo2db
  # cp src/log2ndo /data/nagios/bin
  # cp src/file2sock /data/nagios/bin
  # cp config/ndomod.cfg-sample /data/nagios/etc/ndomod.cfg
  # cp config/ndo2db.cfg-sample /data/nagios/etc/ndo2db.cfg
  # chown -R nagios:nagios /data/nagios/
  # vi /data/nagios/etc/ndomod.cf 主要修改路径,本例如下:
01020304050607080910111213instance_name=default output_type=tcpsocket output=127.0.0.1 tcp_port=5668 use_ssl=0 output_buffer_items=5000 buffer_file=/data/nagios/var/ndomod.tmp file_rotation_interval=14400 file_rotation_timeout=60 reconnect_interval=15 reconnect_warning_interval=15 data_processing_options=-1 config_output_options=2  # vi /data/nagios/etc/ndo2db.cfg 主要修改mysql帐号密码,本例如下:
010203040506070809101112131415161718192021222324lock_file=/data/nagios/var/ndo2db.lock ndo2db_user=nagios ndo2db_group=nagios socket_type=tcp socket_name=/data/nagios/var/ndo.sock tcp_port=5668 use_ssl=0 db_servertype=mysql db_host=localhost db_port=3306 db_name=cacti db_prefix=npc_ db_user=root db_pass=iammysql max_timedevents_age=1440 max_systemcommands_age=10080 max_servicechecks_age=10080 max_hostchecks_age=10080 max_eventhandlers_age=44640 max_externalcommands_age=44640 debug_level=-1 debug_verbosity=2 debug_file=/data/nagios/var/ndo2db.debug max_debug_file_size=1000000  # vi /data/nagios/etc/nagios.cfg 添加以下内容
12345check_external_commands=1 command_check_interval=-1 event_broker_options=-1 broker_module=/data/nagios/bin/ndomod.o config_file=/data/nagios/etc/ndomod.cfg process_performance_data=1  # ln -s /data/mysql/lib/mysql/libmysqlclient.so.16 /usr/lib/
  # 启动ndo2db
  # /data/nagios/bin/ndo2db -c /data/nagios/etc/ndo2db.cfg
NPC安装  # cd /tmp
  # wget http://www.constructaegis.com/downloads/npc-2.0.4.tar.gz
  # tar zxvf npc-2.0.4.tar.gz
  # mv npc /data/nginx/html/cacti/plugins/
  # chown -R www:www /data/nginx/html/
以admin登录cacti,在Plugin Management安装并启用npc插件.进入mysql的cacti数据库,执行以下语句:12345678ALTER TABLE `npc_hostchecks` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`; ALTER TABLE `npc_hoststatus` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`; ALTER TABLE `npc_servicechecks` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`; ALTER TABLE `npc_servicestatus` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`; ALTER TABLE `npc_statehistory` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`; ALTER TABLE `npc_eventhandlers` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`; ALTER TABLE `npc_systemcommands` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`; ALTER TABLE `npc_notifications` ADD COLUMN `long_output` varchar(8192) NOT NULL default '' AFTER `output`;
页: [1]
查看完整版本: centos 5.5 nginx nagios监控端和被控端安装配置指南