热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

09linux基础服务nagios

Nagios是一款免费的开源IT基础设施监控系统,功能强大,灵活性强,能有效监控Windows、Linux、VMware和Unix主机状态

Nagios 是一款免费的开源 IT 基础设施监控系统,功能强大,灵活性强,能有效监控 Windows、Linux、VMware 和 Unix 主机状态,交换机、路由器等网络设置等。一旦主机或服务状态出现异常时,会发出邮件或短信报警第一时间通知 IT 运营人员,在恢复后发出正常的邮件或短信。Nagios 结构简单,可维护性强,提供一个可选的基于浏览器的 Web 界面,方便管理人员查看系统的运行状态,网络状态、服务状态、日志信息,以及其它异常现象。

一、nagios运行模式和优点

1、运行模式:数据收集是C/S模式,用户查看监控信息是B/S模式

2、优点: 

1:监控网路服务状态(HTTPD,FTP,SSH,MySql……)

2:监控主机资源(处理器符合,硬盘利用率……)

3:拓展,根据自己的需求实现拓展检测功能(插件开发)

4:自动日志回滚

5:能够定义网络主机的层次,允许逐级检查,就是从父主机开始向下检查

6:警告,基于状态的警告:OK,Warning(警告),critical(关键),unknown(未知)

7:可以支持并实现对主机的冗余监控

8:Web界面可以查看当前网络状态,通知,问题历史,日志文件等

二、nagios运行原理

Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。

启动Nagios后,它会周期性的自动调用插件去检测服务器状态,同时Nagios会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过web显示出来。

Nagios提供了许多插件,利用这些插件可以方便的监控很多服务状态。安装完成后,在nagios主目录下的/libexec里放有nagios自带的可以使用的所有插件,如,check_disk是检查磁盘空间的插件,check_load是检查CPU负载的,等等。每一个插件可以通过运行./check_xxx –h 来查看其使用方法和功能

三、nagios所需要的软件

LAP环境,不需要mysql

nagios-3.5.1.tar.gz                         #Nagios核心文件,Nagios服务文件,不建议用最新,很多插件没做好

nagios-plugins-2.1.1.tar.gz                #Nagios插件,用于存放脚本和命令

NSCP-0.5.0                             #也就是Nsclient++,用来监控Windows,分为64位、32位版本

nrpe-2.15.tar.gz                          #代理服务,用于监控非Nagios服务器的服务器本地私有信息代理

vautour_style.zip                          #主题包

四、部署nagios监控服务器

在部署之前,需要做好最基本的环境,包括lap环境的构建(这里直接使用yum方式安装即可,在做zabbix的时候我们需要使用我们编译的LNMP环境来做)

1、解决依赖和安装lap环境

[root@localhost ~]# rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm

[root@localhost ~]# yum clean all && yum list     

[root@localhost ~]# yum install -y gcc glibc glibc-common php gd gd-devel libpng libmng libjpeg zlib

[root@localhost ~]# yum install -y httpd ; systemctl start httpd                

2、添加nagios运行用户

[root@localhost ~]# useradd nagios  注意这里不能使用nologin的shell,nagios会用到此用户

[root@localhost ~]# groupadd nagcmd  建立一个组

[root@localhost ~]# usermod -G nagcmd nagios  将nagios和Apache用户分都加入nagcmd组中

[root@localhost ~]# usermod -G nagcmd apache

3、nagios核心安装

[root@localhost ~]# mkdir nagios  建立一个文件夹,把nagios所有相关的软件都放到此目录下

[root@localhost nagios]# ls

nagios-3.5.1.tar.gz nagios-plugins-2.1.1.tar.gz

nagios-4.2.4.tar.gz nrpe-2.15.tar.gz

[root@localhost nagios]# tar xvf nagios-3.5.1.tar.gz -C /usr/local/src/

[root@localhost nagios]# cd /usr/local/src/nagios/

[root@localhost nagios]# cd /usr/local/src/nagios/  指定nagios运行用户组,在编译完成之后会有如下的信息显示

General Options:
-------------------------
Nagios executable: nagios
Nagios user/group: nagios,nagios    #运行用户
Command user/group: nagios,nagcmd  #运行用户组
Embedded Perl: no
Event Broker: yes
Install ${prefix}: /usr/local/nagios    #默认安装到了/usr/local/nagios
Lock file: ${prefix}/var/nagios.lock
Check result directory: ${prefix}/var/spool/checkresults
Init directory: /etc/rc.d/init.d
Apache conf.d directory: /etc/httpd/conf.d  #apache的conf.d配置文件目录
Mail program: /bin/mail
Host OS: linux-gnu

