テキストタグが1つしかない場合にEnterが押されたときの対策
テキストタグが1つしかない場合にEnterが押されたときの対策として
不可視のダミータグを設置する。
<div style="position:absolute;visibility:hidden;"><input type="text" name="DUMMY"></div>
こうしないとinput type ="image"のボタンの座標がPOSTで飛ばなかった。
テキストタグが2つ以上だと起きないらしい。
ajaxサンプル
hello.cgi
#!/usr/bin/env ruby sleep(3) require "cgi" cgi = CGI.new name = cgi['name'] name = CGI.escapeHTML(name) # セキュリティ対策 puts "Content-type: text/html charset: euc-jp" puts puts "こんにちは、#{name} さん!\n"
hello.html
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="euc-jp"> <title>Hello 0.3</title> <script type="text/javascript"> // XMLHttpRequest オブジェクトを取得するためのユーザ定義関数 function getXHR() { var req; try { req = new XMLHttpRequest(); } catch(e) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { req = new ActiveXObject("Microsoft.XMLHTTP"); } } return req; } // [送信] ボタンクリック時に実行されるイベントハンドラ function asyncSend() { var req = getXHR(); // 非同期通信時の処理(コールバック関数)を定義 req.onreadystatechange = function() { var result = document.getElementById("result"); if (req.readyState == 4) { // 通信の完了時 if (req.status == 200) { // 通信が成功した時 result.innerHTML = req.responseText; } else { // 通信が失敗した時 result.innerHTML = "サーバエラーが発生しました。"; } } else { // 通信が完了する前 result.innerHTML = "通信中..."; } }; // サーバとの非同期通信を開始 req.open("GET", "hello03.cgi?name=" + encodeURIComponent(document.fm.name.value), true); req.send(null); } </script> </head> <body> <h1>Hello 0.3</h1> <h3>非同期通信テスト</h3> クライアントから GET で送られたデータをサーバー側で非同期で処理し、クライアントにデータを戻します。サーバーの処理中にクライアントは別の作業を行うことができます。 <hr> <form name="fm"> <label>名前: <input type="text" name="name" size="15"></label> <input type="button" name="submit" value="送信" onclick="asyncSend()"> </form> <div id="result"></div> </body> </html>
ネットワークトラフィックを観察
サーバのリソースモニタリングによく利用するsarコマンドだが、
これでネットワークのトラフィック状況も観察できるらしい。
sar -n DEVで、インターフェース毎の受信/送信パケット数やバイト数を記録する。
以下の例は、トラフィック情報を1秒毎に20回分出力する。
$ sar -n DEV 1 20
これを上手い具合にスクリプトにセットしてログに吐かせる。
以下、出力結果の項目内容。
IFACE インタフェース名 rxpck/s 1秒間あたりの受信パケット数 txpck/s 1秒間あたりの送信パケット数 rxbyt/s 1秒間あたりの受信バイト数 txbyt/s 1秒間あたりの送信バイト数 rxcmp/s 1秒間あたりの圧縮受信パケット数 (for cslip etc.) txcmp/s 1秒間あたりの圧縮送信パケット数 rxmcst/s 1秒間あたりのマルチキャスト受信パケット数
参考
https://open-groove.net/jmeter/sar-network-monitor/
http://www.syboos.jp/linux/doc/sar-command.html
http://linux.alohakeakua.net/archives/488
ネットワークIF名の変更
以下は、自動認識されたネットワーク・インターフェース名を変更する手順である。
・eth1のeth0への変更
・対象は、CentOS 6.x、Scientific Linux 6.x、Debian GNU Linux 6.0.x、openSUSE 11.x
1. MACアドレスの取得
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
CentOS 6.x、Scientific Linux 6.xの場合のみ実施)
ifconfig -aの実行結果のHWaddrの値を参照する。
2. 設定ファイルの編集
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
(1) CentOS 6.x、Scientific Linux 6.xの場合
(a) /etc/sysconfig/network-scripts/ifcfg-eth0
HWADDR=後にMACアドレスを設定する。
(例) HWADDR="11:22:33:44:55:66"
(b) /etc/udev/rules.d/70-persistent-net.rules
NAME="eth1"のeth1をeth0に変更する。
(2) Debian GNU Linux 6.0.x、openSUSE 11.xの場合
(a) /etc/udev/rules.d/70-persistent-net.rules
ここのNameを書き換えてリブート
CentOS 6.xの場合の(b)と同じ。
3. 変更内容の反映
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
変更内容の反映のため、リブートを行う。
zabbixサーバ インストール手順
インストール
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
■MySQL インストール
http://www.server-world.info/query?os=CentOS_6&p=mysql&f=1
■Zabbix 2.4 を yumでインストール(CentOS6.5)
https://blog.apar.jp/linux/334/
※zabbixインストール時の「Check of pre-requisites」で
「Timezone for PHP is not set. Please set "date.timezone" option in php.ini.」
が出る場合の対処は以下。(タイムゾーンを設定する)
http://comp.senseofwonder.org/2009/05/200905291334.html
■Zabbix 2.2 を使って、テキストログの監視を行う方法
http://www.checksite.jp/zabbix22-textlog-watch/
ログ監視
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
■Zabbixでログ監視を設定してみる
http://komeiy.hatenablog.com/entry/2015/02/08/152721
①ログ監視用Itemの設定
「設定」-「テンプレート」-「アイテムの設定」-「アイテムの作成」
名前:watch_log タイプ:Zabbixエージェント(アクティブ) キー:logrt["/xxx/xxx/LOGS/xxx-[0-9]{6,6}\.log$"] ※監視したいログファイル データ型:ログ
②ログ監視用Triggerの設定
①で追加したアイテムを選んで「トリガーの作成」
yum コマンドでDVDからパッケージをインストール
■参考ページ
http://virtual.cocolog-nifty.com/virtualmachine/2013/12/yum-dvdiso-cent.html
■ディレクトリ /etc/yum.repos.d/ にレポジトリファイルを作成します。
今回は centos-dvd.repo という名前にし、次の内容を登録しました。
※ "baseurl"と"gpgkey"の先頭は"file://"に続けて DVD(ISO イメージファイル)の
マウントポイントを記載します。
[centos-dvd] name=CentOS 6.5 baseurl=file:///mnt/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
■DVD(ISO イメージファイル)をマウントします。
[root@centos yum.repos.d]# mount /dev/cdrom /mnt mount: block device /dev/sr0 is write-protected, mounting read-only [root@centos yum.repos.d]#
■設定確認を兼ねて、パッケージの一覧を表示します。
[root@centos yum.repos.d]# yum --disablerepo=\* --enablerepo=centos-dvd list Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile Installed Packages MAKEDEV.x86_64 3.24-6.el6 @anaconda-CentOS-201311272149.x86_64/6.5 acl.x86_64 2.2.49-6.el6 @anaconda-CentOS-201311272149.x86_64/6.5 aic94xx-firmware.noarch 30-2.el6 @anaconda-CentOS-201311272149.x86_64/6.5 ~ 途中省略 ~ zlib-static.x86_64 1.2.3-29.el6 centos-dvd zsh.x86_64 4.3.10-7.el6 centos-dvd zsh-html.x86_64 4.3.10-7.el6 centos-dvd [root@centos yum.repos.d]#
■インストールします。
yum --disablerepo=\* --enablerepo=centos-dvd install (パッケージ名)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
以下、もっと簡単な方法
新しいマウント先のディレクトリを作成します。
# mkdir /media/cdrom
新しいマウント先にOSインストールメディアをマウントします。
# mount /dev/dvd /media/cdrom
OSインストールメディアのアイコンがデスクトップに表示されます。
パッケージのインストールを行います。
yum --disablerepo=\* --enablerepo=c6-media install (パッケージ名)
OSインストールメディアのマウントを解除します。
# umount /media/cdrom
作成したマウント先のディレクトリを削除します。
# rmdir /media/cdrom