Linux

Linux運用監視案件でよく使われるコマンドを解説します!

 

 

あなた

Linuxの運用監視案件に携わることになったんだけど、どういうLinuxコマンドを使うんだろう?独学でLinuxの勉強はしているけど、実務レベルでどういうコマンドを使うのか知りたい!実務レベルで使うコマンドについて解説してほしい!

 

こんなお悩みを解決します。

 

☑本記事の内容

・Linux運用監視とは何をやる仕事か?
・業務で使用する基本コマンド10選
・業務で使用する確認コマンド8選
・コマンドを使用する場合の注意2選

 

☑本記事の信頼性

・IT企業勤務(Linux運用~構築迄5年程経験)
・アラート対応~構築迄幅広い経験有り

 

過去にLinux運用監視案件に3年半程従事しておりました。
運用監視業務をする上で利用するコマンドについても実践経験を積んできました。

 

とはいえ、案件参画前はWindowsServerでの運用監視経験しかない状態でした。
Linuxについては右も左も分からない状態です。

 

実務で使用するLinuxコマンドを使える迄には2か月程かかりました。
今ではコマンドを使いこなせるまでに成長しました。

 

Linuxコマンドに慣れていないあなたも実際に使用していけば慣れるはずです。
(僕は慣れました。)

 

それでは、前置きはこの辺にして、早速紹介していきます。

 

注意ポイント

本記事のLinuxコマンドについては、RHEL/CentOSにて使用されるコマンドになります。
別のLinux(SUSE/Ubuntu等)とはコマンドが違う場合があります。
その点については、ご了承頂ければと思います。

 

☑そもそもLinuxの運用監視とは何をやる仕事か?

アラート対応

主にアラート対応になります。

ポイント

①アラート発生を知らせるパトランプが発砲
②パトランプを止めた後にアラートを確認
③サービス確認やサーバー状態確認を実施
※必要に応じて担当者へエスカレーション

サーバーの状態確認等の際にLinuxコマンドを駆使して確認します。

 

定常作業

アラート対応以外にも定常作業を実施します。

ポイント

・ファイル登録作業
・サービス確認
※WEBサービスが動作するか/VODが再生できるかの確認等

サービス確認時はLinuxサーバーでログを表示させながら、サービス確認をすることがあります。

サーバー確認と組み合わせてサービス確認をします。

 

業務で使用する基本コマンド10選

Linuxの運用監視のみならず、Linuxに関わる業務であれば必ず使用するコマンドについて紹介します。

・pwd
・cd
・ls
・cat
・grep
・tail
・diff
・history
・uname
・ip a

 

どのコマンドについても重要であるため抑えましょう。

では記事にて掘り下げていきます。

pwd

「pwd」は今自分がいるディレクトリの場所を確認するために使用します。

 

【使用例】

[root@tspshell01 ~]# pwd
/root
[root@tspshell01 ~]#

 

cd

「cd」はディレクトリを移動するコマンドです。

現場でよく使用されるパターンについて紹介します。

cd ディレクトリ名
→指定のディレクトリへ移動

cd(もしくは、「cd ~」)
→ホームディレクトリへ移動

cd ..
→一つ上のディレクトリへ移動

cd ../..
→二つ上のディレクトリへ移動
※/..を付け足していく毎に一つ上の階層に移動することができる。

 

【使用例】

・cd ファイルパス

[root@tspshell01 /]# pwd
/
[root@tspshell01 /]#
[root@tspshell01 /]# cd /var/log
[root@tspshell01 log]#
[root@tspshell01 log]# pwd
/var/log
[root@tspshell01 log]#

・cd(もしくは「cd ~」)

[root@tspshell01 ~]# cd /var/log
[root@tspshell01 log]#
[root@tspshell01 log]#
[root@tspshell01 log]# cd
[root@tspshell01 ~]#
[root@tspshell01 ~]#
[root@tspshell01 ~]# pwd
/root
[root@tspshell01 ~]#

