机器环境

[root@linux-node1 ~]# cat /etc/redhat-release
CentOS Linux release 7.1.1503 (Core)
[root@linux-node1 ~]# hostname
linux-node1.nmap.com
[root@linux-node1 ~]#

安装net-snmp等工具

[root@linux-node1 ~]# yum install net-snmp net-snmp-utils -y
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.zju.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
Package 1:net-snmp-5.7.2-24.el7_2.1.x86_64 already installed and latest version
Package 1:net-snmp-utils-5.7.2-24.el7_2.1.x86_64 already installed and latest version
Nothing to do
[root@linux-node1 ~]#

到现在为止,我们已经有了可以运行的SNMP代理程序  

设置安全的验证方式

将SNMP代理程序暴露给网络上的所有主机是很危险的,为了防止其它主机访问你的SNMP代理程序,我们需要在SNMP代理程序上加入身份验证机制。
SNMP支持不同的验证机制,这取决于不同的SNMP协议版本,监控宝目前支持v2c和v3两个版本,其中v2c版本的验证机制比较简单,它基于明文密码和授权IP来进行身份验证,
而v3版本则通过用户名和密码的加密传输来实现身份验证,我们建议使用v3
当然,只要按照以下的介绍进行配置,不论是v2c版本还是v3版本,都可以保证一定的安全性,你可以根据情况来选择。
注意一点,SNMP协议版本和SNMP代理程序版本是两回事,刚才说的v2c和v3是指SNMP协议的版本
而Net-SNMP是用来实现SNMP协议的程序套件

编辑配置文件

v2c
先来看如何配置v2c版本的SNMP代理

[root@linux-node1 ~]# cd /etc/snmp/
[root@linux-node1 snmp]# ls
snmpd.conf snmptrapd.conf
[root@linux-node1 snmp]# cp snmpd.conf snmpd.conf.bak
[root@linux-node1 snmp]# vim snmpd.conf

  

默认有如下内容,全部清空了

改成如下内容

[root@linux-node1 snmp]# vim snmpd.conf
[root@linux-node1 snmp]# cat snmpd.conf
rocommunity nmap 192.168.58.11
[root@linux-node1 snmp]#

注意:添加用户时,请确保snmp服务没有运行,否则无法添加。
注意,这里的“rocommunity”表示这是一个只读的访问权限,从你的服务器上获取信息,而不能对服务器进行任何设置。
紧接着的“nmap”是团体名,相当于密码,很多平台喜欢使用“public”这个默认字符串。这里的“nmap”只是一个例子,你可以设置其它字符串作为密码。
最右边的“192.168.58.11”代表指定的监控点IP,这个IP地址意味着只有192.168.58.11这个地址的机器有权限来访问你的SNMP代理程序。
在zabbix server上使用snmp添加服务器的时候,需要提供这个“snmp”字符串。

  

启动服务,查看监听,它默认监听udp的161端口

[root@linux-node1 ~]# systemctl start snmpd
[root@linux-node1 ~]# netstat -lunp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 192.168.122.1:53 0.0.0.0:* 1345/dnsmasq
udp 0 0 0.0.0.0:67 0.0.0.0:* 1345/dnsmasq
udp 0 0 0.0.0.0:123 0.0.0.0:* 863/chronyd
udp 0 0 0.0.0.0:161 0.0.0.0:* 4402/snmpd
udp 0 0 127.0.0.1:323 0.0.0.0:* 863/chronyd
udp6 0 0 ::1:323 :::* 863/chronyd
[root@linux-node1 ~]#

  

下面工具是安装net-snmp-utils之后出现的,server端-也就是取数据的需要用它向运行snmp协议的机器取数据

[root@linux-node1 ~]# snmp
snmpbulkget snmpdf snmpset snmptranslate snmpwalk
snmpbulkwalk snmpget snmpstatus snmptrap
snmpconf snmpgetnext snmptable snmptrapd
snmpd snmpinform snmptest snmpusm
snmpdelta snmpnetstat snmptls snmpvacm
[root@linux-node1 ~]# snmp

学snmp得知道mib,它里面存的是linux所有性能指标

SNMP的技术术语
SNMP:Simple Network Management Protocol(简单网络管理协议),是一个标准的用于管理基于IP网络上设备的协议。
MIB:Management Information Base(管理信息库),定义代理进程中所有可被查询和修改的参数。
SMI:Structure of Management Information(管理信息结构),SMI定义了SNMP中使用到的ASN.1类型、语法,并定义了SNMP中使用到的类型、宏、符号等。SMI用于后续协议的描述和MIB的定义。每个版本的SNMP都可能定义自己的SMI。

OID(对象标识符),是SNMP代理提供的具有唯一标识的键值。MIB(管理信息基)提供数字化OID到可读文本的映射。每个对象都有一个oid

可以使用OID获取服务器一些当前性能指标

[root@linux-node1 ~]# snmpget -v2c -c nmap 192.168.58.11 1.3.6.1.4.1.2021.10.1.3.1
UCD-SNMP-MIB::laLoad.1 = STRING: 0.00
[root@linux-node1 ~]# snmpget -v2c -c nmap 192.168.58.11 1.3.6.1.4.1.2021.10.1.3.2
UCD-SNMP-MIB::laLoad.2 = STRING: 0.01
[root@linux-node1 ~]# snmpget -v2c -c nmap 192.168.58.11 1.3.6.1.4.1.2021.10.1.3.3
UCD-SNMP-MIB::laLoad.3 = STRING: 0.05
[root@linux-node1 ~]# uptime
13:50:02 up 1:17, 1 user, load average: 0.00, 0.01, 0.05
[root@linux-node1 ~]#

