虛擬終端 命令 free
命令
可以用網路搜索
你值得擁有:25 個 Linux 性能監控工具
裡面有一些其它的好工具。
命令、uptime、free
參看::wenku../link?url=-_YXSztvNvIykFJ_C
Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使
雖然說Linux操作系統要比Windows操作系統穩定的多。但是這個穩定是相對而言的。也就是說,Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使用情況。筆者今天就給大家介紹一下,褲彎帶在Linux操作系統下如何監視這個系統資源,做到心中有數。
在Windows操作系統中,可以通過任務管理器來查詢各個進程所佔用的CPU與內存的比率。在Linux操作系統中沒有這種圖形化的管理。在命令行模式下,鍵入命令,即可以看到各個進程所佔用的系統資源。
ppp作為一個合格的系統管理員,出於系統性能優化或者其他方面的考慮,往往需要掌握系統中最消耗CPU或者內存資源的程序。為了達到這個目的,系統管理員就需要藉助系統提供的命令。這個命令可以幫助管理員監控系統資源的使用情況,包括內存、CPU、交換文件分區的使用率等等。就是這個命令的執行結果。系統管理員想要提升操作系統的性能,第一步就是需要讀懂上面這張表格。如果這種圖中的內容系統管理員無法看懂,那麼他就想提升系統的性能根本無法入手。
Top命令的運行結果大致可以分為兩個部分。上半部是使一些統計的信息,包括內存和交換分區的使用情況、CPU的運行情況、進程的總數等等。在這些統計信息中,系統管理員除了要關注這些重要資源的使用濾外,還需要注意進程運行的狀態。可見在Linux系統中進程的狀態主要有四種,分別為running、sleeping、sped和zombie。如果從系統維護與性能優化考慮,則系統管理員需要關注那些狀態為zombie的進程。若進程處於這個狀態,在Linux操作系統中叫做僵屍進程。什麼叫做僵屍進程呢?就是那些父進程還沒死、但鬧滑是子進程卻死了的進程。在Linux操作系統中,進程一般分為父進程和子進程。某個進程A可能會調用另外一個進程B。此時這個進程A就叫做父進程,而進程B就叫做子進程。由於一些意外的情況,子進程運行已經停止,但是父進程卻還不知道子進程早已停止運行,還在那邊傻傻的等待著子進程返回運行結果。由於子進程沒有返回結果,則父進程可能一直會在那邊等待。從而導致系統性能的下降。如果系統管理員發現有僵屍進程的話,首先要做的就是結束父進程(有時候還需要查看這個父進程打開的其他子進程運行情況),以釋放其佔用的系統資源。其次如果這種情況發生的比較頻繁時,則系統管理員就需要分析到底是什麼原因導致這種情況發生的。找到原因後要採取積極的措施。通常情況下,如果子進程的狀態為僵屍時,父進程就不會自動結束,從而其佔用的系統資源就不會自動釋放,從而降低操作系統的性能。
二、Top命令的使用技巧。
1、 選擇合適的排序順序。
在Windows操作系統的任務管理器中,管理員可以根據需要選擇合適的排序順序,如按CPU排序或者按內存的使用率進行排序。而在命令的顯示結果中,默認情況下是按照CPU的使用率來進行排序的。如果現在系統管理員想按照內存使用率來排序,該如何處理呢?如果要想改變命令結果的排序順序,則可以按m鍵來按內存進行排序。注意這里的m是小寫,而不是大寫的。在Linux操作系統中大部分命令與參數大小胡蘆寫都是敏感的。這跟微軟操作系統中的DOS命令不同。Dos命令是不區分大小寫的。雖然這個排序沒有像微軟操作系統中的任務管理器那麼方便,只需要點點滑鼠就可以完成排序。但是只要熟悉相關的命令,在命令行中對其排序沒有大家想想的那麼困難。
2、 監視特定用戶使用的資源情況。
在Windows操作系統中,如果想要查看特定帳戶所打開的進程以及所耗用的系統資源,操作非常簡單。只需要打開系統任務管理器,然後按照用戶來進行排序。就可以知道某個用戶開啟了哪些進程以及所佔用的比例。而在命令中,沒有按帳戶進行排序的功能。即在上面這個顯示結果中,只可以按照內存使用率或者CPU負載來進行排序,而無法按照用戶來進行排序。在同一個結果中夾雜著系統特權用戶root與普通用戶所打開的進程。這對於系統管理員查找問題原因非常的不方便。有時候系統管理員往往需要只查看特定用戶的進程,如只需要查看oracle帳戶所打開的進程以及所佔用的系統資源。而忽略掉系統帳戶。因為特權帳戶其他用戶無權進行登陸操作,而其運行的往往是一些系統級別的進程,為此一般不會出現問題。而普通用戶可以運行一些應用程序。有時候他們糊里糊塗可能會打開一些非法程序,佔用大量的系統資源,從而降低系統性能。廢話少說,如何才能夠查看特定帳戶所啟動的進程呢?其實很簡單。現運行 命令,讓系統統計所有帳戶的進程。然後在需要查看特定帳戶的進程使,只需要按u鍵(注意小寫),然後輸入用戶名即可。此時系統會自動把其他帳戶的進程過濾掉,方便系統管理員查看。按用戶過濾後,仍然可以按m鍵來對現實的結果進行過濾。如果在一開始就需要查看某個特定用戶的進程,那麼只需要直接在 命令後面加入-u可選項然後帶上具體的用戶名即可。但是,此時如果再想查看全部用戶的話,那麼只有先推出命令,然後再利用命令不帶任何選項,來查看所有用戶的進程。或者說,再在這個窗口中輸入字元u,然後直接按回車鍵,也可以顯示所用用戶的進程信息。
3、動態統計信息。
使用命令來統計進程的運行信息,跟微軟操作系統的任務管理器一樣,都是動態調整的。也就是說,系統會每隔一段時間去統計這個信息,然後動態的顯示在窗口中。不需要用戶手工去更新相關的信息。而且從上面的圖形中可以看出,命令統計的信息要比微軟任務管理器統計的信息要多的多。所以對系統管理員來說,具有更大的參考價值。筆者以前也很喜歡採用微軟操作系統的任務管理器。而了解了命令後,就對其鍾愛有加了。因為其不僅可以完成任務管理器中的所有功能。而且命令中有的信息在微軟任務管理器中卻無法顯示。而這些信息往往對我們維護系統、提升性能具有很大的參考價值。
4、刪除有異常的進程。
如果這個窗口中,發現某些進程有異常或者用戶執行了規定以外的應用程序,如佔用了太多的系統資源或者有僵屍進程的存在,則可以直接在這個窗口中講其刪除。操作的方法很簡單,只需要在這個窗口內輸入字元p,然後系統會提示系統管理員輸入要關閉進程的PID。管理員只需要鍵入這個值,然後按回車鍵就可以殺掉不需要的進程。不過在關閉進程的時候,有許可權的限制。系統特權帳戶root可以關閉所有用戶的進程。而普通帳戶則只能夠刪除自己打開的程序,而無法關閉其他用戶的進程。如現在系統管理員先以oracle用戶登錄,發現root帳戶下某個進程異常,想要關閉時,系統會提示無法關閉的錯誤信息。此時管理員必須先終止這個進程,然後利用su命令更改登陸的帳戶。然後再關閉這個異常的進程。系統管理員可以同時關閉多個進程。方法很簡單,就是同時輸入多個需要關閉的進程號。在各個進程號之間需要利用逗號隔開。
在系統維護中是一個很有用的命令。除了可以實現如上的功能外,還可以設置其動態更新的時間間隔等等。不過需要注意的是,在不同版本的 Linux系統中其功能稍有差異,而且其顯示的布局與內容也有所不同。為此當系統管理員維護其不怎麼熟悉的版本時,有時候需要查看系統的幫助說明。此時只需要在命令後面加上?號就可以獲得相關的幫助。這個聯機幫助文檔根命令一樣,都是系統管理員的好幫手。不過可惜的是,現在這些在線幫助文檔都是英文的。所以這對系統管理員的英文說明要求比較高。
但是這個穩定是相對而言的。也就是說,Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使
雖然說Linux操作系統要比Windows操作系統穩定的多。但是這個穩定是相對而言的。也就是說,Linux操作系統也會有鬧脾氣的時候。在某些情況下,其系統的資源使用率(包括CPU或者內存),也會達到90%以上甚至更多。為此系統管理員在必要的時候,仍然需要監視系統資源的使用情況。筆者今天就給大家介紹一下,在Linux操作系統下如何監視這個系統資源,做到心中有數。
在Windows操作系統中,可以通過任務管理器來查詢各個進程所佔用的CPU與內存的比率。在Linux操作系統中沒有這種圖形化的管理。在命令行模式下,鍵入命令,即可以看到各個進程所佔用的系統資源。
ppp作為一個合格的系統管理員,出於系統性能優化或者其他方面的考慮,往往需要掌握系統中最消耗CPU或者內存資源的程序。為了達到這個目的,系統管理員就需要藉助系統提供的命令。這個命令可以幫助管理員監控系統資源的使用情況,包括內存、CPU、交換文件分區的使用率等等。就是這個命令的執行結果。系統管理員想要提升操作系統的性能,第一步就是需要讀懂上面這張表格。如果這種圖中的內容系統管理員無法看懂,那麼他就想提升系統的性能根本無法入手。
Top命令的運行結果大致可以分為兩個部分。上半部是使一些統計的信息,包括內存和交換分區的使用情況、CPU的運行情況、進程的總數等等。在這些統計信息中,系統管理員除了要關注這些重要資源的使用濾外,還需要注意進程運行的狀態。可見在Linux系統中進程的狀態主要有四種,分別為running、sleeping、sped和zombie。如果從系統維護與性能優化考慮,則系統管理員需要關注那些狀態為zombie的進程。若進程處於這個狀態,在Linux操作系統中叫做僵屍進程。什麼叫做僵屍進程呢?就是那些父進程還沒死、但是子進程卻死了的進程。在Linux操作系統中,進程一般分為父進程和子進程。某個進程A可能會調用另外一個進程B。此時這個進程A就叫做父進程,而進程B就叫做子進程。由於一些意外的情況,子進程運行已經停止,但是父進程卻還不知道子進程早已停止運行,還在那邊傻傻的等待著子進程返回運行結果。由於子進程沒有返回結果,則父進程可能一直會在那邊等待。從而導致系統性能的下降。如果系統管理員發現有僵屍進程的話,首先要做的就是結束父進程(有時候還需要查看這個父進程打開的其他子進程運行情況),以釋放其佔用的系統資源。其次如果這種情況發生的比較頻繁時,則系統管理員就需要分析到底是什麼原因導致這種情況發生的。找到原因後要採取積極的措施。通常情況下,如果子進程的狀態為僵屍時,父進程就不會自動結束,從而其佔用的系統資源就不會自動釋放,從而降低操作系統的性能。
二、Top命令的使用技巧。
1、 選擇合適的排序順序。
在Windows操作系統的任務管理器中,管理員可以根據需要選擇合適的排序順序,如按CPU排序或者按內存的使用率進行排序。而在命令的顯示結果中,默認情況下是按照CPU的使用率來進行排序的。如果現在系統管理員想按照內存使用率來排序,該如何處理呢?如果要想改變命令結果的排序順序,則可以按m鍵來按內存進行排序。注意這里的m是小寫,而不是大寫的。在Linux操作系統中大部分命令與參數大小寫都是敏感的。這跟微軟操作系統中的DOS命令不同。Dos命令是不區分大小寫的。雖然這個排序沒有像微軟操作系統中的任務管理器那麼方便,只需要點點滑鼠就可以完成排序。但是只要熟悉相關的命令,在命令行中對其排序沒有大家想想的那麼困難。
2、 監視特定用戶使用的資源情況。
在Windows操作系統中,如果想要查看特定帳戶所打開的進程以及所耗用的系統資源,操作非常簡單。只需要打開系統任務管理器,然後按照用戶來進行排序。就可以知道某個用戶開啟了哪些進程以及所佔用的比例。而在命令中,沒有按帳戶進行排序的功能。即在上面這個顯示結果中,只可以按照內存使用率或者CPU負載來進行排序,而無法按照用戶來進行排序。在同一個結果中夾雜著系統特權用戶root與普通用戶所打開的進程。這對於系統管理員查找問題原因非常的不方便。有時候系統管理員往往需要只查看特定用戶的進程,如只需要查看oracle帳戶所打開的進程以及所佔用的系統資源。而忽略掉系統帳戶。因為特權帳戶其他用戶無權進行登陸操作,而其運行的往往是一些系統級別的進程,為此一般不會出現問題。而普通用戶可以運行一些應用程序。有時候他們糊里糊塗可能會打開一些非法程序,佔用大量的系統資源,從而降低系統性能。廢話少說,如何才能夠查看特定帳戶所啟動的進程呢?其實很簡單。現運行 命令,讓系統統計所有帳戶的進程。然後在需要查看特定帳戶的進程使,只需要按u鍵(注意小寫),然後輸入用戶名即可。此時系統會自動把其他帳戶的進程過濾掉,方便系統管理員查看。按用戶過濾後,仍然可以按m鍵來對現實的結果進行過濾。如果在一開始就需要查看某個特定用戶的進程,那麼只需要直接在 命令後面加入-u可選項然後帶上具體的用戶名即可。但是,此時如果再想查看全部用戶的話,那麼只有先推出命令,然後再利用命令不帶任何選項,來查看所有用戶的進程。或者說,再在這個窗口中輸入字元u,然後直接按回車鍵,也可以顯示所用用戶的進程信息。
3、動態統計信息。
使用命令來統計進程的運行信息,跟微軟操作系統的任務管理器一樣,都是動態調整的。也就是說,系統會每隔一段時間去統計這個信息,然後動態的顯示在窗口中。不需要用戶手工去更新相關的信息。而且從上面的圖形中可以看出,命令統計的信息要比微軟任務管理器統計的信息要多的多。所以對系統管理員來說,具有更大的參考價值。筆者以前也很喜歡採用微軟操作系統的任務管理器。而了解了命令後,就對其鍾愛有加了。因為其不僅可以完成任務管理器中的所有功能。而且命令中有的信息在微軟任務管理器中卻無法顯示。而這些信息往往對我們維護系統、提升性能具有很大的參考價值。
4、刪除有異常的進程。
如果這個窗口中,發現某些進程有異常或者用戶執行了規定以外的應用程序,如佔用了太多的系統資源或者有僵屍進程的存在,則可以直接在這個窗口中講其刪除。操作的方法很簡單,只需要在這個窗口內輸入字元p,然後系統會提示系統管理員輸入要關閉進程的PID。管理員只需要鍵入這個值,然後按回車鍵就可以殺掉不需要的進程。不過在關閉進程的時候,有許可權的限制。系統特權帳戶root可以關閉所有用戶的進程。而普通帳戶則只能夠刪除自己打開的程序,而無法關閉其他用戶的進程。如現在系統管理員先以oracle用戶登錄,發現root帳戶下某個進程異常,想要關閉時,系統會提示無法關閉的錯誤信息。此時管理員必須先終止這個進程,然後利用su命令更改登陸的帳戶。然後再關閉這個異常的進程。系統管理員可以同時關閉多個進程。方法很簡單,就是同時輸入多個需要關閉的進程號。在各個進程號之間需要利用逗號隔開。
在系統維護中是一個很有用的命令。除了可以實現如上的功能外,還可以設置其動態更新的時間間隔等等。不過需要注意的是,在不同版本的 Linux系統中其功能稍有差異,而且其顯示的布局與內容也有所不同。為此當系統管理員維護其不怎麼熟悉的版本時,有時候需要查看系統的幫助說明。此時只需要在命令後面加上?號就可以獲得相關的幫助。這個聯機幫助文檔根命令一樣,都是系統管理員的好幫手。不過可惜的是,現在這些在線幫助文檔都是英文的。所以這對系統管理員的英文說明要求比較高。
[root@iZ259r7h4pfZ ~]#
- 16:48:24 up 226 days, 8:34, 1 user, load average: 0.00, 0.00, 0.01
Tasks: 204 total, 1 running, 164 sleeping, 0 sped, 39 zombie
Cpu(s): 0.9%us, 0.9%sy, 0.0%ni, 98.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1920740k total, 1123552k used, 797188k free, 24216k buffers
Swap: 0k total, 0k used, 0k free, 87436k cached
[root@iZ259r7h4pfZ ~]# free -m
total used free shared buffers cached
Mem: 1875 1097 778 0 23 85
-/+ buffers/cache: 988 887
Swap: 0 0 0
也可以用watch監控
[root@iZ259r7h4pfZ ~]# watch -n 1 "free -m"
Every 1.0s: free -m Tue Oct 31 16:48:44 2017
total used free shared buffers cached
Mem: 1875 1098 777 0 23 85
-/+ buffers/cache: 989 886
Swap: 0 0 0
這個需要配置吧
:blogs./yangxia-test/archive/2012/11/27/2790771.
LR只是模擬客戶端和伺服器進行交互,並不能直觀的收集伺服器是內部的信息,如果要監控伺服器性能情況,linux系統可以用nmon(或者用命令不過,只能監控內存之類的情況,寫一個shell腳本定時輸出日誌到本地就可以了),oracle可以用awr。
Linux查看系統資源佔用
在系統維護的過程中,隨時可能有需要查看 CPU和內存的使用率,並根據相應信息分析系統狀況的需求。本文介紹一下幾種常見的Linux系統資源查看命令。
1、總體內存佔用的查看
命令:free
圖1 free命令查看內存佔用
(1) free命令默認是以kb為單位顯示的,可以用free -m 用Mb單位來顯示。
(2) Mem行 : total = used + free 其中buffers和cached雖然計算在used內, 但其實為可用內存。
(3) Mem下一行:used為真實已佔內存,free為真實可用內存。
(4)Swap:內存交換區的使用情況。
2、查看內存佔用前五的進程
命令:ps auxw | head -1;ps auxw|sort -rn -k4|head -5
圖 2.1查看內存佔用前5的進程
如圖2.1所示, 內存的單位是kb,VSZ是虛擬內存的佔用,RSS是真實的內存的佔用。
命令分解:
ps auxw顯示系統資源佔用情況;
head -1表示顯示第一列,即標題列;
sort -r 表示反向排序,-n表示按數字排序,-k4表示列的第4個字元。
3、查看CPU佔用前三的進程
命令:ps auxw|head -1;ps auxw|sort -rn -k3|head -3
圖3.1 查看cpu佔用前三的進程
該命令與圖2.1相仿,只是選擇的資源佔用情況的第3列(即cpu),用「-k3」表示。
4、查看系統整體的負載
命令:
圖4.1 顯示系統整體負載
(1)第一行: 系統時間 + 系統運行時間 + 幾個用戶 + 1/5/15分鍾系統平均負載
(2)第二行:進程總數(total) + 正在運行進程數(running) + 睡眠進程數(sleeping) + 停止的進程數(sped)+ 僵屍進程數(zombie)
(3)第三行:用戶空間CPU佔比(us) + 內核空間CPU佔比(sy)+ CPU空置率(id)
圖4.2 各個任務佔用資源情況
註解:
PID :進程ID
USER :用戶名
PR :優先順序
NI :負值表示高優先順序,正值表示低優先順序。
VIRT :虛擬內存
RES : 真實內存
SHR :共享內存
S :進程狀態 D=不可中斷的睡眠狀態; R=運行; S=睡眠 ;T=跟蹤/停止; Z=僵屍進程
參數:
-d 2 :每隔2秒顯式所有進程的資源佔用情況
-c :每隔5秒顯式進程的資源佔用情況,並顯示進程的命令行參數(默認只有進程名)
-p 12345 -p 6789:每隔5秒顯示pid是12345和pid是6789的兩個進程的資源佔用情況
-d 2 -c -p 123456 :每隔2秒顯示pid是12345的進程的資源使用情況,並顯式該進程啟動的命令行參數
假設一個線程被調度運行,它將一直運行直到它的時間片用完、直到被搶先或直到它自己主動放棄 CPU 控制權。
當另一個線程被賦予 CPU 控制權時,必須保存前一個線程的上下文或工作環境,並載入當前線程的上下文。操作系統有一個很有效的上下文切換過程,所以每次切換並不耗費資源。
任何上下文切換的顯著增加,如當 cs 比磁碟 I/O 和網路包速率高的多,都應進行進一步調查。
Ⅱ linux 系統中安裝簡單網路管理協議 net-snmp-utils 是做什麼的
這個工具包,用於對SNMP的管理;舉例來說,HP PC伺服器在對主機硬體進行監控的時候,支持第三方或用戶自行開發的監控程序;而監控數據的傳遞,就是使用SNMP協議;而且此時需要安裝net-snmp-utils工具包,否則監控數據的發送可能有問題。
下面是RedHat 5.6版本中net-snmp-utils的說明:
Name : net-snmp-utils Relocations: (not relocatable)
Version : 5.3.2.2 Vendor: Red Hat, Inc.
Release : 9.el5_5.1 Build Date: 2010年04月28日 星期三 21時49分27秒
Install Date: (not installed) Build Host: x86-002.build.bos.redhat.com
Group : Applications/System Source RPM: net-snmp-5.3.2.2-9.el5_5.1.src.rpm
Size : 389985 License: BSDish
Signature : DSA/SHA1, 2010年05月03日 星期一 18時31分07秒, Key ID 5326810137017186
Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL : http://net-snmp.sourceforge.net/
Summary : 來自 NET-SNMP 計劃的,使用 SNMP 的網路管理工具。
Description :
net-snmp-utils 軟體包包括用於 NET-SNMP 網路管理計劃的各種工具。
如果您需要管理使用 SNMP 協議的網路的工具,請安裝該軟體包。您還需要安裝 net-snmp軟體包。
Ⅲ 網路工程師應用技術考什麼
網路工程師屬於軟考中級資格考試,網路工程師應用技術科目的考試時間安排在下午,考試題型為主觀問答題,滿分為75分,合格標准基本上穩定在45分。
軟考中級網路工程師的應用技術科目安排在下午考試,根據網路工程師考試大綱,下午科目考試范圍如下:
1.網路系統分析與設計;
1.1網路系統的需求分析;
1.1.1應用需求分析;
應用需求的調研;
網路應用的分析;
1.1.2現有網路系統分析;
現有網路系統結構調研;
現有網路體系結構分析;
1.1.3需求分析;
功能需求;
通信需求;
性能需求;
可靠性需求;
安全需求;
維護和運行需求;
管理需求(管理策略);
1.2網路系統的設計;
1.2.1技術和產品的調研和評估;
收集信息;
採用的技術和產品的比較研究;
採用的技術和設備的比較要點;
1.2.2網路系統的設計;
確定協議;
確定拓撲結構;
確定連接(鏈路的通信性能);
確定節點(節點的處理能力);
確定網路的性能;
確定可靠性措施;
確定安全性措施;
結構化布線系統;
網路設備的選擇,制定選擇標准;
通信子網姿談的設計;
資源子網汪冊圓的設計;
1.2.3新網路業務運營計劃;
1.2.4設計評審;
1.3網路系統的構建和測試;
1.3.1安裝工作;
1.3.2測試和評估;
1.3.3轉換到新網路的工作計劃;
2.網路系統的運行、維護管理、評價;
2.1網路系統的運行和維護;
2.1.1用戶措施;
用戶管理、用戶培訓、用戶協商;
2.1.2制定維護和升級的策略和計劃;
確定策略;
設備的編制;
審查的時間;
升級的時間;
2.1.3維護和升級的實施;
外部合同要點;
內部執行要點;
2.1.4備份與數據恢復;
數據的存儲與處置;
備份;
數據恢復;
2.1.5網路系統的配置管理;
設備管理;
軟體管理;
網路配置圖;
2.2網路系統的管理;
2.2.1網路系統的監視;
網路管理協議(SNMP、MIB-2、RMON);
利用工具監視網路性能;
利用工具監視網路故障;
利用工具監視網路安全(入侵檢測系統);
性能監視的檢查點;
安全監視的檢查點;
2.2.2故障恢復分析;
故障分析要點(LAN監控程序);
排除故障要點;
故障報告撰寫要點;
2.2.3系統性能分析;
系統性能要點;
2.2.4危害安全的對策;
危害安全情況分析;
入侵檢測要點;
對付計算機病毒的要點;
2.3網路系統的評價;
2.3.1系統評價;
系統能力的限制;
潛在的問題分析;
系統評價要點;
2.3.2改進系統的建議;
系統生命周期;
系統經濟效益;
系統的可擴充性;
3.網路系統實現技術;
3.1網路協議;
商用網路協議(SNA/APPN、IPX/SPX、AppleTalk、TCP/IP);
商務協議(XML、CORBA、COM/DCOM、EJB);
Web服務(WSDL、SOAP、UDDI);
3.2可靠性設計;
硬體高可靠性技術;
軟體高可靠性技術;
系統維護高可靠性技術;
容錯技術;
通信質量;
RAID;
3.3網路設施;
3.3.1 xDSL數據機;
3.3.2FRAD(幀裝配/拆除)、CLAD(信元裝配/拆裝);
介面;
功能;
3.3.3交換機和路由器的配置;
命令行介面配置;
Web方式訪問交換機和路由器;
VLAN配置;
VOIP配置;
路由協議的配置;
廣域聯網;
DTP、STP、RSTP;
3.3.4遠程訪問伺服器;
功能和機制;
3.3.5多層交換機功能和機制;
3.3.6IP路由器功能和控制;
3.4網路應用與服務;
3.4.1IP地址;
IPv4、IPv6;
動態分配和靜態分配;
DHCP伺服器的原理及配置(Windows、Linux);
3.4.2網路系統管理;
網路管理命令;
Linux系統;
Windows系統;
Windows活動目錄;
Windows終端服務與遠程管理;
3.4.3DNS;
URL;
域名解析;
DNS伺服器的配置(Windows、Linux);
3.4.4電子郵件伺服器配置(Windows、Linux);
3.4.5WWW;
虛擬主機;
WWW伺服器配置(Windows、Linux)困塌;
WWW伺服器的安全配置;
3.4.6代理伺服器的配置(Windows、Linux);
3.4.7FTP伺服器;
FTP伺服器的訪問;
FTP伺服器的配置(Windows、Linux);
3.4.8網路接入與服務;
HFC、ADSL、FTTx+LAN、WLAN、移動通信;
服務供應商;
網際網路廣播、電子商務、電子政務;
主機服務提供者、數據中心;
3.5網路安全;
3.5.1訪問控制與防火牆;
ACL命令;
過濾規則;
防火牆配置;
3.5.2數字證書;
3.5.3 VPN配置;
3.5.4 PGP;
3.5.5病毒防護;
4.網路新技術;
4.1光纖網;
無源光網PON(APON、EPON);
4.2無線網;
行動電話系統(WCDMA、CMDA2000、TD-SCDMA);
微波接入(MMDS LMDS);
衛星接入;
藍牙接入;
4.3主幹網;
IP over;
SONET/SDH;
IP over Optical;
IP over DWDM;
4.4通信服務;
全天候IP連接服務(租用線路IP);
IPv6;
4.5網路管理;
基於TMN的網路管理;
基於CORBA的網路管理。
溫馨提示:因考試政策、內容不斷變化與調整,獵考網提供的以上信息僅供參考,如有異議,請考生以權威部門公布的內容為准!
下方免費復習資料內容介紹:下半年系統架構設計師上午真題及在線估分
格式:PDF大小:622.5KB 2023年下半年信息系統監理師真題解析(下午題)
格式:PDF大小:491.18KB
資格考試有疑問、不知道如何總結考點內容、不清楚報考考試當地政策,點擊底部咨詢獵考網,免費領取復習資料
Ⅳ 如何藉助Motion操控Linux監控攝像頭
安裝程序應該會創建一個motion群組和用戶,並且將motion用戶添加到video群組。要是安裝程序沒有創建motion群組和用戶,那麼你必須自行創建。還要自行添加到video群組,才能避開煩人的許可權問題。
現在運行motion,看看它是否管用:
$ sudo motion [0] Processing thread 0 - config file /etc/motion/motion.conf [0] Motion 3.2.12 Started [0] ffmpeg LIBAVCODEC_BUILD 3547904 LIBAVFORMAT_BUILD 3544067 [0] Thread 1 is from /etc/motion/motion.conf [1] Thread 1 started [0] motion-httpd/3.2.12 running, accepting connections [1] Failed to open video device /dev/video0: No such file or directory [0] motion-httpd: waiting for data on port TCP 8080 [1] Could not fetch initial image from camera [1] Motion continues using width and height from config file(s) [1] Resizing pre_capture buffer to 1 items [1] Started stream webcam server in port 8081 [...]
它會顯示好多好多行,直到你看到如下內容:
[1] Failed to open video device /dev/video0: No such file or directory [1] Video signal lost - Adding grey image
將你的Web瀏覽器指向localhost:8081,你會看到一幅灰色圖像:
圖2:如果Motion找不到攝像頭,就會顯示灰色圖像。
這很好,因為這表明Motion已正確安裝;你要做的就是對它進行配置。按Ctrl+C組合鍵停止運行。然後,在你的主目錄下創建一個.motion目錄,將默認配置文件拷貝到該目錄中,並將所有權改成歸你所有:
~$ mkdir .motion ~$ sudo cp /etc/motion/motion.conf .motion/ ~$ sudo chown carla:carla .motion/motion.conf
你還需要用來存儲motion所拍攝圖像的一個目錄:
~$ mkdir motion-images
當你啟動Motion後,它會尋找配置文件,先在當前目錄下尋找,然後在~/.motion下尋找,最後在/etc/motion下尋找。現在,編輯你的~/.motion/motion.conf文件――該例子包括基本配置以及與我的Foscam IP攝像頭相關的那些行:
# 在守護程序(後台)模式下啟動,打2開終端(默認:off) daemon on # 檢測到運動後,輸出「正常」圖片(默認:on) [...] output_normal off # 存儲進程編號的文件,又叫pid文件。(默認:未定義)。 process_id_file /var/run/motion/motion.pid # 圖像寬度(像素)。有效范圍:取決於攝像頭,默認:352個像素 width 640 # 圖像高度(像素)。有效范圍:取決於攝像頭,默認:288個像素 height 480 # 每秒拍攝的最大幀數量。 # 有效范圍:2-100。默認:100(幾乎沒有限制)。 framerate 7 # 如果你使用網路攝像頭要使用的URL,尺寸將自動檢測(包括http://、ftp://或file:///) # 必須是返回單JPEG圖片或原始MJPEG流的URL。默認:未定義 netcam_url value http://http://192.168.10.250:8080/videostream.cgi # 網路攝像頭的用戶名和密碼(只要在需要時)。默認:未定義 # 語法是用戶:密碼 netcam_userpass admin:mypassword # 存儲圖片和短片的目標基本目錄 # 推薦使用的絕對路徑。(默認值:當前工作目錄) target_dir /home/carla/motion-images # ffmpeg用於視頻壓縮的編解碼器。 [...] ffmpeg_video_codec mpeg4
你需要創建用來存儲PID文件的目錄,因為它在motion.conf中表明:
$ sudo mkdir /var/run/motion
現在再試著啟動它:
$ sudo motion [0] Processing thread 0 - config file /home/carla/.motion/motion.conf [0] Motion 3.2.12 Started [0] Motion going to daemon mode
到目前為止很好,現在再試一下localhost:8081
Ⅳ ezview如何設置遠程監控
ezview設置遠程監控:LR模擬客戶端向伺服器收發消息工具要監控伺服器信息需要linux使用專門監控工具比nmon等等畢竟LR安裝linux伺服器伺服器內部信息LR監控。
清檔脊除方法:採用手動修改注冊表法,開始菜單->運行->regedit->確定,打開注冊表編輯工具,按順序依次打開:HKEY_LOCAL_USERSoftwareMicrosoftInternet ExplorerMain 分支,找到Default_Page_URL鍵值名(用來設置默認主頁),在右窗口點擊右鍵進行修改即可。按F5鍵刷新生效。
工作原理:
對於視頻監控領域來說,一般工作原理如下。
首先,將來自各攝像機的視頻信號輸入視頻採集終端,然後,視頻採集終端通過圖像壓縮演算法,將視頻信號轉換為25幀/秒的數字圖像。
並將經壓縮後的音視頻數據流通過網路轉發到視頻監控中心;最後,視頻監控中心的監控計算機對收到的來自前端的圖像和聲音數據,進行解壓縮並通過計算機顯示屏幕和音效卡進行實時監控。
當發生報警時,報警解碼器將聯動報警輸出設備,並通過報警解寬春碼器將報警信號輸入視頻終端,並傳輸到監控中心,監控中心的視頻伺服器接收到報警信號後立即發出聲音信號、記錄報警事件、進行硬碟錄像等報警操作。行巧滲
Ⅵ cacti如何監控華為設備介面流量
使用cacti監控 華為3300交換機,在交換機上SNMP如何配置,請高手賜教,不勝感激!要開啟華為設備的snmp 並且獲取到設備的OID。
1. 支持監控10台Windows、Linux伺服器和網路設備,或者50個PING和URL;
2. 監控內容包括:CPU、內存、磁碟、網卡、進程、埠、目錄、文件、日誌、埠up/down、流量、
帶寬、丟包率、錯包率、網路可用性、URL下載時間、網頁防篡改等上百個指標參數;
3. 支持郵件、短消息、聲音和遠程聲音告警;
4. 支持健康報告、指標報告、對比報告等多種報告;
5. 支持狀態統計、我的儀表盤、管理對象和監測點等多種視圖顯示
Ⅶ linux中安裝了一個插件,這個插件裝完後正常的情況在終端輸入./phpxujh -p pid可查看當前PID的運行情況,
目錄
開始之前
系統環境
監控內容
所需軟體包
CentOS7重要變化
配置開發環境
同步時間
關閉Selinux
使用CRT上傳軟體包
安裝郵件服務
監控主機安裝
常用到的命令
安裝nagios所需要的運行環境
增加用戶
安裝nagios
配置許可權
安裝插件
安裝nrpe
遠程主機安裝
常用到的命令
配置運行環境
安裝nagios-plugin
安裝nrpe
啟動nrpe
監控主機安裝PNP
配置開發環境
安裝pnp4nagios (版本號為0.6)
配置pnp4nagios
圖表展示
問題集合
在首次配置了nagios監控端後,在瀏覽器輸入地址後連接不上
啟動nrpe後卻不能互相通信
安裝pnp4nagios後出現The requested URL /pnp4nagios/graph was not found on this server.
出現「CHECK_NRPE: Error - Could not complete SSL handshake.」的錯誤
執行 ./configure時報錯:configure error cannot find ssl headers
解壓./configure 後,在nagios-4.0.8進行make all報錯
安裝nrpe時執行.configure出錯
錯誤:perfdata directory "/usr/local/pnp4nagios/var/perfdata/" is empty
開始之前
聲明:本文中的命令都經過了測試,但難免有所紕漏,如果你發現命令粘貼後運行有錯,可能是由於符號的格式(尤其是破折號)導致的,此時你應該自己手打一遍命令。對於本文中發現的錯誤和建議,請發送郵件給我:
[email protected],請在郵件主題里註明「關於nagios的問題(建議)」。
--------------------------------------分割線 --------------------------------------
在Ubuntu下配置Mrtg監控Nginx和伺服器系統資源 http://www.linuxidc.com/Linux/2013-08/88417.htm
使用 snmp+Mrtg 監控 Linux 系統 http://www.linuxidc.com/Linux/2012-11/73561.htm
Mrtg伺服器搭建(監控網路流量) http://www.linuxidc.com/Linux/2012-07/64315.htm
網路監控器Nagios全攻略 http://www.linuxidc.com/Linux/2013-07/87067.htm
Nagios搭建與配置詳解 http://www.linuxidc.com/Linux/2013-05/84848.htm
Nginx環境下構建Nagios監控平台 http://www.linuxidc.com/Linux/2011-07/38112.htm
在RHEL5.3上配置基本的Nagios系統(使用Nagios-3.1.2) http://www.linuxidc.com/Linux/2011-07/38129.htm
CentOS 5.5+Nginx+Nagios監控端和被控端安裝配置指南 http://www.linuxidc.com/Linux/2011-09/44018.htm
Ubuntu 13.10 Server 安裝 Nagios Core 網路監控運用 http://www.linuxidc.com/Linux/2013-11/93047.htm
--------------------------------------分割線 --------------------------------------
系統環境
一共3台機器,全都按照CentOS7最小化模式安裝系統
系統版本號
[root@localhost ~]# cat /etc/RedHat-release
CentOS Linux release 7.0.1406 (Core)
監控主機
(一台)
IP地址:192.168.1.204
主機名稱:nagios_server_204
遠程主機
(兩台)
IP地址:192.168.1.112
主機名稱:nagios_slave_112
IP地址:192.168.1.113
主機名稱:nagios_slave_113
分區情況
安裝時使用默認分區(使用 df 命令來查看)
[root@localhost ~]# df -h
監控內容
要監控的服務
監控命令
cpu負載
(check_linux_state.pl -C)
當前用戶登錄數量
(check_users)
磁碟使用情況
(check_disk)
總進程數
(check_procs)
內存使用情況
(check_linux_stats.pl -M)
負載均衡
(check_load)
磁碟IO
(check_linux_stats.pl -I)
網路流量
(check_linux_stats.pl -N)
打開的文件數量
(check_linux_stats.pl -F)
socket連接數
(check_linux_stats.pl -S)
進程使用的內存和CPU
(check_linux_stats.pl -T)
指定的網站是否可連接
(check_http)
系統在線時長
(check_uptime)
所需軟體包
監控主機
軟體包
下載地址
nagios-4.0.8.tar.gz
請到我的github地址里下載:
https://github.com/Kylinlin/install_nagios_automatically/tree/master/nagios_tools_for_server
註明:我的github項目install_nagios_automatically是一個一鍵自動化安裝nagios的項目(能運行,但還在完善中)
nagios-plugins-2.0.3.tar.gz
nrpe-2.15.tar.gz
pnp4nagios-0.6.25.tar.gz
Sys-Statistics-Linux-0.66.tar.gz
libxml2-2.7.1.tar.gz
遠程主機
軟體包
下載地址
nagios-plugins-2.0.3.tar.gz
請到我的github地址里下載:
https://github.com/Kylinlin/install_nagios_automatically/tree/master/nagios_tools_for_client
nrpe-2.15.tar.gz
Sys-Statistics-Linux-0.66.tar.gz
Centos7重要變化
Centos7相比較以前的Centos有一些涉及到常用命令的變化,如果不事先了解,會在使用命令的時候造成巨大的困擾
Centos7默認沒有ifconfig和netstat兩個命令了,ip addr命令代替了ifconfig,只要安裝上net-tools包就可以繼續使用ifconfig和netstat兩個命令了
systemctl命令的出現(systemctl可以看作是service和chkconfig的組合),雖然仍然可以使用以前的命令,但是會重定向到新的命令中,下面以http服務為例
job
以前的系統
CentOS7
服務開機啟動
chkconfig --level 3 httpd on
systemctl enable httpd.service
服務不開機啟動
chkconfig --level 3 httpd off
systemctl disable httpd
服務狀態
service httpd status
systemctl status httpd
所有服務的啟動狀態
chkconfig --list
systemctl
啟動服務
service httpd start
systemctl start httpd.service
停止服務
service httpd stop
systemctl stop httpd.service
重啟服務
service httpd restart
systemctl restart httpd.service
配置開發環境
同步時間
把監控系統里的所有機器都同步一次網路時間(非常重要)
[root@localhost ~]timedatectl #該命令用來檢查當前時間和時區
如果發現所有機器的時區不一致,此時就要使用命令
[root@localhost ~]timedatectl list-timezones #該命令列出了所有的時區
[root@localhost ~]timedatectl set-timezone Asia/Shanghai #該命令把時區設置為上海
ntpdate time.nist.gov #該命令同步網路當前的時間
如果提示沒有ntpdate命令,則安裝ntp,並且配置系統自動更新時間
[root@localhost ~]# yum install ntp -y
[root@localhost ~]# /usr/sbin/ntpdate time.nist.gov
[root@localhost ~]# echo '#time sync'>>/var/spool/cron/root
[root@localhost ~]# echo '*/10**** /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1'>>/var/spool/cron/root
關閉Selinux
不關閉selinux可能會導致一些難以察覺的錯誤,為了保險起見,首先關閉selinux:
[root@localhost ~]vi /etc/selinux/config
重啟機器
檢查selinux是否關閉:
[root@localhost ~]getenforce #如果顯示enforcing則沒有關閉
使用SecureCRT上傳軟體包
我在這里使用的SSH連接工具是SecureCRT7.2,通過這個工具上傳文件到Linux的步驟如下:
1. 首先在Linux中安裝傳送文件命令:
[root@localhost ~] yum install lrzsz -y
2. 然後在Linux中跳轉到/usr/local/src目錄下
[root@localhost ~] cd /usr/local/src
3. 運行CRT的傳送文件命令
安裝郵件服務
因為郵件報警服務需要安裝mail功能
[root@localhost ~]yum install –y mailx
[root@localhost ~]yum install –y sendmail
[root@localhost ~]systemctl restart sendmail.service
[root@localhost ~]mail –s Test [email protected](你的郵箱地址)
#此時進入輸入模式,輸入完郵件內容後按ctrl + d退出並且發送
監控主機安裝
常用到的命令
命令內容
命令格式
檢查nagios的配置文件是否有錯
/etc/init.d/nagios checkconfig
或者
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
啟動nagios
systemctl start nagios.service
或者
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
修改了nagios的配置文件後重新載入配置文件
/etc/init
安裝nagios所需要的運行環境
[root@localhost ~]# yum install gcc glibc glibc-common -y
[root@localhost ~]# yum install php php-gd perl -y
[root@localhost ~]# yum install httpd gd gd-devel openssl openssl-devel -y
[root@localhost ~]# systemctl enable httpd.service #設置CentOS開機啟動服務
增加用戶
[root@localhost ~]useradd -m nagios
並將nagios以及apache用戶加入到nagcmd組中
[root@localhost ~]groupadd nagcmd
[root@localhost ~]usermod -G nagcmd nagios
[root@localhost ~]usermod -a -G nagcmd apache #把apace用戶添加到與nagios的一個組(apache用戶會在安裝apache時自動創建)
安裝nagios
[root@localhost src]# tar -zxvf nagios-4.0.8.tar.gz
[root@localhost src]# cd nagios-4.0.8
首先初始化和建立編譯的環境
[root@localhost nagios-4.0.8]#./configure --with-command-group=nagcmd
如果能看到下面的基本配置信息則說明初始的環境已經成功配置完成:
之後按照提示執行命令來進行編譯:
[root@localhost nagios-4.0.8]# make all
[root@localhost nagios-4.0.8]# make install
[root@localhost nagios-4.0.8]# make install-init
[root@localhost nagios-4.0.8]# make install-config
[root@localhost nagios-4.0.8]# make install-commandmode
[root@localhost nagios-4.0.8]# make install-webconf
安裝完成之後,在/usr/local/nagios目錄下如果能夠看到這些目錄:
就表示Naigos安裝成功了。
Nagios的樣例配置文件默認安裝在/usr/local/nagios/etc目錄下,配置這些文件就可以使得nagios按要求運行(詳細的配置過程請參考我的另一篇博文:nagios服務配置詳解)
此時應該為email指定您想用來接收nagios警告信息的郵件地址,默認是本機的nagios用戶:
[root@localhost]# vi /usr/local/nagios/etc/objects/contacts.cfg
email nagios@localhost #把描紅的地方修改為你的email地址
創建一個登錄nagios web程序的用戶(用戶名配置為nagiosadmin則不需要配置許可權,設置為其他用戶名就要配置許可權),我在這里把用戶名設置為kylinlin,密碼為123456,這個用戶帳號在以後通過web登錄nagios認證時所用:
[root@localhost ~]# htpasswd -bc /usr/local/nagios/etc/htpasswd.users kylinlin 123456 #把描紅的地方修改為你的用戶名和密碼
配置許可權
如果在上面創建登陸nagios web程序的用戶名不是nagiosadmin(我在上面已經設置為kylinlin),在登陸nagios的web界面後(此時我們還不能登錄,但如果你忽略了這一小節的配置,那麼在後面的登陸中就會看到如下的界面),點擊Hosts或Services會顯示圖片紅色的錯誤提示
是因為nagios默認把全部的許可權給nagiosadmin,所以可以通過修改cgi.cfg文件賦予kylinlin許可權,切換到/usr/local/nagios/etc目錄下
[root@localhost etc]# sed -i 's#nagiosadmin#kylinlin#g' cgi.cfg #這條命令將nagiosadmin用戶名替換為kylinlin
[root@localhost etc]# grep kylinlin cgi.cfg #這條命令檢查是否修改成功
以上過程配置結束以後需要重新啟動httpd:
[root@localhost etc]# systemctl restart httpd.service
檢查其主配置文件的語法是否正確:
[root@localhost etc]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
或者使用下面這個命令來檢查語法
[root@localhost etc]# /etc/init.d/nagios checkconfig
顯示錯誤數為0才正確
配置成功
安裝插件
剛才已經提到Nagios主程序只是一個控制中心,而能夠起到服務監測和系統監測等功能的是眾多Nagios的插件,沒有插件的Nagios系統其實只是一個空殼。因此在安裝了Nagios平台之後我們還需要安裝插件。
Nagios插件同樣是在其官方網站下載,目前版本是1.4.15。我將下載的源碼包放到/usr/local目錄下,按照下面的步驟進行解壓,編譯和安裝:
[root@localhost src]# tar zxf nagios-plugins-2.0.3.tar.gz
[root@localhost src]# cd nagios-plugins-2.0.3
[root@localhost nagios-plugins-2.0.3]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
[root@localhost nagios-plugins-2.0.3]#make
[root@localhost nagios-plugins-2.0.3]#make install
通過下面的命令查看安裝了多少個插件
[root@localhost nagios-plugins-2.0.3]#ls /usr/local/nagios/libexec/|wc -l
然後把Nagios加入到服務列表中以使之在系統啟動時自動啟動:
[root@localhost nagios-plugins-2.0.3]# chkconfig --add nagios
[root@localhost nagios-plugins-2.0.3]# chkconfig nagios on
執行下面的命令來驗證Nagios的樣例配置文件:
[root@localhost ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Ⅷ 有沒有類似supervisor的linux進程監控軟體
Supervisor是一個C/S系統,它允許用戶在類UNIX系統上控制一巧仔衫些進程。它具有以下特性:
1 簡單
Supervisor通過INI格式配置文件進行配置,很容易掌戚納握,它為每個進程提供了很多配置選項,可以使你很容易的重啟進程或者自動的輪轉日誌。
2 統一
Supervisor提供了一種統一的方式來start、stop、monitor你的進程, 進程可以單獨控制,也可以成組的控制。你可以在本地或者遠程命令行或者web介面來配置Supervisor。
3 有效
Supervisor通過fork/exec啟動它的子進程,子進程並不是守護進程。當一個進程終止的時候,操作系統會立即給Supervisor發送一個信號,而不是像其他解決方案依賴PID文件。
4 可擴展
Supervisor包含一個簡單的事件通知協議,因此任何程序都可以監控它,而且提供一個XML-RPC控制介面。
5 兼容
除了windows平台,其他平台都可運行。
Supervisor系統的組件:
supervisord:
服務會啟動supervisord服務,它負責調用自己啟動子程序,響應來自客戶端的命令,重啟crash或者退出的進程,記錄進程的輸出信息,收集事件信息。該服務的配置文件在/etc/supervisor/supervisord.conf
supervisorctl:
客戶端的命令行工具,孝腔提供一個類shell介面,通過它你可以連接到不同的supervisord進程上來管理它們各自的子程序。客戶端命令通過UNIX socket或者TCP來和服務通訊,服務端可以要求客戶端提供身份驗證之後才能進行操作([supervisorctl])。
Web Server:
一個小的web介面被集成進了supervisorctl,重啟supervisord之後就可以訪問了([inet_http_server])。
XML-RPC Interface:
就像HTTP提供WEB UI一樣,同時還提供了XML-RPC介面來控制supervisor和由它運行的程序。
安裝:
supervisor是python編寫的,顯然用easy_install、pip都可以安裝,我懶,直接apt-get了,在ubuntu14.04下安裝完後版本是3.0b2。
Supervisor服務的啟動
其實啟動Supervisor很簡單,supervisord -h看看就知道了,最簡單的-c根配置文件即可:
復制代碼
代碼如下:
supervisord -- run a set of applications as daemons.
Usage: /usr/bin/supervisord [options]
Options:
-c/--configuration FILENAME -- configuration file
-n/--nodaemon -- run in the foreground (same as 'nodaemon true' in config file)
-h/--help -- print this usage message and exit
-v/--version -- print supervisord version number and exit
-u/--user USER -- run supervisord as this user (or numeric uid)
-m/--umask UMASK -- use this umask for daemon subprocess (default is 022)
-d/--directory DIRECTORY -- directory to chdir to when daemonized
-l/--logfile FILENAME -- use FILENAME as logfile path
-y/--logfile_maxbytes BYTES -- use BYTES to limit the max size of logfile
-z/--logfile_backups NUM -- number of backups to keep when max bytes reached
-e/--loglevel LEVEL -- use LEVEL as log level (debug,info,warn,error,critical)
-j/--pidfile FILENAME -- write a pid file for the daemon process to FILENAME
-i/--identifier STR -- identifier used for this instance of supervisord
-q/--childlogdir DIRECTORY -- the log directory for child process logs
-k/--nocleanup -- prevent the process from performing cleanup (removal of
old automatic child log files) at startup.
-a/--minfds NUM -- the minimum number of file descriptors for start success
-t/--strip_ansi -- strip ansi escape codes from process output
--minprocs NUM -- the minimum number of processes available for start success
--profile_options OPTIONS -- run supervisord under profiler and output
results based on OPTIONS, which is a comma-sep'd
list of 'cumulative', 'calls', and/or 'callers',
e.g. 'cumulative,callers')
不過既然我這懶人是用apt-get安裝的,那安裝包的規范必然符合debian系的風格了,直接service supervisor start即可啟動,且慢,我們還沒配置supervisor的配置文件呢,啟動了也沒什麼效果。我們後面詳解配置文件的配置。
supervisorctl客戶端的使用
supervisorctl有兩種模式,一種是交互模式,一種是命令行模式。在命令行輸入supervisorctl直接回車,即可進入交互模式。
復制代碼
代碼如下:
supervisorctl -- control applications run by supervisord from the cmd line.
Usage: /usr/bin/supervisorctl [options] [action [arguments]]
Options:
-c/--configuration -- configuration file path (default /etc/supervisor.conf)
-h/--help -- print usage message and exit
-i/--interactive -- start an interactive shell after executing commands
-s/--serverurl URL -- URL on which supervisord server is listening
(default "http://localhost:9001").
-u/--username -- username to use for authentication with server
-p/--password -- password to use for authentication with server
-r/--history-file -- keep a readline history (if readline is available)
復制代碼
代碼如下:
action [arguments] -- see below
Actions are commands like "tail" or "stop". If -i is specified or no action is
specified on the command line, a "shell" interpreting actions typed
interactively is started. Use the action "help" to find out about available
actions.
Supervisor的開機自啟動
如果你是pip或者easy_install安裝的,開機服務自啟動還真是個麻煩事,不過官方已經給出一些rc.d腳本示例了,在github上,不過由於我是apt-get安裝的,顯然這個開機自啟動是不用擔心的,用debian的update-rc.d即可搞定。
Supervisor的進程安全
既然是用Supervisor來保證其他進程的正常運行,但是萬一Supervisor進程掛了怎麼辦,我們可以使用daemontools來保證Supervisor正常運行,就類似於監控的監控。
supervisord的配置文件主要由幾個配置段構成,配置項以K/V格式呈現,下面就看看各個配置端需要怎樣配置:
[unix_http_server]
在該配置塊的參數項表示的是一個監聽在socket上的HTTP server,如果[unix_http_server]塊不在配置文件中,則不會啟動基於socket的HTTP server。
file:一個unix domain socket的文件路徑,HTTP/XML-RPC會監聽在這上面
chmod:在啟動時修改unix domain socket的mode
chown:修改socket文件的屬主
username:HTTP server在認證時的用戶名
password:認證密碼<span style="font-family:'Microsoft YaHei';font-size:16px;line-height:1.5;"></span>
eg:
復制代碼
代碼如下:
[unix_http_server]
file = /tmp/supervisor.sock
chmod = 0777
chown= nobody:nogroup
username = user
password = 123
[inet_http_server]
在該配置塊的參數項表示的是一個監聽在TCP上的HTTP server,如果[inet_http_server]塊不在配置文件中,則不會啟動基於TCP的HTTP server。
port:TCP監聽的地址和埠(ip:port),這個地址會被HTTP/XML-RPC監聽
username:HTTP server在認證時的用戶名
password:認證密碼
eg:
復制代碼
代碼如下:
[inet_http_server]
port = 127.0.0.1:9001
username = user
password = 123
[supervisord]
該配置塊的參數項是關於supervisord進程的全局配置項。
logfile:log文件路徑
logfile_maxbytes:log文件達到多少後自動進行輪轉,單位是KB、MB、GB。如果設置為0則表示不限制日誌文件大小
logfile_backups:輪轉日誌備份的數量,默認是10,如果設置為0,則不備份
loglevel:error、warn、info、debug、trace、blather、critical
pidfile:pid文件路徑
umask:umask值,默認022
nodaemon:如果設置為true,則supervisord在前台啟動,而不是以守護進程啟動
minfds:supervisord在成功啟動前可用的最小文件描述符數量,默認1024
minprocs:supervisord在成功啟動前可用的最小進程描述符數量,默認200
nocleanup:防止supervisord在啟動的時候清除已經存在的子進程日誌文件
childlogdir:自動啟動的子進程的日誌目錄
user:supervisord的運行用戶
directory:supervisord以守護進程運行的時候切換到這個目錄
strip_ansi:消除子進程日誌文件中的轉義序列
environment:一個k/v對的list列表
eg:
復制代碼
代碼如下:
[supervisord]
logfile = /tmp/supervisord.log
logfile_maxbytes = 50MB
logfile_backups=10
loglevel = info
pidfile = /tmp/supervisord.pid
nodaemon = false
minfds = 1024
minprocs = 200
umask = 022
user = chrism
identifier = supervisor
directory = /tmp
nocleanup = true
childlogdir = /tmp
strip_ansi = false
environment = KEY1="value1",KEY2="value2"
[supervisorctl]
該配置塊參數是關於supervisorctl
serverurl:這個url是用來訪問supervisord服務的(http://localhost:9001),或者是個sockets文件(unix:///absolute/path/to/file.sock)
username:supervisorctl連接supervisord的認證用戶
password:認證密碼
prompt:默認是supervisor
history_file:history文件路徑
eg:
復制代碼
代碼如下:
[supervisorctl]
serverurl = unix:///tmp/supervisor.sock
username = chris
password = 123
prompt = mysupervisor
[program:x]
該配置塊包含一個或者多個program段,program來表明supervisord要控制哪些程序。該配置塊的頭部是有固定格式的,一個關鍵字program,後面跟著一個冒號,接下來才是程序名。例如:[program:foo],foo就是程序名,在使用supervisorctl來操作程序的時候,就是以foo來標明的。
command:啟動程序使用的命令,可以是絕對路徑或者相對路徑
process_name:一個python字元串表達式,用來表示supervisor進程啟動的這個的名稱,默認值是%(program_name)s
numprocs:Supervisor啟動這個程序的多個實例,如果numprocs>1,則process_name的表達式必須包含%(process_num)s,默認是1
numprocs_start:一個int偏移值,當啟動實例的時候用來計算numprocs的值
priority:權重,可以控製程序啟動和關閉時的順序,權重越低:越早啟動,越晚關閉。默認值是999
autostart:如果設置為true,當supervisord啟動的時候,進程會自動重啟。
autorestart:值可以是false、true、unexpected。false:進程不會自動重啟,unexpected:當程序退出時的退出碼不是exitcodes中定義的時,進程會重啟,true:進程會無條件重啟當退出的時候。
startsecs:程序啟動後等待多長時間後才認為程序啟動成功
startretries:supervisord嘗試啟動一個程序時嘗試的次數。默認是3
exitcodes:一個預期的退出返回碼,默認是0,2。
stopsignal:當收到stop請求的時候,發送信號給程序,默認是TERM信號,也可以是 HUP, INT, QUIT, KILL, USR1, or USR2。
stopwaitsecs:在操作系統給supervisord發送SIGCHILD信號時等待的時間
stopasgroup:如果設置為true,則會使supervisor發送停止信號到整個進程組
killasgroup:如果設置為true,則在給程序發送SIGKILL信號的時候,會發送到整個進程組,它的子進程也會受到影響。
user:如果supervisord以root運行,則會使用這個設置用戶啟動子程序
redirect_stderr:如果設置為true,進程則會把標准錯誤輸出到supervisord後台的標准輸出文件描述符。
stdout_logfile:把進程的標准輸出寫入文件中,如果stdout_logfile沒有設置或者設置為AUTO,則supervisor會自動選擇一個文件位置。
stdout_logfile_maxbytes:標准輸出log文件達到多少後自動進行輪轉,單位是KB、MB、GB。如果設置為0則表示不限制日誌文件大小
stdout_logfile_backups:標准輸出日誌輪轉備份的數量,默認是10,如果設置為0,則不備份
stdout_capture_maxbytes:當進程處於stderr capture mode模式的時候,寫入FIFO隊列的最大bytes值,單位可以是KB、MB、GB
stdout_events_enabled:如果設置為true,當進程在寫它的stderr到文件描述符的時候,PROCESS_LOG_STDERR事件會被觸發
stderr_logfile:把進程的錯誤日誌輸出一個文件中,除非redirect_stderr參數被設置為true
stderr_logfile_maxbytes:錯誤log文件達到多少後自動進行輪轉,單位是KB、MB、GB。如果設置為0則表示不限制日誌文件大小
stderr_logfile_backups:錯誤日誌輪轉備份的數量,默認是10,如果設置為0,則不備份
stderr_capture_maxbytes:當進程處於stderr capture mode模式的時候,寫入FIFO隊列的最大bytes值,單位可以是KB、MB、GB
stderr_events_enabled:如果設置為true,當進程在寫它的stderr到文件描述符的時候,PROCESS_LOG_STDERR事件會被觸發
environment:一個k/v對的list列表
directory:supervisord在生成子進程的時候會切換到該目錄
umask:設置進程的umask
serverurl:是否允許子進程和內部的HTTP服務通訊,如果設置為AUTO,supervisor會自動的構造一個url
Ⅸ URL是什麼意思
url簡單說就是網址
URL
全球資源定位器
n.
[電腦網路]
URL(Uniform
Resource
Locator)中文名稱是「全球資源定位器」,也被翻譯做「通用資源位標」,是也就是一個位址,可單獨識別網際網路上的電腦、目錄或檔案位置,也可以指定通訊協定,例如
Gopher、HTTP
等等。URL能讓在Internet上的所有資源都能透過此的方法而找到其位置。
URL的介紹
在WWW(全球資訊網)中想要連結到某個網頁,便需要給瀏覽器一個位址,而URL在此的功能就是告知瀏覽器某個資源在那個位置,簡單來說,通常我們在IE或Netscape瀏覽器中所輸入的網址就是URL的其中一種。
HTTP(Hypertext
Transfer
Protocol)超文字傳輸通訊協定是WWW中伺服器和瀏覽器最主要的溝通方式,而為了能讓瀏覽器正確的在網路上找資料的位置,於是便以URL的方式使瀏覽器確定某一資源的位置。通常URL不一定是指向一份超媒體文件,它也可以是某種網路上的服務,如Ftp、Gopher等。
URL的格式
URL是以「://」為區隔,舉例來說,「
http://www.dreye.com/
」這個網址,「://」之前的「http」便是Protocol(傳輸或通訊協定),而之後的「
www.dreye.com
」所指的便是伺服器的位址,其中「www」便是「World
Wide
Web」,而「dreye」是此站的名稱,而「com」所指的是「網域類型」,由於受限於DNS的型式,所以其中需以「.」點分開;通常還會在後面加上「國別」(如台灣便是或念tw)而組成最基本URL的格式:「Protocol://連結類型.站名.網域類型.國別」。
在Protocol(傳輸或通訊協定)方面有http、ftp、telnet、gopher等不同的服務,而網域類型也有許多歸類衫橘困,如com是商業組織、e是教育機構、gov是政府、mil是軍方的網站、net是網路服務公司等。
由以上的URL方式,網路便可一一被定址出來、歸類出來,瀏覽器也就能伍敏夠正確的找到位置;URL不一定都是英文字,再怎麼長的網址都可被轉換成4組數字。
而近來已有所謂中文網址的出現,此項技術的出現也打破了以往URL的限制,讓網路搜尋資源更加快速、更容易被接受與記憶。