・cd ..

[root@tspshell01 log]# pwd
/var/log
[root@tspshell01 log]#
[root@tspshell01 log]#
[root@tspshell01 log]# cd ..
[root@tspshell01 var]# pwd
/var
[root@tspshell01 var]#

・cd ../..

[root@tspshell01 log]# pwd
/var/log
[root@tspshell01 log]#
[root@tspshell01 log]#
[root@tspshell01 log]# cd ../..
[root@tspshell01 /]# pwd
/
[root@tspshell01 /]#

ls

ディレクトリ内のファイルの一覧を表示するコマンドです。

現場でよく使用されるパターンについて紹介します。

ls -l(もしくは「ll」)
→ファイル一覧を表示する。
※「ll」の「l」は小文字の「L」です。

ls -la
→全てのファイルを表示する。

 

【使用例】

・ls -l

[root@tspshell01 ~]# ls -l
合計 4
-rw-------. 1 root root 1439  4月 19 23:45 anaconda-ks.cfg
drwxr-xr-x  2 root root   22  4月 22 06:56 test
[root@tspshell01 ~]#

・ll

[root@tspshell01 ~]# ll
合計 4
-rw-------. 1 root root 1439  4月 19 23:45 anaconda-ks.cfg
drwxr-xr-x  2 root root   22  4月 22 06:56 test
[root@tspshell01 ~]#

・ls -la

[root@tspshell01 ~]# ls -la
合計 32
dr-xr-x---.  3 root root  163  4月 22 06:56 .
dr-xr-xr-x. 17 root root  224  4月 19 23:44 ..
-rw-------.  1 root root  625  4月 22 08:58 .bash_history
-rw-r--r--.  1 root root   18 12月 29  2013 .bash_logout
-rw-r--r--.  1 root root  176 12月 29  2013 .bash_profile
-rw-r--r--.  1 root root  176 12月 29  2013 .bashrc
-rw-r--r--.  1 root root  100 12月 29  2013 .cshrc
-rw-r--r--.  1 root root  129 12月 29  2013 .tcshrc
-rw-------.  1 root root  931  4月 19 23:53 .viminfo
-rw-------.  1 root root 1439  4月 19 23:45 anaconda-ks.cfg
drwxr-xr-x   2 root root   22  4月 22 06:56 test
[root@tspshell01 ~]#

 

 

cat

ファイルの内容を確認するコマンドです。

現場でよく使用されるパターンについて紹介します。

cat ファイル名
→ファイルの内容を確認

cat -n ファイル名
→ファイルの内容と行数を確認

 

【使用例】

・cat ファイル名

[root@tspshell01 test]# cat test.txt
1234567
i1
1
1
1
1
1
1
1
1
1
aaaa
bbbbb
[root@tspshell01 test]#

 

・cat -n ファイル名

[root@tspshell01 test]# cat -n test.txt
     1  1234567
     2  i1
     3  1
     4  1
     5  1
     6  1
     7  1
     8  1
     9  1
    10  1
    11  1
    12  aaaa
    13  bbbbb
[root@tspshell01 test]#

 

grep

grepは特定の文字列を検索するコマンドになります。

現場でよく使用されるパターンについて紹介します。

 

ll | grep ファイル名
→現在いるディレクトリの中の特定ファイルを検索する

grep 文字列 ファイル名
(もしくは、「cat ファイル名 || grep 文字列」)
→ファイル内容の中の文字列を検索する。

ps -ef | grep プロセス名 | grep -v grep
→確認したいプロセス名を検索する。
※「grep -v grep」は、「grep」が含まれる行以外を表示させるという意味です。

 

grepコマンドは人によって使い方が分かれるコマンドである印象です。
使い方は多様なので、自分でコマンドを入力して使いこなしていきましょう。

 

【使用例】

ll | grep ファイル名

[root@tspshell01 test]# ll | grep test.txt
-rw-r--r-- 1 root root 40  5月 10 14:37 test.txt
[root@tspshell01 test]#

 

