アプリケーション

2008-06-24

やる夫がpostfixのログを少しだけ確認したようです。

Postfixのログを確認してみる。

メールサービスを運営しているのであれば、ガッツリ覗いてみるのかもしれませんが、登録メール、確認メール、通知メールの送信及び受信だけであれば、メールがちゃんと送られているかくらいの確認になるかと思います。現状ホトンド確認しません。

# grep AF19500097 /var/log/maillog
Jun 24 08:51:10 indigo01 postfix/smtpd[10342]: AF19500097: client=localhost[127.0.0.1]
Jun 24 08:51:10 indigo01 postfix/cleanup[10343]: AF19500097: message-id=<20080623235110.AF19500097@neet.ne.jp>
Jun 24 08:51:10 indigo01 postfix/qmgr[26841]: AF19500097: from=<system@neet.ne.jp>, size=975, nrcpt=1 (queue active)
Jun 24 08:51:11 indigo01 postfix/smtp[10392]: AF19500097: to=<yaranaio@neet.com>, relay=neet.com[192.xxx.xxx.xxx], delay=1, status=sent (250 Ok: queued as CA65D70)
Jun 24 08:51:11 indigo01 postfix/qmgr[26841]: AF19500097: removed

AF19500097はセッションIDになります。fromは送信元、toは送信先、status=sentは、正常に送信できたことを意味します。

pflogsummのインストール

もう少し詳しく確認したい人は、pflogsummをインストールするとよいと思われます。

# yum -y install postfix-pflogsumm

rpmからだと下記でインストール。

# rpm -ivh perl-Date-Calc-5.3-9.i386.rpm
error: Failed dependencies:
        perl(Bit::Vector) is needed by perl-Date-Calc-5.3-9.i386
    Suggested resolutions:
        perl-Bit-Vector-6.3-3.i386.rpm
# rpm -ivh perl-Bit-Vector-6.3-3.i386.rpm perl-Date-Calc-5.3-9.i386.rpm
Preparing...                ########################################### [100%]
   1:perl-Date-Calc         ########################################### [ 50%]
   2:perl-Bit-Vector        ########################################### [100%]
# rpm -ivh postfix-pflogsumm-2.2.10-1.RHEL4.2.i386.rpm
Preparing...                ########################################### [100%]
   1:postfix-pflogsumm      ########################################### [100%]

コマンドの実行

# perl /usr/sbin/pflogsumm -d yesterday /var/log/maillog

Postfix log summaries for Jun 4

Grand Totals
------------
messages

2 received
2 delivered
0 forwarded
0 deferred
0 bounced
2 rejected (50%)
0 reject warnings
0 held
0 discarded (0%)
14379 bytes received
14379 bytes delivered
1 senders
1 sending hosts/domains
2 recipients
1 recipient hosts/domains]#
perl /usr/sbin/pflogsumm -d yesterday /var/log/maillog

Postfix log summaries for Jun 4

こんな感じで出力されます。

| | コメント (0) | トラックバック (0)

2008-05-22

やる夫がcfengineを導入して管理の自動化を図るようです。

cfengineについて

設定の一見管理を行うツール。 管理パターンを定義する。例えば、ファイル操作や、daemon操作、パッケージ管理等。 設定手順等をSubversion等で一括管理する事が可能とのこと・・・。とりあえずインストールだけ今回します。設定はその後かな?

    / ̄ ̄ ̄ \    利用するかは別として
   / ::::\:::/:::: \   フリーだからインスコしておく分には問題なし
 /  <●>::::::<●>  \    
 |    (__人__)     |
 \    ` ⌒´    /

   / ̄ ̄\  
 /   _ノ  \   新しいものに興味があるんだな・・・導入して満足パターンか・・・
 |    ( ●)(●)               ____
. | U   (__人__)            /      \
  |     ` ⌒´|           /─    ─  \
.  |        }  \      / (●) (●)    \   
.  ヽ        }     \     |   (__人__)       |   ってことで入れてオキマスタ
   ヽ     ノ       \   \            _/   
   /    く. \      \  ノ           \
   |     \  \    (⌒二              |
    |    |ヽ、二⌒)、      \         |  |

# wget http://dag.wieers.com/packages/cfengine/cfengine-2.1.20-1.el4.rf.i386.rpm
root@indigo's password:
cfengine-2.1.20-1.el4.rf.i386.rpm                                                  100% 1557KB   1.5MB/s   00:00
# rpm -ivh cfengine-2.1.20-1.el4.rf.i386.rpm
warning: cfengine-2.1.20-1.el4.rf.i386.rpm: V3 DSA signature: NOKEY, key ID 6b8d79e6
Preparing...                ########################################### [100%]
   1:cfengine               ########################################### [100%]

続きを読む "やる夫がcfengineを導入して管理の自動化を図るようです。"

| | コメント (0) | トラックバック (0)

2008-05-19

やる夫のサービスが起動しなくなりました。

Bad arg length for Socket::pack_sockaddr_in

ある日、やる夫がサービス機の追加で、同じ用にアプリを構築していましたが、どうもエラーがでてしまし、アプリが起動しなくなりました。さぁ大変です。下記のようなメッセージが出力されているようですが・・・。

