[转]Linux下NET-SNMP安装配置记录
来源:互联网 发布:数据库试题及答案解析 编辑:程序博客网 时间:2024/06/04 20:39
第一章 安装 1. 系统准备工作: beecrypt-4.1.2.tar.gz (Net-SNMP依赖文件) net-snmp-5.4.2.1.tar.gz (Net-SNMP安装包) 解压各压缩包,使用 “tar -vzxf … ”指令解压。 3. 安装NET-SNMP ·假设本系统安装到以下位置:/ABC/soft/net-snmp ·执行make 与 make install安装 ·安装过程中可能出现错误: cannot find –lelf 解决办法:#ln -s libelf.so.1 /usr/lib/libelf.so 第二章 配置 1. 配置snmpd.conf ·定义安全体 com2sec local localhost public com2sec mynetwork IP地址 public source:定义请求的来源,在IP协议中,这个数据是IP地址。在net-snmp中用来对来源IP加以控制,但这个特性不是SNMP规定的,是net-snmp扩展的。 2. 启动snmp 配置文件snmpd.conf简介 snmpd.conf的配置包括通道控制(Access Control)、系统联系人信息(System Contact Information)、进程检查(Process Check)、可执行脚本(Executables/Scripts)、磁盘检查(Disk Checks)、负载均衡检查(Load Average Checks)、可扩展部分(Extensible Sections)、通过控制(Pass Through Control)、其它等部分。一般情况下只需要修改Access Control就可以满足常规需求,其它使用默认配置。 通道控制配置(Access Control)配置简介 定义安全体名称 sec.model:安全模式,可选值为v1/v2c/usm。 sec.level:安全级别,可选值为auth/noauth/priv,v1、v2c中只能为noauth。 match:前缀,指定context如何与PDU中的context匹配,v3使用。 read:授权的读视图。 write:授权的写视图。 notif:授权的trap视图。 ---------------------------------------------------------------------------------------------------------- 说明:配置文件所有指令都要顶格写,左侧不要留空格。 一.snmptrapd.conf的配置 1. 在net-snmp安装目录下新建snmptrapd.conf文件,假设本系统使用以下路径:/ABC/soft/net-snmp/share/snmp/snmptrapd.conf 2. 在snmptrapd.conf中加入以下指令: execute: pass the details of the trap to a specified handler program, including embedded perl. net: forward the trap to another notification receiver. 3. 若想对接收到的信息进行处理,可以使用traphandle,示例如下: traphandle SNMPv2-MIB::coldStart /usr/nba/bin/traps cold traphandle SNMPv2-MIB::warmStart /usr/nba/bin/traps warm traphandle IF-MIB::linkDown /usr/nba/bin/traps down traphandle IF-MIB::linkUp /usr/nba/bin/traps up 第一个参数为从snmptrapd接收的OID,第二个参数为调用的程序。此系统未做traphandle处理。 4. 启动snmptrapd 使用以下指令启动snmptrapd: snmptrapd -f -Lo 该指令将接收到的信息通过标准输出设备打印出来,各参数意义如下: -f: Do not fork() from the calling shell. -L[efos]: Specify where logging output should be directed (standard error or output, to a file or via syslog). 更详细配置请参考net-snmp用户手册。 二.snmpd.conf的配置 /ABC/soft/net-snmp/share/snmp/snmpd.conf 2. 在snmptrapd.conf中加入以下指令: (说明:此处只是示例,具体参数需要视情况调整,也可以加入更多的监视项) trap2sink localhost public #Process checks #disk checks disk / 100000 #Check for loads load 5 5 5 #CPU usage #Memory usage ·authtrapenable:决定是否发送身份验证失败信息。 ·rwuser:建立读写权限用户。 ·iquerySecName:指定内部查询用户名。 ·linkUpDownNotifications:在建立断开链接的时候发送通知。 ·defaultMonitors:打开默认监视项。其中包括进程,磁盘等的监视,必须打开此项,否则进程,磁盘等的监视信息不会被发出。 ·proc:监视指定进程,当进程数不在指定的范围时将特定标志位置1,但是不会发出trap信号,需要打开defaultMonitors,由其发送trap信号。 ·disk:监视磁盘剩余空间,当剩余空间小于指定值时将特定标志位置1,同proc。 ·notificationEvent:自定义通知事件。 ·monitor:监视指定事件。 具体配置请参考用户手册。 3. 启动snmpd 若系统正确的配置了环境变量,那么可以使用以下指令启动snmpd:
·本系统需要的安装包:
2. 安装beecrypt
·net-snmp安装时需要用到beecrypt,所以需要先安装。进入beecrypt解压目录执行以下指令:
./configure --prefix=/usr
默认是安装在/usr/local,我们需要安装在/usr目录下。若使用默认路径snmp可能找不到相关文件,需要另外建立符号链接。
·执行make与make install安装:
make
make install
注意:需要使用超级用户权限,否则安装过程会出错
·net-snmp用来获取目标机器的各种数据,可以直接使用,也可以通过MRTG画出图来。本系统直接使用net-snmp获取目标机器数据,不使用MRTG。
进入snmp解压目录,执行以下指令:
./configure --prefix=/ABC/soft/net-snmp --enable-mfd-rewrites
--with-default-snmp-version=”2” --with-sys-location=”China”
--with-logfile=”/ABC/log/snmpd.log” --with-persistent-directoiry=”/ABC/soft/snmp_persistent” (以上所有代码是一条指令)
make
make install
·将安装包中的EXAMPLE.conf复制到/ABC/soft/net-snmp/share/snmp下,并重命名为snmpd.conf。使用以下指令复制:
cp EXAMPLE.conf /ABC/soft/net-snmp/share/snmp/snmpd.conf
在snmpd.conf中找到如下字段,修改为需要的参数。
# sec.name source community
·参数简介:
sec.name:安全体名称
community:共同体名称
至此系统就可以使用了,其它参数使用默认值。更具体的配置请参考用户手册。
·说明:对snmpd.conf的编辑只能用空格,不能用Tab键,否则会出错。
每次改变snmpd.conf都必须重启snmp服务以使更改生效。
·每次改变snmpd.conf都必须重启snmp服务以使更改生效。
·使用snmpd命令启动snmp守护进程,-c指定配置文件路径。
本系统使用net-snmp,不使用系统自带的snmp,使用以下指令启动:
/ABC/soft/net-snmp/sbin/snmpd -c /ABC/soft/net-snmp/share/snmp/snmpd.conf
·若选择使用系统自带的snmp,可以使用以下指令启动:service snmpd start。但是以上的配置对此不起作用,需要另外的配置。
3. 测试snmp
·启动snmp后可以使用以下指令测试snmp是否正常工作:
snmpwalk -v 2c -c public localhost system
这条指令用于查看本机系统信息,若正确返回信息则snmp正常工作。本文只介绍snmp的安装配置,关于指令的详细用法请参考用户手册。
附件
sec.name:安全体名称
source:定义请求的来源,在IP协议中,这个数据是IP地址。在net-snmp中用来对来源IP加以控制,但这个特性不是SNMP规定的,是net-snmp扩展的。
community:共同体名称
定义安全组
第一个字段为安全组名称。
sec.model:安全模式,可选值为v1/v2c/usm。
sec.name:安全体名称
定义视图
第一个字段为视图名。
incl/excl:对下面的MIB子树是包括还是排除。
subtree:视图中涉及的MIB子树。
mask:掩码
向安全组授权相应的视图
第一个字段为安全组名。
context:上下文,v1、v2c中始终为空。
允许使用空格,但不能使用Tab键。
路径分隔符不能使用反斜杠,必须使用“/”。
此文件用来指定管理进程如何处理接收到的snmp notification。
authCommunity log,execute,net public
这条指令指明以“public”为“community”请求的snmp “notification”允许的操作。
各变量意义如下:
log: log the details of the notification - either in a specified file, to standard output (or stderr), or via syslog(or similar).
snmpd服务器可以接收手动的snmp查询信息,如snmpget,snmpwalk等工具。也可以自动监视系统状态,并在系统出现错误或者系统不稳定情况下向管理进程发送信息。下文主要介绍使用snmp自动监视系统状态,并自动向snmptrapd发送信息(notification)。
1. 在net-snmp安装目录下新建snmpd.conf文件:
authtrapenable 1
rwuser administrator
iquerySecName administrator
linkUpDownNotifications yes
defaultMonitors yes
proc sendmail 10 1
notificationEvent userCPU ssCpuRawUser
notificationEvent sysCPU ssCpuRawSystem
monitor -r 60 -e userCPU "User CPU use percentage" ssCpuRawUser > 100
monitor -r 60 -e sysCPU "System CPU use percentage" ssCpuRawSystem > 100
notificationEvent memTotalTrap memTotalReal memTotalSwap
notificationEvent memAvailTrap memAvailReal memAvailSwap memTotalFree
monitor -r 10 -e memTotalTrap "Total memory" memTotalReal < 1000000000000
monitor -r 10 -e memAvailTrap "Available memory" memTotalFree < 1000000000000
指令简介:
·#号后为内容注释。
·trap2sink:指明信息发送的snmptrapd地址,2c版本。
·load:系统负载,指定1,5,15分钟的系统负载,超过阈值后处理方法同proc。
snmpd -d
系统将自动寻找配置文件,也可以使用-c指明配置文件路径:
snmpd -c /ABC/soft/net-snmp/share/snmp/snmpd.conf
- Linux下NET-SNMP安装配置记录
- [转]Linux下NET-SNMP安装配置记录
- Windows下NET-SNMP安装配置记录
- 在linux下安装配置Net-Snmp
- linux下安装配置net-snmp
- Linux下安装net snmp
- linux 下安装net snmp
- linux下安装与配置net-snmp服务
- linux下net-snmp的源码编译安装与配置
- net-snmp centOS下的安装配置
- Linux net-snmp-5.7.2安装配置
- Linux net-snmp-5.7.2安装配置
- net-snmp在linux下的安装及snmp开发
- net-snmp在linux下的安装及snmp开发
- net-snmp在Linux下的安装过程【转】
- net-snmp在Linux下的安装过程【转】
- Linux下RPM方式安装net-snmp
- Linux下安装与配置snmp服务
- IIS配置PHP环境
- 标准字符设备驱动解析 globalmem.c
- PostgreSQL与MySQL对比
- linux跨平台的小技巧 笔记
- 推荐18个非常棒的Web和移动开发框架
- [转]Linux下NET-SNMP安装配置记录
- CAS(compareAndSet)算法及简单应用AtomicInteger
- 洗牌算法
- Eclipse C-Build窗口输出乱码问题
- MCI编程
- 革命尚未成功,同志仍须努力
- android权限
- Windows 7下Java环境配置教程(多图)
- reinterprint_cast