监控服务之nagios服务

监控服务之nagios服务搭建

Nagios是一款开源的监控软件,与cacti,zabbix等开源监控软件并驾齐驱,它能够有效监控windows,linux,unix,交换机和路由器的主机状态和相关运行的服务,在系统或者服务异常时发出邮件或者短信报警,通知运维人员解决问题。ngios本身并没有监控功能,他是通过nagios-plugin插件完成的,插件将结果返回给nagios,然后nagios再以web界面的方式将信息呈现出来,出错了就告警,通过轻量级服务nrpe和nagios-plugin可以实现对远程服务器主机状态和网络服务的监控。

准备材料:

nagios-cn-3.2.3.tar.bz2    nagios-plugins-2.1.1.tar.gz   gd-devel-2.0.35-11.el6.x86_64.rpm

步骤:

第一步:(nagios服务安装)   --server端

#yum  install  -y  gcc  gcc-c++ 编译环境

#yum  install -y gd-devel-2.0.35-11.el6.x86_64.rpm 解决nagios服务的依赖项。

#yum  install -y httpd  安装apache服务

#/etc/init.d/httpd start

#groupadd  nagcmd  新建nagcmd组,主要是方便后续文件的访问

#useradd  -M -d  /usr/local/nagios  -G nagcmd   nagios

#usermod  -G nagcmd  apache 添加apache用户到nagcmd组里面,方便访问

#tar  -jxf  nagios-cn-3.2.3.tar.bz2  解压文件

#./configure  --with-command-group=nagcmd  配置文件,指定命令组为nagcmd

#make all     编译

#make install        安装

#make install-init

#makeinstall-commandmode

#makeinstall-config

#makeinstall-webconf

#vim /etc/hosts

172.25.45.20 server20.example.com  (真机,便于解析)

#/etc/init.d/nagios start    nagios服务启动

#/etc/init.d/httpdrestart  (注意:此时apache服务一定要重起,否则web页面无法访问,重起的目的是加载nagios服务的一些配置文件)

#Firefox--->172.25.10.100/nagios

第二步:(nagios插件的安装)  --server端

#tar  zxf  nagios-plugins-2.1.1.tar.gz

#yum  install -y  mysql-devel  openssl-devel    进行数据传输加密的依赖项

#cd  nagios-plugins-2.1.1

#./configure  ----> make ----->  make install  源码编译三部曲

#cd   /usr/local/nagios/libexec/

#chown  nagios.nagios  *  -R  将libexec里面的文件用户与用户组全部更改为nagios.nagios

#/usr/local/nagios/bin/nagios -v  /usr/local/nagios/etc/nagios.cfg  检查nagios主配置文件有没有语法错误。

/etc/init.d/nagiosreload    没有语法错误,则进行重起

#Firefox  -->  172.25.45.20/nagios   刷新网页,则能检测相应的数据并且进行监控。

第三步:nagios服务的配置(因为以上那些监控项及服务不是我们需要的,因此我们需要进行私有定制,这就是nagios的优势所在,并且可以随时添加其他的主机和监控的服务)

# cd/usr/local/nagios/etc/

#vim nagios.cfg

34 cfg_file=/usr/local/nagios/etc/objects/hosts.cfg

35 cfg_file=/usr/local/nagios/etc/objects/services.cfg

38#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg

注销38行,其实是将38行一分为2,也就是上面添加的两行,hosts.cfg和services.cfg文件,使得添加用户和服务分开进行,更加方便。

图:

# cd  /usr/local/nagios/etc/objects/

# cp  localhost.cfg  hosts.cfg -p

#cp  localhost.cfg  services.cfg -p   (此处注意复制时一定要保持用户其用户组均不变,也就是nagios.nagios)

#vim hosts.cfg          配置host.cfg文件

25 define host{         ###设置为本地主机

26           use        linux-server

27        host_name    server20.example.com

28        alias        HomeSwitch

29        address      172.25.45.20

30        icon_image     switch.gif

31        statusmap_image  switch.gd2

32         2d_coords     100,200

33        3d_coords      100,200,100

34         }

46 define hostgroup{

47        hostgroup_name  linux-servers

48        alias         Linux Servers

49         members       *  ##成员指任何主机

50         }

#vim services.cfg

1 defineservicegroup{

2         servicegroup_name 系统负荷检查

3         alias 负荷检查

4         members server20.example.com,进程总数,server20.example.com,登录用户数,server20.example.com,根分区,server20.example.com,交换空间利用率

5         }

注意:前面关于hosts和hostsgroup全部删掉,只剩下一个servergroup 和services ,且进行全文替换:

“:%s/田朝阳家用机电/server20.example.com/g”

#/usr/local/nagios/bin/nagios -v  /usr/local/nagios/etc/nagios.cfg 语法检查

#/etc/init.d/nagiosreload

#firefox  --> 172.25.45.20/nagios  刷新页面

######cd libexec/--> ./check_disk -w 20 -c 10

第四步:监控客户端的运行主机的网络服务及主机资源 --> client端

资料: nrpe-2.15.tar.gz   nagios-plugins-2.1.1.tar.gz

