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

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


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

こんばんは、うすだです。

突然ですが、電子工作をやりたくなりまして、 500円くらいの安いキットを買ってきて、作っていました。

表向きは、子どもが興味を示すかどうか確認する、という意図があったのですが、 実のところは、わたしが作りたいという気持ちの方が上でした。

で、英語と中国語の大雑把な説明しかないので、 コンデンサは極性があるんだっけとかネットで調べて、なんやかんやしてるうちに、 なんとか完成することができました。

しかし、組み込み系の会社に属しているとは思えない初心者っぷりには、 われながら驚愕です。5年弱の間、なにしてたんだろうって感じです。

でも、スイッチを入れたら、一発でちゃんと動きました。
組み込み系の社員としても、父親としても、最低限の面目を果たせたように思います。

それでは、今週も、はりきってまいりましょう!

今週のお題 - Logwatch にサービス・フィルタを追加する

というわけで、先週、Logwatch の使い方やちょっとしたカスタマイズの方法を、 ご紹介しました。

Vol.074 - Logwatch をカスタマイズする
http://www.usupi.org/sysad/074.html

Logwatch には、さまざまなサービスのフィルタが、すでにあります。
ですので、なんにも設定しなくても、黙って集計してくれます。

…が、しかし、しかしです。
一般的でないデーモンなどをインストールして動かしていますと、 さすがにそれは集計してくれません。わからんもんはわからんのです。
かといって、せっかく Logwatch があるのに、 わざわざ独自にスクリプトを書いて実行するのも、なんだかなーという気がいたします。

そんなお嘆きの貴兄のために、今週は、 Logwatch のサービス・フィルタを作ってみたいと思います。


実は、/usr/shad/doc/logwatch-x.x.x/HOWTO-Make-Filter に、 作り方がばっちり載っています。(x.x.x は logwatch のバージョンです。)

じゃあ、読めばできますよね…と言ってしまいますと、 当メルマガの存在意義が消失してしまいますので、簡単な例をまじえつつ、 作り方をご紹介したいと思います。

 

さて、サービス・フィルタを追加する手順は、以下の通りです。

  1. ログファイル・グループを選ぶ。
    使用するログを選択します。該当するグループがない場合は、 その設定ファイルを作る必要があります。
    (今回は、すでにあるログファイル・グループを使用します。)
  2. サービス・フィルタの設定ファイルを作ります。
    サービス名や、 使用するログファイル・グループなどを指定するための設定ファイルを作成します。
    (今回は、最低限の設定を書いただけの設定ファイルを作ります。)
  3. サービス・フィルタ本体を作ります。
    ログを読み込み、集計して、結果を出力するスクリプトを作成します。
    (集計の度合によってピンキリですが、今回はキリでご容赦ください。)

以降で、それぞれの詳細をご説明いたします。
例として、 /var/log/messages に記録されたカーネルのメッセージを処理するフィルタを、 ちょちょいと作ってみたいと思います。


まずは、ログファイル・グループを選択します。
ログファイル・グループというとわかりにくいですが、ようするに、 使用するログファイルを指定する、ということです。

Logwatch には、一般的なログファイル・グループの設定が、 あらかじめ用意されていますので、大抵はこれらのどれかを選ぶだけです。

ログファイル・グループの設定ファイルは、/etc/log.d/conf/logfiles/ か、 もしくは /usr/share/logwatch/default.conf/logfiles/ の下にあります。 (ご使用の環境によって微妙に異なるかもしれません。)

例として作るフィルタのログは、/var/log/messages ですが、 これの設定ファイルは messages.conf です。 そして、ログファイル・グループ名は、.conf を除いた messages になります。
この名前を、脳ミソに刻み込んでおきましょう。


次は、サービス・フィルタの設定ファイルを記述します。

設定ファイルの置き場所は、/etc/log.d/conf/services/ か、もしくは、 /usr/share/logwatch/default.conf/services/ の下です。
設定ファイル名は、サービス名.conf である必要があります。

とりあえずサービス名を kernel-test にして、 kernel-test.conf を作成してみたいと思います。
内容は、最低限、以下があればよいです。

  Title = "タイトル名"
  LogFile = ログファイル・グループ名

