简单配置snmpd.conf
配置 SNMP 可以参考以下步骤:
1. 首先定义一个共同体名称(community),这里是 public ,及可以访问这个 public 的用户名(sec name),这里是 notConfigUser 。public 相当于用户 notConfigUser 的密码。
# sec.name source communitycom2sec notConfigUser default public
2. 定义一个组名(groupName)这里是 notConfigGroup,及组的安全级别,把 notConfigGroup 这个用户加到这个组中。
# groupName securityModel securityName group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser
3. 定义一个可操作的视图(view)名, 这里是 all,范围是 .1。
# name incl/excl subtree mask(optional)view all included .1
4. 定义 notConfigUser 这个组在 all 这个视图范围内可做的操作,这时定义了 notConfigUser 组的成员可对 .1 这个视图做只读操作。
# group context sec.model sec.level prefix read write notifaccess notConfigGroup "" any noauth exact all none none
这样对 snmpd.conf 文件就基本完成了,用service snmpd restart
重启 snmpd 服务。
之后,我们需要一个测试,验证 SNMP 配置的正确性。在监控主机中执行以下命令:
[root@chenyi Packages]# snmpwalk -v 1 192.168.1.220 -c public system Timeout: No Response from 192.168.1.220 [root@chenyi Packages]# snmpwalk -v 1 192.168.1.220 -c public system SNMPv2-MIB::sysDescr.0 = STRING: Linux chenyi 2.6.32-279.el6.i686 #1 SMP Fri Jun 22 10:59:55 UTC 2012 i686 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (797) 0:00:07.97 SNMPv2-MIB::sysContact.0 = STRING: Root <root@localhost> (configure /etc/snmp/snmp.local.conf) SNMPv2-MIB::sysName.0 = STRING: chenyi .....................
上述信息说明 SNMP 已经正常工作了。
################################################################################################
其实配制一个 snmpd.conf 文件不算太难,
1,首选是定义一个共同体名 (community) ,这里是 public ,及可以访问这个 public 的用户名( sec name ),这里是 notConfigUser 。 Public 相当于用户 notConfigUser 的密码:)
#sec.name source community
com2sec notConfigUser default public
2,定义一个组名( groupName )这里是 notConfigGroup ,及组的安全级别,把 notConfigGroup 这个用户加到这个组中。
groupName securityModel securityName
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
3,定义一个可操作的范围 (view) 名, 这里是 all ,范围是 .1
# name incl/excl subtree mask(optional)
view all included .1
4,定义 notConfigUser 这个组在 all 这个 view 范围内可做的操作,这时定义了 notConfigUser 组的成员可对.1 这个范围做只读操作。
# group context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact all none none
ok, 这样我们的 snmpd.conf 文件就基本配成了,用 service snmpd restart 重启 snmpd 服务。
################################################################################################
现在我们在目标主机上来写一些脚本来获取 Memory、CPU、DiskIO 等状态。
Memory 脚本:
#!/bin/sh /usr/bin/free -m | grep Mem |awk '{print $4}' /usr/bin/free -m | grep Mem |awk '{print $2}'
[root@chenyi ~]# sh memory.sh 809 1006
CPU 脚本:
#!/bin/sh idle=`sar -u 1 3 | grep Average | awk '{print $6}'` used=`echo "101 - $idle" | bc -l -s` echo $used echo $idle
Disk I/O 脚本:
#!/bin/sh used1=`sar -d 1 3 | tail -1 | awk '{print $4}'` used2=`echo "$used1 / 2" | bc -l` echo $used2 echo $used2
现在我们已经能得到这数据了,怎么才能让监控主机通过 snmpd 得到这些数据呢?可以在目标主机的/etc/snmp/snmpd.conf
文件中加入这些配置:
exec .1.3.6.1.4.1.2021.53 memory /bin/sh /root/memory.sh exec .1.3.6.1.4.1.2021.54 cpu /bin/sh /root/cpu.sh exec .1.3.6.1.4.1.2021.55 disk /bin/sh /root/disk.sh
[root@chenyi ~]# service snmpd restart 停止 snmpd: [确定] 正在启动 snmpd: [确定]
这样在监控主机上运行:
[root@chenyi ~]# snmpwalk -v 1 192.168.1.220 -c public .1.3.6.1.4.1.2021.53
UCD-SNMP-MIB::ucdavis.53.1.1 = INTEGER: 1 UCD-SNMP-MIB::ucdavis.53.2.1 = STRING: "memory" UCD-SNMP-MIB::ucdavis.53.3.1 = STRING: "/bin/sh /root/memory.sh" UCD-SNMP-MIB::ucdavis.53.100.1 = INTEGER: 0 UCD-SNMP-MIB::ucdavis.53.101.1 = STRING: "442" UCD-SNMP-MIB::ucdavis.53.101.2 = STRING: "1006" UCD-SNMP-MIB::ucdavis.53.102.1 = INTEGER: 0
其中UCD-SNMP-MIB::ucdavis.53.101.1 = STRING: "442"
中的 442 就是 mem.sh 输出的第一个数据,1006 是 mem.sh 输出的第二个数据。
略作修改:(此处参照其他文章)
[root@chenyi ~]# snmpwalk -v 1 192.168.1.220 -c public .1.3.6.1.4.1.2021.53 | grep 53.101 | awk -F\" '{print $2}' 443 1006
我们已经通过 snmpd 从监控主机上得到了目标主机上内存使用状态的两个参数,其它脚本也是一样的。
转载于:https://blog.51cto.com/xiangpang/1711939
简单配置snmpd.conf相关推荐
- Centos 6.5下一个SNMP简单配置(snmp protocol v3,监控宝)
Centos 6.5下一个SNMP简单配置(snmp protocol v3.监控宝) jom_ch@2014/7/25 1,安装 >yum -y install net-snmp net-sn ...
- python snmp 交换机 配置文件_编译安装SNMP,snmpd.conf配置文件说明
一.编译安装net-snmptar -xzvf net-snmp-5.4.1.tar.gz//解压 cd /net-snmp-5.4.4 ./configure --prefix=/usr/local ...
- 简单配置nginx反向代理,实现跨域请求
简单配置nginx去做反向代理,实现跨域请求 简单介绍nginx的nginx.conf最核心的配置,去做反向代理,实现跨域请求. 更多详细配置,参考nginx官方文档 先介绍几个nginx命令 打开n ...
- Apache简单配置(4)搭建Discuz 7.0.0论坛
Apache简单配置(4)搭建Discuz 7.0.0论坛 RHEL5.3 基本网络配置 一. 1.RHEL5 U3:如图1 (如图1) 2.#hostname //查看当前主机的主机名:如图2 (如 ...
- DNS服务器之简单配置(一)
名词解释: 域名: 域名是域名系统名字空间中,从当前节点到根节点的路径上所有节点标记的点分顺序连接. 域: 域是指域名系统名字空间中的一个子集,也就是树形结构名字空间中的一颗子树.这个子树根节点的域名 ...
- squid介绍及其简单配置
1.Squid是什么? Squid是一种用来缓冲Internet数据的软件.它是这样实现其功能的,接受来自人们需要下载的目标(object)的请求并适当地处理这些请求.也就是说,如果一个人想下载一we ...
- LNMP架构环境搭建之PHP、Nginx源码编译安装及其简单配置应用
LNMP架构中的Mysql见上一篇博文"LNMP架构环境搭建之mysql源码编译安装" 一.PHP简介 PHP(外文名:PHP: Hypertext Preprocessor,中文 ...
- nginx负载均衡简单配置
nginx负载均衡简单配置 准备三台虚拟机来做这个实验: 172.16.160.99 web服务器 172.16.160.103 web服务器 172.16.160.98 ...
- Linux上搭建nginx,及简单配置
在上家公司都是运维安装nginx,到新公司后代码开发完成部署测试服务器要求自己装nginx,研究了好久安装好之后,到正式上线还要自己安装,索性把安装步骤自己记载下来(好大一部分都是在网站找的). 一, ...
最新文章
- python2中的unicode_在python2中的编码
- 用户方式中线程的同步——Windows核心编程学习手札之八
- java动态sql执行数据
- 判断两条链表是否交叉,若有交叉,返回交叉节点的指针。
- 每日一小练——按字典顺序列出全部子集
- 搜索---广度优先遍历、深度优先遍历、回溯法
- Rails 3:提高Ajax应用速度
- python进程池win出错_解决windows下python3使用multiprocessing.Pool出现的问题
- 【word使用技巧】删掉某一行参考
- Mate 30 不预装任何谷歌应用;阿里巴巴发布新“六脉神剑”;VS Code 1.38 发布 | 极客头条...
- LeetCode 852. Peak Index in a Mountain Array
- php解决01背包问题,PHP动态规划解决0-1背包问题实例分析_PHP教程
- GCC vector 叠加示例
- WPE下载 WPE 各版本下载 及 教程
- Windows 关闭端口号
- 记一次笔记本win键失灵 不能用 windows 徽标键失灵
- 【R语言】创建空的dataframe
- arm我的世界linux,Minecraft (简体中文)
- POJ 3693 Maximum repetition substring (后缀数组)
- Linux终端出现:To run a command as administrator (user “root“), use “sudo <command>“.