Web Interface Options:
------------------------
HTML URL: http://localhost/nagios/  #登录地址
CGI URL: http://localhost/nagios/cgi-bin/
Traceroute (used by WAP):


Review the options above for accuracy. If they look okay,
type 'make all' to compile the main program and CGIs.

[root@localhost nagios]# make all  这里执行完成之后如果没有错误,就会退市安装那些东西

[root@localhost nagios]# make install && make install-init && make install-commandmode && make install-config && make install-webconf 

安装参数解释:

//make install  #安装生成/usr/local/nagios 其中/usr/local/nagios/share即nagiosweb  访问解密的站点目录

//make install-init  #安装生成/etc/rc.d/init.d/nagios启动脚本

//make install-config  #安装生成/usr/local/nagios/etc下的nagios相关配置文件

//make install-commandmode  #设定相应nagios工作目录的权限

//make install-webconf  #安装nagios的web配置文件到Apache的conf.d目录下       

到此时,安装过程就结束了       

4、生成文件介绍

在安装的时候,make install生成share这个目录,这个目录是访问界面目录:

[root@localhost nagios]# ls /usr/local/nagios/share/

config.inc.php  images     js        robots.txt        side.php

contexthelp     includes   main.php  rss-corefeed.php  ssi

docs            index.php  media     rss-newsfeed.php  stylesheets

make install-init的时候,生成启动脚本

[root@localhost Nagios]# ls /etc/init.d/nagios

/etc/init.d/nagios      #其实就是在/etc/rc.d/init.d/nagios

make install-config的时候,生成了Nagios的相关配置文件

[root@localhost Nagios]# ls /usr/local/nagios/etc/

cgi.cfg  nagios.cfg  objects  resource.cfg

#包括以后安装了plugin等软件后,配置文件也会放入此目录

resource.cfg:定义了很多资源变量的调用

make install-webconf的时候,已经把web-conf的配置文件放入了/etc/httpd/conf.d/下面

[root@localhost Nagios]# ls /etc/httpd/conf.d/nagios.conf

/etc/httpd/conf.d/nagios.conf       #里面配置了一个别名,直接引用了

/usr/local/nagios/share目录

5、nagios主目录介绍

 

[root@localhost nagios]# ll /usr/local/nagios/
总用量 4
drwxrwxr-x. 2 nagios nagios 38 8月 9 10:24 bin  #nagios执行程序所在目录
drwxrwxr-x. 3 nagios nagios 130 8月 9 10:25 etc  #nagios配置文件所在目录,初始安装只有几个*.cfg文件
drwxrwxr-x. 2 nagios nagios 6 8月 9 10:17 libexec  #监控所有命令,需要安装了nagios-plugins插件才会有,检查命令,不装是空的
drwxrwxr-x. 2 nagios nagios 4096 8月 9 10:24 sbin  #nagios的CGI文件所在目录,外部命令所需要的文件存放目录
drwxrwxr-x. 10 nagios nagios 257 8月 9 10:24 share  #Nagios前端页面
drwxrwxr-x. 5 nagios nagios 45 8月 9 10:17 var  #日志文件,pid文件等

6、认识nagios的配置文件

[root@localhost nagios]# vim /usr/local/nagios/etc/nagios.cfg

og_file=/var/log/nagios/nagios.log                        #日志位置

cfg_file=/etc/nagios/objects/commands.cfg          #这个文件定义了很多命令

cfg_file=/etc/nagios/objects/contacts.cfg                   #定义联系人,怎么联系

cfg_file=/etc/nagios/objects/timeperiods.cfg                #定义了时间段

cfg_file=/etc/nagios/objects/templates.cfg                  #模板(联系人,主机,时间)

cfg_file=/etc/nagios/objects/localhost.cfg                  #监控本机相关配置文件

#cfg_file=/etc/nagios/objects/windows.cfg                   #windows,默认不监控

#cfg_file=/etc/nagios/objects/switch.cfg                    #交换机路由器监控,默认不监控

#cfg_file=/etc/nagios/objects/printer.cfg                   #打印机监控,默认不监控

 

#cfg_dir=/etc/nagios/servers                                #定义了服务合集(多个使用)

#cfg_dir=/etc/nagios/printers                               #定义了打印机合集(多个使用)

#cfg_dir=/etc/nagios/switches                               #定义了交换合集(多个使用)