Title はタイトル名で、出力されるメッセージに使われます。
LogFile には、使用するログファイル・グループの名前を指定します。

あといくつかオプションがあります。簡単なものを以下に示します。

*RemoveHeaders を指定しますと、行の最初の方にある、日時、 ホスト名とサービス名を取り除いてくれます。

  *RemoveHeaders

*OnlyService を指定しますと、一致するサービス名の行のみを対象としてくれます。

  *OnlyService = サービス名

 

というわけで、以下の内容のファイルを、 kernel-test.conf という名前で作成してください。(後半2行は、お好みでどうぞ。)

  Title = "Kernel Test"
  LogFile = messages
  *RemoveHeaders
  *OnlyService = kernel

さあ、最後は、サービス・フィルタ本体です。

フィルタのファイル名は、サービス名と同じである必要があります。
フィルタの置き場所は、/etc/log.d/scripts/services/ か、もしくは、 /usr/share/logwatch/scripts/services/ の下です。

フィルタには、ログの内容を標準入力から読み込み、 標準出力に集計結果を出力する処理を行わせます。
ここでは、ごく簡単に、そのまま出力するものにしてみましょう。

  #!/usr/bin/perl
  while (<>) {
      print "  $_";
  }

標準入力から得たものをそのまま出力しているだけですね…。
上記内容のファイルを、kenrel-test という名前で作成し、実行可能状態にして、 フィルタの置き場所に置いてください。


では、念のため、標準出力に出力させて、確認してみましょう。

  # logwatch -service kernel-test -print
  ...前略...
 
   --------------------- Kernel Test Begin ------------------------ 

     usb.c: USB disconnect on device 00:1d.1-1 address 38
     usb.c: deregistering driver pegasus
     hub.c: new USB device 00:1d.1-1, assigned address 39
  ...中略...

   ---------------------- Kernel Test End ------------------------- 

   ###################### LogWatch End ######################### 

こんな感じで、カーネルのメッセージが全部出てきます。


以上、Logwatch のサービス・フィルタの作り方を、ご紹介しました。

今回作ったものは、すごく単純なものですので、あまり実用的でないかもしれません。 これはちょっとなと思われた貴兄は、 ちゃんと集計するものに書き換えていただけますと、幸いです。

また、標準入力からのログを無視して、 なにかの状態を出力するコマンドを実行させるのも、アリだと思います。 たとえば、zz-disk_space というフィルタがそんな感じです。 機会があれば、中を覗いてみてください。

宿題の答え

先週の宿題は、

  すべてのサービスを対象に logwatch を実行してください。
  ただし、sendmail は対象外としてください。

でした。

logwatch.conf の Service の指定を、以下のようにしてください。

  Service = All
  Service = -sendmail

Service のひとつに All が指定されている場合、 他の Service の名前の先頭が - で始まるサービスは、対象から外されます。

時間と Perl の読解力があれば、logwatch.pl の中を見てみてください。

  # Time to expand @ServiceList, using @LogFileList if defined...

というコメントの直後のループで、その処理を行っています。

今週の宿題

今週の宿題は、

  Logwatch で、すべてのサービスの集計結果を必要としますが、特定の
  サービスの集計結果が先頭に来るようにしてください。

です。

すべての結果が欲しいけれど、忙しいときは、特定のサービスの結果しか見ない、 というかたが結構いらっしゃるのではないかと思います。
たとえば、sshd の結果は必ず確認する、という場合、sshd の結果が先頭にあると、 忙しいときは先頭だけ見ればいいので、楽ですよね。

そんなふうに logwatch を実行するスクリプトを、書いてみてください。

…とはいえ、こういうのが欲しいなと今思いついただけですので、 簡単にできるかどうかなどわかりません。来週までに、なにか考えておきます。

あとがき

冒頭で、電子工作を突発的に行った話をしましたが、もうひとつ、 唐突にはじめたことがあります。

わたしは、学生のころからいろんな言語に興味がありましたので、 とくに目的もないまま、PostScript や Emacs Lisp のお勉強をしていました。

最近、そんな気持ちを忘れ、惰性で生きてきたような気がしましたので、 なにか新しい言語を勉強しよう!! と奮起した次第です。

