前言
在Linux服務器上,nagios監控可以使用nrpe作為監控客戶端,通過開放本地的nrpe監聽端口給服務端調用,服務端就可以收集到客戶端的信息。
0x00 安裝系統依賴包
使用源碼編譯安裝,所以需要安裝gcc相關的包:
yum install -y gcc glibc glibc-common openssl openssl-devel perl wget
0x01 下載解壓源碼
直接在github上就有發佈地址:
cd /root
wget --no-check-certificate -O nrpe.tar.gz https://github.com/NagiosEnterprises/nrpe/archive/nrpe-3.2.1.tar.gz
tar xzf nrpe.tar.gz
0x02 編譯
cd /root/nrpe-nrpe-3.2.1/
./configure --enable-command-args
make all
0x03 創建系統用戶
make install-groups-users
0x04 安裝二進制文件
make install
0x05 安裝配置文件
make install-config
0x06 註冊端口服務
echo >> /etc/services
echo '# Nagios services' >> /etc/services
echo 'nrpe 5666/tcp' >> /etc/services
0x07 安裝啟動文件並設置開機啟動
make install-init
systemctl enable nrpe.service
0x08 配置nrpe.cfg
vim /usr/local/nagios/etc/nrpe.cfg
# 這裡修改成允許你的本機和服務端的IP地址
allowed_hosts=127.0.0.1,192.168.1.22
# 允許服務端遠程傳遞參數
dont_blame_nrpe=1
也可以用下面的命令直接完成:
sed -i '/^allowed_hosts=/s/$/,192.168.1.22/' /usr/local/nagios/etc/nrpe.cfg
sed -i 's/^dont_blame_nrpe=.*/dont_blame_nrpe=1/g' /usr/local/nagios/etc/nrpe.cfg
啟動服務
systemctl start nrpe.service
0x09 測試
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
這裡會限制nrpe的版本
0x0a 安裝nagios-plugins
這個在服務端也有安裝過,這個包裡面提供有一些命令我們可以使用,並不是所有的檢測都需要自己寫腳本,有些可以調用這些插件裡面的程序就可以獲取到信息了。
1、安裝系統依賴包
yum install -y gcc glibc glibc-common make gettext automake autoconf wget openssl-devel net-snmp net-snmp-utils epel-release
yum install -y perl-Net-SNMP
2、下載源碼並解壓
cd /root
wget --no-check-certificate -O nagios-plugins.tar.gz https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz
tar zxf nagios-plugins.tar.gz
3、編譯安裝
cd /root/nagios-plugins-release-2.2.1/
./tools/setup
./configure
make
make install
4、測試
在/usr/local/nagios/etc/nrpe.cfg裡面添加一行
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
重啟nrpe服務:systemctl restart nrpe
在終端測試命令:
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_load
總結
nagios定製化的東西基本都是使用nrpe去調用你寫的腳本,建議將監控告警閥值設置成參數,方便直接在服務端調整閥值。
閱讀更多 linux運維菜 的文章