设为首页 收藏本站
查看: 2339|回复: 6

Nagios—服务和性能监控

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2013-7-29 08:59:32 | 显示全部楼层 |阅读模式

简介:

Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等.

Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等

适合于:对大量的服务器进行监控,判断其负载或服务是否正常,发生异常能通过邮件、短信报警

特别注意:流量监控不是他的强项,流量监控建议使用cacti.可以绘制非常直观的图形

Nagios 可以监控的功能:

1、监控网络服务(SMTP、POP3、HTTP、NNTP、PING等);

2、监控主机资源(处理器负荷、磁盘利用率等);

3、简单地插件设计使得用户可以方便地扩展自己服务的检测方法;

4、并行服务检查机制;

5、具备定义网络分层结构的能力,用"parent"主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态;

6、当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式);

7、可以定义一些处理程序,使之能够在服务或者主机发生故障时起到预防作用;

8、自动的日志滚动功能;

9、可以支持并实现对主机的冗余监控;

10、可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等

一、在RHEL6.0部署Nagios用来监控mysql服务器:

nagios 主机:192.168.10.1

mysql 主机: 192.168.10.2

操作步骤:

1.安装编译所需的软件包(若mysql-devel包不安装,会没有check_mysql插件):

yum –y install httpd php-* gd-* mysql-devel

201538697.png

2.创建运行nagios服务的用户

201538144.png

useraddnagios——创建nagios服务运行用户

usermod -G nagios apache ——赋予apache用户对nagios目录具有写权限

3.源码编译安装nagios:

201538556.png

tar jxf nagios-cn-3.2.3.tar.bz2

cd nagios-cn-3.2.3

./configure --enable-embedded-perl

201539279.png

编译并安装nagios及相关操作:

[iyunv@nagios nagios-cn-3.2.3]# make all

[iyunv@nagios nagios-cn-3.2.3]# make install

[iyunv@nagios nagios-cn-3.2.3]# make install-init

[iyunv@nagios nagios-cn-3.2.3]# make install-commandmode

[iyunv@nagios nagios-cn-3.2.3]# make install-config

[iyunv@nagios nagios-cn-3.2.3]# make install-webconf

201550880.png


注解信息:

  • make install——安装主程序,CGI和HTML文件
  • make install-init——在/etc/rc.d/init.d安装启动脚本
  • make install-commandmode——配置目录权限
  • make install-config——安装示例配置文件
  • make install-webconf——安装nagiosweb接口,会在/etc/httpd/conf.d目录中创建nagios.conf文件。

rhel 6 32位系统中安装nagios-cn-3.2.3.tar.bz2要先执行make clean操作,然后再执行./configuremake all等操作,否则执行makeall时会报错:

201550105.png

查看默认安装目录/usr/local/nagios下是否存在etc、bin、sbin、share、var、这五个目录,用于验证是否安装成功:

201550793.png

注解:

  • bin:nagios执行程序所在的目录,nagios文件即为主程序。
  • etc:nagios配置文件目录,当make install-config完以后etc下面就会出现默认的配置文件。
  • sbin:nagios CGI文件所在目录,这里存放的是一些外部命令执行程序。
  • share:nagios网页文件目录,存放一些html文件。
  • var:nagios日志文件、pid等文件目录。

4.安装nagios-plugins插件:

nagios监控主机的功能是通过执行插件程序来实现的。nagios-plugins是nagios官方提供的一套插件程序,源码安装nagios-plugins:

[iyunv@nagios nagios-plugins-1.4.15]# tar zxf nagios-plugins-1.4.15.tar.gz

[iyunv@nagios nagios-plugins-1.4.15]# cd nagios-plugins-1.4.15

[root@nagios.nagios-plugins-1.4.15]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-extra-opts --enable-libtap --enable-perl-modules

[iyunv@nagios nagios-plugins-1.4.15]# make && make install

201550147.png

编译并安装nagios-plugins插件:

201604577.png

查看/usr/local/nagios/libexec目录,所有安装后的插件都存放在这里:

201604702.png

Nagios安装到此完成,配置随后进行。

配置知识储备:

  • contact:联系人
  • timeperiod:监控时间段,7X24小时不间断或其他时间设置等
  • Host:被监控主机,所需要监控的服务器,也可以监控本机;
  • command:监控命令,nagios发出的哪些指令来执行某个监控,可以自定义;
  • Service:被监控的服务,eg:80端口是否开启,swap空间使用情况等等。。

