Post Jobs

三种循环语句的区别,Linux下利用curl监控web应用状态

最近搭了一台CentOS服务器用于监控一些Windows及Linux的机器,为了方便以后自己查阅,遂决定记录一下我的安装过程。(下文如没做特别说明,都是通过root用户进行安装)

Java语言—-三种循环语句的区别,java—-三种语句

——- android培训、java培训、期待与您交流! ———-

 

 

第一种:for循环

 循环结构for语句的格式:      
  for(初始化表达式;条件表达式;循环后的操作表达式) {      循环体;       } eg:

 1 class Dome_For2{
 2     public static void main(String[] args) {
 3         //System.out.println("Hello World!");
 4         //求1-10的偶数的和
 5         int sum = 0;
 6         for (int i = 1;i<=10 ; i++ ) {
 7             if (i%2 ==0) {            //判断语句
 8                 sum +=i;            //求和
 9             }
10         }
11         System.out.println(sum);
12     }
13 }

  输出结构为30

第二种while语句

  循环结构while语句的格式:

  初始化语句;

      while(判断条件语句) {        循环体语句;        控制条件语句;       } eg:

 1 class Demo_While {
 2     public static void main(String[] args) {
 3         //求1-100之和
 4         int sum = 0;                    //定义初始和为0
 5         int i = 1;                        //定义开始求和的第一个数
 6         while (i <= 100) {                //判断条件语句
 7             sum += i;                    //sum = sum + i;
 8             i++;                        //让变量i自增
 9         }
10         System.out.println("sum = " + sum);
11     }
12 }

  输出结果为: sum = 5050

第三种do….while语句

  循环结构do…while语句的格式:

  初始化语句;      do {       循环体语句;       控制条件语句;     }while(判断条件语句); eg:

 1 class Demo1_DoWhile {
 2     public static void main(String[] args) {
 3         //求1-100的和
 4         int sum = 0;                                //定义变量sum,用于存储求和的值
 5         int i = 1;                                    //定义变量i
 6         do {                                         // do  就是 干
 7             //System.out.println("i = " + i);             //循环体语句
 8             sum +=i;
 9             i++;
10         }
11         while (i <= 100);                            //判断条件语句
12         System.out.println("sum = "+sum);            //输出结果
13         }
14     }

输出结果:sum = 5050

总结: 三种循环语句的区别:

*    1.do…while循环至少执行一次循环体.
    2.而for,while循环必须先判断条件是否成立,然后决定是否执行循环体语句.*

* *

 

 

——- Windows Phone 7手机开发、.Net培训、期待与您交流! ——-

——- android培训、java培训、期待与您交流! ———- 第一种:for循环
循环结构for语句的格…

curl只返回服务器响应状态,不返回内容,返回200是正常的,其它的不正常,简单的命令如下:

   一、什么是Nagios

[linuxidc@localhost ~]$ echo `curl -o /dev/null -s -m 10
–connect-timeout 10 -w %{http_code}

200
[linuxidc@localhost ~]$ echo `curl -o /dev/null -s -m 10
–connect-timeout 10 -w %{http_code}

404

  
Nagios是一款用于系统和网络监控的应用程序。它可以在你设定的条件下对主机和服务进行监控,在状态变差和变好的时候给出告警信息。

====================================================

  
Nagios最初被设计为在Linux系统之上运行,然而它同样可以在类Unix的系统之上运行。

监控机器列表文件:

   Nagios更进一步的特征包括:

server.list

  1. 监控网络服务(SMTP、POP3、HTTP、NNTP、PING等);
  2. 监控主机资源(处理器负荷、磁盘利用率等);
  3. 简单地插件设计使得用户可以方便地扩展自己服务的检测方法;
  4. 并行服务检查机制;
  5. 具备定义网络分层结构的能力,用”parent”主机定义来表达网络主机间的关系,这种关系可被用来发现和明晰主机宕机或不可达状态;
  6. 当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式);
  7. 具备定义事件句柄功能,它可以在主机或服务的事件发生时获取更多问题定位;
  8. 自动的日志回滚;
  9. 可以支持并实现对主机的冗余监控;
  10. 可选的WEB界面用于查看当前的网络状态、通知和故障历史、日志文件等

server1

   二、什么是Centreon

server2

  
Centreon是一款开源的软件,主要用于与nagios搭配,通过页面管理nagios,通过第三方组件实现对网络,操作系统,应用程序的监控。

server3

   三、安装前的准备

建立监控脚本: webstatus.sh

   A、CentOS的安装是采用Server-GUI模式,安装好CentOS后需要添加一下rpmforge的yum源,通过如下命令实现:
  
   # rpm -Uvh

