LR監控linux之詳解rstatd的安裝-Zee
1. 前期準備: 1,把rstatd檔案解壓到要監控的機器上。2,開啟終端,定位到rstatd檔案夾下:查看檔案夾中的內容如下:
| [root@localhost rpc.rstatd]# lsaclocal.m4 COPYING Makefile.am README rstat_proc.c rup.1config.h.in CVS Makefile.in rpc.rstatd.8 rstat.x rup.cconfigure INSTALL missing rstatd.8 rsysinfo.1 stamp-h.inconfigure.in install-sh mkinstalldirs rstat_main.c rsysinfo.c |
2. 執行如下步驟:
2.1. 執行:./configure 命令
| [root@localhost rpc.rstatd]# ./configurecreating cache ./config.cachechecking for a BSD compatible install... /usr/bin/install -cchecking whether build environment is sane... yeschecking whether make sets ${MAKE}... yeschecking for working aclocal... foundchecking for working autoconf... foundchecking for working automake... foundchecking for working autoheader... foundchecking for working makeinfo... foundchecking for gawk... gawkchecking for gcc... gccchecking whether the C compiler (gcc ) works... yeschecking whether the C compiler (gcc ) is a cross-compiler... nochecking whether we are using GNU C... yeschecking whether gcc accepts -g... yeschecking for a BSD compatible install... /usr/bin/install -cchecking whether ln -s works... yeschecking whether make sets ${MAKE}... (cached) yeschecking how to run the C preprocessor... gcc -Echecking for sys/ioctl.h... yeschecking for syslog.h... yeschecking whether time.h and sys/time.h may both be included... yeschecking whether gcc needs -traditional... nochecking for ANSI C header files... yeschecking return type of signal handlers... voidupdating cache ./config.cachecreating ./config.statuskcreating Makefilecreating config.h |
2.2. 執行:make 命令。
| [root@localhost rpc.rstatd]# makerm -f rstat.hrpcgen -h -o rstat.h rstat.xgcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c rup.crup.c: In function 'ointopoint_v5':rup.c:256: warning: passing argument 6 of 'client->cl_ops->cl_call'?from incompatible pointer typerup.c: In function 'ointopoint_v3'?rup.c:292: warning: passing argument 6 of 'client->cl_ops->cl_call'?from incompatible pointer typerup.c: In function 'main'?rup.c:317: warning: return type of 'main'?is not 'int'?rm -f rstat_xdr.crpcgen -c -o rstat_xdr.c rstat.xgcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c rstat_xdr.crm -f rstat_clnt.crpcgen -l -o rstat_clnt.c rstat.xgcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c rstat_clnt.cgcc -g -O2 -o rup rup.o rstat_xdr.o rstat_clnt.o gcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c rsysinfo.crsysinfo.c: In function 'ointopoint_v3'?rsysinfo.c:136: warning: passing argument 6 of 'client->cl_ops->cl_call'?from incompatible pointer typersysinfo.c: In function 'main'?rsysinfo.c:160: warning: return type of 'main'?is not 'int'?gcc -g -O2 -o rsysinfo rsysinfo.o rstat_xdr.o rstat_clnt.o rm -f rstat_svc.crpcgen -m -o rstat_svc.c rstat.xgcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c rstat_svc.cgcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c rstat_proc.cgcc -DHAVE_CONFIG_H -I. -I. -I. -g -O2 -c rstat_main.crstat_main.c: In function 'main'?rstat_main.c:82: warning: return type of 'main'?is not 'int'?gcc -g -O2 -o rpc.rstatd rstat_svc.o rstat_xdr.o rstat_proc.o rstat_main.o |
這之後可以執行:make check檢查一下。
2.3. 執行:make install 命令。
| [root@localhost rpc.rstatd]# make installmake[1]: Entering directory `/opt/rpc.rstatd'/bin/sh ./mkinstalldirs /usr/local/bin /usr/bin/install -c rup /usr/local/bin/rup /usr/bin/install -c rsysinfo /usr/local/bin/rsysinfo/bin/sh ./mkinstalldirs /usr/local/sbin /usr/bin/install -c rpc.rstatd /usr/local/sbin/rpc.rstatdmake[1]: Nothing to be done for `install-data-am'.make[1]: Leaving directory `/opt/rpc.rstatd' |
2.4. 執行:./rpc.rstatd 命令。啟動rpc服務。 註:無回顯為成功。
| [root@localhost rpc.rstatd]# ./rpc.rstatd |
2.5. 執行:rpcinfo –p 命令。檢查rpc服務的狀態.
| [root@localhost rpc.rstatd]# rpcinfo -p program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 797 status 100024 1 tcp 800 status 100001 5 udp 900 rstatd 100001 3 udp 900 rstatd 100001 2 udp 900 rstatd 100001 1 udp 900 rstatd[root@localhost rpc.rstatd]# |
3. 可能會出現的錯誤: 1,若RPC服務沒有成功啟動。2,若目標主機上開啟了防火牆,阻擋了RPC服務。在LR中添加時可能會出現如下錯誤:
| Monitor name :UNIX Resources. Cannot initialize the monitoring on 10.1.200.65. Error while creating the RPC client. Ensure that the machine can be connected and that it runs the rstat daemon (use rpcinfo utility for this verification). Detailed error: RPC: Failed to create RPC client.RPC-TCP: Failed to establish RPC server address.RPC-TCP: RPC Server <100001, 3, 17> is not registered on host '10.1.200.65'. (entry point: CFactory::Initialize). [MsgId: MMSG-47190] |
| Monitor name :UNIX Resources. Internal rpc error (error code:2). Machine: 10.1.200.65. Hint: Check that RPC on this machine is up and running. Check that rstat daemon on this machine is up and running (use rpcinfo utility for this verification). Details: RPC: RPC call failed.RPC-TCP: recv()/recvfrom() failed.RPC-TCP: Timeout reached. (entry point: Factory::CollectData). [MsgId: MMSG-47197] |
至此完畢。