・grep 文字列 ファイル名

[root@tspshell01 test]# cat test.txt
1234567
i1
1
1
1
1
1
1
1
1
1
aaaa
bbbbb
[root@tspshell01 test]#
[root@tspshell01 test]#
[root@tspshell01 test]# grep aaaa test.txt
aaaa
[root@tspshell01 test]#

 

・ps -ef | grep プロセス名 | grep -v grep

ps -ef | grep プロセス名 | grep -v grep
[root@tspshell01 test]# ps -ef | grep rcu_bh | grep -v grep
root         8     2  0 14:05 ?        00:00:00 [rcu_bh]
[root@tspshell01 test]#
[root@tspshell01 test]#
[root@tspshell01 test]# ps -ef | grep rcu_bh
root         8     2  0 14:05 ?        00:00:00 [rcu_bh]
root      1808  1675  0 14:57 pts/0    00:00:00 grep --color=auto rcu_bh
[root@tspshell01 test]#

 

tail

tailはファイルの最終行から数行を表示するコマンドです。
主にログの確認等で使われます。

現場でよく使われるパターンとしてはこちらになります。

tail
→最終行から10行を表示

tail -f ファイル名
→ログの最終行を表示し続ける

tail -f ファイル名 | grep 文字列
→文字列が含んだ行を表示し続ける
※ログのエラー調査でよく使用されます。

 

「tail -f」を使用する場合は、ログが出力され続けます。
終了する際は「Ctrl+C」を押すとコマンドラインに戻ります。

 

【使用例】

・tail

[root@tspshell01 test]# tail /var/log/messages
May 10 14:13:02 tspshell01 chronyd[904]: Selected source 147.231.100.5
May 10 14:20:53 tspshell01 systemd: Starting Cleanup of Temporary Directories...
May 10 14:20:53 tspshell01 systemd: Started Cleanup of Temporary Directories.
May 10 14:37:17 tspshell01 yum[1717]: Installed: 1:perl-Error-0.17020-2.el7.noarch
May 10 14:37:17 tspshell01 systemd: Reloading.
May 10 14:37:17 tspshell01 yum[1717]: Installed: rsync-3.1.2-10.el7.x86_64
May 10 14:37:18 tspshell01 yum[1717]: Installed: perl-TermReadKey-2.30-20.el7.x86_64
May 10 14:37:19 tspshell01 yum[1717]: Installed: git-1.8.3.1-22.el7_8.x86_64
May 10 14:37:19 tspshell01 yum[1717]: Installed: perl-Git-1.8.3.1-22.el7_8.noarch
May 10 15:01:01 tspshell01 systemd: Started Session 2 of user root.
[root@tspshell01 test]#
[root@tspshell01 test]#

 

・tail -f  ファイル名

[root@tspshell01 test]# tail -f /var/log/messages
May 10 14:13:02 tspshell01 chronyd[904]: Selected source 147.231.100.5
May 10 14:20:53 tspshell01 systemd: Starting Cleanup of Temporary Directories...
May 10 14:20:53 tspshell01 systemd: Started Cleanup of Temporary Directories.
May 10 14:37:17 tspshell01 yum[1717]: Installed: 1:perl-Error-0.17020-2.el7.noarch
May 10 14:37:17 tspshell01 systemd: Reloading.
May 10 14:37:17 tspshell01 yum[1717]: Installed: rsync-3.1.2-10.el7.x86_64
May 10 14:37:18 tspshell01 yum[1717]: Installed: perl-TermReadKey-2.30-20.el7.x86_64
May 10 14:37:19 tspshell01 yum[1717]: Installed: git-1.8.3.1-22.el7_8.x86_64
May 10 14:37:19 tspshell01 yum[1717]: Installed: perl-Git-1.8.3.1-22.el7_8.noarch
May 10 15:01:01 tspshell01 systemd: Started Session 2 of user root.
^C
[root@tspshell01 test]#

 

