syslog

目次

syslogとは

syslogは、ネットワーク機器やサーバが生成するログメッセージを転送するための標準規格です。クライアント/サーバ型プロトコルであり、送信側(例:Ciscoルータ、スイッチなど)が受信側(例:Linuxサーバ)へテキスト形式でログを送信します。
syslogメッセージはUDPまたはTCPのポート番号514を使用して送信されます。

ネットワーク機器のログを収集することで、障害の原因や機器の動作状況を把握でき、トラブルシューティングやセキュリティ監視に役立ちます。

syslog – Facility

Facility(ファシリティ)は「ログの出力元」を意味します。どのシステムやサービスからのメッセージかを区別する役割を持ちます。Linuxでは * を指定することで全てのFacilityを対象にできます。

Facility説明
auth, authpriv認証サービス(login、suなど)
croncronジョブ関連
daemon各種デーモン
kernカーネル
lpr印刷システム
mailメールシステム
newsニュースサービス
syslogsyslog機能自身
userユーザープログラム
local0~local7独自の設定で利用可能

syslog – Severity

Severity(シビリティ)は「メッセージの重要度(優先度)」を意味します。数値が小さいほど深刻で、大きいほど軽度です。指定したSeverity以上のレベルが記録される仕組みになっています。

Severity数値説明
emerg0非常に危険な状態(システム停止レベル)
alert1危険な状態、即時対応が必要
crit2重大な障害、クリティカル状態
err3一般的なエラー
warning4警告
notice5重要な通知(注意すべき情報)
info6情報メッセージ
debug7デバッグ情報
noneログを送らない(除外指定)

CiscoにおけるSeverityレベル定義

Cisco機器では、syslogのSeverityを以下のように定義しています。

Levelキーワード数値説明UNIX syslog定義
emergencies0システムが不安定LOG_EMERG
alerts1即時処理が必要LOG_ALERT
critical2クリティカルな状態LOG_CRIT
errors3エラー状態LOG_ERR
warnings4警告状態LOG_WARNING
notifications5注意を要する状態LOG_NOTICE
informational6情報メッセージLOG_INFO
debugging7デバッグメッセージLOG_DEBUG

まとめ

  • syslogは「ネットワーク機器やサーバのイベントログを集める仕組み」
  • Facilityは「どこからのログか」、Severityは「どの程度重要か」を示す
  • UDP 514番ポートがよく使われる(軽量だが信頼性は低い)、TCP 514番を使う場合もある

syslogの設定:デフォルト値

CiscoルータやCatalystスイッチは、デフォルトでsyslog機能が有効ですが、そのままでは運用上不十分です。主なデフォルト値は以下の通りです。

機能デフォルト値
コンソール出力有効(logging console
コンソール出力レベルdebugging以上の全てのメッセージ
出力ファイル指定なし
ログバッファサイズ4096バイト(非常に小さい)
ログ履歴サイズ1メッセージ
タイムスタンプ無効
同期ロギング無効
syslogサーバ利用無効
syslogサーバIP未設定
syslogサーバ送信レベルinformational
syslogサーバ facilitylocal7

そのため、タイムスタンプやバッファサイズの拡張、syslogサーバの指定などを必ず行うのが実務では一般的です。

分かりやすいログの表示設定

ログ解析を容易にするために、以下の設定を推奨します。

(config)# service timestamps debug datetime msec localtime show-timezone
(config)# service timestamps log datetime msec localtime show-timezone
(config)# service sequence-numbers

(config)# clock timezone JST 9
(config)# ntp server 10.1.1.10
  • timestamps:ログに時刻を付与(ミリ秒・タイムゾーン付き)
  • sequence-numbers:ログに通し番号を付与
  • NTP:正確な時刻を維持

さらに、作業中にログが割り込んで見づらくなるのを防ぐために「同期ロギング」を設定します。

(config)# line console 0
(config-line)# logging synchronous

(config)# line vty 0 15
(config-line)# logging synchronous

syslogサーバの設定

外部のsyslogサーバへログを送信する場合は次の設定を行います。

バッファサイズの指定

(config)# logging buffered 512000

デフォルト4096バイトは小さすぎるため、Cisco推奨の 512000バイト に変更するのが一般的です。

syslogサーバのIPアドレス

(config)# logging host 192.168.10.100

syslog送信レベル

(config)# logging trap informational

informational (level 6) から emergencies (level 0) までが送信対象。

syslog送信時のFacility

(config)# logging facility local5

※ どの local0〜local7 を使うかはサーバ管理者に確認。

syslog設定例

(config)# service timestamps debug datetime msec localtime show-timezone
(config)# service timestamps log datetime msec localtime show-timezone
(config)# service sequence-numbers

(config)# clock timezone JST 9
(config)# ntp server 10.1.1.10

(config)# logging buffered 512000
(config)# logging host 192.168.10.100
(config)# logging trap informational
(config)# logging facility local5

(config)# line console 0
(config-line)# logging synchronous

(config)# line vty 0 15
(config-line)# logging synchronous

syslog出力レベル

syslogのログレベルは 0~7 の8段階があります。

Levelキーワード説明UNIX syslog
0emergenciesシステム停止級LOG_EMERG
1alerts即時対応必要LOG_ALERT
2critical致命的障害LOG_CRIT
3errorsエラーLOG_ERR
4warnings警告LOG_WARNING
5notifications注意LOG_NOTICE
6informational情報LOG_INFO
7debuggingデバッグ情報LOG_DEBUG

多くの企業では notifications(5) または informational(6) を常用し、トラブル調査時のみ debugging(7) を一時的に利用します。

インターフェースの linkup/linkdown ログ

Catalystスイッチでは、機種によってはインターフェースのリンクアップ/リンクダウンがデフォルトで出力されないことがあります。その場合は明示的に以下を設定します。

(config)# interface range GigabitEthernet1/1 - 1/48
(config-if)# logging event link-status

試験対策:「syslogのデフォルト値」「trapレベル指定の意味」「バッファサイズ拡張」「logging synchronous の役割」「link-statusの明示的設定」がよく問われるポイントです。

◆まとめスライド

目次