nagios监控web/mysql多角度实战分享(一)

nagios监控web/mysql多角度深度实战部署过程分享(一)

#########################################################
#《老男孩linux运维高薪就业培训中心》
#nagios监控课程课上上机考试:
#date:2011-07-17
#作者:老男孩---《老男孩linux就业培训中心 》
#QQ:31333741 MAIL:oldboy521@hotmail.com
#linux运维技术交流群:45039636   
#blog: http://oldboy.blog.51cto.com
#psite: http://oldboy.cc(即将开放)
#pblog:http://blog.etiantian.org
##########################################################

《老男孩linux运维高薪就业培训中心》-nagios监控课程课上上机考试:

█ █ 问题1:请监控URL地址 http://10.0.0.151 (或配置host 10.0.0.151 www.etiantian.org,然后监控http://www.etiantian.org

█ 问题1解答参考1:
◇ 1.1在host.cfg中添加

define host{
        use                     linux-server
        host_name               151-oldboytest
        alias                   151-oldboytest
        address                 10.0.0.151
        process_perf_data       1
        }

# Define an optional hostgroup for Linux machines

define hostgroup{
        hostgroup_name  linux-servers
        alias           Linux Servers
        members         ldap-master,151-oldboytest  ============》这里增加个151-oldboytest,不同名字用逗号隔开。
        }

#graphic for hosts create by (oldboy)!
define hostextinfo {
        host_name             ldap-master,151-oldboytest  ===》通过pnp出图link,就是页面太阳图标
        action_url            /nagios/pnp/index.php?host=$HOSTNAME$
}
提示:如果没配好PNP服务,上面的hostextinfo 段不需要配

◇ 1.2 在commmand.cfg中添加
# 'check_weburl' command definition
define command{
        command_name    check_weburl
        command_line    $USER1$/check_http  $ARG1$  -w 15 -c 30
        }
提示:也可以不定义命令而直接使用带参数的check_http

◇ 1.3 在service.cfg中添加
define service{
        use                             generic-service
        host_name                       151-oldboytest
        service_description             151_url
        check_command                  check_weburl!-H 10.0.0.151
        #check_command                 check_weburl!-H oldboy.cc -u /checkstatus.jsp
        #check_command                 check_http! -I 10.0.0.151 -w 15 -c 30
        #check_command                 check_tcp!80   ===》这三行注释表示三种不同的方式监控配置方法。
        max_check_attempts      3
        normal_check_interval   1
        retry_check_interval    3
        check_period            24x7
        notification_interval   30
        notification_period     24x7
        notification_options    w,u,c,r
        contact_groups          admins
        process_perf_data       1
        }
提示:service段中的注释,提供了不同的监控思路方法,大家根据需求来选择使用。


█ 问题1解答参考2:手工开发nagiosURL监控插件实操部署过程(主动监控方式)

2 nagios服务器端部署:
◇ 2.1 上传监控脚本到指定目录并设置执行授权可执行权限
[root@nagios-server /]# cd /usr/local/nagios/libexec/ #=====》上传check_url.sh到此目录
[root@nagios-server libexec]# chmod +x check_url.sh

提示:check_url.sh脚本内容见下文

◇ 2.2 手动测试:
[root@nagios-server libexec]# /usr/local/nagios/libexec/check_url.sh
HTTP/1.1 OK

3.修改nagios配置:
◇ 3.1 编辑service.cfg
[root@nagios-server libexec]# cd /usr/local/nagios/etc/objects
[root@nagios-server objects]# vi service.cfg
define service{
        use                             generic-service
        host_name                       151-oldboytest
        service_description             151_url-myself
        check_command                   check_url 
       #check_command                   check_url! http://10.0.0.151 #===脚本改为传参后,service.cfg中的命令调用方法
        max_check_attempts      3
        normal_check_interval   1
        retry_check_interval    3
        check_period            24x7
        notification_interval   30
        notification_period     24x7
        notification_options    w,u,c,r
        contact_groups          admins
        process_perf_data       1
        }

◇ 3.2 编辑commands.cfg
[root@nagios-server objects]# vi commands.cfg

# 'check_url' command definition by oldboy 110717
define command{
        command_name    check_url
        command_line    $USER1$/check_url.sh  #===这里就是我们自己写的插件呦!初始没改进的脚本的部署
       #command_line    $USER1$/check_url.sh $ARG1$ #===这里是将脚本改为传URL参数的command.cfg中的部署:
        }

◇ 3.3 检查语法,重起nagios
[root@nagios-server objects]# /etc/init.d/nagios checkconfig 
#====》这个启动脚本是改过的,可以省取敲一堆字符检查语法的麻烦。
Running configuration check...
...省略部分内容...
Checking misc settings...

Total Warnings: 0  #==》警告不为0,可以忽略
Total Errors:   0  #==》这里为0就OK。

Things look okay - No serious problems were detected during the pre-flight check
 OK.
[root@nagios-server objects]# /etc/init.d/nagios reload #==》reload好于restart
Running configuration check...done.
Reloading nagios configuration...done

◇ 3.4 查看页面监控结果
151_url-myself  OK 07-17-2011 15:19:49 0d 0h 3m 55s 1/3 HTTP/1.1 OK 

 ======自主开发监控weburl的插件脚本======

◇ 4.1 写nagios插件前的几个变量测试
[root@ha2 etc]# cat oldboy.sh
echo $0
PROGNAME=`basename $0`
PROGPATH=`echo $0 | sed -e 's,[\\/][^\\/][^\\/]*$,,'`
echo $PROGNAME
echo $PROGPATH
[root@ha2 etc]# sh /usr/local/nagios/etc/oldboy.sh
/usr/local/nagios/etc/oldboy.sh
oldboy.sh
/usr/local/nagios/etc
提示:大家看明白了么?

 


◇ 4.4 测试改进的脚本
[root@nagios-server libexec]# sh /usr/local/nagios/libexec/check_url.sh
Usage:
/bin/sh  check_url.sh url
For example:
/bin/sh check_url.sh http//www.etiantian.org

[root@nagios-server libexec]# sh /usr/local/nagios/libexec/check_url.sh http://www.etiantian.org
HTTP/1.1 OK
[root@nagios-server libexec]# sh /usr/local/nagios/libexec/check_url.sh http://oldboy.blog.51cto.com
HTTP/1.1 OK
 

nagios监控web/mysql多角度深度实战部署过程分享(一)完。

请关注 nagios监控web/mysql多角度深度实战部署过程分享(二)

本文出自 “老男孩的linux博客” 博客,请务必保留此出处http://oldboy.blog.51cto.com/2561410/618370

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值