・tail -f ファイル名 | grep 文字列

[root@tspshell01 test]# tail -f /var/log/messages | grep yum
May 10 14:37:17 tspshell01 yum[1717]: Installed: 1:perl-Error-0.17020-2.el7.noarch
May 10 14:37:17 tspshell01 yum[1717]: Installed: rsync-3.1.2-10.el7.x86_64
May 10 14:37:18 tspshell01 yum[1717]: Installed: perl-TermReadKey-2.30-20.el7.x86_64
May 10 14:37:19 tspshell01 yum[1717]: Installed: git-1.8.3.1-22.el7_8.x86_64
May 10 14:37:19 tspshell01 yum[1717]: Installed: perl-Git-1.8.3.1-22.el7_8.noarch
^C
[root@tspshell01 test]#

 

diff

文字列を比較するコマンドになります。

使い方はこちらになります。

diff ファイル1 ファイル2
→ファイル1とファイル2の差異を表示する。

 

【使用例】

・ファイルに差異がない場合

[root@tspshell01 test]# diff test1.txt test2.txt
[root@tspshell01 test]#

→ ファイルに差異がない場合は何も表示されない。

 

・ファイルに差異がある場合

[root@tspshell01 test]# diff test1.txt test2.txt
14,17d13
< iii
< 121212aerfa
< faaefae
< 32rrq
[root@tspshell01 test]#

→差異の部分のみ表示される。

 

history

ユーザーが入力したコマンドの履歴を表示するコマンドです。

 

【使用例】

・history
→昇順で表示される。

[root@tspshell01 test]# history
    1  uname -n
    2  ip a
    3  cd /etc/sysconfig/network-scripts/
    4  ll
    5  vi ifcfg-ens912
    6  vi ifcfg-ens192
    7  vi /etc/resolv.conf
    8  systemctl restart network
    9  ip a
   10  exit
   11  cat /etc/redhat-release
   12  yum clean all
   13  yum repolist all
   14  yum update -y
   15  yum install vim -y
   16  systemctl stop firewalld
   17  systemctl disable firewalld
   18  getenforce
   19  vim /etc/selinux/config
   20  reboot
   21  getenforce
   22  shutdown -h now
   23  ll
   24  cd /

 

※historyコマンドの出力結果の中の文字列を検索したい場合

[root@tspshell01 test]# history | grep tail
  116  tail /var/log/messages
  117  tail -f
  118  tail -f /var/log/messages
  119  tail -f /var/log/messages | grep error
  120  tail -f /var/log/messages | grep warn
  121  tail -f /var/log/messages | grep yum
  131  history | grep tail
[root@tspshell01 test]#

 

uname

OSまたはハードウェアの情報を表示させるコマンドです。

現場でよく使われるパターンとしては、こちらになります。

 

uname
→OSを確認

uname -n
→ホスト名の確認

uname -r
→OSのリリース情報の確認

 

「uname -n」は特に覚えておく必要があるコマンドになります。

ホスト名確認=「uname -n」と覚えておいて下さい。

 

【使用例】

・uname

[root@tspshell01 test]# uname
Linux
[root@tspshell01 test]#

 

・uname -n

[root@tspshell01 test]# uname -n
tspshell01
[root@tspshell01 test]#

 

・uname -r

[root@tspshell01 test]# uname -r
3.10.0-1062.18.1.el7.x86_64
[root@tspshell01 test]#

 

ip a

Linuxサーバーのインタフェース情報を確認するコマンドになります。

現場では、「uname -n」と組み合わせて使うことが多いです。

 

【使用例】

・ip a

[root@tspshell01 test]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:86:bf:7f brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.34/24 brd 192.168.0.255 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 2404:7a80:91a1:4d00:20c:29ff:fe86:bf7f/64 scope global mngtmpaddr dynamic
       valid_lft 2591581sec preferred_lft 604381sec
    inet6 fe80::20c:29ff:fe86:bf7f/64 scope link
       valid_lft forever preferred_lft forever
