newlisp 監控Linux程序 一

2021-08-27 15:29:33 字數 1240 閱讀 4013

之前我的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 啟動系統,即進入單使用者模式,這個時候...