上一节内容介绍了Nagios监控服务在linux环境下的安装过程,本节内容将详细介绍如何使用已经安装的Nagios服务的一些配置文件的使用以及如何监控本地相关服务,如要完成对一台主机的监控Nagios作为主程序是必不可少的,但是仅仅只要nagios也是完成不了的,以下内容简单介绍下nagios的主配置文件和对本地主机的监控

Nagios监控看那个角色配置:

监控端和被监控端的收据收集(C/S架构),监控端和用户(B/S架构)之间的数据呈现

Nagios主程序,插件包,nrpe等相关插件

一、配置文件检查

1.1 查看nagios主目录相关功能

  1. [root@XueGod63Nagios]# ll /usr/local/nagios/
  2. bin             #Nagios执行程序所在目录
  3. etc             #nagios配置文件坐在目录,初始安装只有几个*.cfg文件俺
  4. libexec         #监控所用命令,需要安装了nagios-plugins插件了才会有,检测命令,不装是空的
  5. sbin            #Nagios的Cgi文件所在目录,外部命令所需要的文件存放目录
  6. share           #Nagios前端页面
  7. var             #日志文件,pid文件等

1.2 检查配置文件是否存在错误

  1. [root@node1 ~]# /usr/local/nagios/bin/nagios -/usr/local/nagios/etc/nagios.cfg 
  2. ……………………
  3. ……………………
  4. Checking obsessive compulsive processor commands...
  5. Checking misc settings...
  6. Total Warnings: 0
  7. Total Errors:   0

配置文件无异常,警告0,错误0

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

  1. [root@node1 ~]# /usr/local/nagios/bin/nagios -/usr/local/nagios/etc/nagios.cfg

1.4 nagios.conf主要配置内容

  1. [root@node1 ~]# cat /usr/local/nagios/etc/nagios.cfg  | grep --"^#|^$"
  2. log_file=/usr/local/nagios/var/nagios.log                #日志位置
  3. cfg_file=/usr/local/nagios/etc/objects/commands.cfg      #命令文件位置
  4. cfg_file=/usr/local/nagios/etc/objects/contacts.cfg      #定义联系人
  5. cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg   #定义时间段
  6. cfg_file=/usr/local/nagios/etc/objects/templates.cfg     #定义模板(联系人主机模板)
  7. cfg_file=/usr/local/nagios/etc/objects/linehost.cfg      #监控远程主机相关配置(监控远程主机添加的配置文件)
  8. cfg_file=/usr/local/nagios/etc/objects/localhost.cfg     #监控本机相关配置
  9. object_cache_file=/usr/local/nagios/var/objects.cache    #
  10. precached_object_file=/usr/local/nagios/var/objects.precache
  11. resource_file=/usr/local/nagios/etc/resource.cfg         #资源变量配置文件,包括$USER1$变量(一个路径)
  12. status_file=/usr/local/nagios/var/status.dat 
  13. status_update_interval=10                                #状态更新时间,单位s
  14. nagios_user=nagios                                       #指定守护进程运行用户
  15. nagios_group=nagios                                      #指定进程运行用户组
  16. check_external_commands=1                                #命令检查
  17. command_check_interval=-1
  18. command_file=/usr/local/nagios/var/rw/nagios.cmd
  19. external_command_buffer_slots=4096
  20. lock_file=/usr/local/nagios/var/nagios.lock
  21. temp_file=/usr/local/nagios/var/nagios.tmp
  22. temp_path=/tmp
  23. event_broker_options=-1
  24. log_rotation_method=d                                    #日志滚动,默认天
  25. log_archive_path=/usr/local/nagios/var/archives          
  26. sleep_time=0.25
  27. service_check_timeout=60                                   #服务器检查超时时间
  28. host_check_timeout=30
  29. event_handler_timeout=30                                   
  30. notification_timeout=30
  31. ocsp_timeout=5
  32. perfdata_timeout=5
  1. [root@node1 ~]# ls /usr/local/nagios/etc/cgi.cfg                  #cgi配置文件,优先级高于nagios.cfg
  2. [root@node1 ~]# cat /usr/local/nagios/etc/cgi.cfg | grep --'^#|^$'
  3. main_config_file=/usr/local/nagios/etc/nagios.cfg               #指定Nagios的配置文件位置 
  4. physical_html_path=/usr/local/nagios/share                      #指定web访问的物理路径
  5. url_html_path=/nagios                                           #在url后加nagios方能访问
  6. show_context_help=0                                             #
  7. use_pending_states=1
  8. use_authentication=1                                            #使用认证功能
  9. use_ssl_authentication=0
  10.  
  11. authorized_for_system_information=nagiosadmin,admin             #认证用户
  12. …………

二、Nagios监控服务的健康状态

