Linux curl命令在監控中的應用

2021-01-07 網事研究
文章配圖

今天寫這篇水文,是源於昨天晚上睡覺前的一個郵件告警,從事網際網路IT技術的請問有幾人能睡好覺?在我所管轄的一臺非重要伺服器上,跑了一個PHP應用,好像在我部署好之後,就忘記它的存在了。針對這樣的伺服器,監控自然也是不能落下的。因此,在遺忘它之前,安排個小助手來幫我監視它。

Linux腳本報警郵件

為了完成監控任務,運維大佬們肯定會強力推薦Zabbix,確實它也是實至名歸,值得擁有。但我真的只是要監控下PHP是否還存活,這個任務看來一個腳本就足以解決了,何必去動手部署一個完整的監控系統呢?有時候,懶惰也是一種優秀。

正是在這種懶惰的情懷下,我寫了一個簡短的腳本來完成這個任務,主要使用Linux curl命令來完成檢測PHP程序是否正常。關於檢測方法,有些大佬會通過探測php-fpm進程是否存在來標記,有些會通過檢測埠來完成,另外一種就是我這種了。通過檢測PHP程序是否能完成正常的功能性輸出來達到。

功能性輸出你可以認為是通過程序輸出一個特定字符串或者http狀態碼。而我當時的做法也沒有想太多,就是通過檢測http的狀態碼來完成。如果狀態碼不等於200,就認為是異常。通過發送郵件的方式,來通知維護人員。而郵件客戶端APP,在手機側有通知功能,及時性還是可以接受的。腳本功能雖簡單,但整個監控功能還是不能有半點缺失的。

至於伺服器端發郵件,一般運維人員是通過安裝mailx來解決。這裡要特別注意,現在SMTP伺服器都要使用SSL協議來連接。至於細節問題,如果你在配置時,遇到收不到郵件的情況,歡迎打擾。我這個監控小腳本,使用了Python來發送郵件,原理都是一樣的,方式不一樣而已。

腳本監控

至於發郵件的源碼,我只保留了它的pyc副本,源文件已經找不到,雖然反編譯一個py文件是非常簡單而有效的。如果真有的朋友需要,請評論回復。

後記:最後在crontab中安裝(*/1 * * * * /root/check_php.sh > /dev/null 2>&1 &)。