【多个被监控主机可以定义为一个主机组,多个联系人可以被定义为一个联系人组】

5.修改nagios的主配置文件nagios.cfg:

201604585.png

cfg_file=/usr/local/nagios/etc/objects/hosts.cfg ——新建hosts.cfg文件,存放主机与主机组定义

cfg_file=/usr/local/nagios/etc/objects/services.cfg ——新建services.cfg文件,存放服务与服务组定义

#cfg_file=/usr/local/nagios/etc/objects/localhost.cgf ——加“#”注释localhost.cfg

将localhost.cfg文件注释掉,添加有关hosts.cfg和services.cfg文件定义。

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

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

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

201605951.png

注解:

在/usr/local/nagios/etc/objects目录下存放一些以.cfg为后缀的文件

  • timeperiods.cfg——监控时间段配置文件
  • commands.cfg——命令配置文件
  • contacts.cfg——联系人配置文件
  • templates.cfg——模板配置文件
  • /usr/local/nagios/etc/cgi.cfg——控制相关cgi脚本

其他配置文件以实际情况来进行配置

在/usr/local/nagios/etc/objects目录下创建hosts.cfg和services.cfg两.cfg文件:

201621899.png

6.创建hosts.cfg文件:

vi/usr/local/nagios/etc/objects/hosts.cfg

201621918.png

内容如下:

define host{

    use    linux-server

    address    127.0.0.1//监听本机

    icon_image    web.gif

    statusmap_image    web.gd2

    2d_coords    100,300

    3d_coords    100,300,100

    check_command    check-host-alive

    max_check_attempts    5

    check_period    24x7

    contact_groups    admins

    notification_interval    10

    notification_period    24x7

    notification_options    d,u,r

}

define hostgroup{

    hostgroup_name    linux-servers

    alias    linux server

    members    *

}

201621897.png

注解信息:

define host{

    use    linux-server——定义使用的模板

    host_name    nagios——被监控主机的名称

    alias    nagios ——别名

    address     127.0.0.1——被监控主机的IP地址(本机为例)

    check_command    check-host-alive

——监控的命令check-host-alive,命令来自commands.cfg,用来监控主机是否存活

    max_check_attempts    5 ——检查失败后重试的次数

    check_period    24x7——检查的时间段24x7,来自timeperiods.cfg中定义

notification_interval    10——提醒的间隔,每隔10分钟提醒一次

notification_period    24x7——提醒的周期, 24x7:来自timeperiods.cfg中定义

contact_groups    admins——联系人组(不是必须的)上面在contactgroups.cfg中定义的admins

notification_options    d,u,r——指定在什么情况下提醒

}

通过简单的复制修改就可以定义多个主机了.后面我们会加上被监控主机mysql

7.创建services.cfg文件(文件中可以添加host.cfg中的定义模块):

vi    /usr/local/nagios/etc/objects/services.cfg

201621715.png

内容如下:

define service {

    use    local-service

    host_name    nagios

    service_groups    systemcheck

    service_description    host cunhuoyufou

    check_command    check-host-alive

}

define service {

    use    local-service

    host_name    nagios

    service_groups    systemcheck

    service_description    hostusers

    check_command    check_local_users!1!50

}

define servicegroup {

    servicegroup_name    systemcheck

    alias    systemcheck

}

201635434.png

201635274.png

注解:

check_local_users!1!50——监测远程主机当前的登录用户数量,如果大于1个用户则报warning,如果大于50则报critical;

校验nagios配置文件的正确性:

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

201636595.png

显示如下表示配置文件没有错误:

201636550.png

8.nagios监控页面访问用户和密码:

默认安装好nagios后会在apache安装目录中的conf.d目录存在一个nagios.conf文件,文件中定义了有关访问nagios的web页面的定义。