#!/bin/sh
monitor_dir=/home/admin/monitor/
if [ ! -d $monitor_dir ]; then
    mkdir $monitor_dir
fi
cd $monitor_dir
web_stat_log=web.status
if [ ! -f $web_stat_log ]; then
   touch $web_stat_log
fi
server_list_file=server.list
if [ ! -f $server_list_file ]; then
   echo “`date ‘+%Y-%m-%d %H:%M:%S’` ERROR:$server_list_file NOT
exists!” >>$web_stat_log
exit 1
fi
#total=`wc -l $server_list_file|awk ‘{print $1}’`
for website in `cat $server_list_file`
do
   url=””
   server_status_code=`curl -o /dev/null -s -m 10 –connect-timeout
10 -w %{http_code} “$url”`
   if [ “$server_status_code” = “200” ]; then
        echo “`date ‘+%Y-%m-%d %H:%M:%S’` visit $website status code
200 OK” >>$web_stat_log
   else
        echo “`date ‘+%Y-%m-%d %H:%M:%S’` visit $website error!!!
server can’t connect at 10s or stop response at 10 s, send alerm sms
…” >>$web_stat_log
        echo “!app alarm @136xxxxxxxx  server:$website can’t connect at
10s or stop response at 10s …” | nc smsserver port &
   fi
done
exit 0

   B、接着执行如下命令对系统进行更新:

主要是利用 curl -o /dev/null -s -m 10 –connect-timeout 10 -w
%{http_code} “$url”
返回状态码是否200,如果10s没有返回200状态码,则发警报

   # yum update

最后让linux 定时执行脚本:

   C、系统更新完成电脑重启后,安装下列软件包:

crontab -e

   安装旧版软件包

*/10 * * * * /home/admin/app/bin/webstatus.sh

   #
yum groupinstall  “Legacy Software Development”  “Legacy Software
Support”

  
   安装 Apache2

这样每隔10分钟就会执行一次

   # yum install httpd
httpd-manual httpd-devel

图片 1

   安装 GD modules

   #
yum install gd gd-devel perl-GD

   安装 MySQL
 
   #
yum install mysql-server mysql-devel

   安装 PHP

   #
yum install php
php-mysql php-gd php-pear

   安装 DBI modules

   #
yum install perl-DBI
  
   安装 SNMP

   #
yum install perl-Digest-SHA1
perl-Digest-HMAC net-snmp-utils perl-Socket6 perl-IO-Socket-INET6
net-snmp-devel php-snmp dmidecode net-snmp-perl perl-Crypt-DES

   安装 RRDtool

   访问,然后安装如下软件包

   # rpm -ivh
rrdtool- 1.2.30 -1.el5.wrl.i386.rpm
   # rpm -ivh rrdtool-devel- 1.2.30 -1.el5.wrl.i386.rpm
  
# rpm -ivh rrdtool-doc- 1.2.30 -1.el5.wrl.i386.rpm
   # rpm -ivh rrdtool-perl- 1.2.30 -1.el5.wrl.i386.rpm
   # rpm -ivh rrdtool-php- 1.2.30 -1.el5.wrl.i386.rpm
   # rpm -ivh rrdtool-python- 1.2.30 -1.el5.wrl.i386.rpm
   # rpm -ivh rrdtool-tcl- 1.2.30 -1.el5.wrl.i386.rpm

   安装其他软件包

   # yum install
fping perl-Config-IniFiles graphviz gcc-c++ glib2-devel**

   D、**设置Apache、MySQL和SNMP在系统启动时自启动

   #
chkconfig –level 345 httpd on

   # chkconfig
–level 345 mysqld on

   #
chkconfig –level 345 snmpd on

   E、配置snmp

  
修改/etc/snmp/snmpd.conf文件,修改以下几行为红字所示,其中的x.x.x.x换成运行nagios的服务器的IP地址:

   com2sec
notConfigUser x.x.x.x public

  
   access
notConfigGroup “” any noauth exact all none none

   view all included .1 80

   F、配置php-PEAR

   # pear
channel-update pear.php.net

   当出现一下几行,即表示成功:

   Retrieving
channel.xml from remote server

   Update of Channel “pear.php.net” succeeded

   四、安装nagios软件包

   A、安装 Nagios

   # yum install nagios nagios-devel 

   此处所安装的nagios是3.0.6版本

   B、安装Nagios-plugins

   # yum install nagios-plugins

   C、配置Nagios登录用户

发表评论

电子邮件地址不会被公开。 必填项已用*标注

相关文章

网站地图xml地图