そんなわけで、今、Python のお勉強をしています。

なにゆえ Python なんだ!? と疑問に思われたかたも多いことでしょう。
いつものように、あまり根拠はないのですが、 ちょっとマイナーな言語を覚えたかった…といういい加減な気持ちが、 そもそものきっかけです。
また、以下のページを見たところ、Python のニーズがかなり低かった、 というのも根拠のひとつです。(綴りも間違ってますし…)

日本であなたが今すぐ学ぶべき10のプログラミング言語
http://www.magicvox.net/archive/2006/09261926.php

さすがに、目標がないと、「OS自作入門」のときのように挫折してしまいますので、 今回は、とあるアプリを作るという目標を定めています。

内容はヒミツですが、子どもに使ってもらうためのモノです。
もし万が一完成したら、僭越ながらご紹介したいと思います。
挫折したら(ぜんぜんその話題に触れなくなったら)、 またかよ! って指摘していただけますと、いい感じにヘコむのではないかと思います。

 

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

 

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

バックナンバーは、こちらにほぼ全部そろっています。
http://www.usupi.org/sysad/backno.html

「栗日記」−長野のNHKがギャラリーを取材するらしいです。うひゃぁ。
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)
http://usupi.seesaa.net/ (栗日記ブログ)
http://www.fumido.co.jp/kuriniki/ (栗日記ぎゃらりー)


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

トップ

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

プロフィール

▼ リンク

独学Linux
Linuxデスクトップ環境に関する情報が満載です。 メルマガもありますよ。
Server World
CentOS 5 をサーバとしたときの設定例が、これでもかというくらいたくさん載っています。 CentOS以外のディストリビューションや、Solaris10の例も充実しています。
Cyberam Documents Project
Linuxに関するTipsやLinuxコマンドリファレンス、Linuxによるサーバ構築や セキュリティ情報を記載しています。 また、Oracleなどのデータベース情報もあります。 なんと言いますか、ものすごい情報量に、圧倒されます。
LINUXで自宅サーバーを構築・導入(Fedora9)
Fedora9のインストールの仕方から管理方法まで、詳しく載っています。 SearchManには情報がもりだくさんです。
マロンくん.NET
〜サーバ管理者への道〜
Linuxをサーバとして使用するための、いろいろな設定方法が載っています。 マロンくんもかわいいです。 なんといっても、マロンくんという名前がいいですね!!
Ubuntu通信
Linux(主にUbuntu)と自作PCに関する投稿型情報サイトです。 最新のディストリビューションから役立つソフト、ゲームに至るまで、 私の知らない最新のソフトなどが紹介されています。
日経Linux
今や数少なくなってしまったLinuxの雑誌。ニュースやガイドもあります。
Linux Square − @IT
@ITが提供する、Linux の情報が満載。 載っていない設定方法はないんじゃないでしょうか。
SourceForge.JP Magazine
Linux に限らず、オープンソース関連の記事が網羅されています。
ITmediaエンタープライズ:Linux Tips 一覧
Tips というより FAQ 集でしょうか。わからないことがあれば覗きましょう。
IBM developerWorks : Linux
開発者向けですが、勉強になりますよ。
Yahoo!ニュース - Linux
Yahoo!のLinuxに関するニュース一覧です。
栗日記
システム管理とかと全然関係ありませんが、毎日栗の絵を描いています。
システム管理につかれちゃったとき、癒されたいときに、ご覧ください。:-)
WEB RANKING - PC関連
ランキングに参加してみました。押してやってください。

▼ 作ってみました

Add to Google

▼ せんでん




▼ 最近読んだ本

ブタのいどころ ブタのいどころ
小泉吉宏
  考えるきっかけになりそうな
アサーティブ-「自己主張」の技術 アサーティブ-「自己主張」の技術
大串亜由美
  言わなくてもわかるはいかんですね
最後の授業 最後の授業 ぼくの命があるうちに
Randy Pausch
  なんて前向きなんだ…
共感の時代へ 共感の時代へ
Frans de Waal
  サルに負けないようにしよう
入門git 入門git
Travis Swicegood
  git 使ってみよう!(今更だけど)