#cfg_dir=/etc/nagios/routers                                #定义了路由合集(多个使用) 

resource_file=/etc/nagios/private/resource.cfg 资源变量配置文件,包括$USER1$变量(一个路径)等

status_update_interval=10                                   #状态更新时间,单位s

log_rotation_method=d                                       #日志滚动,默认天

service_check_timeout=60                                    #服务检查超时时间

host_check_timeout=30                                   #主机检查超时时间

event_handler_timeout=30                               

notification_timeout=30

ocsp_timeout=5

perfdata_timeout=5

[root@localhost nagios]# vim /usr/local/nagios/etc/cgi.cfg   #此配置文件的优先级比nagios.cfg优先级高

main_config_file= /usr/local/nagios/etc/nagios.cfg             #主配置文件

physical_html_path= /usr/local/nagios/share          #物理路径

url_html_path=/nagios                               #URL后面加上/nagios才能访问

use_authentication=1                                #使用认证

use_ssl_authentication=0                          #不使用ssl

authorized_for_system_information=nagiosadmin       #认证用户

6、测试访问,重启Apache,然后访问IP/nagios

 

[root@localhost nagios]# systemctl restart httpd

打开会有提示输入用户名和密码的弹窗

需要用户名和密码,查看vim /etc/httpd/conf.d/nagios.conf配置文件

 

[root@localhost nagios]# vim /etc/httpd/conf.d/nagios.conf

 

Directory字段里面有Auth这三个字段,那么就可以使用htpasswd来生成用户名和密码

[root@localhost nagios]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin  #-c表示创建,二次添加用户,不能使用-c参数
New password:
Re-type new password:
Adding password for user nagiosadmin

注意:nagios 默认使用nagiosadmin来管理,如果使用其他用户名,对应的配置文件也要修改

[root@localhost nagios]# systemctl restart httpd   重启Apache

检查配置文件

nagios的目录下,bin目录下有一个nagios命令,这个命令可以帮助我们对配置文件的检查工作以及指定相关配置文件

[root@localhost Nagios]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

 -v=--verify-config 验证配置文件是否有误,着重看到下图亮点就没问题

Total Warnings:0

Total Errors:   0 

指定配置文件,以守护进程方式启动

[root@localhost Nagios]# /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

但是现在还没有做任何深入配置,所以现在只是可以登录而已!

五、安装nagios-plugins插件

为了后面的实验要求,我们点吧mysql客户端安装了

[root@localhost nagios]# yum -y install mysql mysql-devel

Nagios-plugins含有丰富的检测命令插件,安装完成之后放在了/usr/local/Nagios/libexec下面

 

[root@localhost nagios]# tar -zxvf nagios-plugins-2.1.1.tar.gz -C /usr/local/src/

[root@localhost nagios]# cd /usr/local/src/nagios-plugins-2.1.1/

[root@localhost nagios-plugins-2.1.1]# ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd

[root@localhost nagios-plugins-2.1.1]# make && make install

[root@localhost nagios-plugins-2.1.1]# ls /usr/local/nagios/libexec/  #可以看到该目录下一句有很多check的命令了
check_apt check_flexlm check_load check_nt check_real check_time
check_breeze check_ftp check_log check_ntp check_rpc check_udp
check_by_ssh check_http check_mailq check_ntp_peer check_sensors check_ups
check_clamd check_icmp check_mrtg check_ntp_time check_simap check_uptime
check_cluster check_ide_smart check_mrtgtraf check_nwstat check_smtp check_users
check_dhcp check_ifoperstatus check_mysql check_oracle check_spop check_wave
check_disk check_ifstatus check_mysql_query check_overcr check_ssh negate
check_disk_smb check_imap check_nagios check_ping check_ssmtp urlize
check_dummy check_ircd check_nntp check_pop check_swap utils.pm
check_file_age check_jabber check_nntps check_procs check_tcp utils.sh

重启nagios服务,检查环境

[root@localhost nagios-plugins-2.1.1]# systemctl restart httpd; /etc/init.d/nagios restart

浏览器测试:登陆之后,点击hosts,可以看到,默认监控的是本机,说明环境没有什么问题

六nagios监控本服务器

配置监控之前,我们需要做一系列的准备工作(指定主配置文件需要加载的配置文件—定义主机—定义服务 –定义监控命令—检查配置文件—启动Nagios)

1、监控本地NFS状态

首先安装nfs

 

[root@localhost objects]# yum -y install nfs-utils

 

