いますぐ実践! Linuxシステム管理

[バックナンバーのトップへ] [Linux システム管理のトップへ]


いますぐ実践! Linux システム管理 / Vol.017 / 読者数:369名

こんばんは,うすだです.

突然ですが,Windows に関する興味深い話を教えてもらいましたので, ご紹介します.教えてもらったというよりも,実は,間接的にその場にいたのですが….

とある店舗にあるお仕事用の Windows マシン,何の変哲もないマシンなのですが, ある時,立ち上げたら,Windows のヘルプウィンドウが,勝手に出てきました. そこまではまあいいのですが,ヘルプウィンドウを閉じても閉じても, 何度でもヘルプウィンドウが出てきてしまいます.ですので, 他のアプリケーションを起動できなくなってしまったそうです.
しかも,Windows を再起動しても,100% 再現してしまうそうです.

…こ,これは,困りました….
これでは,仕事ができません….

さて,なにが原因だと思いますか?
(原因がわかる方はすごい! …あるいは,経験済ですね!!)

答えは,あとがきでご紹介します.

…なんだかすっきりしませんが,今日も,はりきってまいりましょう!

今週のお題 - syslog を集中管理する

今週は,先週やった syslog の続きで,ローテーションをやります.
…と思ったのですが,申し訳ありません,ちょっと変更させてください.

今週は,ログを集中管理する方法を,ご紹介したいと思います.
ローテーションは,来週やります.すみませんが,来週やらせてください.

それはともかく,先週の内容は,こちらをごらんください.
http://www.usupi.org/sysad/016.html

マシンが複数あると,各マシンのログを見て回るよりも, 集中管理したいなと思うのが,怠惰な…いやいや,効率を求める管理者であれば, 誰もが思うことではないかと思います.

というわけで,今週は,別のマシンから送られてきたログを受ける方法と, 別のマシンにログを送信する方法を,ご紹介します.

実は,syslogd は,UDP の 514番から来るログを受ける機能を,持っています. ただ,UDP はアドレスを偽ったりなどいろいろと問題があるため, デフォルトでは受けないようになっています.

では,どうすれば受けるようになるかと言いますと,-r オプションをつけて起動する, ただそれだけで,そうなります.
とりあえず試すのであれば,以下のように再起動してみてください.

  # kill `cat /var/run/syslogd.pid`
  (ちょびっとだけ間をおく)
  # syslogd -m 0 -r

これで,UDP の 514番からのログを受けとるようになります.
/var/log/messages などを見ると,syslogd の restart のログに, remote reception という文字が入っているのがわかります.

  # grep syslogd /var/log/messages
  ...
  Jul  3 04:08:11 logserv syslogd 1.4.1: restart.
  Jul  4 00:32:51 logserv syslogd 1.4.1: restart (remote reception).

一番最後のやつですね.

いつなんどきも,-r オプションつきで syslogd を起動したい場合は, RedHat や Vine などの場合は,/etc/init.d/syslog の SYSLOGD_OPTIONS に -r を追加します.
Debian ですと,/etc/init.d/sysklogd の SYSLOGD に -r を追加します.
これで,再起動などしたときには,-r つきで syslogd が起動されます.

さて,次に,ログを送る側の設定です.
/etc/syslog.conf のアクションを,@マシン名 としますと, そのマシンに送信するようになります.例えば,

  *.alert             @logserver

という1行を syslog.conf に加えますと,priority が alert 以上のログを, logserver へ送信するようになります.

…はい,それだけです.
では,実際に,試してみましょう.
logserver というマシン上で,syslogd が -r つきで動いているとします.
logserver の /etc/syslog.conf には,

  local6.*            /var/log/local6.log

という1行があり,以下を実行して,syslog.conf を解釈してもらいます.

  # kill -HUP `cat /var/run/syslogd.pid`

別のマシンである logclient では,/etc/syslog.conf に

  local6.*            @logserver

という1行を追加して,同様に syslog.conf を解釈してもらいます.
そして,logclient 上で,logger コマンドを実行します.

  # logger -p local6.notice This is a test message via logger.

すると,logserver の /var/log/local6.log に, 以下のようなメッセージが出力されます.

  Jul  4 00:54:32 logclient usu: This is a test message via logger.

これで,ログの集中管理の土台を,作ることができました.

とはいえ,外の悪いひとから悪さをされるといけませんので, 外部から見えるマシンの場合は,ファイアウォール等で, UDP の 514番をブロックするようにしてください. 内部からしか見えなくても,特定のマシンからしか受けないように, フィルタリングを行った方が無難だと思います.

また,UDP ですので,とりこぼすことがごくまれに生じることがあるかもしれない, というのは心の片隅に置いておいたほうがいいと思います.

宿題の答え

先週の問題は,

  priority が alert 以上のログを,root 宛にメールするように,設定
  してください.

