之前我的newlisp 監控redmine中描述了監控redmine程序的方法,今天更進一步,新增乙個配置檔案,裡面描述了要監控的程序list,這樣每次逐個檢查本機的程序.
先來實現個簡單的檢查,乙個函式check-proces,接受乙個字串,用來檢查程序是否存在
#!/usr/bin/newlisp
(define (check-process filter-str)
(set 'l (length r))
(> l 3))
(if (check-process "dispatch")
(println "redmine is alive")
(println "redmine is dead"))
(exit)
好,新增乙個配置檔案叫做filter.lsp, 下面的filters是乙個list,裡面每個元素也是乙個list,並且分兩部分,一是用來檢查程序的字串,二是要檢查程序的有意義的名稱,可以用於寫日誌。
(set 'filters (list '("dispatch" "redmine")))
然後之前的process.lsp內容修改為:
#!/usr/bin/newlisp
(load "/opt/detector/filter.lsp")
(define (check-process filter-str)
(set 'l (length r))
(= 3 l))
(dolist (sub-list filters)
(if (check-process (first sub-list))
(exit)
ok, 再進一步,寫日誌, 新增了add-log函式
#!/usr/bin/newlisp
(set 'cur-path "/opt/detector")
(define (check-process filter-str)
(set 'l (length r))
(= 3 l))
(define (add-log msg)
(println msg)
)(dolist (sub-list filters)
(if (check-process (first sub-list))
(exit)
newlisp 監控Linux程序 二
在前文newlisp 監控linux程序 一中,我已經實現了乙個newlisp指令碼,能夠根據配置檔案中的配置檢查程序是否存在,並且將檢查結果寫到本地日誌檔案中。本篇繼續,當檢查程序已經不存在後,要啟動程序。但是每個程序啟動的命令是不相同的,不可能將所有這些特殊命令都寫在process.lsp檔案中...
Zabbix獲取並監控linux系統的程序名
最近需要監控執行在業務系統上的程序,要求是看到具體的程序名。通常監控程序一般可以使用內建的鍵值,也就是 proc.num 程序名,root,這個鍵值,但只能返回的是程序的數量,雖然效果上也能實現,但和預期的結果有些區別,而且也不直觀,尤其在同乙個程序數多的時候。下面說下獲取具體程序名的方法 1 ag...
Linux進單使用者
除了用光碟引導rescue模式,敲入linux rescure 還有一種方法是用啟動裝載器來進入單使用者模式 1.grub 進入啟動畫面之後,敲入 e 把游標移動到kernel 那一行,再敲入 e 在kernel 一行的最後加上空格single,回車 敲入 b 啟動系統,即進入單使用者模式,這個時候...