実験でわかる電子工学入門 実験でわかる電子工学入門
大塚友彦, 永吉浩, 潮秀樹
  トランジスタのことがわかったかも
論語活学 論語活学
渡部昇一
  難しい論語がわかりやすかった
ソフトウェアテスト入門 ソフトウェアテスト入門
ソフトウェア・テスト編集部
  テストの大事さを再確認
何のために働くのか 何のために働くのか
北尾 吉孝
  古典を読もうと思います
教室の悪魔 教室の悪魔
山脇 由貴子
  想像以上です…まず止めねば
過去の本...

[X]
「マイクロソフトでは出会えなかった天職」 John Wood
「伝える本」 山本高史
「センネン画報その2」 今日マチ子
「おとなの小論文教室」 山田ズーニー
「民間防衛」 スイス政府
「理性の限界−不可能性・不確実性・不完全性」 高橋昌一郎
「ユダの福音書を追え」 Herbert Krosney
「ヘッテルとフエーテル」 マネー・ヘッタ・チャン
「「そ・わ・か」の法則」 小林正観
「抜擢される人の人脈力」 岡島 悦子
「喜ばれる」 小林 正観
「「体を温める」と病気は必ず治る」 石原結實
「マネジメント 務め、責任、実践」 Peter F. Drucker
「心と脳の正体に迫る」 天外伺朗, 瀬名秀明
「マネジメント革命」 天外伺朗
「すごい会議」 大橋禅太郎
「ワインバーグの文章読本」 Gerald M. Weinberg
「マルチコアCPUのための並列プログラミング」 フィックスターズ
「ほんの少しの時間…忙しいあなたのための瞑想」 Christina Rodenbeck
「21世紀に生きる君たちへ」 司馬 遼太郎
「史上最強の人生戦略マニュアル」 Phillip C.McGraw
「新エディターシップ」 外山 滋比古
「キラー・プレゼンテーション」 Mark Gottlieb
「ザ・コピーライティング」 John Caples
「北欧素顔のデザイナーに出会う旅」 鈴木緑
「プログラミングErlang」 Joe Armstrong
「統計はこうしてウソをつく」 Joel Best
「「勉強しろ」と言わずに子供を勉強させる方法」 小林公夫
「プログラミングPerl<VOLUME1>」 Larry Wall, Tom Christiansen, Jon Orwant
「粘土道 完全版」 片桐 仁
「PERL HACKS」 chromatic, Damian Conway, Curtis "Ovid" Poe
「家計3表生活防衛術」 國貞 克則
「みえないかたち」 吉岡 徳仁
「VM(OSシリーズ)」 岡崎 世雄, 全先 実
「駄美術ギャラリー」 現代美術二等兵
「レイモン・サビニャック自伝」 Raymond Savignac
「ママのためのシュタイナー教育入門」 Doris Schuerer
「あなたに平和が訪れる 禅的生活のすすめ」 Thich Nhat Hanh
「アップルを創った怪物-もうひとりの創業者、ウォズニアック自伝」
      Steve Wozniak
「出現する未来」 Peter Senge, C. Otto Scharmer, Joseph Jaworski,
      Betty Sue Flowers
「ボロボロになった覇権国家」 北野幸伯
「ザ・シークレット」 Rhonda Byrne
「実戦マーケティング思考」 佐藤 義典
「カリスマ教師の心づくり塾」 原田 隆史
「ビジュアライジング・データ - Processingによる情報視覚化手法」 Ben Fry
「道路の決着」 猪瀬直樹
「未来世療法」 Brian L. Weiss
「表情分析入門」 Paul Ekman, Wallace V. Friesen
「アイデアのつくり方」 James W. Young
「思考の整理学」 外山滋比古
「ナゲキバト」 Larry Barkdull
「21世紀の国富論」 原 丈人
「Ship It! ソフトウェアプロジェクト成功のための達人式ガイドブック」
      Jared Richardson, William Gwaltney Jr.