でした.
先週のおさらい部分が多いですが,いちおう全部書きます.

  1. 名前つきパイプを生成します.
      # mkfifo -m 600 /var/log/alert
    
  2. /etc/syslog.conf に,以下を追加します.
      *.alert       |/var/log/alert
    
  3. 以下を実行して,syslogd に syslog.conf を解釈させます.
      # kill -HUP `cat /var/run/syslogd.pid`
    
  4. 以下のシェルスクリプトを用意します.ここが先週と違います.
      #!/bin/sh
      while read message; do
          echo $message | /usr/bin/Mail -s 'syslog alert' メールアドレス
      done < /var/log/alert
    
  5. シェルスクリプトのファァイル名が syslogmail.sh とした場合,以下のように実行します.
      # nohup ./syslogmail.sh > /dev/null 2>&1 &
    
    nohup で動かすと,今のシェルが死んでも,シェルスクリプトは動き続けます. 必要なければ,直接起動してください.
  6. 動作確認は,logger コマンドで行います.
    以下を実行して,メールが来ることを確認してください.
      # logger -p local0.alert  This is a test via logger.
    

以上です.読みにくかったら,ごめんなさい.

今週の宿題

今週の宿題は,こちらです.

  syslog で,facility が local5 で priority が notice 以上のログを,
  /var/log/local5.log に記録しつつ,別のマシンである logserver にも
  送信する設定を,してください.

です.
簡単すぎますか.簡単すぎたらごめんなさい.

あとがき

冒頭の答です.

なんと,キーボードの上にものがのっていて, F1 キーが押しっぱなしになっていたそうです.

答を聞いてしまうと,なーんだ,と思われるかもしれません.
でも,わたしは,答を聞いた時,ある種の衝撃を受けました.
Windows のことをあまり知らないとはいえ,それなりに使っていて, 専門外のひとよりは知っているだろうという,うぬぼれがありました.
そのうぬぼれが,視野を狭くしてしまい,システムの設定だとか, ソフト的なバグだとか,そっちの方の原因しか考えられなくなっていました.

こういう仕事をしていますと,いろんな問題が日々発生します. これからは,先入観を排除し,うぬぼれることなく,まっさらな気持ちで, 問題に立ち向かっていかないといけないな,と思いました.
(現実はキビシイですので,あくまでも理想ですが…心がけたいです.
Xファイルのモルダーのように…(ふ,古い…).)

さて,ログといえば,Windows のログの管理も,意外と大事なのではないかと思います. とはいえ,わたしは Windows を真面目に管理したことがなくて, 今のところは,ログがでかくなったら全部消すという, 悪い管理しかしていません.(…いや,管理って言いませんよね.反省)

何かいい方法はないかなと思っていたのですが,つい最近,Log Parser なるものの存在を,知りました.
Log Parser は,ログを SQL で検索するためのツールで, MS のサイトから無償でダウンロードできるものです.
ドキュメントを見ると,イベントログだけでなく,レジストリ, ファイルやディレクトリなどなど…いろいろなものを検索できるようです.
しかも,出力を syslog サーバに送信できるようです.

まだインストールしただけですので,面白い…じゃなくて,便利なようでしたら, どこかでご紹介したいなと思います.

というわけで,来週こそは,ローテーションをやります.すみません!
ご意見ご感想苦情叱咤激励…,いろいろ受け付けております.
気軽にメールをいただけますと,幸いです.

今週も,ここまで読んでいただき,ありがとうございました.
それでは,また来週,お会いしましょう!

「いますぐ実践! Linux システム管理」の解除は,以下からどうぞ.
http://www.usupi.org/sysad/ (まぐまぐ ID:149633)

バックナンバーは,こちらに全部あります.
http://www.usupi.org/sysad/backno.html

「栗日記」−栗の絵を毎日描いております.栗絡みな情報もあります.
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)


[バックナンバーのトップへ] [Linux システム管理のトップへ]

トップ

バックナンバー
    [日付順] [目的別]

プロフィール

▼ リンク

独学Linux
Linuxデスクトップ環境に関する情報が満載です。 メルマガもありますよ。
Server World
CentOS 6をサーバとしたときの設定例が、これでもかというくらいたくさん載っています。 CentOS以外のディストリビューション(Fedora, Ubuntu)も充実しています。
LINUXで自宅サーバーを構築・導入(Fedora9)
Fedora9のインストールの仕方から管理方法まで、詳しく載っています。 SearchManには情報がもりだくさんです。
マロンくん.NET
〜サーバ管理者への道〜
Linuxをサーバとして使用するための、いろいろな設定方法が載っています。 マロンくんもかわいいです。 なんといっても、マロンくんという名前がいいですね!!
日経Linux
今や数少なくなってしまったLinuxの雑誌。ニュースやガイドもあります。
Linux Square − @IT
@ITが提供する、Linux の情報が満載。 載っていない設定方法はないんじゃないでしょうか。
gihyo.jp…技術評論社
Linuxに限らず様々な技術情報が満載のサイト。 SoftwareDesign誌も、 ソフトウェア技術者は必見です。
SourceForge.JP Magazine
Linux に限らず、オープンソース関連の記事が網羅されています。
ITmediaエンタープライズ:Linux Tips 一覧
Tips というより FAQ 集でしょうか。わからないことがあれば覗きましょう。
IBM developerWorks : Linux
開発者向けですが、勉強になりますよ。
Yahoo!ニュース - Linux
Yahoo!のLinuxに関するニュース一覧です。
栗日記
システム管理とかと全然関係ありませんが、毎日栗の絵を描いています。
システム管理につかれちゃったとき、癒されたいときに、ご覧ください。:-)
WEB RANKING - PC関連
ランキングに参加してみました。押してやってください。

▼ 作ってみました

Add to Google

▼ せんでん




▼ 最近読んだ本

▼ 気に入ってる本