正規表現の問題集1(基本編) 2(応用編)入門(1)入門(2)

[あとでやる]
正規表現の問題集1(基本編)
http://codezine.jp/article/detail/1573

正規表現の問題集2(応用編)
http://codezine.jp/article/detail/2676

正規表現の入門(1)基礎的なメタ文字
http://codezine.jp/article/detail/3246

正規表現の入門(2)難しいメタ文字
http://codezine.jp/article/detail/3247

CentOS 5.4 に munin(サーバー監視ツール) をインストール MRTG/cacti

▼munin 本家サイト
http://munin-monitoring.org/

munin って何?

munin(ムーニン)は、オープンソースで公開されているサーバー監視、グラフ化ツールです。
MTRG/cacti などと同様のツールです。

主な特徴

  • 比較的導入が簡単
  • プラグインによる取得データの拡張が出来る
  • グラフ化部(マスター)とデータ取得部(ノード)が違うプログラムになっている

マスター(munin)とノード(munin-node)の役割

マスター: データ収集 + グラフ化
ノード: マスターへのデータ提供

▼munin のインストール
基本的に munin を yum でインストールします。
しかし、CentOS-Base.repo では munin のパッケージが見つからないので
dag.repo を使用して munin のインストールをします。

▼そこで、yum レポジトリの追加(dag.repo)
参考:http://mt.mizba.net/archives/001205.php

$ sudo vi /etc/yum.repos.d/dag.repo

[dag]
name=Dag RPM Repository for redhat
baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag
enabled=0   # enabled は0にして必要な時だけ有効にします
gpgcheck=1

続いて PGP key をインポートします。

$ sudo rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

これで dag.repo の設定は完了です。

▼次に munin を使用するに当たって必要になるアプリケーションのインストール
今回は「情報を集積するサーバ(マスター)」と「監視対象になるサーバ(ノード)」を
同一のサーバにするため munin と munin-node の両方をインストールします。

自分の場合は以下のようになりました。
※各自の環境によって違うと思います。

$ sudo yum --enablerepo=dag install munin munin-node

================================================================================
 Package                           Arch        Version              Repository
================================================================================
Installing:
 munin                             noarch      1.2.5-2.el5.rf       dag
 munin-node                        noarch      1.2.5-2.el5.rf       dag
Installing for dependencies:
 perl-Compress-Zlib                i386        1.42-1.fc6           base
 perl-Crypt-DES                    i386        2.05-3.2.el5.rf      rpmforge
 perl-DateManip                    noarch      5.44-1.2.1           base
 perl-Digest-HMAC                  noarch      1.01-15              base
 perl-HTML-Parser                  i386        3.64-1.el5.rf        rpmforge
 perl-HTML-Tagset                  noarch      3.20-1.el5.rf        rpmforge
 perl-HTML-Template                noarch      2.9-1.el5.rf         rpmforge
 perl-Net-SNMP                     noarch      5.2.0-1.2.el5.rf     rpmforge
 perl-Net-Server                   noarch      0.97-1.el5.rf        rpmforge
 perl-Socket6                      i386        0.23-1.el5.rf        rpmforge
 perl-URI                          noarch      1.35-3               base
 perl-libwww-perl                  noarch      5.805-1.1.1          base        

Transaction Summary
================================================================================
Install     14 Package(s)
Update       0 Package(s)
Remove       0 Package(s)

▼続いて munin の設定です。
といっても特に必要ないと思います。

作られたファイルは以下の設定ファイルを見ると分かります。
※各自の環境によって違うと思いますが。
設定ファイルは /etc/munin/munin.conf です。

自分の環境では、以下のようになっていました。

  ・htmldir /var/www/munin

  ・/etc/httpd/conf.d/munin.conf
    ScriptAlias /munin/cgi/ /var/www/munin/cgi/
    Alias /munin/ /var/www/munin/

▼設定ファイルの確認が終わったら munin の起動と apache の再起動をします。
・munin の起動及び自動起動設定

    $ sudo /etc/init.d/munin-node start
    Starting Munin Node:       [  OK  ]

    $ sudo /sbin/chkconfig --list munin-node
    munin-node      0:off   1:off   2:off   3:off   4:off   5:off   6:off

    off になっていたら、以下コマンドを実行
    $ sudo /sbin/chkconfig munin-node on
    $ sudo /sbin/chkconfig --list munin-node
    munin-node      0:off   1:off   2:on    3:on    4:on    5:on    6:off