[root@tspshell01 test]#

 

・uname -n;ip a
→ホスト名とIPアドレスを同時に表示

[root@tspshell01 test]# uname -n;ip a
tspshell01
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:86:bf:7f brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.34/24 brd 192.168.0.255 scope global noprefixroute ens192
       valid_lft forever preferred_lft forever
    inet6 2404:7a80:91a1:4d00:20c:29ff:fe86:bf7f/64 scope global mngtmpaddr dynamic
       valid_lft 2591554sec preferred_lft 604354sec
    inet6 fe80::20c:29ff:fe86:bf7f/64 scope link
       valid_lft forever preferred_lft forever
[root@tspshell01 test]#

 

業務で使用する確認コマンド8選

こちらはLinuxの運用監視業務で主に使用されるコマンドになります。

・w
・uptime
・top
・free
・df
・service/systemctl
・ping
・ps

 

では、記事にて掘り下げていきます。

 

w

こちらのコマンドは、主にサーバーの起動時間を確認するためによく使用していました。
※想定外のサーバー再起動が起きていないか等

他にも複数の情報を確認できます。

具体例を出すとこちらになります。

・現在時刻
・CPUのロードアベレージ
・ログイン中のユーザー

 

詳細については下記の記事で解説しております。

 

【実行例】

[root@tspshell01 test]# w
 18:09:42 up  4:04,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.0.254    14:05    6.00s  0.21s  0.02s w
[root@tspshell01 test]#

 

uptime

「w」と似ているコマンドになります。

違いとしては、ログインしているユーザーの情報が表示されない点です。

主にサーバーの起動時間を確認する際に使用されます。

 

【実行例】

[root@tspshell01 test]# uptime
 18:16:59 up  4:11,  1 user,  load average: 0.00, 0.01, 0.05
[root@tspshell01 test]#

 

top

こちらのコマンドは主に「実行中プロセスの中で負荷が高いもの」を探すために使用します。

他にも複数の情報を確認することができます。

・現在時間/起動時間
・ロードアベレージ
・プロセスのタスク数
・CPUの状態
・メモリスワップ情報
・実行中プロセスの負荷情報

 

詳細については下記の記事にて解説しております。

 

【実行例】

[root@tspshell01 test]# top

