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等で練習しておくことをおすすめします。
↓こちらの記事についてもおすすめとなります。