Use of uninitialized value in subroutine entry at /usr/local/lib/perl5/5.8.8/i686-linux-thread-multi/Socket.pm line 373.
Bad arg length for Socket::pack_sockaddr_in, length is 0, should be 4 at /usr/local/lib/perl5/5.8.8/i686-linux-thread-multi/Socket.pm line 373.

            ___
       /      \         
      /ノ  \   u. \ !?
    / (●)  (●)    \ おっお・・・
    |   (__人__)    u.   |
     \ u.` ⌒´      /     同じように構築したのに立ち上がらないお
    ノ           \
  /´               ヽ
 |    l              \
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))

こういうときは、memcachedに接続できてないものと思われます。一度ルーティング確認または、memcachedのプロセス確認をお願い致します。

ちょっとしたあるあるネタでした。関係ないのですが、この困った感じのやる夫が一番好きです。

続きを読む "やる夫のサービスが起動しなくなりました。"

| | コメント (0) | トラックバック (0)

2008-04-22

やる夫がmemcachedをインストールするようです。

memcached について

オブジェクトをメモリにキャッシュさせるPHPとは独立したサーバプログラムです。
利用できる言語はPHPだけに限らずPerl、Ruby、Java、Pythonなどにも対応しているようです。

     ____ 
   /      \
  /  ─    ─\ 
/    (●)  (●) \   負荷の問題でのしのぎ対応では

|       (__人__)    |         キャッシュがカギを握るお・・・。
/     ∩ノ ⊃  /  
(  \ / _ノ |  |  
.\ “  /__|  |   
  \ /___ /

     ____
   /      \ ( ;;;;(
  /  _ノ  ヽ__\) ;;;;) 
/    (─)  (─ /;;/   キャッシュ効かせまくると
|       (__人__) l;;,´         ユーザから更新されないと苦情がくる・・・。
/      ∩ ノ)━・'/    
(  \ / _ノ´.|  |
.\  "  /__|  | 
  \ /___ /  

   / ̄ ̄\    いや・・・キャッシュ時間については、要調整として
 /   _ノ  \       最近なにかとサイト終了させようとしすぎじゃね?
 |    ( ●)(●)               ____
. | U   (__人__)            /      \
  |     ` ⌒´|           /─    ─  \
.  |        }  \      / (●) (●)    \   サイト終了の
.  ヽ        }     \     |   (__人__)       |    告知していいかお?
   ヽ     ノ       \   \            _/   
   /    く. \      \  ノ           \
   |     \  \    (⌒二              |
    |    |ヽ、二⌒)、      \         |  |

memcaced インストール

# wget http://www.monkey.org/~provos/libevent-
1.4.3-stable.tar.gz
--11:38:09--  http://www.monkey.org/~provos/libevent-1.4.3-stable.tar.gz
           => `libevent-1.4.3-stable.tar.gz'
www.monkey.org をDNSに問いあわせています... 152.160.49.201
www.monkey.org|152.160.49.201|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 479,756 (469K) [application/x-gzip]

100%[==========================>] 479,756       79.90K/s    ETA 00:00

11:38:16 (72.74 KB/s) - `libevent-1.4.3-stable.tar.gz' を保存しました [479756/479756]

# tar -zxvf libevent-1.4.3-stable.tar.gz
# cd libevent-1.4.3-stable
# ./configure
# make
# make install

memcached 動作方法

どこいったかな・・・?

configureの設定で何処にインストールするかとか設定すると思うのですが、よく分かっていないので、デフォルトで実施しました。どこにmemcachedの起動ファイルがあるかは下記等で探してください。通常は”/usr/local/bin”のようです。

# updatedb
# locate memcached
/home/sugimoto/memcached.tar
/usr/local/mantle-1.6.1/SOURCES/.svn/wcprops/memcached-1.1.12.tar.gz.svn-work
/usr/local/mantle-1.6.1/SOURCES/.svn/prop-base/memcached-1.1.12.tar.gz.svn-base
/usr/local/mantle-1.6.1/SOURCES/.svn/props/memcached-1.1.12.tar.gz.svn-work
/usr/local/mantle-1.6.1/SOURCES/.svn/text-base/memcached-1.1.12.tar.gz.svn-base
/usr/local/mantle-1.6.1/SOURCES/memcached-1.1.12.tar.gz
/usr/local/bin/memcached

起動+停止

[起動]
# /usr/local/bin/memcached -d -m 1280 -p 11211 -u nobody -l `hostname -i`
# ps axuw | grep mem | grep -v
grep
nobody   24322  0.0  0.2  6800 4420 ?        Ss   11:44   0:00 /usr/local/bin/memcached -d -m 1280 -p 11211 -u nobody -l 172.19.44.213

[停止]
# ps ax | grep mem | grep -v grep | awk '{print $1}'
24322
# kill -9 24322

| | コメント (0) | トラックバック (1)

2008-04-08

やる夫がwordpressのログインパスワードを忘れたようです。

WordPressログインパスワードの変更