「マイクロトレンド」 Mark J. Penn, E. Kinney Zalesne
「即戦力の人心術」 Michael Abrashoff
「組込みソフトエンジニアを極める」 酒井由夫
「私 デザイン」 石岡瑛子
「Ex-formation RESORT」 原研哉ゼミ
「シッダールタ」 Hermann Hesse
「新宿駅最後の小さなお店ベルク」 井野朋也
「入門LDAP/OpenLDAP」 デージーネット
「エイジレス革命」 Deepak Chopra
「免疫革命」 安保徹
「悪い笛-エハイク2」 吉田戦車
「ハリー・ポッターと死の秘宝」 J.K.Rowling
「賢者の書」 喜多川 泰
「セキュリティウォリア」 Cyrus Peikari, Anton Chuvakin
「CORE MEMORY」 John Alderman, Mark Richards
「新訳 星の王子さま」 サン=テグジュベリ / 倉橋 由美子
「センネン画報」 今日 マチ子
「粟津潔 デザインする言葉」 粟津潔
「Binary Hacks」 高林 哲,鵜飼 文敏,佐藤 祐介,浜地 慎一郎,首藤 一幸
「Make: Volume01」 オライリー・ジャパン
「セーラが町にやってきた」 清野 由実
「手紙屋」 喜多川 泰
「Linuxカーネル2.6解読室」 高橋 浩和,小田 逸郎,山幡 為佐久
「人蕩し術」 無能 唱元
「子育てハッピーアドバイス2」 明橋 大二, 太田 知子
「ラッセル幸福論」 B. Russell
「それでも人生にイエスと言う」 Viktor Emil Frankl
「子育てハッピーアドバイス」 明橋 大二, 太田 知子
「考具」 加藤 昌治
「北欧デザイン<3>」 渡部 千春
「北斎の謎を解く」 諏訪 春雄
「体感美術館」 平野 暁臣
「チベット永遠の書」 Theodore Illion
「リナックスの革命」 Pekka Himanen
「人月の神話」 Frederick Phillips,Jr. Brooks
「ヤバい経済学」 Steven D. Levitt, Stephen J. Dubner
「小布施ッション<2001-2002>」 セーラ・マリ カミングス
「アンパンマン伝説」 やなせ たかし
「夢をかなえるゾウ」 水野 敬也
「ゲーム開発者のためのAI入門」 David M. Bourg, Glenn Seemann
「北欧デザイン<2>」 渡部 千春
「北欧デザイン<1>」 渡部 千春
「ヒューマン2.0」 渡辺 千賀
「中国・ロシア同盟がアメリカを滅ぼす日」 北野 幸伯
「超ロング・セラー 絶滅寸前商品」 湯浅 豊彦
「The BUG(ザ・バグ)」 すずき ひろのぶ,かとう みつあき
「デザインのデザイン」 原 研哉
「マキアヴェッリ語録」 塩野 七生
「ハンバーガーを待つ3分間の値段」 斎藤 由多加
「星の旅人-スペイン「奥の細道」-」 黛 まどか
「食品の裏側」 安部 司
「On Lisp」 Paul Graham
「ぼくが医者をやめた理由 つづき」 永井 明
「あなたならどうする?」 Jack Nikolaschka
「セキュアプログラミング−失敗から学ぶ設計・実装・運用・管理」
      Mark G. Graff, Kenneth R. van Wyk
「「左利き」は天才?−利き手をめぐる脳と進化の謎
      David Wolman
「自分の中に毒を持て」 岡本 太郎
「アトピーの薬を減らす本」 田中 貴子
「岡本太郎「明日の神話」修復960日間の記録」 吉村 絵美留
「X51.ORG THE ODYSSEY」 佐藤 健寿
「アレルギーっ子の暮らし応援BOOK」 佐藤 のり子
「沖縄文化論」 岡本 太郎
「「伝説の社員」になれ!」 土井 英司
「コンピュータの構成と設計(上)」 Patterson & Hennessy
「カラスのジョンソン」 明川 哲也
「ドリルを売るには穴を売れ」 佐藤 義典
「頭がよくなる照明術」 結城 未来
「クロフォードのインタラクティブデザイン論」 Chris Crawford
「いじめの根を絶ち子どもを守るガイド」 Barbara Coloroso
「非常識のすすめ―逆発想の仏教論」 ひろさちや
「Linuxアドバンストネットワーク構築ガイド - HAサーバ構築編」
      デージーネット
