新聞中心
在互聯(lián)網(wǎng)時代,服務(wù)器可以說是每個企業(yè)和個人必不可少的工具。然而,服務(wù)器一旦出現(xiàn)故障或者瓶頸,會對業(yè)務(wù)和服務(wù)產(chǎn)生巨大的影響甚至影響到公司的形象和品牌。因此,如何及時發(fā)現(xiàn)和解決服務(wù)器問題,保證服務(wù)器的穩(wěn)定性和可用性是每個管理員必須要關(guān)注的問題。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),常州企業(yè)網(wǎng)站建設(shè),常州品牌網(wǎng)站建設(shè),網(wǎng)站定制,常州網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,常州網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
那么,如何才能知道服務(wù)器的運行情況,及時發(fā)現(xiàn)問題呢?這就需要借助于一些Linux監(jiān)控工具。在這篇文章中,我們將會介紹一些常用的Linux監(jiān)控工具,并且?guī)椭莆者@些必備軟件,從而實時監(jiān)測服務(wù)器運行情況,保證服務(wù)器平穩(wěn)運行。
1. Nagios
Nagios是一款流行的開源監(jiān)控軟件。它可以對服務(wù)器和應(yīng)用程序進行監(jiān)控,并實時提供有關(guān)系統(tǒng)狀態(tài)的警報。此外,您可以根據(jù)需要定制警報的方式和頻率。
Nagios有一個豐富的插件庫,這些插件能夠監(jiān)控服務(wù)器的各種參數(shù),如CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)、系統(tǒng)進程等。此外,Nagios還可以通過郵件、S等方式向管理員發(fā)送警報信息。Nagios是一款強大的監(jiān)控軟件,適用于大型企業(yè)和中小型企業(yè)。
2. Zabbix
Zabbix也是一款流行的開源監(jiān)控軟件。它可以監(jiān)控服務(wù)器、網(wǎng)絡(luò)設(shè)備和應(yīng)用程序的狀態(tài),并提供實時反饋。
與Nagios不同,Zabbix采用了主動監(jiān)控方式,它可以定期向被監(jiān)控設(shè)備發(fā)送POLL請求,以了解設(shè)備的狀態(tài)。此外,Zabbix還支持自動發(fā)現(xiàn)和自動配置功能,只需要簡單配置,就可以自動識別主機和監(jiān)控項。
Zabbix的Web界面友好,可以很方便的監(jiān)控和管理服務(wù)器的狀態(tài)。此外,它還提供了很多插件,用于監(jiān)控其他設(shè)備或系統(tǒng),使得監(jiān)控更加全面。
3. Cacti
Cacti是一種基于SNMP協(xié)議的監(jiān)控工具。它可以監(jiān)控網(wǎng)絡(luò)設(shè)備、服務(wù)器的CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等狀態(tài)。
Cacti的優(yōu)點在于它支持與所有基于SNMP協(xié)議的設(shè)備通信,因此無論是交換機、路由器還是服務(wù)器都可以輕松地與Cacti搭配使用。此外,它還有很多種圖標和模板,可以讓您在監(jiān)控時更加直觀和準確。
4. Prometheus
Prometheus是一種最近流行的開源監(jiān)控軟件。它采用了多維度數(shù)據(jù)模型、靈活的查詢語言和強大的警報功能。借助于Prometheus可以監(jiān)控服務(wù)器、應(yīng)用程序以及各種互聯(lián)網(wǎng)服務(wù)。
Prometheus有一個豐富的插件庫,可以實時監(jiān)控CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等設(shè)備的狀態(tài),并在發(fā)生問題時,通過郵件、Slack等方式向管理員發(fā)送預(yù)警信息。此外,Prometheus還可以通過grafana等工具進行可視化展示,以便管理員更加準確的把握設(shè)備的狀態(tài)。
5. Grafana
Grafana是一種強大的可視化工具。雖然它本身不是一種監(jiān)控工具,但它可以將不同監(jiān)控工具的數(shù)據(jù)進行整合,并進行準確的展示。
Grafana支持與各種開源監(jiān)控工具進行對接,如Prometheus、Ganglia、InfluxDB等。并且提供了很多種不同的統(tǒng)計方式,如折線圖、柱狀圖、餅圖等,讓用戶可以在Web界面上輕松地查看各種系統(tǒng)和應(yīng)用程序的狀態(tài)。
以上就是我們介紹的一些常用的Linux監(jiān)控工具,每種工具都具有自己的特點和優(yōu)勢。因此,在選擇監(jiān)控工具的過程中,需要根據(jù)自己的需求和公司的情況進行選擇。
無論選擇哪一種工具,都需要掌握它的完整功能和操作方法。只有充分利用這些工具,及時發(fā)現(xiàn)和解決問題,才能保證服務(wù)器的穩(wěn)定性和可用性。因此,我們建議管理員學(xué)習(xí)和掌握這些必備軟件,以便在實際工作中有效的監(jiān)控和管理服務(wù)器。
相關(guān)問題拓展閱讀:
- 有沒有類似supervisor的linux進程監(jiān)控軟件
有沒有類似supervisor的linux進程監(jiān)控軟件
Supervisor是一個C/S系統(tǒng),它允許用戶在類UNIX系統(tǒng)上控制一巧仔衫些進程。它具有以下特性:
簡單
Supervisor通過INI格式配置文件進行配置,很容易掌戚納握,它為每個進程提供了很多配置選項,可以使你很容易的重啟進程或者自動的輪轉(zhuǎn)日志。
統(tǒng)一
Supervisor提供了一種統(tǒng)一的方式來start、stop、monitor你的進程, 進程可以單獨控制,也可以成組的控制。你可以在本地或者遠程命令行或者web接口來配置Supervisor。
有效
Supervisor通過fork/exec啟動它的子進程,子進程并不是守護進程。當(dāng)一個進程終止的時候,操作系統(tǒng)會立即給Supervisor發(fā)送一個信號,而不是像其他解決方案依賴PID文件。
可擴展
Supervisor包含一個簡單的事件通知協(xié)議,因此任何程序都可以監(jiān)控它,而且提供一個XML-RPC控制接口。
兼容
除了windows平臺,其他平臺都可運行。
Supervisor系統(tǒng)的組件:
supervisord:
服務(wù)會啟動supervisord服務(wù),它負責(zé)調(diào)用自己啟動子程序,響應(yīng)來自客戶端的命令,重啟crash或者退出的進程,記錄進程的輸出信息,收集事件信息。該服務(wù)的配置文件在/etc/supervisor/supervisord.conf
supervisorctl:
客戶端的命令行工具,孝腔提供一個類shell接口,通過它你可以連接到不同的supervisord進程上來管理它們各自的子程序??蛻舳嗣钔ㄟ^UNIX socket或者TCP來和服務(wù)通訊,服務(wù)端可以要求客戶端提供身份驗證之后才能進行操作()。
Web Server:
一個小的web接口被集成進了supervisorctl,重啟supervisord之后就可以訪問了()。
XML-RPC Interface:
就像HTTP提供WEB UI一樣,同時還提供了XML-RPC接口來控制supervisor和由它運行的程序。
安裝:
supervisor是python編寫的,顯然用easy_install、pip都可以安裝,我懶,直接apt-get了,在ubuntu14.04下安裝完后版本是3.0b2。
Supervisor服務(wù)的啟動
其實啟動Supervisor很簡單,supervisord -h看看就知道了,最簡單的-c根配置文件即可:
復(fù)制代碼
代碼如下:
supervisord — run a set of applications as daemons.
Usage: /usr/bin/supervisord
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安裝的,那安裝包的規(guī)范必然符合debian系的風(fēng)格了,直接service supervisor start即可啟動,且慢,我們還沒配置supervisor的配置文件呢,啟動了也沒什么效果。我們后面詳解配置文件的配置。
supervisorctl客戶端的使用
supervisorctl有兩種模式,一種是交互模式,一種是命令行模式。在命令行輸入supervisorctl直接回車,即可進入交互模式。
復(fù)制代碼
代碼如下:
supervisorctl — control applications run by supervisord from the cmd line.
Usage: /usr/bin/supervisorctl >
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 “
“).
-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)
復(fù)制代碼
代碼如下:
action — 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安裝的,開機服務(wù)自啟動還真是個麻煩事,不過官方已經(jīng)給出一些rc.d腳本示例了,在github上,不過由于我是apt-get安裝的,顯然這個開機自啟動是不用擔(dān)心的,用debian的update-rc.d即可搞定。
Supervisor的進程安全
既然是用Supervisor來保證其他進程的正常運行,但是萬一Supervisor進程掛了怎么辦,我們可以使用daemontools來保證Supervisor正常運行,就類似于監(jiān)控的監(jiān)控。
supervisord的配置文件主要由幾個配置段構(gòu)成,配置項以K/V格式呈現(xiàn),下面就看看各個配置端需要怎樣配置:
在該配置塊的參數(shù)項表示的是一個監(jiān)聽在socket上的HTTP server,如果塊不在配置文件中,則不會啟動基于socket的HTTP server。
file:一個unix domain socket的文件路徑,HTTP/XML-RPC會監(jiān)聽在這上面
chmod:在啟動時修改unix domain socket的mode
chown:修改socket文件的屬主
username:HTTP server在認證時的用戶名
password:認證密碼
eg:
復(fù)制代碼
代碼如下:
file = /tmp/supervisor.sock
chmod = 0777
chown= nobody:nogroup
username = user
password = 123
在該配置塊的參數(shù)項表示的是一個監(jiān)聽在TCP上的HTTP server,如果塊不在配置文件中,則不會啟動基于TCP的HTTP server。
port:TCP監(jiān)聽的地址和端口(ip:port),這個地址會被HTTP/XML-RPC監(jiān)聽
username:HTTP server在認證時的用戶名
password:認證密碼
eg:
復(fù)制代碼
代碼如下:
port = 127.0.0.1:9001
username = user
password = 123
該配置塊的參數(shù)項是關(guān)于supervisord進程的全局配置項。
logfile:log文件路徑
logfile_maxbytes:log文件達到多少后自動進行輪轉(zhuǎn),單位是KB、MB、GB。如果設(shè)置為0則表示不限制日志文件大小
logfile_backups:輪轉(zhuǎn)日志備份的數(shù)量,默認是10,如果設(shè)置為0,則不備份
loglevel:error、warn、info、debug、trace、blather、critical
pidfile:pid文件路徑
umask:umask值,默認022
nodaemon:如果設(shè)置為true,則supervisord在前臺啟動,而不是以守護進程啟動
minfds:supervisord在成功啟動前可用的最小文件描述符數(shù)量,默認1024
minprocs:supervisord在成功啟動前可用的最小進程描述符數(shù)量,默認200
nocleanup:防止supervisord在啟動的時候清除已經(jīng)存在的子進程日志文件
childlogdir:自動啟動的子進程的日志目錄
user:supervisord的運行用戶
directory:supervisord以守護進程運行的時候切換到這個目錄
strip_ansi:消除子進程日志文件中的轉(zhuǎn)義序列
environment:一個k/v對的list列表
eg:
復(fù)制代碼
代碼如下:
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 = chri
identifier = supervisor
directory = /tmp
nocleanup = true
childlogdir = /tmp
strip_ansi = false
environment = KEY1=”value1″,KEY2=”value2″
該配置塊參數(shù)是關(guān)于supervisorctl
serverurl:這個url是用來訪問supervisord服務(wù)的(
),或者是個sockets文件(
username:supervisorctl連接supervisord的認證用戶
password:認證密碼
prompt:默認是supervisor
history_file:history文件路徑
eg:
復(fù)制代碼
代碼如下:
serverurl =
username = chris
password = 123
prompt = mysupervisor
該配置塊包含一個或者多個program段,program來表明supervisord要控制哪些程序。該配置塊的頭部是有固定格式的,一個關(guān)鍵字program,后面跟著一個冒號,接下來才是程序名。例如:,foo就是程序名,在使用supervisorctl來操作程序的時候,就是以foo來標明的。
command:啟動程序使用的命令,可以是絕對路徑或者相對路徑
process_name:一個python字符串表達式,用來表示supervisor進程啟動的這個的名稱,默認值是%(program_name)s
numprocs:Supervisor啟動這個程序的多個實例,如果numprocs>1,則process_name的表達式必須包含%(process_num)s,默認是1
numprocs_start:一個int偏移值,當(dāng)啟動實例的時候用來計算numprocs的值
priority:權(quán)重,可以控制程序啟動和關(guān)閉時的順序,權(quán)重越低:越早啟動,越晚關(guān)閉。默認值是999
autostart:如果設(shè)置為true,當(dāng)supervisord啟動的時候,進程會自動重啟。
autorestart:值可以是false、true、unexpected。false:進程不會自動重啟,unexpected:當(dāng)程序退出時的退出碼不是exitcodes中定義的時,進程會重啟,true:進程會無條件重啟當(dāng)退出的時候。
startsecs:程序啟動后等待多長時間后才認為程序啟動成功
startretries:supervisord嘗試啟動一個程序時嘗試的次數(shù)。默認是3
exitcodes:一個預(yù)期的退出返回碼,默認是0,2。
stopsignal:當(dāng)收到stop請求的時候,發(fā)送信號給程序,默認是TERM信號,也可以是 HUP, INT, QUIT, KILL, USR1, or USR2。
stopwaitsecs:在操作系統(tǒng)給supervisord發(fā)送SIGCHILD信號時等待的時間
stopasgroup:如果設(shè)置為true,則會使supervisor發(fā)送停止信號到整個進程組
killasgroup:如果設(shè)置為true,則在給程序發(fā)送SIGKILL信號的時候,會發(fā)送到整個進程組,它的子進程也會受到影響。
user:如果supervisord以root運行,則會使用這個設(shè)置用戶啟動子程序
redirect_stderr:如果設(shè)置為true,進程則會把標準錯誤輸出到supervisord后臺的標準輸出文件描述符。
stdout_logfile:把進程的標準輸出寫入文件中,如果stdout_logfile沒有設(shè)置或者設(shè)置為AUTO,則supervisor會自動選擇一個文件位置。
stdout_logfile_maxbytes:標準輸出log文件達到多少后自動進行輪轉(zhuǎn),單位是KB、MB、GB。如果設(shè)置為0則表示不限制日志文件大小
stdout_logfile_backups:標準輸出日志輪轉(zhuǎn)備份的數(shù)量,默認是10,如果設(shè)置為0,則不備份
stdout_capture_maxbytes:當(dāng)進程處于stderr capture mode模式的時候,寫入FIFO隊列的更大bytes值,單位可以是KB、MB、GB
stdout_events_enabled:如果設(shè)置為true,當(dāng)進程在寫它的stderr到文件描述符的時候,PROCESS_LOG_STDERR事件會被觸發(fā)
stderr_logfile:把進程的錯誤日志輸出一個文件中,除非redirect_stderr參數(shù)被設(shè)置為true
stderr_logfile_maxbytes:錯誤log文件達到多少后自動進行輪轉(zhuǎn),單位是KB、MB、GB。如果設(shè)置為0則表示不限制日志文件大小
stderr_logfile_backups:錯誤日志輪轉(zhuǎn)備份的數(shù)量,默認是10,如果設(shè)置為0,則不備份
stderr_capture_maxbytes:當(dāng)進程處于stderr capture mode模式的時候,寫入FIFO隊列的更大bytes值,單位可以是KB、MB、GB
stderr_events_enabled:如果設(shè)置為true,當(dāng)進程在寫它的stderr到文件描述符的時候,PROCESS_LOG_STDERR事件會被觸發(fā)
environment:一個k/v對的list列表
directory:supervisord在生成子進程的時候會切換到該目錄
umask:設(shè)置進程的umask
監(jiān)控linux的軟件的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于監(jiān)控linux的軟件,Linux監(jiān)控工具:掌握服務(wù)器狀況的必備軟件,有沒有類似supervisor的linux進程監(jiān)控軟件的信息別忘了在本站進行查找喔。
成都創(chuàng)新互聯(lián)科技有限公司,是一家專注于互聯(lián)網(wǎng)、IDC服務(wù)、應(yīng)用軟件開發(fā)、網(wǎng)站建設(shè)推廣的公司,為客戶提供互聯(lián)網(wǎng)基礎(chǔ)服務(wù)!
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務(wù)器和獨立服務(wù)器。創(chuàng)新互聯(lián)——四川成都IDC機房服務(wù)器托管/機柜租用。為您精選優(yōu)質(zhì)idc數(shù)據(jù)中心機房租用、服務(wù)器托管、機柜租賃、大帶寬租用,高電服務(wù)器托管,算力服務(wù)器租用,可選線路電信、移動、聯(lián)通機房等。
文章名稱:Linux監(jiān)控工具:掌握服務(wù)器狀況的必備軟件(監(jiān)控linux的軟件)
地址分享:http://www.5511xx.com/article/djiechc.html


咨詢
建站咨詢