2.1 监控本地NFS服务状态

  1. [root@node1 ~]# cd /usr/local/nagios/etc/objects/
  2. [root@node1 objects]# cp localhost.cfg localhost.cfg.bak
  3.  
  4. 在文件末尾添加以下内容
  5. define service{
  6.         use                             local-service         ; Name of service template to use
  7.         host_name                       localhost
  8.         service_description             NFS
  9.         check_command                   check_tcp!2049
  10.         notifications_enabled           0
  11.         }
  12.  配置nagios.cfg主配置文件
  13.  [root@node1 objects]# vim /usr/local/nagios/etc/nagios.cfg 
  14.  cfg_file=/usr/local/nagios/etc/objects/localhost.cfg

安装和启动NFS服务器

  1. [root@node1 objects]# mkdir /nfs
  2. [root@node1 objects]# vim /etc/exports 
  3. /nfs *(rw)
  4. [root@node1 objects]# /etc/init.d/nfs restart
  5. 验证nfs
  6. [root@node1 objects]# showmount -192.168.31.101
  7. Export list for 192.168.31.101:
  8. /nfs *

检查localhost是否已经正常启用,检查nagios配置文件,如无错误,则重启nagios服务

  1. [root@node1 objects]# /usr/local/nagios/bin/nagios -/usr/local/nagios/etc/nagios.cfg 
  2. [root@node1 objects]# service nagios restart

验证

  1. [root@node1 objects]# service nfs stop
  2. [root@node1 objects]# service nfs restart

2.2 Nagios远程监控Mysql数据库状态

安装mysql服务器

[root@node1 ~]# yum -y install mysql mysql-server mysql-devel

[root@node1 ~]# service mysqld restart

[root@node1 ~]# chkconfig mysqld on

创建测试数据库

  1. mysql> create database nagiostest;
  2. mysql> grant select on nagiostest.* to nagiostest@"localhost";
  3. mysql> flush privileges;

测试

  1. [root@node1 objects]# /usr/local/nagios/libexec/check_mysql -127.0.0.1 -u nagiostest -d nagiostest
  2. Uptime: 438  Threads: 2  Questions: 11  Slow queries: 0  Opens: 15  Flush tables: 1  Open tables: 8  Queries per second avg: 0.25|Connections=4c;;; Open_files=16;;; Open_tables=8;;; Qcache_free_memory=0;;; Qcache_hits=0c;;; Qcache_inserts=0c;;; Qcache_lowmem_prunes=0c;;; Qcache_not_cached=0c;;; Qcache_queries_in_cache=0;;; Queries=11c;;; Questions=11c;;; Table_locks_waited=0c;;; Threads_connected=2;;; Threads_running=1;;; Uptime=438c;;;
  3. [root@node1 objects]#

命令添加(添加的command_name必须在/usr/local/nagios/libexec/该文件夹下存在)

  1. [root@node1 objects]# vim commands.cfg     
  2. define command{
  3.         command_name    check_mysql
  4.         command_line    $USER1$/check_mysql -H $HOSTADDRESS$ -u nagiostest -d nagiostest
  5. }
  6. [root@node1 objects]# /usr/local/nagios/bin/nagios -/usr/local/nagios/etc/nagios.cfg

无报错和警告则重启nagios服务

测试:关闭msyqld服务

  1. [root@node1 libexec]# service mysqld stop

2.3监控远程主机mysql服务及其他服务

  1. [root@node1 objects]# vim ../nagios.cfg 
  2. 新增配置监控配置文件及服务
  3. cfg_file=/usr/local/nagios/etc/objects/remodehost.cfg
  4. cfg_file=/usr/local/nagios/etc/objects/services.cfg
  5. define host{
  6.         use             linux-server
  7.         host_name       node2.cn
  8.         alias           MySQL-Serve
  9.         address         192.168.31.102
  10.         icon_p_w_picpath      server.gif
  11.         statusmap_p_w_picpath server.gd2
  12.         2d_coords       500,200
  13.         3d_coords       500,200,100
  14. }

添加监控的服务,可参考localhost.cfg配置文件相关服务配置方式进行配置

  1. [root@node1 objects]# vim services.cfg 
  2. define service{
  3.         use                     local-service
  4.         host_name               node2.cn
  5.         service_groups          MysqlGroup
  6.         service_description     MySqlSev
  7.         check_command           check_mysql
  8. }
  9. define service{
  10.         use                             local-service         ; Name of service template to u
  11. se
  12.         host_name                       node2.cn
  13.         service_description             PING
  14.         check_command                   check_ping!100.0,20%!500.0,60%
  15.         }
  16. define service{
  17.         use                             local-service         ; Name of service template to u
  18. se
  19.         host_name                       node2.cn
  20.         service_description             Root Partition
  21.         check_command                   check_local_disk!20%!10%!/
  22.         }
  23.         …………
  24. define servicegroup{
  25.         servicegroup_name       MysqlGroup
  26.         alias                   MySQLServer
  27.         members                 node2.cn,MySqlSev
  28. }

检查配置文件无错误和警告信息则重启服务

  1. [root@node1 objects]# /usr/local/nagios/bin/nagios -/usr/local/nagios/etc/nagios.cfg 
  2. [root@node1 objects]# service nagios restart

通过浏览器查看web端监控主机情况