top - 18:30:07 up  4:24,  1 user,  load average: 0.00, 0.01, 0.05
Tasks: 172 total,   2 running, 170 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.4 us,  0.0 sy,  0.0 ni, 99.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  3880568 total,  3437624 free,   154464 used,   288480 buff/cache
KiB Swap:  4063228 total,  4063228 free,        0 used.  3499888 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 1168 root      20   0  574196  17420   6124 S   0.0  0.4   0:02.37 tuned
  896 polkitd   20   0  612244  11080   4656 S   0.0  0.3   0:00.10 polkitd
  895 root      20   0  474804  10828   6804 S   0.0  0.3   0:00.68 NetworkManager
 1172 root      20   0  222760   7880   3272 S   0.0  0.2   0:01.23 rsyslogd
  892 root      20   0  305488   6756   5304 S   0.0  0.2   0:19.91 vmtoolsd
 1250 root      20   0  161532   6240   4856 S   0.0  0.2   0:00.44 sshd
  891 root      20   0   99684   6184   4572 S   0.0  0.2   0:00.07 VGAuthService
 1170 root      20   0  112920   4320   3292 S   0.0  0.1   0:00.01 sshd
 1333 postfix   20   0   89872   4084   3076 S   0.0  0.1   0:00.04 qmgr
 2723 postfix   20   0   89804   4052   3056 S   0.0  0.1   0:00.03 pickup
    1 root      20   0  125500   3936   2604 S   0.0  0.1   0:01.61 systemd
  641 root      20   0   39080   2944   2640 S   0.0  0.1   0:00.14 systemd-journal
  885 dbus      20   0   58236   2484   1832 S   0.0  0.1   0:00.11 dbus-daemon
 2749 root      20   0  162024   2332   1592 R   0.0  0.1   0:00.02 top
 1331 root      20   0   89700   2200   1164 S   0.0  0.1   0:00.14 master
 1675 root      20   0  115448   2100   1680 S   0.0  0.1   0:00.21 bash
  674 root      20   0   44844   1960   1324 S   0.0  0.1   0:00.48 systemd-udevd
  904 chrony    20   0  117804   1820   1360 S   0.0  0.0   0:00.14 chronyd
  893 root      20   0   26380   1744   1448 S   0.0  0.0   0:00.07 systemd-logind
  897 root      20   0  126288   1608    988 S   0.0  0.0   0:00.07 crond
  664 root      20   0  198568   1364    968 S   0.0  0.0   0:00.00 lvmetad
  890 root      20   0   21684   1312    988 S   0.0  0.0   0:00.61 irqbalance
  861 root      16  -4   55528    888    484 S   0.0  0.0   0:00.04 auditd
  901 root      20   0  110108    852    724 S   0.0  0.0   0:00.00 agetty
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.03 kthreadd
    4 root       0 -20       0      0      0 S   0.0  0.0   0:00.09 kworker/0:0H
    6 root      20   0       0      0      0 S   0.0  0.0   0:00.07 ksoftirqd/0
    7 root      rt   0       0      0      0 S   0.0  0.0   0:00.08 migration/0
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh
    9 root      20   0       0      0      0 S   0.0  0.0   0:00.42 rcu_sched
   10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain
   11 root      rt   0       0      0      0 S   0.0  0.0   0:00.10 watchdog/0
   12 root      rt   0       0      0      0 S   0.0  0.0   0:00.10 watchdog/1
[root@tspshell01 test]#

 

free

メモリの使用率を確認するコマンドになります。

確認できる内容はこちらになります。

・メモリの使用状況
・スワップ領域の使用状況

 

【実行例】

[root@tspshell01 test]# free
              total        used        free      shared  buff/cache   available
Mem:        3880568      154064     3438004        9028      288500     3500288
Swap:       4063228           0     4063228
[root@tspshell01 test]#

 

df

ディスクの現在の容量を確認するコマンドになります。

主にパーティションの使用量の割合を見ます。

現場でよく使われるパターンとしてはこちらになります。

df -Ph

 

※オプションの意味
-P:サイズではなくブロック形式にて表示
-h:サイズに応じて読みやすい単位で表示

 

 

【実行例】

[root@tspshell01 test]# df -Ph
ファイルシス                       サイズ  使用  残り 使用% マウント位置
devtmpfs                             1.9G     0  1.9G    0% /dev
tmpfs                                1.9G     0  1.9G    0% /dev/shm
tmpfs                                1.9G  8.9M  1.9G    1% /run
tmpfs                                1.9G     0  1.9G    0% /sys/fs/cgroup
/dev/mapper/centos_tspshell01-root    50G  1.5G   49G    3% /
/dev/sda1                           1014M  186M  829M   19% /boot
/dev/mapper/centos_tspshell01-home    46G   33M   46G    1% /home
tmpfs                                379M     0  379M    0% /run/user/0
[root@tspshell01 test]#

 

service/systemctl

サービスを操作するコマンドになります。
(サービスの起動/確認/停止)

Linux(CentOS/RHEL)の6系/7系でコマンドが違います。

Linux6系

・サービス確認
service サービス名 status

・サービス再起動
service サービス名 restart

・サービス起動
service サービス名 start

・サービス停止
service サービス名 stop

 

Linux7系

・サービス確認
systemctl status サービス名

・サービス再起動
systemctl restart サービス名

・サービス起動
systemctl start サービス名

・サービス停止
systemctl stop サービス名

 

【実行例】

サービス確認

(Linux6系)

・サービス停止状態

[root@tspcent6 ~]# service ntpd status
ntpd は停止しています
[root@tspcent6 ~]#

 