[root@localhost nagios-plugins-2.1.1]# cd /usr/local/nagios/etc/objects/
[root@localhost objects]# cp localhost.cfg localhost.cfg.bak  #备份配置文件

[root@localhost objects]# vim localhost.cfg    #在配置文件最后按照模板添加如下内容

define service{
use local-service ; Name of service template to use
host_name localhost
service_description NFS
check_command check_tcp!2049
}

#在使用check命令之前,要确保下/usr/local/nagios/libexec/  目录下有没有你需要的check命令,如果有,直接调用,如果没有,检测端口来代替,检测格式:  check_tcp!端口号

 [root@localhost objects]# vim /etc/exports                         //创建一个共享

/tmp    *(rw)                 

 [root@localhost objects]# systemctl restart nfs

 [root@localhost objects]# showmount -e 192.168.0.63        //检测NFS目前是否正常

Export list for 192.168.0.63:

/tmp *

检测localhost是否正常启用

 [root@localhost objects]# grep cfg_file /usr/local/nagios/etc/nagios.cfg

cfg_file=/usr/local/nagios/etc/objects/localhost.cfg        #localhost默认已经启用了

检测配置文件是否有误

 [root@localhost objects]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Total Warnings:0

Total Errors:   0

[root@localhost objects]# /etc/init.d/nagios restart     #重启nagios服务

网页测试

以及有NFS的监控项了,稍等一会儿他正在检测

NFS以及监控成功,我们测试停到nfs看监控会不会随之变化

[root@localhost libexec]# systemctl stop nfs      //再观察这里注意,一般没回立马又显示出来状态,需要一段时间,最好最快的方法就是手动强制刷新,否则你需要等待,强制刷新,点击NFS后有一个Reschedule the next check of this service,强制刷新

 七、配置nagios监控远程MySQL数据库状态

【监控任何一台服务器,工作流程是定义主机,定义服务,定义命令】

首先准备一台服务器,ip地址为192.168.204.136  在此服务器上安装msyql 蓝色为在此服务器上操作,黑色为在nagios服务器上操作

[root@localhost ~]# yum -y install mariadb-server mariadb

[root@localhost ~]# systemctl start mariadb  

[root@localhost ~]# mysql  #登录创建一个测试数据库,并授权nagios服务器可以登录

MariaDB [(none)]> create database nagios;  
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> grant select on nagios.* to nagios@'192.168.204.128' identified by '123456';
Query OK, 0 rows affected (0.00 sec)

在nagios服务器上配置

现在主配置文件中添加一下两行,用来导入新增的配置文件

[root@localhost ~]# vim /usr/local/nagios/etc/nagios.cfg

cfg_file=/usr/local/nagios/etc/objects/hosts.cfg  #此文件用来增加远程主机的
cfg_file=/usr/local/nagios/etc/objects/service.cfg  #此文件用来定义远程主机监控服务的

[root@localhost ~]# vim /usr/local/nagios/etc/objects/hosts.cfg   创建配置文件

define host{
  use   linux-server    #使用的模板名字
  host_name    mysql.cn  #主机名
  address    192.168.204.136  #IP 地址
}

[root@localhost ~]# vim /usr/local/nagios/etc/objects/service.cfg

define service{
  use    local-service
  host_name    mysql.cn
  service_description   MySqlSev
  check_commadn   check_mysql
}

[root@localhost ~]# vim /usr/local/nagios/etc/objects/commands.cfg  #编辑定义命令的配置文件

define command{
  command_name check_mysql
  command_line $USER1$/check_mysql -H $HOSTADDRESS$ -u nagios -p 123456 -d nagios
}

在重启服务之前可以先通过检查命令来看下check_mysql是否可用,也检测下配置的检测命令是否正确

[root@localhost ~]# /usr/local/nagios/libexec/check_mysql -H192.168.204.136 -unagios -p123456 -d nagios
Uptime: 914 Threads: 1 Questions: 6 Slow queries: 0 Opens: 0 Flush tables: 2 Open tables: 26 Queries per second avg: 0.006|Connections=4c;;; Open_files=21;;; Open_tables=26;;; Qcache_free_memory=0;;; Qcache_hits=0c;;; Qcache_inserts=0c;;; Qcache_lowmem_prunes=0c;;; Qcache_not_cached=0c;;; Qcache_queries_in_cache=0;;; Queries=7c;;; Questions=6c;;; Table_locks_waited=0c;;; Threads_connected=1;;; Threads_running=1;;; Uptime=914c;;;

