ウェブ-HACKS 「とりあえずやってみよう!」ブログでタグ「HTTP」が付けられているもの

HTTPアクセスできない時のチェックリスト

   ブックマークに追加する
なぜか、Webサーバにアクセスできないという状態があった際に調査した順番です。
新規でサーバを立ち上げるときのチェック項目として書いておきます。

  • サーバは起動しているか?

$ netstat -an | grep LISTEN
tcp        0      0 :::80                       :::*                        LISTEN 
$ ps aux | grep httpd

  • ハードウェア(FW)のポリシーは?
NetScreen等で80ポートが開いていない可能性もあります。

  • ソフトウェア(FW)のポリシーは?
設定ファイルを確認します

# more /etc/sysconfig/iptables
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

  • ログを確認
アクセスできているかどうかの確認。

まずはじめにaccess.logを確認し、Apacheまで到達していないことを確認してからチェックするのがよいと思います。
その後問題の箇所(ファイヤーウォール等)を修正し、再度アクセスしaccess.logを確認すればOKです。


RubyでHTTPヘルスチェックプログラムをつくる(mechanizeとnet/smtpを使用する)

   ブックマークに追加する
RubyでHTTPアクセスが正常にできるかどうかを確認するツールを作成しました。
対象のURLにアクセスし、titleの文字列で正常にページアクセスできるかどうか確認しています。
エラー時は指定したメールアドレスにメールをとばすようになっています。

以下にソースコードを記載します。
※下線部は適宜環境にあわせてください

Windows環境でおこないました。
デバッグモードで実行するといくつか警告がでてますね。なんでだろ?
とりあえず動作はします。

【事前準備】
gemsmechanizeをインストールする

    > gem install mechanize


【ソースコード】

#!/usr/bin/ruby
require 'mechanize'
require 'net/smtp'
require 'kconv'

url = "http://localhost/"
wait_time = 15
@from_address = "from@mail_domain"
@send_address = "send@mail_domain"
agent = WWW::Mechanize.new

def send_alert( msg )
  body = [ "Subject: HTTP Access Error\n", "\n", msg ]
  Net::SMTP.start('mail_server') do |smtp|
    smtp.sendmail( body, @from_address, @send_address )
  end
  exit
end

begin
  while 1
    page = agent.get(url)
    s = page.title.tosjis
    if s =~ /match_word/
      puts "#{url}: #{s}\n" if $DEBUG
    else
      puts "#{url}: #{s}=#{match_str.tosjis}\n" if $DEBUG
      send_alert("#{url}: #{s}\n")
    end
    sleep wait_time
  end
rescue => ex
  puts "#{url}: #{ex.message}\n" if $DEBUG
  send_alert("#{url}:#{ex.message}\n")
end

【参考にしたサイトです】


あわせて読みたいブログパーツ
フィードメーター - ウェブ-HACKS 「とりあえずやってみよう!」ブログ   
track feed
  • SEO対策 
  • _ 
  • _ 
  •  
  •  

このブログはクリエイティブ・コモンズでライセンスされています。
Google

Tags