IT

システムログの設定、プリンタ管理【LPIC level1】

目次

  • システムログの設定
  • rsyslogの設定(ファシリティ、プライオリティ、出力先、/etc/rsyslogの設定例、loggerコマンド、systemd-catコマンド)
  • ログの調査
  • ログファイルのローテーション
  • プリンタ管理
  • 印刷の仕組み
  • 印刷関連コマンド(lprコマンド、lpqコマンド、lprmコマンド)

システムログの設定

コンピュータの動作状況の記録をログと言います。

セキュリティやシステム管理の必要性に応じて、ログの出力をカスタマイズすることは重要です。

Linuxでは、syslogを使って、様々なイベントをログファイルに記録したり、コンソールに表示したり出来るようになっています。

syslogは、他のプログラムからのメッセージを受け取り、出力元や優先度に応じて分類し、指定sれタ出力先に送ります。

システムのログを取得して処理するソフトウェアには、syslogの他、rsyslogやsyslog-ngなどが使われています。

rsyslogの設定

rsyslogの設定は、/etc/rsyslog.confファイルおよび/etc/rsyslog.dディレクトリ以下のファイルで行います。

以下、rsyslogの主なプラグインモジュールです。

プラグインモジュール説明
imuxsockUNIXソケットによるローカルロギングサポート(loggerコマンドなど)
imjournalsystemdのジャーナルサポート
imklogカーネルログのサポート
immarkマークを出力
imudpUDPでメッセージを受信
imtcpTCPでメッセージを受信

ファシリティ

ログメッセージ生成元のプログラムは、メッセージにファシリティとプライオリティをタグ付けして出力します。

ファシリティはメッセージの生成元を表します。

具体的にはカーネルや実行中のプロセスです。

ファシリティ説明
auth、authpriv認証サービス
daemonデーモン各種
kernカーネル
lpr印刷サービス
mailメールサービス
syslogsyslogdデーモン
userユーザーアプリケーション
local0~7独自に使用可
*全てのファシリティ

プライオリティ

プライオリティはメッセージの重要度を表します。

プライオリティを低く設定すればするほど、ログとして出力される情報量も多くなります。

「*」を使うと全てのプライオリティを選択できます。

以下、プライオリティです。プライオリティが高いものから順に並べてあります。

プライオリティ説明
emerg非常に危険
alert緊急対応が必要な状態
crit危険な状態
err一般的なエラーメッセージ
warning警告メッセージ
notice通知メッセージ
info情報メッセージ
debugデバッグ時に有益な情報
noneメッセージを送らない

出力先

メッセージの出力先は、ログファイルやユーザーの端末、他のホストなどを選択できます。

この部分をアクションフィールドといいます。

アクションフィールド説明
/var/log/messeagesログファイルに出力
/dev/tty1コンソールに出力
@sv.example.comホストsv.example.comにUDPで出力
@@sv.example.comホストsv.example.comにTCPで出力
violetユーザーvioletの端末に出力
*ログイン中の全てのユーザーの端末に出力

/etc/rsyslog.confの設定例

指定しらファシリティが出力するメッセージのうち、指定のプライオリティ以上のものが、出力されます。

つまり、低いレベルを指定するほど、出力されるログの量も多くなります。

ファシリティや重要度に「*」を指定すると、すべてのファシリティを表されます。

loggerコマンド

loggerコマンドを使ってログメッセージを生成することも出来ます。

syslog.confの設定をチェックする場合に利用できます。

systemd-catコマンド

systemdを採用したシステムでは、systemd-catコマンドを使って、コマンドの実行結果をジャーナルに書き込むことが出来ます。

ログの調査

ログを調べることにより、システムの利用状況やソフトウェアの動作に異常がないかどうかを確認できます。

ログファイルを継続して監視するには、-fオプション付きでtailコマンドを実行します。ログファイルにログが追加されるのを逐次監視できます。

systemdを採用したシステムでは、journalctlコマンドを使ってsystemdのログを閲覧できます。

オプション説明
-a(–all)画面表示できない文字も含めて全て表示
-b(–boot)特定システム起動時のログを表示する。
0・・・今回の起動時
1・・・最古のログ
-1・・・前回起動時
-2・・・2回前の起動時
-D(–directory)指定したディレクトリのログを表示
-f(–follow)新規に追加されたログを表示
(tail -fと同様)
-k(–dmesg)カーネルからのメッセージを表示
(dmesgコマンドと同じ出力)
-l(–full)画面表示可能なすべてのログを表示
-n(–lines)直近のログから指定行数分を表示
–no-pagerデフォルトで使われるlessコマンドを使用しない
-o(–output)ログの出力形式を指定
通常より詳細な形式やJSON形式が指定できる。
-r(–reverse)最古のログからの表示を逆にし、最新のログから表示。
–since指定した日付時刻以降のログを表示
-u(–unit)特定のユニットからのログを表示
–until指定した日付時刻までのログを表示
–vacum-size=アーカイブジャーナルの総容量が指定したサイズを下回るまで古いジャーナルを削除
–vacum-time=指定した期間より古いアーカイブジャーナルを削除
-x追加の説明を表示

ログファイルのローテーション

ログファイルは放置しておくと、追記されるので容量が肥大化します。

ログファイルのローテーション機能を使うと、古くなったログを切り分けて、ログファイルが肥大化するのを防ぎます。

ログファイルのローテーション機能は、logrotateユーティリティが提供しています。

logrotateユーティリティはcronを利用して、定期的に実行されます。

logrotateの設定は、/etc/logrotate.confファイルを行います。

プリンタ管理

印刷の仕組み

多くのLinuxディストリビューションでは、印刷サブシステムとしてCUPSを採用しています。

CUPSの主な特徴は以下の通りです。

IPPの使用

ネットワーク上のプリンタをサポートするプロトコルとしてIPPを採用しています。インターネットを経由した印刷も可能です。

PPDファイルのサポート

AdobeのPPD形式のファイルでデバイスドライバの設定が出来ます。

Webベースで設定可能

Webブラウザから設定できるツールが組み込まれています。

プリンタクラスのサポート

複数のプリンタを1台のプリンタに見せかける機能をサポートしています。

印刷関連コマンド

lprコマンド

lprコマンドとは、ファイルを印刷するコマンドです。

lprコマンドは指定されたファイルや標準入力をプリントキューに送ります。

オプション説明
_#部数印刷部数を指定する。
-Pプリンタ名印刷を行うプリンタを指定する。

lpqコマンド

印刷ジョブはプリントキューに入り、順番に処理されて行きます。

lpqコマンドとは、プリントキューの内容を表示するコマンドです。

オプション説明
-Pプリンタ名プリンタを指定する。

lprmコマンド

lprmコマンドとは、プリントキューにある印刷要求を削除するコマンドです。

最後まで読んで頂き、ありがとうございました。

他の分野へ移動できる全体ページへは下記リンクから移動できます。