サービス管理

systemd、ログ管理

現代のLinuxディストリビューションではsystemdがinit systemとして 使用されています。サービスの起動、停止、依存関係管理、ログ収集を統合的に行います。

基本コマンド

1# サービス操作
2systemctl start nginx
3systemctl stop nginx
4systemctl restart nginx
5systemctl reload nginx # 設定再読み込み
6
7# 状態確認
8systemctl status nginx
9systemctl is-active nginx
10systemctl is-enabled nginx
11
12# 自動起動設定
13systemctl enable nginx
14systemctl disable nginx
15
16# サービス一覧
17systemctl list-units --type=service
18systemctl list-unit-files --type=service

ユニットタイプ

.service

サービス・デーモン

.socket

ソケットアクティベーション

.timer

タイマー(cron代替)

.target

ユニットのグループ

.mount

マウントポイント

.path

パス監視

ログ確認

1# systemdジャーナル
2journalctl
3
4# 特定サービスのログ
5journalctl -u nginx
6
7# リアルタイム表示
8journalctl -f
9journalctl -u nginx -f
10
11# 今日のログ
12journalctl --since today
13
14# ブート関連
15journalctl -b # 現在のブート
16journalctl -b -1 # 前回のブート

SRE/インフラ観点

運用で重要なポイント

  • • サービス起動失敗時はjournalctl -u service -xeで詳細確認
  • • 依存関係確認: systemctl list-dependencies
  • • 設定変更後: systemctl daemon-reloadを忘れずに
  • • 自動再起動設定: Restart=always

詳細トピック