转载于:https://blog.51cto.com/maoxiaoxiong/1980786

监控之--Nagios如何监控本地主机及本地服务的更多相关文章

  1. virtualbox虚拟机之连接本地主机同时可以连接外部网络

    如果主机需要通过ssh,ftp等方式访问linux虚拟机,是无法实现的.这个时候要实现端口互通,我们要用到VirtualBox的端口转发功能.所谓的端口转发功能,就是借助主机上虚拟出来的Virtual ...

  2. Nagios配置—添加linux主机监控

    nagios安装请参看:Nginx平台安装Nagios监控服务 下面是我添加linux监控机的过程,如有错误或者不当的地方请指出: 测试环境: 监控主机:nagios+nagios插件+nrpe+网站 ...

  3. Nagios+pnp4nagios+rrdtool 安装配置nagios被监控端NRPE配置(二)

    NRPE监控插件基础 NRPE总共由两部分组成: (1).check_nrpe插件,运行在监控主机上. (2).NRPE daemon,运行在远程的linux主机上(通常就是被监控机) 整个的监控过程 ...

  4. Nagios 系统监控基本安装配置过程详解

    Nagios 是一款免费的开源 IT 基础设施监控系统,功能强大,灵活性强,能有效监控 Windows.Linux.VMware 和 Unix 主机状态,交换机.路由器等网络设置等.一旦主机或服务状态 ...

  5. Nagios 系统监控

    Nagios 系统监控 Nagios 是一款免费的开源 IT 基础设施监控系统,功能强大,灵活性强,能有效监控 Windows.Linux.VMware 和 Unix 主机状态,交换机.路由器等网络设 ...

  6. 监控系统-nagios

    Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设备,打印机等.在系统或服务状态异常发出邮件或短信报警第一 ...

  7. 监控部署nagios+snmp

    参看是否有安装:rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel 未安装基础支持套件的先安装: yum install -y ...

  8. 2.监控利器nagios手把手企业级实战第一部

    1.   什么是Nagios?    Nagios是一款开源的网络及服务的监控工具,功能强大,灵活性强,需要注意的是,其服务端只能在linux上面安装.            Nagios可以进行分布 ...

  9. CentOS6.4 安装Nagios 并监控端口

    1.下载所需文件nagios-3.4.3.tar.gz,nagios-plugins-1.4.15.tar.gz,nrpe-2.14.tar.gz,sendEmail-v1.56.tar.gz 下载地 ...

随机推荐

  1. vector数组的相关知识

    Vector 类实现了一个动态数组.和 ArrayList 很相似,但是两者是不同的: Vector 是同步访问的. Vector 包含了许多传统的方法,这些方法不属于集合框架. Vector 主要用 ...

  2. Linux基础篇,正则表达式

    一.正则表达式特殊符号: 二.grep的用法 grep [-A|B|a|c|i|n|v] [--color=auto] '搜索字串' filename -A ===> after缩写,后面接数字 ...

  3. Flask 入门(六)

    连接数据库 任何一门后端语言都可以连接数据库,python-flask也不例外 flask利用SQLAlchemy ORM连接数据库 接下来,我门来练习如何连接数据库: 1.首先,电脑上得有mysql ...

  4. 怎么把jmeter汉化?

    1.在Jmeter 的bin目录下找到 jmeter.properties 文件 2.找到后复制一份出来用记事本打开,Ctrl+F输入 language 定位找到  #language=en  并且把 ...

  5. 搭建vue2.0开发环境及手动安装vue-devtools工具

    安装vue脚手架 1.安装node.js,如果安装成功输入 node -v ,查看node版本号,输入npm -v查看npm版本 https://nodejs.org/en/ 2.注册淘宝镜像,定制的 ...

  6. 基于mui的H5套壳APP开发web框架分享

    前言 创建一个main主页面,只有主页面有头部.尾部,中间内容嵌入iframe内容子页面,如果在当前页面进行跳转操作,也是在iframe中进行跳转,而如果点击尾部按钮切换模块.页面,那就切换ifram ...

  7. AJ学IOS(55)多线程网络之图片下载框架之SDWebImage

    AJ分享,必须精品 效果: 代码: - (NSArray *)apps { if (!_apps) { NSArray *dictArray = [NSArray arrayWithContentsO ...

  8. L14梯度消失、梯度爆炸

    梯度消失.梯度爆炸以及Kaggle房价预测 梯度消失和梯度爆炸 考虑到环境因素的其他问题 Kaggle房价预测 梯度消失和梯度爆炸 深度模型有关数值稳定性的典型问题是消失(vanishing)和爆炸( ...

  9. vue中的ref属性

    1.什么是ref? ref是用于快速定位到dom结构,vue中一般不去操作dom结构,他是数据驱动的.jQuery会疯狂操作DOM {{msg}} mounted(){ let h = this.$r ...

  10. 无序map 记录一下

    unordered_map<int ,int >mp; unordered_map是基于hash表实现的,查找元素的复杂度可以达到o(1),查找n个元素,复杂度为o(n). map是基于红 ...