Nagios指令碼編寫事例

2022-02-13 05:05:13 字數 1104 閱讀 2061

目標:編寫乙個簡單的nagios指令碼,實現監控client上的nginx程序是否啟動,假如沒啟動的話發出報警。

首先在master上對nagios的配置檔案進行設定,修改services.cfg檔案,在最末尾新增上以下內容:

define service
補充一點是對客戶機新增指令碼與master的commands.cfg無關,commands.cfg只定義面對master的本地服務的。本次我們是對客戶機增加服務,因此就無需在master的commands.cfg上定義我們新增的命令了。這個問題當時困擾了我很長時間才發現。

轉到客戶機上,修改nagios上的nrpe.cfg檔案,新增上以下內容:

command[check_nginx]=/usr/local/nagios/libexec/check_nginx.sh
解析一下這行文字的含義:

check_nginx,命令的名稱,正如上面所說,需要與master上的servers.cfg中的check_command所引用的名稱一致。

/usr/local/nagios/libexec/check_nginx.sh,這是指令碼在客戶機上的實際位置。

接下來編寫check_nginx.sh這個指令碼,這個指令碼需放在/usr/local/nagios/libexec/下。指令碼內容如下:

#!/bin/bash

a=`ps -e|grep nginx|wc -l`

if [ -n $a ];then

echo "nginx is running."

exit 0

else

echo "nginx is not running."

exit 2

fi

在這個指令碼中,當檢測到nginx程序正在執行時,指令碼會返回0給nagios,代表nginx正常執行;當檢測到nginx程序不存在時,會返回2給nagios,觸發critical告警。

把指令碼儲存並加上執行許可權,重啟一下

master

的nagios

服務,即可生效。

nagios監控流量指令碼

需求是我們需要對伺服器上的流量進行監控,網路上有個流傳的check traffic.sh,它需要被監控機開啟snmp。但是感覺都使用上了nagios還要開snmp。有點斧子剪刀一起用的感覺,所以就動手寫了個監控流量的shell bin sh usage foundw 0 foundc 0 found...

nagios中xml指令碼模板

nagios是一款開源的免費網路監視工具,能有效監控windows linux和unix的主機狀態,交換機路由器等網路裝置,印表機等。在系統或服務狀態異常時發出郵件或簡訊報警第一時間通知 運維人員,在狀態恢復後發出正常的郵件或簡訊通知。nagios 可以監控的功能有 1 監控網路服務 smtp po...

nagios一鍵安裝指令碼

nagios具有非常強大的報警功能。還可以結合pnp實現時時繪製圖形。可以根據自己的需求定義 nagios的腳控型別,可以說監控服務,nagios已經做到了無所不能 下面給出nagios的安裝腳步。後期會慢慢更新如何編寫腳步定義企業nagios監控系統 腳步的安裝包是已經放到 usr local s...