・サービス実行中

[root@tspcent6 ~]# service ntpd status
ntpd (pid  2296) を実行中...
[root@tspcent6 ~]#

 

(Linux7系)

・サービス停止状態

[root@tspshell01 test]# systemctl status NetworkManager
● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since 日 2020-05-10 19:59:28 JST; 5s ago
     Docs: man:NetworkManager(8)
  Process: 2799 ExecStart=/usr/sbin/NetworkManager --no-daemon (code=exited, status=0/SUCCESS)
 Main PID: 2799 (code=exited, status=0/SUCCESS)

 5月 10 19:39:29 tspshell01 NetworkManager[2799]: <info>  [1589107169.7377] manager: NetworkManager state is now CONNECTED_SITE
 5月 10 19:39:29 tspshell01 NetworkManager[2799]: <info>  [1589107169.7378] policy: set 'ens192' (ens192) as default for IP...nd DNS
 5月 10 19:39:29 tspshell01 NetworkManager[2799]: <info>  [1589107169.7379] policy: set 'ens192' (ens192) as default for IP...nd DNS
 5月 10 19:39:29 tspshell01 NetworkManager[2799]: <info>  [1589107169.7379] device (ens192): Activation: successful, device...vated.
 5月 10 19:39:29 tspshell01 NetworkManager[2799]: <info>  [1589107169.7383] manager: NetworkManager state is now CONNECTED_GLOBAL
 5月 10 19:39:29 tspshell01 NetworkManager[2799]: <info>  [1589107169.7392] manager: startup complete
 5月 10 19:59:28 tspshell01 systemd[1]: Stopping Network Manager...
 5月 10 19:59:28 tspshell01 NetworkManager[2799]: <info>  [1589108368.6705] caught SIGTERM, shutting down normally.
 5月 10 19:59:28 tspshell01 NetworkManager[2799]: <info>  [1589108368.6743] manager: NetworkManager state is now CONNECTED_SITE
 5月 10 19:59:28 tspshell01 systemd[1]: Stopped Network Manager.
Hint: Some lines were ellipsized, use -l to show in full.
[root@tspshell01 test]#

 

・サービス実行中

[root@tspshell01 test]# systemctl status NetworkManager.service
● NetworkManager.service - Network Manager
   Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
   Active: active (running) since 日 2020-05-10 14:05:18 JST; 5h 32min ago
     Docs: man:NetworkManager(8)
 Main PID: 895 (NetworkManager)
   CGroup: /system.slice/NetworkManager.service
           mq895 /usr/sbin/NetworkManager --no-daemon

 5月 10 14:05:19 tspshell01 NetworkManager[895]: <info>  [1589087119.3922] device (ens192): state change: ip-config -> ip-c...aged')
 5月 10 14:05:19 tspshell01 NetworkManager[895]: <info>  [1589087119.3943] device (ens192): state change: ip-check -> secon...aged')
 5月 10 14:05:19 tspshell01 NetworkManager[895]: <info>  [1589087119.3947] device (ens192): state change: secondaries -> ac...aged')
 5月 10 14:05:19 tspshell01 NetworkManager[895]: <info>  [1589087119.3953] manager: NetworkManager state is now CONNECTED_LOCAL
 5月 10 14:05:19 tspshell01 NetworkManager[895]: <info>  [1589087119.3984] manager: NetworkManager state is now CONNECTED_SITE
 5月 10 14:05:19 tspshell01 NetworkManager[895]: <info>  [1589087119.3988] policy: set 'ens192' (ens192) as default for IPv...nd DNS
 5月 10 14:05:19 tspshell01 NetworkManager[895]: <info>  [1589087119.3992] device (ens192): Activation: successful, device ...vated.
 5月 10 14:05:19 tspshell01 NetworkManager[895]: <info>  [1589087119.4001] manager: NetworkManager state is now CONNECTED_GLOBAL
 5月 10 14:05:19 tspshell01 NetworkManager[895]: <info>  [1589087119.4015] manager: startup complete
 5月 10 14:05:21 tspshell01 NetworkManager[895]: <info>  [1589087121.5155] policy: set 'ens192' (ens192) as default for IPv...nd DNS
