muninの導入と設定についての説明資料
ネットワーク監視ツールである「munin」についても、導入の概要説明をしました。
その際のパワーポイント資料もUPしてみます。
このツールは去年の中頃にGIGAZINE(http://gigazine.net/)で紹介されてから、少しずつ広まり始めた感じですね。
MRTGの導入と設定についての説明資料
先日、社内でMRTGの説明会をさせていただきました。その際に使用したパワーポイント資料です。
SlideShareというサービスを使ってみました。
ちょっと重たいですね。それと微妙にレイアウトが崩れてしまってますが気にせずUPしてみます。
ツッコミ等があればなんなりと!
※2009/2/8 SlideShareがあまりに重たいので、リンクを外しました。
monit(プロセス監視デーモン)
プロセスを監視して、自動的に再起動なども行ってくれる。
こんなツールがあるんだ。覚えておこう。
■プロセスの監視を行う デーモン monit
http://labs.unoh.net/2008/03/_monit.html
■システムマネジメントツール(Monit)の導入
システムマネジメントツール(Monit)の導入
syslog-ngによるsyslog転送
複数の端末からsyslog転送を行い、そのログを端末毎に振り分けたい。syslogdではそれが難しいため、syslog-ngでやってみようと調べてみました。
syslog-ngの特長 (syslogdとの違い)
syslog-ng Ver.1 と Ver.2 との違い
2006年11月に公開された syslog-ng Ver.2 は、Ver.1 とは以下の違いがあるようです。見たところ Ver.2 を使っておけば間違いなさそうです。
- マイナー不具合対応
- 将来の開発を考慮し、ゼロから作り直した
- CPU使用率の効率改善
- 異なるタイムゾーン間の変換が可能
- IPv6対応
- DNSを使わず、ログにホスト名を含めることが可能
- /etc/hosts 同様の専用ファイルで →動作に支障を出さずに可動性向上
- 信頼性の向上(メッセージの喪失防止制御)
参考: インタビュー:syslog-ng 2.0の開発者Balázs Scheidler氏に聞く | OSDN Magazine
やりたいこと
ログ収集サーバへのsyslog-ngインストール
yumによるインストールは残念ながらできないようです。
Identity & Access Management for the Real World | One Identity にソースが置いてありますが、今回はパッケージ(RPM)でのインストールを行います。(ver1.6 まではライブラリとして libol が必要でしたが、ver2 からは eventlog が必要となります)
RPM Search から、以下のCentOS5用RPMパッケージをダウンロード
eventlog-0.2.5-6.el5.kb.i386.rpm (Syslog-ng v2 support library) ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/i386/RPMS/eventlog-0.2.5-6.el5.kb.i386.rpm syslog-ng-2.0.3-1.el5.kb.i386.rpm ftp://ftp.pbone.net/mirror/centos.karan.org/el5/extras/testing/i386/RPMS/syslog-ng-2.0.3-1.el5.kb.i386.rpm
syslog-ngからインストールしようとすると、libevtlog.so.0というライブラリが無いと言われてしまうので、「eventlog→syglog-ng」の順にインストール
# rpm -ivh eventlog-0.2.5-6.el5.kb.i386.rpm # rpm -ivh syslog-ng-2.0.3-1.el5.kb.i386.rpm
syslog-ng 2.0.3-1 では以下のファイルがコピーされます。起動スクリプトやログのローテーション設定も入るようです。
# rpm -qlp syslog-ng-2.0.3-1.el5.kb.i386.rpm /etc/logrotate.d/syslog /etc/rc.d/init.d/syslog-ng /etc/sysconfig/syslog-ng /etc/syslog-ng /etc/syslog-ng/syslog-ng.conf /sbin/syslog-ng /usr/share/doc/syslog-ng-2.0.3 /usr/share/doc/syslog-ng-2.0.3/AUTHORS /usr/share/doc/syslog-ng-2.0.3/COPYING /usr/share/doc/syslog-ng-2.0.3/ChangeLog /usr/share/doc/syslog-ng-2.0.3/NEWS /usr/share/doc/syslog-ng-2.0.3/README /usr/share/doc/syslog-ng-2.0.3/bof-2002-09-27.txt /usr/share/doc/syslog-ng-2.0.3/dos-2000-11-22.txt /usr/share/doc/syslog-ng-2.0.3/relogger.pl /usr/share/doc/syslog-ng-2.0.3/syslog-ng.conf.doc /usr/share/doc/syslog-ng-2.0.3/syslog-ng.conf.sample /usr/share/doc/syslog-ng-2.0.3/syslog-ng.txt /usr/share/doc/syslog-ng-2.0.3/syslog2ng /usr/share/man/man5/syslog-ng.conf.5.gz /usr/share/man/man8/syslog-ng.8.gz /usr/share/syslog-ng /usr/share/syslog-ng/syslog-ng.vim
自動起動設定
# chkconfig syslog off # chkconfig syslog-ng on
設定ファイルの修正
# vi /etc/sysconfig/syslog-ng # 実行ユーザ・グループを 「root → nobody」へ SYSLOGNG_OPTIONS="-u nobody -g nobody -p /var/run/syslogd.pid"
# vi /etc/syslog-ng/syslog-ng.conf options { sync (0); # (DEPLICATED) Obsolete aliases for flush_lines() # ログ出力の際のバッファリング容量 (default:2048) time_reopen (10); # Connection切断後の再接続WAIT時間 log_fifo_size (1000); # TCPメッセージをバッファリングするメッセージ数 long_hostnames (off); # ホスト名の前に source を出力 (s_sys@CENTOS5) use_dns (no); # DNSの使用 use_fqdn (no); # FQDNの使用 create_dirs (no); # 転送先ファイルのディレクトリ作成許可 keep_hostname (yes); # hostnameの上書き # ---以下、設定追加--- stats (86400); # syslog-ngの監視報告を 86400 秒間隔で行う (default:600) perm(0644); # 出力ファイルの Default Permission owner(nobody); # 出力ファイルの Default Owner group(nobody); # 出力ファイルの Default Group }; source s_sys { file ("/proc/kmsg" log_prefix("kernel: ")); unix-stream ("/dev/log"); internal(); udp(ip(0.0.0.0) port(514)); # udp514 でログ待ち受け }; destination d_cons { file("/dev/console"); }; destination d_mesg { file("/var/log/messages"); }; destination d_auth { file("/var/log/secure"); }; destination d_mail { file("/var/log/maillog" sync(10)); }; destination d_spol { file("/var/log/spooler"); }; destination d_boot { file("/var/log/boot.log"); }; destination d_cron { file("/var/log/cron"); }; destination d_mlal { usertty("*"); }; destination d_host { file("/var/log/syslog-ng/$HOST"); }; # ログの保存場所を指定 #filter f_filter1 { facility(kern); }; filter f_filter2 { level(info..emerg) and not facility(mail,authpriv,cron); }; filter f_filter3 { facility(authpriv); }; filter f_filter4 { facility(mail); }; filter f_filter5 { level(emerg); }; filter f_filter6 { facility(uucp) or (facility(news) and level(crit..emerg)); }; filter f_filter7 { facility(local7); }; filter f_filter8 { facility(cron); }; filter f_filter9 { host("192.168.0.1") and level(info..emerg); }; # ↑端末AのIPアドレスとファシリティ・プライオリティを指定 #log { source(s_sys); filter(f_filter1); destination(d_cons); }; log { source(s_sys); filter(f_filter2); destination(d_mesg); }; log { source(s_sys); filter(f_filter3); destination(d_auth); }; log { source(s_sys); filter(f_filter4); destination(d_mail); }; log { source(s_sys); filter(f_filter5); destination(d_mlal); }; log { source(s_sys); filter(f_filter6); destination(d_spol); }; log { source(s_sys); filter(f_filter7); destination(d_boot); }; log { source(s_sys); filter(f_filter8); destination(d_cron); }; log { source(s_sys); filter(f_filter9); destination(d_host); }; # ↑この行で上記の distinationとfilter を指定
最後にsyslog-ngプロセスを再起動し、設定を反映
# /etc/init.d/syslog-ng restart
ディレクトリを作ったり、syslog-ngが書き込みを行うログファイルの所有者変更したり
# mkdir /var/log/syslog-ng # cd /var/log/ # chown nobody.nobody syslog-ng/ messages secure maillog spooler boot.log cron
端末AのSyslog転送設定
端末AではSyslog-ngは導入せず、syslogdを使用し転送を行います。
# vi /etc/syslogd.conf *.* @192.168.0.2 # 最終行にログ転送サーバのIPアドレスを追加
syslogプロセスを再起動し、設定を反映
# /etc/init.d/syslogd restart
動作確認方法は、端末Aでloggerコマンドを実行し、ログ収集サーバにログが転送されていればOKです。
参考URL
■第9回 安全性の高いログ・サーバへの乗り換えのススメ(1)
http://www.atmarkit.co.jp/fsecurity/rensai/unix_sec09/unix_sec01.html
■第10回 安全性の高いログ・サーバへの乗り換えのススメ(2)
http://www.atmarkit.co.jp/fsecurity/rensai/unix_sec10/unix_sec01.html
■syslog-ng.confの設定(マロンくん.NET)
http://www.marronkun.net/linux/other/syslogng_000047.html
■syslog-ngでログ監査の自動化(マロンくん.NET)
http://www.marronkun.net/linux/other/syslogng_000087.html
■リファレンスマニュアル(英)
http://www.syslog.org/syslog-ng/v2/
■Syslog-ng FAQ(英)
http://www.campin.net/syslog-ng/faq.html
CentOS 5.1のインストール&自分流設定
ソフトの検証をするため、CentOS 5.1 のインストールを行ったのでメモ。
他人様から謹んでいただくばかりで、実はちっとも自分流ではありません。
インストール
- textインストール
- 初期導入アプリケーションは「開発環境」のみ
ビープ音を消す
# vi /etc/inputrc
set bell-style none
不要サービスの停止
参考URL → CentOS 5.1 CXg[ãÌìÆ
chkconfig gpm off # マウス操作は行わないため
chkconfig auditd off # SELinuxは使用しないため
chkconfig atd off # cronで代用可能なため
chkconfig bluetooth off # bluetoothは使用しないため
chkconfig cups off # プリンタは使用しないため
chkconfig ip6tables off # IPv6は使用しないため
chkconfig irqbalance off # マルチCPU環境ではないため
chkconfig mdmonitor off # RAID構成ではないため
chkconfig setroubleshoot off # SELinuxは使用しないため
chkconfig mcstrans off # SELinuxは使用しないため
chkconfig restorecond off # SELinuxは使用しないため
chkconfig xfs off # Xを使用しないため
chkconfig yum-updatesd off # yumは手動で行うため
ユーザ作成とパスワード設定
adduser testuser
passwd testuser
ネットワーク設定
# /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=dhcp
GATEWAY=192.168.XXX.XXX
# /etc/resolv.conf
nameserver 192.168.XXX.XXX
# /etc/init.d/network restart
yum の対象リポジトリに RPMforge を追加
参考URL→CentOS 5.2 で yum の対象リポジトリに RPMforge を追加するには - tilfin's note 跡地
インストール
# yum -y install yum-fastestmirror (1.0.4-3.el5.centos.2)
# yum -y install vim-enhanced (7.0.109-3.el5.3) ...vim-commonも導入される
# yum -y install zsh (4.2.6-1)
# yum -y install screen (4.0.3-1.el5)
# yum -y install httpd (2.2.3-11.el5_1.centos.3)
# yum -y install nkf
sudo設定
# visudo
testuser ALL=(ALL) ALL # testuser にすべての権限を譲渡
zsh設定
$ chsh
新しいシェル : /bin/zsh # ユーザシェルを変更
$ vi ~/.zshrc
# 「WEB+DB PRESS Vol.40 特集2 サポートページ」から .zshrc の雛形を謹んでいただく
http://bloghackers.net/~naoya/webdb40/files/dot.zshrc
# 以下も追加
PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin/
export PATH
setopt NO_Flow_control # Ctrl+S/Ctrl+Q によるフロー制御を行わない
$ source .zshrc
ディレクトリのユーザ所有者変更
# chown -R testuser.testuser /usr/local/src/
ssh設定
# vi /etc/ssh/sshd_config
PermitRootLogin no # rootログインを許可しない
UseDNS no # ログイン時の遅延対応
# /etc/init.d/sshd restart
iptable設定
# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
#-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
#-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
#-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
#-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
#-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
httpd設定
# vi /etc/httpd/conf/httpd.conf
ServerTokens ProductOnly # レスポンスヘッダの情報隠蔽
ServerSignature Off # エラーページ表示時の情報隠蔽
Options Includes ExecCGI FollowSymLinks # SSI,CGIを有効、Index表示無効
Order deny,allow
Deny from All
Allow from 127.0.0.1 192.168.XXX. # localhost を入れると遅延する(謎)
Options MultiViews # Index表示無効
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.1 192.168.XXX.
Order deny,allow
Deny from all
Allow from 127.0.0.1 192.168.XXX.
Order deny,allow
Deny from all
Allow from 127.0.0.1 192.168.XXX.
AddHandler cgi-script .cgi .pl
ntp設定
# vi /etc/ntp.conf
server ntp.bbtec.net
server ntp.hokudai.ac.jp
server wsclark.huie.hokudai.ac.jp
#server 0.rhel.pool.ntp.org
#server 1.rhel.pool.ntp.org
#server 2.rhel.pool.ntp.org
# ntpdate ntp.bbtec.net # 手動での時刻同期
# clock --systohc # システム時刻をハードウェアクロックと同期
# crontab -e
0 * * * * /sbin/clock --systohc
# /etc/init.d/ntpd start
# chkconfig ntpd on
screen設定
$ vi ~/.screenrc
# 「WEB+DB PRESS Vol.40 特集2 サポートページ」から .screenrc の雛形を謹んでいただく
http://bloghackers.net/~naoya/webdb40/files/dot.screenrc
vim設定
$ vi ~/.vimrc
# 「ずんwiki」から .vimrc の雛形を謹んでいただく
http://www.kawaz.jp/pukiwiki/?plugin=attach&refer=vim&openfile=.vimrc
VMware Workstation と Server の違い
- 使用バージョン
- 5.5
VMware Workstation は有償ツールですが、この製品の素晴らしさにようやく気づいたので書いておきます。
Workstation 5.5 でできること
- スクリーンキャプチャ、ムービーキャプチャができる
- マニュアル作成や説明に便利!
- 簡単にクローンが作れる
- 複数PCの環境構築に便利!
- サービスとして動作できるのでパフォーマンスに優れる
- 複数のスナップショットに対応している
- インストールテストなどに便利!
※参考:仮想化プラットフォーム,VMware WorkstationとVMware Serverの違い | 日経 xTECH(クロステック)
4/29追記
■VMware の第1四半期決算、増収増益で売上は70%増
http://japan.internet.com/finanews/20080428/12.html
「VMware Workstation」を使うようになって、さすがはVMwareだと見直しました。
「Xen」もオープンソースで個人的に期待しているけど、商用となるとVMwareには適わないとも聞いています。
Microsoftの「Virtual PC」も心なしか最近使っている人は少ないように感じますねぇ。
株価は2007年10月の高値から半分になっているけど、
ここ1ヶ月ちょっとで50%近く上がっている。
http://finance.google.com/finance?q=NYSE%3AVMW
しばらくして下がるようなことがあれば買いたいです。
その前に海外の証券口座が必要ですがね…