上記のようになったら自動起動 OK!

・apache を再起動します。
munin を起動してからは5分おきにグラフが更新されるようになります。

    $ sudo /etc/init.d/httpd restart

apache の再起動が完了したら http://localhost/munin/ にアクセスし
munin の状況を見てみましょう。

munin-graph

このように、MRTG/cacti とよく似た感じのグラフィカルなグラフで
負荷状況やサーバー状態などを確認出来ます。

MRTG/cacti よりもインストール設定などが簡単なので是非とも
導入してみては如何でしょうか。

memcached コマンド(使い方)

今更ながら、memcached コマンド(使い方)。メモ書きです。

▼接続方法 telnet で接続
(ポート番号 11211 は memcache のデフォルトポート)

$ telnet localhost 11211
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.

▼状態確認(items:item の stats 情報を見るとき)

stats
STAT pid 6498
STAT uptime 9684743
STAT time 1259557686
STAT version 1.2.8
STAT pointer_size 32
STAT rusage_user 856.400000
STAT rusage_system 13165.530000
STAT curr_items 1558375
STAT total_items 9280146
STAT bytes 234884568
STAT curr_connections 257
STAT total_connections 11882908
STAT connection_structures 644
STAT cmd_flush 0
STAT cmd_get 55006114
STAT cmd_set 9280147
STAT get_hits 45768787
STAT get_misses 9237327
STAT evictions 7131372
STAT bytes_read 7434312197
STAT bytes_written 6436597860
STAT limit_maxbytes 268435456
STAT threads 2
STAT accepting_conns 1
STAT listen_disabled_num 0
END

▼データの取得(何所から何所まで)

stats cachedump 1 10
ITEM http://ja.wikipedia.org/wiki/EDINET [1 b; 1249872943 s]
ITEM http://blog.goo.ne.jp/mahira_1969/ [1 b; 1249872943 s]
ITEM http://ja.wikipedia.org/wiki/JA [1 b; 1249872943 s]
ITEM http://www.city.hitachiota.ibaraki.jp/ [1 b; 1249872943 s]
ITEM http://allabout.co.jp/finance/gl/1252/ [1 b; 1249872943 s]
ITEM http://allabout.co.jp/gm/gc/2472/ [1 b; 1249872943 s]
ITEM http://en.wikipedia.org/wiki/UniPaaS [1 b; 1249872943 s]
ITEM http://y.gnavi.co.jp/101156/ [1 b; 1249872943 s]
ITEM http://ja.wikipedia.org/wiki/RIZE [1 b; 1249872943 s]
ITEM http://movie.walkerplus.com/th33/ [1 b; 1249872943 s]
END

▼key を指定してデータを取得

get http://ja.wikipedia.org/wiki/EDINET
VALUE http://ja.wikipedia.org/wiki/EDINET 0 1
-
END

▼key を指定してデータを設定

set memtest 0 20 3
123
STORED

get memtest
VALUE memtest 0 3
123
END

▼key を指定してデータを削除
(time を指定すると、削除後その時間が経つまで、add と replace で同じ key を設定できなくする。)

delete key time

▼接続を切断

quit

unixtime と 日付(date) の相互変換方法

日付 から unixtime への変換方法

date コマンドに ‘+%s’ 引数をつけると unixtime で表示する。

$ date +%s
1266371495

特定の日付を変換したいときは、’–date’ オプションを利用する。

$ date +%s --date "2010-01-01 00:00"
1262271600

unixtime から 日付 への変換方法

$ date --date "@1262271600"
2010年  1月  1日 金曜日 00:00:00 JST

フォーマットを揃えたい場合は以下のように。

$ echo 1262271600 | awk '{print strftime("%Y-%m-%d %H:%M:%S", $1)}'
2010-01-01 00:00:00

MySQL – 指定されたテーブルのカラム一覧を表示する方法

MySQLで指定されたテーブルのカラム一覧を表示するコマンドのメモ。

1つ目

$ mysql -u root -p

mysql> DESCRIBE テーブル名;
or
mysql> DESC テーブル名;

DESCRIBEはSHOW COLUMNS FROMの簡略形です。DESCRIBEは更にDESCと略すことができます。

2つ目

$ mysql -u root -p
mysql> SHOW COLUMNS FROM テーブル名;