Hint: Some lines were ellipsized, use -l to show in full.
[root@tspshell01 test]#

 

ping

ネットワーク疎通を確認するコマンドになります。

 

Windowsと違う点
→pingコマンドを実行すると流れたままになる。

※「tail -f」と同様に「Ctrl+C」にてコマンドラインに戻ることができる。

 

【実行例】

[root@tspshell01 test]# ping 192.168.0.35
PING 192.168.0.35 (192.168.0.35) 56(84) bytes of data.
64 bytes from 192.168.0.35: icmp_seq=1 ttl=64 time=1.21 ms
64 bytes from 192.168.0.35: icmp_seq=2 ttl=64 time=0.376 ms
64 bytes from 192.168.0.35: icmp_seq=3 ttl=64 time=0.378 ms
64 bytes from 192.168.0.35: icmp_seq=4 ttl=64 time=0.842 ms
64 bytes from 192.168.0.35: icmp_seq=5 ttl=64 time=0.528 ms
64 bytes from 192.168.0.35: icmp_seq=6 ttl=64 time=0.407 ms
^C
--- 192.168.0.35 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5006ms
rtt min/avg/max/mdev = 0.376/0.623/1.211/0.309 ms
[root@tspshell01 test]#

 

ps

プロセスの状態を確認するコマンドになります。

 

現場で使われるパターンとしてはこちらになります。

ps -ef | grep 対象プロセス | grep -v grep
ps aux | grep 対象プロセス | grep -v grep

→実行中の全てのプロセスから対象プロセス名を検索して状態を確認

※「grep」の行を除く

 

【実行例】

[root@tspcent6 ~]# ps -ef | grep ntpd | grep -v grep
ntp       2368     1  0 20:04 ?        00:00:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g
[root@tspcent6 ~]#

→「ntpd」のサービスが起動していることがわかる

 

コマンドを使用する場合の注意点

コマンドの意味を理解した上で使用すること

運用監視の現場では、コマンドの意味をしっかり理解した上で使用しましょう。

 

例えば、既存のLinuxサーバーに対してコマンドの意味が分からない状態で下記コマンドを入力するとします。

「service network stop」

こちらは「networkサービスを停止する」というコマンドになりますが、既存で稼働しているサーバーに対して実行した場合には大惨事になります。

 

そのため、コマンドの意味をしっかり理解することは大事です。

分からなければgoogle検索や周りの人に確認しましょう。

 

既存サーバーに変更を加える場合は必ず調整する

既存サーバーに何かしら変更を加える場合は必ず調整しましょう。

 

変更の具体例はこちらになります。

参考

・サービスの停止/サーバー再起動等
・設定ファイルの編集
・ディレクトリ/ファイルの作成

 

こちらの操作は担当者と調整もせずに実行してしまうと完全にアウトです。
※「間違ってサービスを再起動してしまった」という例は僕が過去にいた現場でもあります。

 

現場によっては「root」権限を全員使えてしまうという恐ろしい現場もあります。


そのため、既存サーバーに変更を加える場合は必ず担当者と調整した上でやりましょう。

 

まとめ:Linuxの運用監視では確認コマンドを使う事が多い!

今回は、Linuxの基本コマンドと確認コマンドについて紹介してきました。

僕が運用監視の現場で実際に使用していたコマンドの使い方となります。

 

こちらのコマンドについては、もちろん現場で仕事を通して学ぶことはできます。
しかし、現場配属前に理解しておくと業務にすぐに馴染んでいけるでしょう。

 

実際に自宅に仮想環境を立てて無料のCentOS等で練習しておくことをおすすめします。

 

↓こちらの記事についてもおすすめとなります。

 







-Linux
-, ,