パスワードリマインダーを使えばよいようですが、メールサーバが立っていないとか、メールが受信できないとか、どうにもならない場合は下記で対応可能です。

         ____
       /::::::::::  u\  
      /:::::::::⌒ 三. ⌒\    WordPress構築したまま、パスわすれてしまたお・・・。
    /:::::::::: ( ○)三(○)\ 
    |::::::::::::::::⌒(__人__)⌒  | ________
     \::::::::::   ` ⌒´   ,/ .| |          |
    ノ::::::::::u         \ | |          |
  /:::::::::::::::::      u       | |          |
 |::::::::::::: l  u             | |          |
 ヽ:::::::::::: -一ー_~、⌒)^),-、   | |_________|
  ヽ::::::::___,ノγ⌒ヽ)ニニ- ̄   | |  |

構築して満足・・・。いざ使おうってとkにパスワードを忘れてしまうことは良くあります。再構築してしまえばよいのですが・・・それがめんどくさければ、DB内のパスワードを直接書き換えちゃいましょう。

”827ccb0eea8a706c4c34a16891f84e7b”でpassword”12345”になります。

# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4432 to server version: 5.0.22-standard-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use wp_yaruo
Database changed
mysql> select user_pass from  wp_users;
+----------------------------------+
| user_pass                        |
+----------------------------------+
| 21232f297a57a5a743894a0e4a801fc3 |
+----------------------------------+
1 row in set (0.00 sec)
mysql> update wp_users set user_pass = '827ccb0eea8a706c4c34a16891f84e7b' where user_pass = '21232f297a57a5a743894a0e4a801fc3';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select user_pass from  wp_users;
+----------------------------------+
| user_pass                        |
+----------------------------------+
| 827ccb0eea8a706c4c34a16891f84e7b |
+----------------------------------+
1 row in set (0.00 sec)

| | コメント (0) | トラックバック (1)

2008-03-19

やる夫がphp-5.1.4をインストールするようです。

php-5.1.4について

PHPの実体は、Webサーバに置かれるソフトウエアの Apacheモジュールとして動作するスクリプト言語を実行する環境を指すようです。

php-5.1.4インストール手順

http://www.php.net/downloads.php からソースをダウンロードして下さい。URLが分かればwgetした方が楽です。

# zgzip -d php-5.1.4.tar.gz
# ./configure --with-apxs2 --enable-mbstring --enable-zend-multibyte --with-pgsql --with-mysql=/usr/local/mysql
# make install

  • with-apxs2 オプションで、apache2の動的モジュール生成プログラムapxsの場所を指定します。
  • enable-mbstring オプションは、マルチバイト関数を使用するために設定します。
  • with-mysql オプションで、mysqlのインストールディレクトリを指定します。

確認方法

”/home/yaruo/public_html”にwebコンテンツを置くものとします。下記のようにファイルを作成してみて下さい。ココではapacheが既にインストールされているものとします。apacheのインストールについては、こちらを参照下さい。

# zgzip -d php-5.1.4.tar.gz
# cd /home/yaruo/public_html
# vi info.php
-----
< ?php
    phpinfo();
?>
-----

http://192.168.2.10/~yaruo/info.php へアクセスすると、下記ページが閲覧できる筈です。Configureの設定等確認することが出来ます。

Php_2



















----------------------------------------

PHPによるWebアプリケーションスーパーサンプル 活用編
KJ 田中 ナルミ
ソフトバンククリエイティブソフトバンククリエイティブソフトバンククリエイティブ
定価 : ¥ 2,993
2006-05-27 amazonで詳しく見る

| | コメント (0) | トラックバック (0)

2008-03-17

やる夫がwordpressのテンプレートを変更するようです。

WordPressテンプレート変更について

簡単に出来ます。かっこいいデザインのテンプレートが公開されているので、ダウンロードして追加して見ましょう。

       ____
     /_ノ ' ヽ_\
   /(≡)   (≡)\   クールなページにするお
  / /// (__人__) ///\
  |     |r┬-|      |
  \     ` ー'´    /      

ファイルをダウンロードします。

”glossyblue-1-4.zip”これを、Windows上で回答しちゃいます。ディレクトリ毎下記ディr句取りは以下へアップロードして下さい。”/home/yaruo/public_html/wordpress/wp-content/themes”

  • yaruo箇所は任意

管理画面で、[表示]タブを選択すると新たにテンプレートが選択できるようになっているはずです。

Tempre_2

| | コメント (0) | トラックバック (0)

やる夫がsquidでキャッシュさせるようです。

squidについて