相關焦點

  • Linux常用命令 - curl
    在其最簡單的形式中,當不使用任何選項調用時,curl 將指定的資源顯示到標準輸出。例如,要檢索示例網站的主頁,你可以運行:curl chasays.github.ioeqklbA該命令將在您的終端窗口中列印示例.com 主頁的原始碼。
  • Linux下curl命令的使用
    前言在Linux下,curl是一個綜合傳輸工具,既可以用來上傳文件,也可以用來下載文件,在日常使用過程中,它通常都是以下載工具的角色出現,常用來檢驗一個網址是否可以訪問。與curl命令相似的,還有wget命令,二者在功能上具有很多類似的地方,但curl由於可自定義各種請求參數所以在模擬web請求方面更擅長;wget由於支持ftp和Recursive所以在下載文件方面更擅長。
  • 用linux命令瀏覽網頁:用Wget命令來瀏覽網頁
    用linux命令瀏覽網頁:用Wget命令來瀏覽網頁 以下是在liux模式下用linux命令瀏覽網頁的方法,可以用linux命令:lynx,links瀏覽web,linux命令:lftp,wget,curl等上傳/下載軟體。
  • 21 個 curl 命令練習 | Linux 中國
    我認為使用 curl 構造 HTTP 請求也許就是這樣的一項技能,所以這裡有一些 curl 練習作為實驗!什麼是 curl ?curl 是用於構造 HTTP 請求的命令行工具。我喜歡使用 curl,因為它能夠很輕鬆地測試伺服器或 API 的行為是否符合預期,但是剛開始接觸它的時候會讓你感到一些困惑!
  • cUrl命令行工具下載使用心得及常用參數解釋
    主要的區別在於wget默認是保存到文件,而curl將輸出定向到命令行上。這使得curl能非常方便的查看站點的內容。打開命令窗口並定位到curl命令所在的目錄,你可以使用cd命令也可以像下圖這樣快速進入:比如:cd f:\curl\bin4.
  • 這23個linux常用命令必須會!
    為什麼要學 linux 呢? 嗯,真香 !1. ls 命令 : 顯示目錄內容列表Linux ls 命令用於顯示指定工作目錄下之內容(列出目前工作目錄所含之文件及子目錄)。ls [-alrtAFR] [name...]常用 options
  • 前端應該會的23個linux常用命令
    15、 grep 命令 : 查找關鍵字Linux grep 命令用於查找文件裡符合條件的字符串。16、ps 命令 : 顯示當前進程狀態Linux ps 命令用於顯示當前進程 (process) 的狀態。
  • curl使用指南
    curl是一個命令行工具,通過指定的URL來上傳或下載數據,並將數據展示出來。curl中的c表示client,而URL,就是URL。這裡我們介紹一下curl的使用。1. 命令行基礎1.1 命令行選項1.
  • Linux curl 常用示例
    POST請求和數據傳輸為了抓包查看信息所以使用了--local-port <num>[-num] 選項,在實際應用中不需要該選項。保存訪問網頁使用 linux 的重定向功能保存curl www.baidu.com >> baidu.html使用curl的大O選項通過-O, --remote-name 選項實現。
  • 28 個 Unix/Linux 的命令行神器 - OSCHINA - 中文開源技術交流社區
    Screen中有會話的概念,用戶可以在一個screen會話中創建多個screen窗口,在 每一個screen窗口中就像操作一個真實的telnet/SSH連接窗口那樣。請參看IBM DeveloperWorks的這篇文章《使用 screen 管理你的遠程會話》
  • linux中的vim命令
    如何查看命令的幫助文檔,三種方式:內置命令:help ls外部命令:ls --help,簡單的幫助文檔手冊man ls, 通過使用man查看詳細的幫助內容vim和vi命令本質上就是一個命令,這個命令是在linux命令中專門用來編輯文本文件的
  • 巧用 Curl 命令測試 Unix Socket 接口
    經常遇到一些監聽地址不是 IP:Port 而是 Unix Socket 的程序,這些程序如果使用的是 HTTP 協議,Unix Socket 接口也可以用 curl}用 curl 訪問它的 Unix Socket 的方法如下:$ curl --unix-socket /tmp/nginx-status-server.sock http://localhost/nginx_statusActive connections
  • SEO利器 - 網頁內容監控之百度自動推送
    CURL方式將要提交的連結按照每行一條的格式寫入一個文本文件中,命名此文件為urls.txt,然後進入該文件所在目錄,執行如下命令:curl -H 'Content-Type:text/plain' --data-binary @urls.txt "推送接口"
  • 雲計算核心技術Docker教程:Dockerfile文件ENV命令詳解
    在Dockerfile中ENV命令用於設置環境變量,無論是後面的其它指令,如 RUN,還是運行時的應用,都可以直接使用這裡定義的環境變量。命令格式:ENV key valueENV key1=value1 key2=value2...
  • CentOS linux作業系統命令之dmesg
    CentOS7.3學習筆記總結(七十八)-CentOS linux作業系統命令之dmesg命令在linux系統中,dmesg是用來顯示開機信息的,系統啟動kernel會將開機信息存放到ring buffer中,可以dmesg命令來查看,如圖:
  • 技術篇:DIY遠程監控室內溫度設備
    物聯網究竟是什麼東東,雖然百度google就能得到很多說法或概念,但實際應用卻很少,我做這個東西就是想讓大家能親自體驗一把真實的物聯網。   一、目的   DIY一個可以遠程監控室內溫度的簡易設備,實現通過web/android/ios/微信等埠實時查看家中溫度。最終的效果相當不錯,雖然簡單,只要家中未斷電斷網,就可以用隨時隨地掌握家中的溫度變化,做到遙知冷暖。
  • 搜索、學習和實踐 Linux 命令!! | Linux 中國
    這意味著,你可以選擇一個命令,讀取所有示例,並立即運行任何命令,而不必在終端中重新鍵入或複製/粘貼每個命令。還是不明白?沒有問題。請繼續閱讀,以便動態學習和實踐 Linux 命令。安裝 Tldr++安裝 Tldr++ 非常簡單。從 發布頁面 下載 Tldr++ 最新版本。解壓它並將 Tldr++ 二進位文件移動到你的 $PATH 中。
  • Linux常用命令:Linux more命令使用方法
    1.命令格式:more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ] 2.命令功能:more命令和cat的功能一樣都是查看文件裡的內容,但有所不同的是more可以按頁來查看文件的內容,還支持直接跳轉行等功能。
  • 使用cat命令在Linux中組合文本文件
    然後可以將合併的文本保存到另一個文本文件中。 在本教程中,您將學習如何使用cat命令將兩個或多個文件中的文本合併為一個文件。 這將幫助您從普通初學者獲得Ubuntu上的高級用戶狀態。 我們在Ubuntu 18.04 LTS系統上運行了本教程中提到的命令。
  • linux命令大全
    5.linux命令大全之文件傳輸篇Linux命令大全中涉及文檔傳輸的命令有15條,分別為:lprm、lpr、lpq、lpd、bye、ftp、uuto、uupick、uucp、uucico、tftp、ncftp、ftpshut、ftpwho、ftpcount。