监控之--Nagios如何监控本地主机及本地服务

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

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

Nagios监控看那个角色配置:

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

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

一、配置文件检查

1.1 查看nagios主目录相关功能

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

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

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

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

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

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

1.4 nagios.conf主要配置内容

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

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

2.1 监控本地NFS服务状态

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

 安装和启动NFS服务器

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

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

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

验证

1
2
[root@node1 objects] # service nfs stop
[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
2
3
mysql> create database nagiostest;
mysql> grant  select  on nagiostest.* to nagiostest@ "localhost" ;
mysql> flush privileges;

测试

1
2
3
[root@node1 objects] # /usr/local/nagios/libexec/check_mysql -H 127.0.0.1 -u nagiostest -d nagiostest
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;;;
[root@node1 objects] #

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

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

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

测试:关闭msyqld服务

1
[root@node1 libexec] # service mysqld stop

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

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

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

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

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

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

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



本文转自 CARYFLASH 51CTO博客,原文链接:http://blog.51cto.com/maoxiaoxiong/1980786


相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
6月前
|
监控 网络协议 Unix
zabbix通过agent客户端监控主机
zabbix通过agent客户端监控主机
|
监控 网络协议 网络安全
|
监控 测试技术 PHP