(一) 对mysql服务的监控   server2.example.com   ip 172.25.45.3

#yum install -ymysql-server       安转数据库

#/etc/init.d/mysqld   start             启动数据库

#mysql_secure_installation              数据库初始化

#mysql -uroot-predhat            登陆数据库

> create database nagdb;        创建nagdb库

> grant all on nagdb.* to [email protected] by ‘westos‘;  授权并建立用户nagios;

>quit

# netstat-antlpe     查看数据库端口有没有打开;

####在server端进行验证以及相应mysql服务监控的配置;

#cd  /usr/local/nagios/libexec

#  ./check_mysql -H 172.25.45.3  -u nagios  -p westos  进行验证,看能否有数据过来。或者使用远程登陆数据库;

(或者 # mysql -h  172.25.45.3  -u nagios  -p  westos )

# cd   /usr/local/nagios/etc/objects        #添加check_mysql命令

# vim  command.cfg

##### ‘check_mysql‘ command definition

215 define command{

216    command_name    check_mysql

217    command_line   $USER1$/check_mysql   -H$HOSTADDRESS$  -u  $ARG1$  -p  $ ARG2$

218        }

# vim  hosts.cfg           ####添加主机 ip为172.25.45.3

36define host{         ###且主机名为server2.example.com

37        use                         linux-server

38        host_name     server2.example.com

39        alias        HomeSwitch

40        parents       server20.example.com

41        address       172.25.45.3

42        icon_image     switch.gif

43        statusmap_image  switch.gd2

44        2d_coords      200,200

45        3d_coords      200,200,100

46        }

# vim  services.cfg              ###添加监控的服务--MYSQL

112 define service{

113        use          local-service

114        host_name       server2.example.com

115        service_description     MYSQL

116        check_command    check_mysql!nagios!westos

117         }

注意:此处的check_mysql后面跟的是mysql的用户名和密码;

119 define service{

120        use         local-service

121        host_name     server2.example.com

122        service_description     交换空间利用率

123        check_command       check_local_swap!20!10

124         }

# /usr/local/nagios/bin/nagios  -v  /usr/local/nagios/etc/nagios.cfg

#/etc/init.d/nagios   reload

Firefox  ----> 172.25.45.20/nagios    刷新

(二) 对客户主机资源的监控  server2.example.com   ip 172.25.45.3

A.客户端配置

# tar  zxf  nagios-plugins-2.1.1.tar.gz

# yum  install -y  gcc  gcc-c++     ###编译软件,不然无法编译。

# yum  install -y  mysql-devel  openssl-devel

# useradd  -M  -d  /usr/local/nagios   nagios   建立用户nagios 并制定用户家目录为:/usr/local/nagios

#cd  nagios-plugins-2.1.1         ###源码编译三部曲

# ./configure   --> make all  --> make  install

# cd  /usr/local/nagios/

# chown  nagios.nagios .  –R     ##更改文件的用户及用户组

# tar  zxf  nrpe-2.15.tar.gz

# cd   nrpe-2.15

# yum  install -y   xinetd

注:xinetd是新一代的网络守护进程服务程序,又叫超级Internet服务器,常用来管理多种轻量级Internet服务,Xinetd是基于服务的超级服务,用来管理和保护轻量级服务,此处就是用来保护nrpe服务的,防止DOS攻击。

##对nrpe服务进行编译安装。

# ./configure  --> # make  all

# makeinstall-plugin  --> # makeinstall-daemon -->

# makeinstall-daemon-config  --> # makeinstall-xinetd

#/etc/init.d/xinetdstart

# vim  /etc/xinetd.d/nrpe

15 only_from       =172.25.45.20  只允许此ip 取数据。

#vim  /etc/services

22  nrpe            5666/tcp    添加nrpe服务端口5666

#netstat  -antlpe    查看端口号5666;

# cd  /usr/local/nagios/libexec

# scp  check_nrpe [email protected]:/usr/local/nagios/libexec/

#/etc/init.d/xinetd   restart      服务重起

B服务器端配置

#cd  /usr/local/nagios/libexec

#chown  nagios.nagios check_nrpe   传过来的文件用户及组需要改成nagios.nagios

#./check_nrpe      -H 172.25.45.3 -c check_disk   进行验证是否有数据返回过来。

配置server服务器的command.cfg  services.cfg hosts.cfg 文件,使服务器能取得客户端的数据并能通过WEB界面监控显示出来。

#cd  /usr/local/nagios/etc/objects

# vim  command.cfg

#####‘check_nrpe‘ command definition

222 define command{

223    command_name    check_nrpe

224     command_line    $USER1$/check_nrpe  -H $HOSTADDRESS$   -c  $ARG1$

225     }

#vim   hosts.cfg  :由于之前已经加入了此ip的主机,故此处不用添加,要是添加其他ip主机,则方法和之前类似。

# vim  services.cfg

120 define service{

121      use         local-service

122      host_name   server2.example.com

123      service_description   根分区

124      check_command    check_nrpe!check_disk

125        }

127 define service{

128        use            local-service

129        host_name      server2.example.com

130        service_description   登陆用户数

131        check_command   check_nrpe!check_users

132        }

#/usr/local/nagios/bin/nagios  -v  /usr/local/nagios/etc/nagios.cfg

#/etc/init.d/nagios   reload

# Firefox   172.25.45.20/nagios    刷新网页

图:

第五步:添加告警功能(110云告警:短信,电话,邮件)

请看下回,110云告警功能。

时间: 2024-11-02 13:04:46

监控服务之nagios服务的相关文章

SECURITY 04: Nagios监控实战 、 监控概述 、 Nagios监控服务

抓包: tcpdump 选项 过滤条件协议分析软件 : wireshark 搭建CA服务器: CA 配置CA服务的过程:192.168.4.55 ca.tedu.cn tarena1 部署证书签发环境:/etc/pki/tls/openssl.conf 工作目录 证书存放目录私钥文件名 根证书文件名证书编号文件证书索引文件证书识别: 国家 省 城市 公司 部门 匹配策略: 2 创建私钥文件名: 命令 存储目录 文件名3 创建根证书文件名:命令 存储目录 文件名输入:国家 省 城市 公司 部门 邮

nagios 服务端与客户端监控安装与详细配置,各配置文件详解

nagios 安装与部署------ 1.安装前准备 (1)创建nagios用户和用户组   [[email protected] ~]#groupadd nagios               useradd nagios                      useradd -G nagios nagios               usermod -G nagios apache [[email protected] ~]#mkdir /usr/local/nagios   [[e

一件自动化安装nagios服务

声明 作者:昨夜星辰 博客:http://yestreenstars.blog.51cto.com/ 本文由本人创作,如需转载,请注明出处,谢谢合作! 目的 一键自动化安装nagios服务. 环境 OS: CentOS 6.2 32 nagios: 4.0.7 nagios-plugins: 2.0.3 nrpe: 2.15 配置 #!/bin/bash # Script Name: One-key Automatic Install Nagios Service # Author: yestr

用python监控您的window服务

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://world77.blog.51cto.com/414605/782935 最近比较烦,研发给的pc服务版本在虚拟机上已经开始给客户使用了,服务老是莫名的死翘翘,客户不停的电话给我,搞的我心情很差,于是在一个下午,静下心来,用python写了个简单的监控进程的脚本,当发现进程消失的时候,立即调用服务,开启服务... 脚本的工作原理是这样的:脚本读取配置文件,读取预先配置好的调用系统

通过SSIS监控远程服务器Windows服务并发送邮件报警!

原文:通过SSIS监控远程服务器Windows服务并发送邮件报警! 利用SSIS不仅可以做BI项目的ETL,而且还可以做一些系统监控和维护工作,由于之前供应商写的Windows服务是读取ESB的消息进行处理,且通过OA流程与访客系统进行了集成,无论是ESB出现状况,还是Windows服务出现状况,都会对访问系统造成严重影响,导致内部员工无法进行接待外部人员,因此整体对ESB进行优化,在本人博客的前一篇已介绍了<通过SSIS监控远程服务器磁盘空间并发送邮件报警!>.本文实现的方法思路与此相同,仅

Spring Cloud实战之初级入门(四)— 利用Hystrix实现服务熔断与服务监控

目录 1.环境介绍 2.服务监控 2.1 加入依赖 2.2 修改配置文件 2.3 修改启动文件 2.4 监控服务 2.5 小结 3. 利用hystrix实现消费服务熔断 3.1 加入服务熔断 3.2 测试服务熔断 4. 利用turbine监控所有应用 4.1 创建工程 4.2 修改配置文件 4.3 修改启动文件 4.4 启动 5.一点点重要的事情 1.环境介绍 本篇文章涉及到前面文章的工程,mirco-service-provider.mirco-service-consumer以及需要另外新建

nagios 监控 mongodb 解决nagios界面显示null 问题

网上有很多关于nagios 监控mongodb 的介绍,但是无一例外,手工执行 python 能获取客户端的值,nagios 监控界面上面显示null, 针对该问题,本人用shell 脚本重新封装了部分监控选项,让nagios 能正常监控mongodb 服务器 如果想了解nagios 监控mongodb的部署过程,请点击: http://www.2cto.com/database/201410/341855.html https://github.com/mzupan/nagios-plugin

Linux监控软件之 Nagios

一.简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知. Nagios原名为NetSaint,由Ethan Galstad开发并维护至今.NAGIOS是一个缩写形式: "Nagios Ain't Gonna Insist On Sainthood" Sainthood 翻译为圣徒,而&quo

监控三剑客之Nagios

Nagios是一个流行的电脑系统和网络监控程序,它检测主机和服务,当异常发生和解除时能提醒用户.它是基于GPLv2开发的开源软件,可免费获得及使用. nagios工作原理 nagios的功能是监控服务和主机,但是其自身并不包括这些功能,所有的监控.检测功能都是通过各种插件来完成的.启动nagios后,它会周期性的自动调用插件去检测服务器状态,同时nagios会维持一个队列,所有插件返回的状态信息都进入队列,nagios每次都从队首读取信息,进行处理后,再把状态结果通过web显示出来.这就是被动模