squidをproxyサーバとして利用していましたが、どうもキャッシュとしての役割もあるようですので、ちょっとだけ設定してみました。squidインストール方法についてはこちらを参照下さい。

            / ̄ ̄\
          /   _ノ  \
          |     -□-□)    
          |     (__人__)   最近なんかアクセスが多くてDBに負担かかって
             |     ` ⌒´ノ       きてるから、上でキャッシュするに設定しといて
              |         }
              ヽ        }

            ヽ、.,__ __ノ  
   _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、
  /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_
 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、
. i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::!
/;;;;;;;;;;;;;;;;;;;;;;;;!:::::::::::::::::::\:::::::::ヽ|||||:::::/::::::::i:::|
;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;:::::::::::::::::::::::\:::::゙、|||:::/::::::::::|:::

       ____
     /ノ   ヽ、_\
   /( ○)}liil{(○)\  
  /    (__人__)   \   しといてって・・・
  |   ヽ |!!il|!|!l| /   |      SEだからってなんでも
  \    |ェェェェ|     /         ソラで出来るわけじゃないお!

      / ̄ ̄\   
    /ノ( _ノ  \           んなことは知ってんだよ!
    | ⌒(( ●)(●)      ググレよ常識的に考えて!
    .|     (__人__) /⌒l
     |     ` ⌒´ノ |`'''|
    / ⌒ヽ     }  |  |              
   /  へ  \   }__/ /             / ̄ ̄\    新しい設定は嫌・・・
 / / |      ノ   ノ           / ●)) ((●\’, ・ 
( _ ノ    |      \´       _    (   (_人_)’∴ ),  ’
       |       \_,, -‐ ''"   ̄ ゙̄''―---└'´ ̄`ヽ   て
       .|                  ______ ノ    (
       ヽ           _,, -‐ ''"  ノ       ヽ   r'" ̄
         \       , '´        し/..     | J
          \     (           /      |
            \    \         し-  '^`-J

squid操作

起動

# /usr/local/squid/bin/RunCache &

停止

# skill RunCache
# /etc/init.d/squid kill

リロード

/etc/init.d/squid reconfig

ログローテーション

/etc/init.d/squid rotate

squid設定

”http://yaruo.neet.com/yaruo/neet_1/vipper/”とうのページがあるとして、下記では、yaruo以下のディレクトリに対してキャッシュするように設定しています。

http_port 3128 accel defaultsite=localhost vhost
cache_peer localhost parent 8080 0 no-query originserver

visible_hostname yaruo

# ファイルをキャッシュしてみる
refresh_pattern -i \.(png|jpg|jpeg|png|gif|mp3) 5 0% 5 override-expire override-lastmod ignore-reload

# yaruo以下のディレクトリに対してキャッシュ時間を5分10分に設定しています。
refresh_pattern yaruo/.*/neet_1/.*       5 0% 5 override-expire override-lastmod ignore-reload
refresh_pattern yaruo/.*/neet_2/.*       10 0% 10 override-expire override-lastmod ignore-reload
# 上記以外はキャッシュさせない
refresh_pattern .                    0 0%  0

# IMSをOFF(If-Modified-Since)
refresh_all_ims off

# ログ設定
access_log      /usr/local/yaruo/squid/squid.access.log squid
cache_log       /usr/local/yaruo/squid/squid.cache.log
cache_store_log /usr/local/yaruo/squid/squid.store.log

coredump_dir    /usr/local/squid/var/cache

| | コメント (0) | トラックバック (0)

2008-03-13

やる夫がWordPressをインストールしたようです。

WordPressについて

PHP+MySQLの高機能なWeblogツールです。・・・はてなダイアリー読んでますスマソ。

     ____
   /      \
  /  ─    ─\     
/    (●)  (●) \   業務日誌や、作業ログ用に
|       (__人__)    |       社内Blogでも構築するか・・・
/     ∩ノ ⊃  /
(  \ / _ノ |  | 
.\ “  /__|  |
  \ /___ /

     ____
   /      \ ( ;;;;(
  /  _ノ  ヽ__\) ;;;;) 
/    (─)  (─ /;;/   このブログ自体MTだが・・・
|       (__人__) l;;,´        まぁ気分転換に業務日誌は
/      ∩ ノ)━・'/             WordPressでも使ってみるお 
(  \ / _ノ´.|  |
.\  "  /__|  | 
  \ /___ /  

私も、作業ログ用にWordPressを使っていましたが、どうも記事を作成すると「’半角」が「’(全角)」で登録してしまうようす。設定方法が別にあるのかもしれませんし、そもそもあれからバージョンアップしているので問題(?)は解消されているかもしれません。

  • ちなみに現在はpukiwikiを使っています。

       ____
     /⌒  ⌒\
   /( >)  (<)\   社内Blogをさっと構築してあげたらキット
  /::::::⌒(__人__)⌒::::: \     OLにもてもてだお!
  |    /| | | | |     |  
  \  (、`ー―'´,    /   シシシシシシシシッ

WordPressはMySQLさえ導入してあれば、話が早いです。今回の説明ではMySQLが初めからインストールされているものとして進めます。MySQLのインストールはこちら。

WordPressインストール手順

下記よりファイルをダウンロードして下さい。

http://wordpress.xwd.jp/ 現在(日本版)はwordpress-2.2.3が最新版のようです。wordpress-me223.zipだったので、Windowsで解凍してからディレクトリ毎アップいたしました。

今回は、”/home/yaruo/public_html”配下にWordPressを構築する手順とします。

# cd /home/yaruo/public_html
# ls
wordpress

  • FTPでアップしたのでWordPressが確認できる筈。

# chown -R yaruo:yaruo wordpress
# chmod -R 777 wordpress

  • オーナーはその人のアカウントにしてあげて下さい。
  • -R オプションはディレクトリ以下のディレクトリ及びファイル全てです。

MySQLでDBとアカウントの作成

今回は、MySQLアカウント”yaruo”でパスワードも”yaruo”とします。権限はめんどくさいのでALLで・・・。

# mysql
mysql> create database wp_yaruo
Query OK, 1 row affected (0.00 sec)

mysql> show databases;
+-----------------------------+
| Database                    |
+-----------------------------+
| data                        |
| mysql                       |
| yaruo                       |
+-----------------------------+
3 rows in set (0.00 sec)

GRANT ALL ON *.* TO yaruo@'%' IDENTIFIED BY 'yaruo';
Query OK, 1 row affected (0.00 sec)

これで下準備は完了の筈。あぁ~apacheも入っていること前提で書いちゃってます。apacheインストールはこちら。

ココまできたらあとはWeb上の設定になります。下記にアクセスします。

http://192.168.2.10/~yaruo/wordpress/

Wordpress





















Wordpress2 Wordpress3





















MySQLで設定したDB名および、アカウントを入力して下さい。

Wordpress4 Wordpress5 Wordpress6 Wordpress7
Wordpress8






















記事投稿してみる。


| | コメント (0) | トラックバック (0)

2008-03-05

やる夫がsyslogの設定をするようです。

syslog について

ログの出力方法についてですが、アプリケーションが独自に出力するものと、syslogdを利用して出力するもので分かれます。独自に出力するアプリケーションとしてapacheやsquidがあります。バカスカログを出力するのであれば、syslogd経由でログを出力するほうが、CPUコスト的にも良いようです。

同じメッセージが続いて出力される場合は、下記のように6回でマスタって教えてくれます。

2008/03/03 20:53:05: same message repeated 6 times

同じメッセージをそのまま出力するより、ログのファイルサイズも抑えることが出来ると思います。

            / ̄ ̄\
          /   _ノ  \
          |     -□-□)
          |     (__人__)     アプリのログをsyslog経由で出力するように
             |     ` ⌒´ノ     したから、syslogの設定しといてくんない?
              |         }
              ヽ        }      (ほんと・・・こいつは・・・)

            ヽ、.,__ __ノ  
   _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、
  /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_
 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、
. i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::!
/;;;;;;;;;;;;;;;;;;;;;;;;!:::::::::::::::::::\:::::::::ヽ|||||:::::/::::::::i:::|
;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;:::::::::::::::::::::::\:::::゙、|||:::/::::::::::|:::

アプリ側でsyslog経由でログを出力するだけでは、”/var/log/message”とかに出力されてしまうので、別途”syslog.conf”の設定が必要になります。やらない夫はアプリの設定だけ済ませたようです。

これから、IT土方のやる夫がsyslogの設定をするようです。

~ 一週間後 ~

         ____      そういや・・・やらない夫にsyslogの
       /      \         設定お願いされていたっけ・・・
      /  ─    ─\     最近こんな設定ばっかだお・・・
    /    (●)  (●) \        客との仕様調整とかしてみたいお
    |       (__人__)    | ________
     \      ` ⌒´   ,/ .| |          |
    ノ           \ | |          |
  /´                 | |          |
 |    l                | |          |
 ヽ    -一ー_~、⌒)^),-、   | |_________|
  ヽ ____,ノγ⌒ヽ)ニニ- ̄   | |  |

         ____
       /      \
      /  ─    ─\     なんか・・・
    /    (○)  (○) \    /var/log 配下のログが肥大化してる・・・
    |       (__人__)    | ________
     \      ` ⌒´   ,/ .| |          |
    ノ           \ | |          |
  /´                 | |          |
 |    l                | |          |
 ヽ    -一ー_~、⌒)^),-、   | |_________|
  ヽ ____,ノγ⌒ヽ)ニニ- ̄   | |  | 

         ____
       /::::::::::  u\
      /:::::::::⌒ 三. ⌒\     そういえばsyslogの設定のしかたしらなかった!
    /:::::::::: ( ○)三(○)\   /var ディスクが90%超え!
    |::::::::::::::::⌒(__人__)⌒  | ________
     \::::::::::   ` ⌒´   ,/ .| |          |
    ノ::::::::::u         \ | |          |
  /:::::::::::::::::      u       | |          |
 |::::::::::::: l  u             | |          |
 ヽ:::::::::::: -一ー_~、⌒)^),-、   | |_________|
  ヽ::::::::___,ノγ⌒ヽ)ニニ- ̄   | |  |

/var 配下は割りと多めにディスク切っていると思うので、そう簡単に圧迫されない筈(テキストだし)。まぁご利用は計画的にって言うことで・・・。ログローテーション管理については、やる夫がログ管理をするようです。を参照下さい。

syslog 設定方法

下記例では、新たに追加するログ分類を”local6”として、設定するものとします(やらない夫がアプリケーションでそうしたので・・・)。このログ分類をファシリティと呼び、syslog.confにはこのファシリティに所属しているよって言う情報を記載します。

# vi /etc/syslog.conf
-----
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
+ *.info;mail.none;authpriv.none;cron.none;local6.none                 /var/log/messages

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog

# Log cron stuff
cron.*                                                  /var/log/cron

# Everybody gets emergency messages
*.emerg                                                 *

# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler

# Save boot messages also to boot.log
local7.*                                                /var/log/boot.loga

# neet error_log
+ local6.*                                             /usr/local/logs/neet.log
-----

  • + 箇所が新たに追記したポイントになります。

syslogd 再起動

# /etc/init.d/syslog restart
カーネルロガーを停止中:                    [  OK  ]
システムロガーを停止中:                    [  OK  ]
システムロガーを起動中:                    [  OK  ]
カーネルロガーを起動中:                    [  OK  ]

気が向いたらもうチョイ詳しく書きます。

----------------------------------------

日経 Linux (リナックス) 2008年 03月号 [雑誌]
日経BP出版センター日経BP出版センター日経BP出版センター
定価 : ¥ 1,490
2008-02-08
amazonで詳しく見る

| | コメント (0) | トラックバック (0)

2008-01-21

やる夫がTrac接続エラーに直面しているようです。

Trac について

Tracはソフトウェアのプロジェクト管理とバグ追跡のためのツールです。Web ベース、オープンソースであり、CVSTracに影響を受けた。 Edgewall Softwareにより開発され、保守されています。

wiki、Subversion、Bazaarといったウェブインタフェイスも提供しており、開発で幅広く使われているようです。

接続エラー

         ____
       /      \
      /  ─    ─\     やらない夫に言われたので、
    /    (●)  (●) \        PostgreSQLのライブラリ更新するお  
    |       (__人__)    | ________
     \      ` ⌒´   ,/ .| |          |
    ノ           \ | |          |
  /´                 | |          |
 |    l                | |          |
 ヽ    -一ー_~、⌒)^),-、   | |_________|
  ヽ ____,ノγ⌒ヽ)ニニ- ̄   | |  |

 

         ____
       /::::::::::  u\
      /:::::::::⌒ 三. ⌒\     あれ・・・?
    /:::::::::: ( ○)三(○)\        ログインサービス機待ちが・・・ry)
    |::::::::::::::::⌒(__人__)⌒  | ________
     \::::::::::   ` ⌒´   ,/ .| |          |
    ノ::::::::::u         \ | |          |
  /:::::::::::::::::      u       | |          |
 |::::::::::::: l  u             | |          |
 ヽ:::::::::::: -一ー_~、⌒)^),-、   | |_________|
  ヽ::::::::___,ノγ⌒ヽ)ニニ- ̄   | |  |

            / ̄ ̄\
          /   _ノ  \
          |     -□-□)    Tracアクセスできないんだけど
          |     (__人__)               なんかしらねぇ?
             |     ` ⌒´ノ  
              |         }
              ヽ        }     (こいつまたなんかやっただろ・・・

            ヽ、.,__ __ノ  
   _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、
  /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_
 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、
. i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::!
/;;;;;;;;;;;;;;;;;;;;;;;;!:::::::::::::::::::\:::::::::ヽ|||||:::::/::::::::i:::|
;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;:::::::::::::::::::::::\:::::゙、|||:::/::::::::::|:::

         ____
       /      \
      /  ─    ─\     ・・・ちょっと確認してみます・・・。
    /    (○)  (○) \       (やべばいお・・・)
    |       (__人__)    | ________
     \      ` ⌒´   ,/ .| |          |
    ノ           \ | |          |
  /´                 | |          |
 |    l                | |          |
 ヽ    -一ー_~、⌒)^),-、   | |_________|
  ヽ ____,ノγ⌒ヽ)ニニ- ̄   | |  | 

         ____
       /   u \
      /  \    ─\    チラッ
    /  し (>)  (●) \
    | ∪    (__人__)  J |  ________
     \  u   `⌒´   / | |          |
    ノ           \ | |          | 
  /´                | |          | 
 |    l             | |          |

Oops...

Trac detected an internal error: libpq.so.4: cannot open shared object file: No such file or directory

       ____
     /ノ   ヽ、_\
   /( ○)}liil{(○)\  
  /    (__人__)   \   やっぱエラってんじゃん!
  |   ヽ |!!il|!|!l| /   | 
  \    |ェェェェ|     /  

サービス機の名前が同じのが多いとついやってしまうミス(嘘)。エラー内容からは、”libpqa.so.4”ライブラリの位置を”apache”が認識していないようです。”libpqa.so.4”があるか確認します。

# updatedb
# locate libpqa.so.4
/usr/local/pgsql/lib/libpq.so.4
/usr/local/pgsql/lib/libpq.so.4.1

  • locate コマンドで探してみました。今回の例ではあったようです。

”libpqa.so.4”のディレクトリ位置がわかったので、”ld.so.conf”を修整して再度読み込ませればOK。今回はコレで動くようになりました。

# cat /etc/ld.so.conf
-----
  include ld.so.conf.d/*.conf    
  /usr/local/lib
+ /usr/local/pgsql/lib
-----
# ldconfig

| | コメント (0) | トラックバック (0)

2008-01-09

やる夫がSELinuxを無効化にするようです。

SELinux について

セキュリティ拡張モジュールのようです。selinuxを無効化しないと、mysqlがインストールできない・・・または動かない。その他何かが動かない状況に陥ります。

SELinux 設定方法

# /usr/sbin/getenforce
Enforcing

  • Enforcing 有効
  • Permissive 無効

# /usr/sbin/setenforce 0
# /usr/sbin/getenforce
Permissive

システム起動時にSELinux を無効にする設定

# vi selinux selinux.bak
-----
+ SELINUX=disabled
- SELINUX=enforcing
-----

| | コメント (0) | トラックバック (0)

やる夫がログ管理をするようです。

ログローテーションについて

            / ̄ ̄\
          /   _ノ  \
          |    ( ●)(●)
          |     (__人__)  
             |     ` ⌒´ノ   最近なんかディスク圧迫アラームが
              |         }               頻繁にあがるな・・・
              ヽ        }
            ヽ、.,__ __ノ    やる夫がログローテーションとか
   _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、       やってくれてるわけないか常識的に考えて・・・
  /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_ 
 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、
. i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::!
/;;;;;;;;;;;;;;;;;;;;;;;;!:::::::::::::::::::\:::::::::ヽ|||||:::::/::::::::i:::|
;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;:::::::::::::::::::::::\:::::゙、|||:::/::::::::::|:::


ディスク圧迫を防ぐためにログローテーション設定をして見ましょう。ココでは”apache”の”/usr/local/logs/httpd.log”っていうログのローテーションを設定してみます。やらない夫がこっそりログローテーションを仕掛けてくれるようです。

  • 記事範囲が狭いためちょっと見づらい・・・

# cd /etc/logrotate.d
# vi apache_log
-----
### apacheログの絶対パス
/usr/local/logs/httpd.log {
    ### ローテーションは16回
    rotate 16
    ### 毎日ログローテーションする daily or weekly
    daily
    ### ログファイルが無くてもエラーを出さない
    missingok
    ### 複数指定したログに対してpostrotateまたはprerotateで記述されたコマンドを実行
    sharedscripts
    ### ローテーションされたログをgzipで圧縮
    compress
    ### postrotateとendscriptの間に記述されたコマンドをログローテーション後に実行
    ### postrotate or prerotate
    postrotate
    /bin/kill -USR1 `cat /usr/local/logs/httpd.pid 2>/dev/null` 2> /dev/null || true
    endscript
}
-----

  • -USR1 オプションはフリーになったプロセスから順に再起動
  • -HUP オプションは接続中のユーザセッションも切断し再起動

”ーUSR1”の場合はログの切り替えタイミングを知るのが難しいです。瞬断してもよいのであれば、”-HUP”がお勧めでしょうか?

| | コメント (0) | トラックバック (0)

2008-01-04

やる夫がCLUSTERPROを操作するようです。

CLUSTERPRO モニタ状況

# /usr/sbin/clpstat -m
=====================  MONITOR RESOURCE STATUS  =====================
Cluster : cluster
   server0 : indigo01
  *server1 : indigo02 ←こちらが主系で活躍中

  Monitor0 [Postgresexecmonitor : Normal]
--------------------------------------------------------------------
   server0 [o] : Offline
   server1 [o] : Online ←indigo02でDBが生きてるかの監視稼動中

  Monitor1 [Webipwmonitor : Caution]
--------------------------------------------------------------------
   server0 [o] : Suspend
   server1 [o] : Suspend

  Monitor2 [eth0monitor : Normal]
--------------------------------------------------------------------
   server0 [o] : Online
   server1 [o] : Online

  Monitor3 [eth1monitor : Normal]
--------------------------------------------------------------------
   server0 [o] : Online
   server1 [o] : Online

  Monitor4 [failipwmonitor : Caution]
--------------------------------------------------------------------
   server0 [o] : Suspend
   server1 [o] : Suspend

  Monitor5 [sdb2rawwmonitor : Normal]
--------------------------------------------------------------------
   server0 [o] : Online
   server1 [o] : Online

  Monitor6 [sdc2rawwmonitor : Normal]
--------------------------------------------------------------------
   server0 [o] : Online
   server1 [o] : Online

  Monitor7 [sdd2rawwmonitor : Normal]
--------------------------------------------------------------------
   server0 [o] : Online
   server1 [o] : Online

  Monitor8 [userw : Normal]
--------------------------------------------------------------------
   server0 [o] : Online
   server1 [o] : Online
=====================================================================

CLUSTERPRO FIP表示

# /usr/sbin/clpstat --rsc
=======================  CLUSTER INFORMATION  =======================
   [Resource0 : WebManagerFIP1]
     Type                       : fip
     Comment                    : floating ip resource
     IP Address                 : 192.168.2.20
   [Resource0 : Postgresexec]
     Type                       : exec
     Comment                    :
     Start Script
       Path                     : start.sh
     Stop Script
       Path                     : stop.sh
   [Resource1 : PostgresexecMON]
     Type                       : exec
     Comment                    :
     Start Script
       Path                     : start.sh
     Stop Script
       Path                     : stop.sh
   [Resource2 : fip1]
     Type                       : fip
     Comment                    :
     IP Address                 : 192.168.2.19<--これ!
   [Resource3 : sdb3disk]
     Type                       : disk
     Comment                    :
     Device Name                : /dev/sdb3
     File System                : ext3
     Mount Point                : /service/data0
   [Resource4 : sdc3disk]
     Type                       : disk
     Comment                    :
     Device Name                : /dev/sdc3
     File System                : ext3
     Mount Point                : /service/data1
   [Resource5 : sdd3disk]
     Type                       : disk
     Comment                    :
     Device Name                : /dev/sdd3
     File System                : ext3
     Mount Point                : /service/data2
=====================================================================

Monitor0 監視スクリプト

下記ディレクトリ配下にある、シェルスクリプトで、PostgreSQL、MySQLの上げ下げを行っています。

# cat /opt/nec/clusterpro/scripts/failover1/PostgresexecMON/start.sh
# cat /opt/nec/clusterpro/scripts/failover1/MySQLexecMON/start.sh

その中で「clp_mysql50mon」などの監視プロセスを下記のように立ち上げている。

# clp_mysql50mon mysqlwatch -d mysql -a 192.168.2.20

clp_mysql50monはmysqlwatchというテーブルを”mysql”というDBに対して作成および更新をかけるプロセスで、そのプロセスがDBにアクセス出来なかった場合落下するので、その落下が監視項目にひっかかるという具合。下記にその例を示す。

CLUSTERPRO: <type: rm><event: 1> Monitor MySQLexecmonitor start.
CLUSTERPRO: <type: mysql50mon><event: 1> The clp_mysql50mon has started watching MySQL. [ID:mysqlwatch]
CLUSTERPRO: <type: mysql50mon><event: 0> MySQL:Lost connection to MySQL server during query
CLUSTERPRO: <type: mysql50mon><event: 21> Failed to connect to the database 'vote'. [ID:mysqlwatch]
CLUSTERPRO: <type: mysql50mon><event: 6> The clp_mysql50mon will terminate. [ID:mysqlwatch]
CLUSTERPRO: <type: rm><event: 9> Monitor MySQLexecmonitor failed. (1 : Process does not exist. (pid=23986))
CLUSTERPRO: <type: rm><event: 2> Monitor MySQLexecmonitor stop.
CLUSTERPRO: <type: rm><event: 14> failover1 was failover for failure in MySQLexecmonitor.

この場合はstart.sh経由でclp_mysql50monがスタートするが、MySQL:user:rootが何らかの理由でDB[vote]にアクセスできずにclp_mysql50monプロセスが落下。そのモニタ項目であるMonitor MySQLexecmonitorが検知されfailoverが始まる。

これを改善するには、mysql> SHOW GRANTS FOR DB名;などでアクセス権限を確認して、間違いがあれば修正する。

CLUSTERPRO 稼動ログ

こんな感じで引っ掛ければよいです。

# tail -f /var/log/messagesgrep |grep CLUSTERPRO

CLUSTERPRO 監視停止+起動

監視停止 ※両サーバで実施すること

# clpmonctrl -s
# clpstat
  • <server>が”Online”と”Normal”であることを確認。
  • <group>が”Online”であることを確認。
  • <monitor>が”Caution”であることを確認。

# clpstat -m
  • モニタリソースが”Suspend”になっている筈。

監視起動 ※両サーバで実施すること

# clpmonctrl -r
# clpstat
  • <server>が”Online”と”Normal”であることを確認。
  • <group>が”Online”であることを確認。
  • <monitor>が”Normal”であることを確認。

# clpstat -m
  • モニタリソースが”Online”になっている筈。

おまけ

リファレンスガイド
http://www.ace.comp.nec.co.jp/CLUSTERPRO/clp/linux/document/x10_l.html

| | コメント (0) | トラックバック (0)

2007-12-27

[sendmail] やる夫がsendmailで転送設定をするようです。

sendmailの転送設定について

いつもメールの転送設定してくれる人が、長期休暇とったため自ら設定することになりました。sendmailについては正直よくわからないです。なのでメモ程度で・・・スマソ。

            / ̄ ̄\
          /   _ノ  \
          |     -□-□)
          |     (__人__)    やる夫~  
             |     ` ⌒´ノ    メールチームのちゅるやさんが、長期バカンスに
              |         }     行っちゃったので、代わりにメール転送設定宜しく
              ヽ        }
            ヽ、.,__ __ノ  
   _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、
  /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_
 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、
. i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::!
/;;;;;;;;;;;;;;;;;;;;;;;;!:::::::::::::::::::\:::::::::ヽ|||||:::::/::::::::i:::|
;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;:::::::::::::::::::::::\:::::゙、|||:::/::::::::::|:::

         ___
       /::::::::::  u\
      /:::::::::⌒ 三. ⌒\   
    /:::::::::: ( ○)三(○)\ 
    |::::::::::::::::⌒(__人__)⌒  |   あの・・・sendmailって設定したことないのですが・・・
     \::::::::::   ` ⌒´   ,/   しかもメールサーバってUNIXだったような・・・
    ノ::::::::::u         \ 
    /:::::::::::::::::      u      

            / ̄ ̄\
          /   _ノ  \
          |     -□-□)    あ!?
          |     (__人__)    しょうがねぇ~な今回は俺も一緒に見てやるよ・・・
             |     ` ⌒´ノ 
              |         }  
              ヽ        }
            ヽ、.,__ __ノ  
   _, 、 -― ''"::l:::::::\ー-..,ノ,、.゙,i 、
  /;;;;;;::゙:':、::::::::::::|_:::;、>、_ l|||||゙!:゙、-、_
 丿;;;;;;;;;;;:::::i::::::::::::::/:::::::\゙'' ゙||i l\>::::゙'ー、
. i;;;;;;;;;;;;;;;;;;;;;;|::::::::::::::\::::::::::\ .||||i|::::ヽ::::::|:::!
/;;;;;;;;;;;;;;;;;;;;;;;;!:::::::::::::::::::\:::::::::ヽ|||||:::::/::::::::i:::|
;;;;;;;;;;;;;;;;;;;;;;;;;;|;;;;:::::::::::::::::::::::\:::::゙、|||:::/::::::::::|:::

       ____
     /      \
   / ─    ─ \
  /   (●)  (●)   \  なんか、cfファイルみても
  |      (__人__)    |        わけわからんね・・・。
  \     ` ⌒´     /  

そう・・・。わけわからんのだよ。しかも会社サービス用のメールサーバだったらしい。今思えばちょっとだけ危なかった・・・。かも?

設定内容

会社で共通のメールサーバがあって、”yaruo.com”がDNS登録されているとします。そこから別のサーバへ”yaruo.co.jp”として転送したい時がやってきた・・・。

設定手順

list ファイル設定

# vi yaruo.list
-----
postmaster:maildrop     admin@yaruo.co.jp
root:maildrop           admin@yaruo.co.jp
admin:maildrop          admin@yaruo.co.jp
support:maildrop        admin@yaruo.co.jp
system:maildrop         dmin@yaruo.co.jp
vipper:maildrop         vipper@yaruo.com
*:maildrop              shinjuku@yaruo.com
-----

db 作成

# vi makemap.sh
-----
/usr/sbin/makemap hash yaruo.db < yaruo.list
-----

# ./makemap.sh
yaruo.db: could not create: Permission denied

  • パーミッションで怒られた。

# touch yaruo.db
# ./makemap.sh
# ls -l yaruo.db
-rw-r--r--   1 root     other      40960 12キ・ 5ニ・ 09:47 yaruo.db

  • touch でファイル作成しちゃえ

# ./makemap.sh

  • できた。

sendmail.cf ファイル設定

”sendmail.cf”ファイルの記述ミスがあるとsendmailは立ち上がりません。良くある間違え箇所は、スペースとタブでミスするようです。よく確認してみて下さい。ちなみに新宿Vipperはコレではまりました。サービス中のサーバでやったため、5分間ほど停止しました。方系だけだったから良かったですが、監視から連絡が来るかヒヤヒヤものでした。メール転送設定は別の部署担当なので、大目玉くらうところでした。

# cd /etc
# cp -p sendmail.cf.20071120 sendmail.cf.20071204
# vi sendmail.cf.20071204
-----
149,150d148
+ CY yaruo.com
+ yaruo0com hash -o /etc/mail/yaruo.com
858,860d855
+ R$+<@yaruo.com> $@$(yaruo0com $1:maildrop $: $1@ $)@<@yaruo.com>
+ R$+<%yaruo.com> $@$(yaruo0com *:maildrop $@ $1 $: $1@ $)@<@yaruo.com>
+ R$+<!yaruo.com> $@$(yaruo0com :default:maildrop $@ $1 $: $1@ $)@<@yaruo.com>
875d868
+ R$+<@yaruo.com> $@$(yaruo0com $1:mailname $: $1@ $)@<@yaruo.com>
-----

# mv sendmail.cf sendmail.cf.bak
# ln -s sendmail.cf.20071204 sendmail.cf

  • 運用上、コピーとってシンボリックリンクの張替えをおすすめします。

sendmail 再起動

# /etc/init.d/sendmail stop
# /etc/inif.d/sendmail start

  • UNIXの場合”restart”が出来なかった気がする。

| | コメント (0) | トラックバック (0)

2007-12-21

やる夫がguestOSインストールエラーに直面したようです。

boot時エラー

特に記載する程のことではないですが、VMware構築時にはまったので記載します。

boot:
Loading SA.1...............
Loading SA.2............................................

Ready.
Uncompressing Linux... Ok, booting the kernel.
PCI: Cannot allocate resource region 4 of device 00:7.1

Booting the system, pleasy wait...
To begin replication, please insert your replication floppy.
Replication will begin once the system has booted.

Unsupported system detected. Press <ENTER> to reboot the system.

bootCD(だと思っていた)を入れたのに、インストールが開始されないで、
こんなメッセージが出力されました。内容としては・・・。

”さっきからboot準備して待っていますがなにか?”
”次にお進みになりたい場合は、bootフロッピーでも入れとけカス”

Dell PowerEdge TM Installation and Server Management って
bootCDではなかったようです。よく見ると”Quick installation support for the following”って
インストールをカンタンにしてあげますよCDだったようです。
Dell PowerEdge なら反応するけど、VMwareの仮想マシンには反応しませんってことです。
解決策としては、”DISK1”とか書いてあるCDからセットしてみて下さい。

| | コメント (0) | トラックバック (0)

2007-12-20

やる夫がsquid-3.0を導入するようです。

squid について

あまり良く分かっていないのですが、キャッシュとして利用したり出来るようです。他には動作確認用の逆proxyサーバとして利用したりできます。例えば、運用中のアプリサーバがロードバランサでランドロビンされているときとかに、squidを使えば裏から特定のホストへアクセスすることが出来ます。ロードバランサ側で”stick”とか使えば良いではないですか?と言われればそれまでです。

       ____
     /_ノ   ヽ_\
   /( >)  (<)\     検証環境で動作確認したので
  /::::::⌒(__人__)⌒::::: \                運用に適用するお!
  |     |r┬-/      |  
  \    ` ̄'´     /

     ____ 
   /      \
  /  ─    ─\ 
/    (●)  (●) \    ・・・と思ったが、念のため1台だけ
|       (__人__)    |         適用して動作確認したいのだが・・・
/     ∩ノ ⊃  /  
(  \ / _ノ |  |     ロードバランサーから外すと、外からアクセスできないし・・・
.\ “  /__|  |   
  \ /___ /

         |
     \  __  /
     _ (m) _
        |ミ|
      /  `´  \
       ____