注意:所有的check_command字段中的所使用的命令,必须在command.cfg中定义好才能使用,而command.cfg中的command_line中使用的命令,必须在/usr/local/Nagios/libexec/目录下存在,安装plugins会生成

手动检测command.cfg的命令有效性

注意:服务器要安装了mysql客户端软件,然后再重新编译安装下plugins 才会生成check_mysql  yum install mysql mysql-devel

现在重启nagios服务,然后网页上看下是否添加成功

 

定义监控web服务:

 

先手动测试下:/usr/local/nagios/libexec/check_tcp -H192.168.0.64 -p 80

[root@localhost objects]# vim hosts.cfg

define host{

        use          linux-server

        host_name    xuegod64.cn

        address     192.168.0.64

}   

##上面已经定义过mysql的主机,此处无需再定义

 

 [root@localhost objects]# vim service.cfg

define service{

        use                     local-service

        host_name             xuegod64.cn

        service_description    Nginx

        check_command       check_nginx

}

 [root@localhost objects]# vim commands.cfg

define command{

        command_name    check_nginx

        command_line    $USER1$/check_tcp -H $HOSTADDRESS$ -p 80

}

 

[root@localhost objects]#/etc/init.d/nagios restart  #重启测试监控nginx 

八、nrpe插件

8.1nagios监控外部主机私有信息

私有信息,包饭默认的硬盘使用,进程数目,SWAP分区等等

私有信息,就是我需要再本机登录操作登录的

非私有,就可以通过远程的方式

只有监控私有信息的时候,才调用NRPE这个插件来通信

8.2nrpe插件

通过nrpe服务可以添加本地信息的监控,将数据发送到我们nagios服务器

nrpe分两部分组成,一部分是监控机check_nrpr,一部分是被监控机的nrpe守护进程

nagios服务器执行check_nrpe插件并告诉他检查哪个服务,check_nrpe插件通过SSL连接方式联系远程服务器上的NRPE守护进程,NRPE守护进程执行相应的插件完成指定的检测,并返回结果。

8.3nrpe工作原理

nrpe是基于SSL的机制,那么我们需要做的时间就是构建SSL环境,所以需要使用NRPE工作的时候,都需要安装ssl,而且服务端和客户端都需要安装NRPE软件,而我们客户端不需要装nagios服务端

客户端的NRPE安装

1)安装nagios-plugins插件

2)安装nrpe

3)配置我们xinted服务,允许谁来拿数据

4)启动xinetd

5)查看端口是否正常启动

解决依赖,客户端和服务端都需要安装

yum install -y openssl openssl-devel

服务端安装

[root@localhost nagios]# tar xvf nrpe-2.15.tar.gz -C /usr/local/src/

[root@localhost ~]# cd /usr/local/src/nrpe-2.15/

[root@localhost nrpe-2.15]# ./configure

[root@localhost nrpe-2.15]# make && make install

[root@localhost nrpe-2.15]# make install-plugin

[root@localhost nrpe-2.15]# make install-daemon

前者安装插件,后者以守护进程来允许

[root@localhost nrpe-2.15]# ls /usr/local/nagios/libexec/check_nrpe
/usr/local/nagios/libexec/check_nrpe    #这个命令需要安装nrpe之后才有

客户端安装

[root@localhost src]# useradd -s /sbin/nologin nagios

[root@localhost src]# groupadd nagcmd

[root@localhost src]# usermod -G nagcmd nagios

[root@localhost src]# yum -y install xinetd

[root@localhost src]# tar xvf nagios-plugins-2.1.1.tar.gz

[root@localhost src]# cd nagios-plugins-2.1.1

[root@localhost nagios-plugins-2.1.1]# ./configure

[root@localhost nagios-plugins-2.1.1]# make && make install

[root@localhost src]# tar -zxvf nrpe-2.15.tar.gz

[root@localhost src]# cd nrpe-2.15

[root@localhost nrpe-2.15]# make && make install

[root@localhost nrpe-2.15]# make install-daemon-config    #这里是客户端,不用make-install-plugin

[root@localhost nrpe-2.15]# make install-xinetd

[root@localhost nrpe-2.15]# vim /etc/xinetd.d/nrpe

# default: on
# description: NRPE (Nagios Remote Plugin Executor)
service nrpe
{
flags = REUSE
socket_type = stream
port = 5666
wait = no
user = nagios
group = nagios
server = /usr/local/nagios/bin/nrpe
server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd
log_on_failure += USERID
disable = no
only_from = 127.0.0.1 192.168.204.128    #添加nagios服务器地址,徐云63这台机器来连接自己的nrpe服务,多个地址IP地址空格分开
}

