Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


centos:systemctl

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
centos:systemctl [2020/05/28 14:43]
y2sunlight 作成
centos:systemctl [2020/06/04 11:30] (現在)
y2sunlight [systemctlのユースケース]
行 4: 行 4:
  --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-05-28//  --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-05-28//
  
-[[centos:top|CentOSに戻る]]+[[centos:top|CentOS パッケージ管理に戻る]]
  
-systemd は RHEL7CentOS7で使われているサービスを管理するデーモンです。''ps -aux'' で見ると ''PID=1'' に君臨しています。+systemd は RHEL7/CentOS7で使われているサービスを管理するデーモンです。''ps -aux'' で見ると ''PID=1'' に君臨しています。そしてそれをコントロールするためのコマンドがsystemctlです。systemctl コマンドは、サービスの障害調査や再起動時に良く使います。以下では実際によく使う systemctl の利用例を紹介します。
  
 +また、systemctl に触れる機会は既存サービスのメンテナンスの時だけに限りません。自作のWebAPIを公開する時などもサービスを自作しなければならいので使っています。兎に角、CentOS7 になってから systemctl はよく使うようになりました。
  
 +関連記事
  
-journald は CentOS7から標準的に提供されるログ管理のビスです。正式名称は、systemd-journald.service です。RHEL7/CentOS7では、従来の rsyslogd も並行して稼働していますが、Fedora20では、もはや rsyslogd は動いておらず、システムログ管理は、journald に完全移行していますjournald によって以下のようなログが収集され Journal(データベース) として保存されています。 +  * [[centos:package|CentOS パッケージ管理の基礎知識]] 
- +  * [[centos:yum|yum --- パッケジ管理システム]] 
-  * systemdサービスの標準出力/標準エラー出力 +  * systemctl --- サービスの操作 
-  * syslogに出力したメッセージ +  * [[centos:journalctl|journalctl --- ログの操作]] 
-  * ビスの標準出力/標準エラー出力 など +  * [[centos:firewall-cmd|firewall-cmd --- ファイアウォ操作]]
- +
-これらのログを表示するには journalctl コマンドが利用されます。サーバーで発生する障害の調査にはログの存在は欠かせません。以下では実際によく使う journalctl 利用例を紹介します。+
  
 リンク リンク
-  * [[https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/system_administrators_guide/s1-using_the_journal|Red Hat Customer Portal]] --- JOURNAL 使用 +  * [[https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/system_administrators_guide/chap-managing_services_with_systemd|Red Hat Customer Portal - systemd]] --- systemd 概要 
-  * [[https://qiita.com/thaim/items/5d0cc595fce4ac0858e4|journal ログをきちんと記録・保存する]] -- journalログ永続化+  * [[https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/7/html/system_administrators_guide/sect-managing_services_with_systemd-services|Red Hat Customer Portal - systemctl]] --- システムサービス管理
  
 ---- ----
行 26: 行 26:
 ===== systemdの基礎知識 ===== ===== systemdの基礎知識 =====
  
-OSイントール直後は、Journalは、OSをトすると消えしまいます。ログ蓄積場合は、ログ永続化必要になります。以下はその簡単な設定例です。詳しくは上記のリンクを参照して下さい+=== Unit === 
 +サービスは Unit という単位で作られ以下のディレクトリーに保存されています。この Unit 定義のが unitファイルです。
  
 +  * /usr/lib/systemd/system/ --- インストール済みのRPMパッケージで配布されたunitファイル
 +  * /etc/systemd/system/ --- サービスの上書き 及び 拡張向けに追加されたunitファイル
  
-=== ログ永続化手順(手動) === +''/usr/lib/systemd/system/''unitファイルの修正には注意しましょう。自作のUnit を入れる場所は ''/etc/systemd/system/'' です。
-<code> +
-cd /var/log +
-mkdir journal +
-systemctl restart systemd-journald +
-</code>+
  
-この設定は ''/etc/systemd/journald.conf'' で以下の変更をするのと同じです。+\\
  
-<code ini journald.conf> +===== systemctlのユースケース =====
-[Journal]  +
-... +
-Storage=persistent  +
-... +
-</code>+
  
-=== ログのイズ ===+=== サービスの操作 ===
  
-Journalのサイズは、保存用ディレクトリーの全容量に対して 10% 以上になるか、該当ディレクトリーのファイルシステムの空き容量が 15% 以下になると、古いエントリーから順に削除されていきます。明示的にサイズを指定したい場合は、''/etc/systemd/journald.conf'' で以下の変更を行って下さい。+形式: ''systemctl COMMAND UNIT[.service]''
  
-<code ini journald.conf> +  * COMMAND --- コマンド名(以下にケース毎に記載) 
-[Journal]  +  * UNIT--- ユニット名(以下の例では ''sshd'')
-... +
-SystemMaxUse=128M +
-... +
-</code> +
- +
-\\ +
- +
-===== systemctlのユースケース =====+
  
-{{fa>question-circle}}とりあえずログが見たい+{{fa>question-circle}}サービスの状態確認
 <code> <code>
-journalctl                 lessにパイプ +systemctl status sshd      状態確認 
-journalctl -l --no-pager   lessがいらないとき(-lをつけないと画面の右端でカットされる。)+systemctl is-enabled sshd  有効化確認
 </code> </code>
  
-{{fa>question-circle}}最新ログが見たい+{{fa>question-circle}}サービス起動/終了/再起動
 <code> <code>
-journalctl -e   最新のログ +systemctl start sshd    起動 
-journalctl -f   Tailライク+systemctl stop sshd     終了 
 +systemctl restart sshd  # 再起動
 </code> </code>
  
-{{fa>question-circle}}種類ログが見たい+{{fa>question-circle}}自動起動有効化/無効化
 <code> <code>
-journalctl -k   # カーネルログ +systemctl enable sshd   # 有効化 
-journalctl -b   ブートログ+systemctl disable sshd  無効化
 </code> </code>
  
-{{fa>question-circle}}レベルログが見たい+=== サービス一覧 === 
 + 
 +{{fa>question-circle}}稼働中サービス一覧
 <code> <code>
-journalctl -p err      # エラーだけ +systemctl list-units --type=service
-journalctl -p warning  # 警告だけ+
 </code> </code>
  
-{{fa>question-circle}}サービスのログが見たい+{{fa>question-circle}}定義されているサービス一覧
 <code> <code>
-journalctl -u httpd   # httpdだけ +systemctl list-unit-files --type=service  static/enabled/disabledも見れます
-journalctl -u mariadb mariadbだけ+
 </code> </code>
  
-{{fa>question-circle}}期間のログが見+=== その他 === 
 + 
 +{{fa>question-circle}}サービス設定ファイル(*.service)を変更し
 <code> <code>
-journalctl --since=today       # 今日から +systemctl daemon-reload  # 設定ファイルの再読込
-journalctl --until=yesterday   # 昨日まで +
-journalctl --since="2020-05-01" --until="2020-05-02"  #2020-05-01 ~ 2020-05-02+
 </code> </code>
 +
  
 \\ \\
  
centos/systemctl.1590644620.txt.gz · 最終更新: 2020/05/28 14:43 by y2sunlight