比如还可以获取内存

[root@linux-node1 ~]# snmpget -v2c -c nmap 192.168.58.11 1.3.6.1.2.1.25.2.2.0
HOST-RESOURCES-MIB::hrMemorySize.0 = INTEGER: 4033636 KBytes
[root@linux-node1 ~]# free -k
total used free shared buff/cache available
Mem: 4033636 128248 3150580 8688 754808 3670732
Swap: 3905532 0 3905532
[root@linux-node1 ~]#

  

其余一些服务器指标可以搜索snmp的常用OID

http://blog.csdn.net/buster2014/article/details/46925633

  

Linux配置snmp的更多相关文章

  1. 【Linux】给Linux配置SNMP用户以及协议

    1 检查是否已经安装snmp的rpm包Ideploy:~ # rpm -aq | grep snmp libsnmp15-5.4.2.1-8.12.10.1 snmp-mibs-5.4.2.1-8.1 ...

  2. Linux下安装与配置snmp服务

    一.安装snmp服务 1.检查系统是否已经安装snmp的rpm包 以下是安装snmp服务需要的rpm包: libsensors3-2.10.6-55.el5.i386.rpm lm_sensors-2 ...

  3. Linux下安装配置SNMP服务

    一.安装snmp服务 1.检查系统是否已经安装snmp的rpm包 以下是安装snmp服务需要的rpm包: libsensors3-2.10.6-55.el5.i386.rpm lm_sensors-2 ...

  4. 在RedHat Linux系统中安装和配置snmp服务

    检查系统是否安装snmp服务 # rpm -qa|grep snmp net-snmp-5.3.2.2-17.el5 net-snmp-perl-5.3.2.2-17.el5 net-snmp-dev ...

  5. linux系统安装SNMP(可用)

    一般我们监控Linux都是通过SSH或Telnet方式,有时候我们不方便通过这两种方式,比如遇到监控端口因为安全原因被封禁.以及SSH需要密钥登录,这都会让监控工具很难直接远程连接.而通过SNMP的方 ...

  6. zabbix 配置SNMP监控

    什么是SNMP? 简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol).数据库模型(database schema)和一组 ...

  7. 如何在CentOS系统中安装配置SNMP服务

    CentOS(Community Enterprise Operating System,中文意思是:社区企业操作系统)是Linux发行版之一,现在有一大部分服务器在使用此操作系统:SNMP(简单网络 ...

  8. Linux系统安装snmp服务

    Linux安装snmp详解 Snmp一种网络之间的传输协议,通过snmp可以采集很多指标比如cpu.内存及磁盘的信息,现在越来越多的网络设备基本上都支持snmp,本文介绍了snmp的安装过程. 二.安 ...

  9. windows下安装和配置SNMP

    window snmp服务开启及测试 转自:https://blog.csdn.net/qq_33314107/article/details/80031446 一 安装 二 开启服务 Linux下安 ...

随机推荐

  1. image magick 批量转换文件

    一个事例: You can set the output file name via -set + some percent escapes (in this case you need the di ...

  2. VXLAN, 一种叠加在L3网络上的L2网络

    这几天看了下RFC7348,顺便翻译了一下,根据自己理解做了注解 虚拟化及租户隔离 服务器虚拟化增加了对物理网络基础设施的需求,服务器有多个虚机,要求交换机支持更大的MAC地址表. 在数据中心场景下, ...

  3. recon工具解读

    recon 是ferd 大神 释出的一个 用于生产环境诊断Erlang 问题的一个工具, 不仅仅是对Erlang stdlib 接口的封装, 还有memory fragmentation 相关的函数. ...

  4. 微信小程序 自定义三列城市弹窗

    1.WXML <picker mode="multiSelector" bindchange="bindMultiPickerChange" bindco ...

  5. wincc项目移植和复制解决办法

    wincc项目复制 wincc项目不支持直接复制,部分的后台数据库在活跃状态,直接复制wincc项目,会提示跳过活跃状态的数据库,当跳过活跃数据库时,复制的项目也是无效的.在wincc项目管理器中打不 ...

  6. NFS服务与crond服务

    NFS服务:用于linux系统之间,基于TCP/IP协议层,可以将远程的计算机磁盘挂载到本地,像本地磁盘一样操作. ------------------------------------------ ...

  7. Saiku登录源码追踪.(十三)

    Saiku登录源码追踪呀~ >>首先我们需要debug跟踪saiku登录执行的源码信息 saiku源码的debug方式上一篇博客已有说明,这里简单介绍一下 在saiku启动脚本中添加如下命 ...

  8. 演示stop暴力停止线程导致数据不一致的问题,但是有些有趣的发现 (2017-07-03 21:25)

    如注释所言 /** * Created by weiwei22 on 17/7/3. * * 这里主要是为了演示stop导致的数据不一致的问题.stop会暴力的结束线程并释放锁,所以有可能在恰好写了一 ...

  9. Java中主类中定义方法加static和不加static的区别

     Java中主类中定义方法加static和不加static的区别(前者可以省略类名直接在主方法调用(类名.方法),后者必须先实例化后用实例调用) 知识点:1.Getter and Setter 的应用 ...

  10. css.1

    background-repeat背景平铺background-x水平平铺 background-y垂直平铺 background:url()no-repeat;不平铺 background-size ...