[root@localhost nrpe-2.15]# echo "nrpe 5666/tcp #NRPE">>/etc/services    #注册端口,向服务器说明我要用5666这个端口,不要把这个端口分配给别人了

注:

 

nrpe            5666/tcp                # NRPE

#/etc/services文件的作用:

#作用1:xinet.d来启动服务时他就会在/etc/services找相应服务对应的端口来启动服务。找不到对应端口,将不启动服务。

#作用2: 显示对应端口对应的协议名。

#例如 iptables  -L  不加-n参数,   查看时,把 80   -> www  http

#作用3:查看常用端口

 

[root@localhost nrpe-2.15]# systemctl restart xinetd   #启动服务

[root@localhost nrpe-2.15]# netstat -antup | grep 5666
tcp6 0 0 :::5666 :::* LISTEN 42666/xinetd

配置客户端nrpe命令

[root@localhost nrpe-2.15]# vim /usr/local/nagios/etc/nrpe.cfg

command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 38% -c 35% -p /dev/sda1

command[check_sda2]=/usr/local/nagios/libexec/check_disk -w 42% -c 43% -p /dev/sda2

command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%

#-w为警告 -C为告急  sda2中,我们是指剩余42%

 

[root@localhost nrpe-2.15]# systemctl restart xinetd

在服务端手动测试下命令是否可用

[root@localhost libexec]# ./check_nrpe -H192.168.204.136
NRPE v2.15
[root@localhost libexec]# /usr/local/nagios/libexec/check_nrpe -H192.168.204.136 -c check_sda1
DISK OK - free space: / 15797 MB (90% inode=99%); /dev 474 MB (100% inode=99%); /dev/shm 486 MB (100% inode=99%); /run 478 MB (98% inode=99%); /sys/fs/cgroup 486 MB (100% inode=99%); /boot 881 MB (86% inode=99%); /run/user/0 97 MB (100% inode=99%);| /=1596MB;17394;;0;17394 /dev=0MB;474;;0;474 /dev/shm=0MB;486;;0;486 /run=7MB;486;;0;486 /sys/fs/cgroup=0MB;486;;0;486 /boot=132MB;1014;;0;1014 /run/user/0=0MB;97;;0;97

然后定义监控主机

[root@localhost libexec]# vim /usr/local/nagios/etc/objects/hosts.cfg

define host{
use linux-server
host_name mysql.cn
address 192.168.204.136
}

我们现在还是监控的是136的这个机器,所以这里信息不用改,如果定义新的机器,则需要重新定义

定义需要监控的服务

[root@localhost libexec]# vim /usr/local/nagios/etc/objects/service.cfg

define service{
use local-service
host_name mysql.cn
service_description sda2_Partition
check_command check_nrpe!check_sda2
}
define service{
use local-service
host_name mysql.cn
service_description Total Processes
check_command check_nrpe!check_total_procs
}
define service{
use local-service
host_name mysql.cn
service_description Current Load
check_command check_nrpe!check_load
}

#分别是监测分区,进程总数,负载

定义NRPE监控命令

[root@localhost libexec]# vim /usr/local/nagios/etc/objects/commands.cfg

define command{
command_name check_nrpe
command_name $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

#$ARG1$ 表示调用后面的参数。

 

转:https://www.cnblogs.com/hackerlin/p/11325317.html



推荐阅读
  • Linux一键安装web环境全攻略
    摘自阿里云服务器官网,此处一键安装包下载:点此下载安装须知1、此安装包可在阿里云所有Linux系统上部署安装,此安装包包含的软件及版本为& ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • PHP组合工具以及开发所需的工具
    本文介绍了PHP开发中常用的组合工具和开发所需的工具。对于数据分析软件,包括Excel、hihidata、SPSS、SAS、MARLAB、Eview以及各种BI与报表工具等。同时还介绍了PHP开发所需的PHP MySQL Apache集成环境,包括推荐的AppServ等版本。 ... [详细]
  • 0x00端口渗透端口扫描端口的指纹信息(版本信息)端口所对应运行的服务常见的默认端口号.尝试弱口令端口爆破hydra端口弱口令NTScanHs ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • 网络安全是一个非常重要的课题,基本上你运行的服务后台越多,你就可能打开更多的安全漏洞.如果配置的恰当的话,Linux本身是非常安全可靠的,假使在Linux系统中有某个安全缺陷,由于Linu ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
author-avatar
泄漏磁的_956
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有