在httpd.conf文件使用Include conf.d/*.conf配置项将nagios.conf文件的定义包含到httpd.conf文件中。

执行htpasswd命令添加一个访问nagios页面的授权用户

201650568.png

9.启动httpd和nagios服务并设置开机自动启动

[iyunv@nagios ~]# service nagios start——启动nagios服务

[iyunv@nagios ~]# service httpd start——启动httpd服务

[iyunv@nagios ~]# chkconfig httpd on——将nagios设为开机自启动

[iyunv@nagios ~]# chkconfig nagios on

201650645.png

注意:如果开启了selinux 需要如下配置:

chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/

chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

201650223.png

10.访问nagios监控页面,输入授权访问nagios的用户及密码:http://IP/nagios :

201651240.png

201711421.png


监控mysql服务运行

mysql主机上运行mysql服务:

安装mysql的服务器软件包,用yum方式解决依赖包。(rpm搭建mysql需要用到的软件包perl-DBD-MySQL和 mysql-server)

[iyunv@mysql ~]# yum -y install mysql-server

201713804.png

1.启动mysqld服务并设置为开机自动启动

[iyunv@mysql ~]# service mysqld start

[iyunv@mysql ~]# chkconfigmysqld on

201715343.png

2.在mysql服务器上创建监控检测帐户:

mysql> create database nagdb;

mysql> grant select on nagdb.* to nagdb@'192.168.10.1';

mysql> flush privileges;

201718376.png

3.在nagios主机上检测是否可以连接mysql主机上的mysql服务(需要在mysql主机设置防火墙允许3306端口的通信):

201737330.png

[iyunv@nagios ~]# /usr/local/nagios/libexec/check_mysql -H 192.168.10.2 -u nagdb -d nagdb

201737812.png

注意:若没有check_mysql插件,是因为没有安装mysql-devel包,只需在mysql-devel包安装后重新安装一下nagios-plugins:

4.在nagios主机上添加对mysql服务监控的定义:

[iyunv@nagios ~]# vim /usr/local/nagios/etc/objects/hosts.cfg

define host{

    use    linux-server

    host_name    mysqlhost

    alias    mysqlserver

    address    192.168.10.2

    icon_image    web.gif

    statusmap_image    web.gd2

    2d_coords    100,300

    3d_coords    100,300,100

    check_command    check-host-alive

    max_check_attempts    5

    check_period    24x7

    contact_groups    admins

    notification_interval     10

    notification_period    24x7

    notification_options    d,u,r

}

201737935.png

201737519.png

[iyunv@nagios ~]# vim /usr/local/nagios/etc/objects/services.cfg:

define service {

    use    local-service

    host_name    mysqlhost

    service_groups    mysqlgroup

    service_description    mysqlservice

    check_command    check_mysql

    contact_groups    admins

    notification_interval    10

    notification_period    24x7

notification_options    w,u,r,c

    }

define servicegroup {

    servicegroup_name    mysqlgroup

    alias    mysqlservices

}

201802246.png

201802428.png

vi /usr/local/nagios/etc/objects/commands.cfg 添加如下行

define command{

command_name    check_mysql

command_line    $USER1$/check_mysql -H $HOSTADDRESS$ -u nagdb -d nagdb

}

201802188.png

check_mysql命令必须存在于/usr/local/nagios/libexec目录中):

201802166.png

5.重新检查配置文件是否存在配置错误:

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

201821438.png

无报错,重新加载nagios服务

[iyunv@nagios ~]# service nagios reload

201821335.png

有时会出现访问报错如下:

201821141.png

排除此类问题:修改/usr/local/nagios/etc/cgi.cfg文件值:

201821849.png

6.访问ngios的web页面:如下所示,能通过监控发现MYSQL服务运行正常:

201822588.png

201822712.png

Nagios前期搭建部署工作到此结束,使用插件实现更强大的功能尽快送上,共同进步!!!



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-7852-1-1.html 上篇帖子: Nagios+Cacti模块——Cacti监控本地信息(七) 下篇帖子: nagios安装教程 监控

尚未签到

发表于 2013-7-29 09:30:45 | 显示全部楼层
支持一下:lol

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-7-29 10:02:17 | 显示全部楼层
如果没有毛片,中国的性教育简直就是一片空白!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-7-29 11:28:04 | 显示全部楼层
生我之前谁是我,生我之后我是谁?

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-7-29 12:16:18 | 显示全部楼层
学海无涯,回头是岸!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-7-29 17:12:17 | 显示全部楼层
在一辆拥挤的公车上,一位女郎忽然叫了起来:别挤啦!别挤啦!把人家的奶都挤出来啦!(她拿着酸奶呢)。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-7-29 17:33:38 | 显示全部楼层
我在马路边丢了一分钱

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表