「イノベーションの達人!」 Tom Kelly, Jonathan Littman
「クリエーター50人が語る創造の原点」 小原 啓渡
「欺術 - 史上最強のハッカーが明かす禁断の技法」 Kevin Mitnick
「楽しい気象観察図鑑」 武田 康男
「入門 Ajax」 高橋 登史朗
「リリカルな自画像」 岡本 太郎
「やぎの目ゴールデンベスト」 林 雄司
「初めてのPython 第2版」 Mark Lutz,David Ascher
「鼻兎」 小林 賢太郎
「なぜ、これがアートなの?」 Amelia Arenas
「芸術起業論」 村上 隆
「まほう色の瞳」 Enrique Barrios
「ラーメンズつくるひとデコ」 ラーメンズ
「R25 つきぬけた男たち」 R25編集部
「美の呪力」 岡本 太郎
「しろのあお」 上大岡 トメ
「ザ・ゴール」 Eliyahu M. Goldratt
「ハッカーと画家」 Paul Graham
「岡本太郎に乾杯」 岡本 敏子
「Fedore Core Expert」 Software Design
「誰も知らない男」 ブルース・バートン
「子どもが育つ魔法の言葉」 ドロシー・ロー・ノルト
「国家の罠」 佐藤 優
「夜回り先生」 水谷 修
「やぎの目絵日記」 林 雄司
「7つの習慣」 スティーブン・R. コヴィー
「まろ、ん?−大掴源氏物語」 小泉 吉宏
「ザ・サーチ グーグルが世界を変えた」 ジョン・バッテル
「ポストモダン・マーケティング」 スティーブン ブラウン
「機動戦士ガンダムさん」 大和田 秀樹
「小エロのひみつ - Webやぎの目研究発表」 林 雄司
「これ、誰がデザインしたの?」 渡部千春
「60分間・企業ダントツ化プロジェクト」 神田 昌典
「ガルシアへの手紙」 エルバート ハバード
「人生は素晴らしいものだ」 オグ・マンディーノ
「ザ・マインドマップ」 トニー・ブザン,バリー・ブザン
「ワインバーグのシステム思考法」 G.M.ワインバーグ
「渋谷ではたらく社長の告白」 藤田 晋
「渋井真帆の日経新聞読みこなし隊」 渋井 真帆
「コラム息切れ」 小野 法師丸
「早朝起業」 松山 真之介
「変な人が書いた驚くほどツイてる話」 斎藤 一人
「35歳から仕事で大切にしたいこと」 村井 勉
「金融広告を読め」 吉本 佳生
「発想する会社!」 トム・ケリー,ジョナサン・リットマン
「エハイク」 吉田 戦車
「人生の旋律」 神田 昌典
「仕事の思想」 田坂 広志
「CPUの創りかた」 渡波 郁
「非常識な成功法則」 神田 昌典
…これ以前は記録してません…

▼ 気に入ってる本

Ship It! Ship It! ソフトウェアプロジェクト成功のための達人式ガイドブック
Jared Richardson, William Gwaltney Jr.
  組込みにも適用したい!したい!
Java並行処理プログラミング Java並行処理プログラミング
Brian Goetz, Joshua Bloch, Doug Lea
  Javaや並行処理を甘く見ていました。すごい
ビジュアライジング・データ ビジュアライジング・データ - Processingによる情報視覚化手法
Ben Fry
  Processingすごくよいです
センネン画報その2 センネン画報その2
今日マチ子
  前作もよいがもっといい!
出現する未来 出現する未来
Peter Senge, C. Otto Scharmer, Joseph Jaworski, Betty Sue Flowers
  難しいけど到達したいです
図解 実戦マーケティング戦略 図解 実戦マーケティング戦略
佐藤 義典
  栗日記も戦略的に行こう!
やぎの目ゴールデンベスト やぎの目ゴールデンベスト
林 雄司
  よめも爆笑してました
アルケミスト アルケミスト
パウロ・コエーリョ
  ヘコみそうなとき読みます
X51.ORG THE ODYSSEY X51.ORG THE ODYSSEY
佐藤 健寿
  X51.ORGの集大成
影響力の武器 影響力の武器
ロバート・B・チャルディーニ
  思わず納得します