SNMP_V3 snmp v3的安全配置 snmp认证与加密配置
如果你觉得你得服务器信息暴露在外面没关系,或者说服务器安全限制的很严格,不需要对snmp做一道验证,那么你可以打住,否则继续往下看。
# service snmpd stop# net-snmp-config --create-snmpv3-user -ro -a ttlsapwd -x DES -X ttlsades ttlsa
adding the following line to /var/lib/net-snmp/snmpd.conf:
createUser ttlsa MD5 "ttlsapwd" DES ttlsades
adding the following line to /etc/snmp/snmpd.conf:
rouser ttlsa
参数说明 ttlsa:用户名 ttlsapwd:密码,密码必须大于8个字符 DES:加密方式,这边支持AES、DES两种 ttlsades:DES口令,必须大于8位
备注:增加用户的时候,snmp必须关闭,否则有如下报错
Apparently at least one snmpd demon is already running. You must stop them in order to use this command.启动snmpd v3
# service snmpd start使用snmp v3获取信息
snmp v3安全级别有三种,分别为noAuthNoPriv(不认证也不加密)、authNoPriv(认证但是不加密)、authPriv(既认证又加密)
务器剩余内存 noAuthNoPriv安全级别
# snmpwalk -v 3 -l authPriv 173.219.255.122 .1.3.6.1.4.1.2021.4.11.0
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 560872 kB authNoPriv安全级别
# snmpwalk -v 3 -u ttlsa -a MD5 -A ttlsapwd -l authNoPriv free***.ttlsa.com sysName
SNMPv2-MIB::sysName.0 = STRING: li519-232 authPriv安全级别
# snmpwalk -v 3 -u ttlsa -a MD5 -A ttlsapwd -x DES -X ttlsades -l authPriv 173.219.255.122 .1.3.6.1.4.1.2021.4.11.0
UCD-SNMP-MIB::memTotalFree.0 = INTEGER: 560872 kB SNMP_V3监控实例
接下来我们开始来一个使用zabbix监控服务器内存使用情况的实例,大家可以举一反三,可以使用zabbix+snmp一一监控cpu使用率、硬盘使用率、负载情况等等。 zabbix增加snmp接口
configuration(配置)->Hosts(主题)->您需要配置的主机,找到“SNMP interfaces”,配置类似如下:
大多数设备都支持snmp,例如路由器、交换机、打印机等等,我想以后的智能家居也会有snmp支持,使用zabbix监控家里的电视机、冰箱、洗衣机、电饭煲,很有趣。如果不知道监控项目的oid,那么看文章末尾的参考地址。 snmp自定义OID nginx监控实例 为什么要自定义OID?
前面的文章我们已经讲过zabbix如何使用snmp监控服务器,但是他有一个很明显的局限性:只能监控定义好的OID项目,假如我们想知道nginx进程是否在运行?在没有zabbix agent的情况下,我们该怎么做呢?接下来就用这个实力来讲解自定义OID 确认SNMP OID是否存在
首先我们需要找一个oid是否被系统暂用,比如 .1.3.6.1.4.1.2021.5000
# snmpwalk -v 2c -c public www.ttlsa.com .1.3.6.1.4.1.2021.5000
UCD-SNMP-MIB::ucdavis.5000 = No Such Object available on this agent at this OID
如上说明不存在 增加自定SNMP OID
编写脚本
# cat /root/scripts/check_nginx.sh#!/bin/bash
nginxNum=`/bin/ps aux | /bin/grep nginx | wc -l`
snmp常用OID
snmp常用的一些OID,比如cpu、内存、硬盘什么的。先了解这些,在使用snmp监控服务器。 系统参数(1.3.6.1.2.1.1)
OID
描述
备注
请求方式
.1.3.6.1.2.1.1.1.0
获取系统基本信息
SysDesc
GET
.1.3.6.1.2.1.1.3.0
监控时间
sysUptime
GET
.1.3.6.1.2.1.1.4.0
系统联系人
sysContact
GET
.1.3.6.1.2.1.1.5.0
获取机器名
SysName
GET
.1.3.6.1.2.1.1.6.0
机器坐在位置
SysLocation
GET
.1.3.6.1.2.1.1.7.0
机器提供的服务
SysService
GET
.1.3.6.1.2.1.25.4.2.1.2
系统运行的进程列表
hrSWRunName
WALK
.1.3.6.1.2.1.25.6.3.1.2
系统安装的软件列表
hrSWInstalledName
WALK 网络接口(1.3.6.1.2.1.2)
OID
描述
备注
请求方式
.1.3.6.1.2.1.2.1.0
网络接口的数目
IfNumber
GET
.1.3.6.1.2.1.2.2.1.2
网络接口信息描述
IfDescr
WALK
.1.3.6.1.2.1.2.2.1.3
网络接口类型
IfType
WALK
.1.3.6.1.2.1.2.2.1.4
接口发送和接收的最大IP数据报[BYTE]
IfMTU
WALK
.1.3.6.1.2.1.2.2.1.5
接口当前带宽[bps]
IfSpeed
WALK
.1.3.6.1.2.1.2.2.1.6
接口的物理地址
IfPhysAddress
WALK
.1.3.6.1.2.1.2.2.1.8
接口当前操作状态[up|down]
IfOperStatus
WALK
.1.3.6.1.2.1.2.2.1.10
接口收到的字节数
IfInOctet
WALK
.1.3.6.1.2.1.2.2.1.16
接口发送的字节数
IfOutOctet
WALK
.1.3.6.1.2.1.2.2.1.11
接口收到的数据包个数
IfInUcastPkts
WALK
.1.3.6.1.2.1.2.2.1.17
接口发送的数据包个数
IfOutUcastPkts
WALK CPU及负载
OID
描述
备注
请求方式
. 1.3.6.1.4.1.2021.11.9.0
用户CPU百分比
ssCpuUser
GET
. 1.3.6.1.4.1.2021.11.10.0
系统CPU百分比
ssCpuSystem
GET
. 1.3.6.1.4.1.2021.11.11.0
空闲CPU百分比
ssCpuIdle
GET
. 1.3.6.1.4.1.2021.11.50.0
原始用户CPU使用时间
ssCpuRawUser
GET
.1.3.6.1.4.1.2021.11.51.0
原始nice占用时间
ssCpuRawNice
GET
. 1.3.6.1.4.1.2021.11.52.0
原始系统CPU使用时间
ssCpuRawSystem.
GET
. 1.3.6.1.4.1.2021.11.53.0
原始CPU空闲时间
ssCpuRawIdle
GET
. 1.3.6.1.2.1.25.3.3.1.2
CPU的当前负载,N个核就有N个负载
hrProcessorLoad
WALK
. 1.3.6.1.4.1.2021.11.3.0
ssSwapIn
GET
. 1.3.6.1.4.1.2021.11.4.0
SsSwapOut
GET
. 1.3.6.1.4.1.2021.11.5.0
ssIOSent
GET
. 1.3.6.1.4.1.2021.11.6.0
ssIOReceive
GET
. 1.3.6.1.4.1.2021.11.7.0
ssSysInterrupts
GET
. 1.3.6.1.4.1.2021.11.8.0
ssSysContext
GET
. 1.3.6.1.4.1.2021.11.54.0
ssCpuRawWait
GET
. 1.3.6.1.4.1.2021.11.56.0
ssCpuRawInterrupt
GET
. 1.3.6.1.4.1.2021.11.57.0
ssIORawSent
GET
. 1.3.6.1.4.1.2021.11.58.0
ssIORawReceived
GET
. 1.3.6.1.4.1.2021.11.59.0
***awInterrupts
GET
. 1.3.6.1.4.1.2021.11.60.0
***awContexts
GET
. 1.3.6.1.4.1.2021.11.61.0
ssCpuRawSoftIRQ
GET
. 1.3.6.1.4.1.2021.11.62.0
***awSwapIn.
GET
. 1.3.6.1.4.1.2021.11.63.0
***awSwapOut
GET
.1.3.6.1.4.1.2021.10.1.3.1
Load5
GET
.1.3.6.1.4.1.2021.10.1.3.2
Load10
GET
.1.3.6.1.4.1.2021.10.1.3.3
Load15
GET
内存及磁盘(1.3.6.1.2.1.25)
OID
描述
备注
请求方式
.1.3.6.1.2.1.25.2.2.0
获取内存大小
hrMemorySize
GET
.1.3.6.1.2.1.25.2.3.1.1
存储设备编号
hrStorageIndex
WALK
.1.3.6.1.2.1.25.2.3.1.2
存储设备类型
hrStorageType[OID]
WALK
.1.3.6.1.2.1.25.2.3.1.3
存储设备描述
hrStorageDescr
WALK
.1.3.6.1.2.1.25.2.3.1.4
簇的大小
hrStorageAllocationUnits
WALK
.1.3.6.1.2.1.25.2.3.1.5
簇的的数目
hrStorageSize
WALK
.1.3.6.1.2.1.25.2.3.1.6
使用多少,跟总容量相除就是占用率
hrStorageUsed
WALK
.1.3.6.1.4.1.2021.4.3.0
Total Swap> memTotalSwap
GET
.1.3.6.1.4.1.2021.4.4.0
Available Swap Space
memAvailSwap
GET
.1.3.6.1.4.1.2021.4.5.0
Total RAM in machine
memTotalReal
GET
.1.3.6.1.4.1.2021.4.6.0
Total RAM used
memAvailReal
GET
.1.3.6.1.4.1.2021.4.11.0
Total RAM Free
memTotalFree
GET
.1.3.6.1.4.1.2021.4.13.0
Total RAM Shared
memShared
GET
.1.3.6.1.4.1.2021.4.14.0
Total RAM Buffered
memBuffer
GET
.1.3.6.1.4.1.2021.4.15.0
Total Cached Memory
memCached
GET
.1.3.6.1.4.1.2021.9.1.2
Path where the disk is mounted
dskPath
WALK
.1.3.6.1.4.1.2021.9.1.3
Path of the device for the partition
dskDevice
WALK
.1.3.6.1.4.1.2021.9.1.6
Total> dskTotal
WALK
.1.3.6.1.4.1.2021.9.1.7
Available space on the disk
dskAvail
WALK
.1.3.6.1.4.1.2021.9.1.8
Used space on the disk
dskUsed
WALK
.1.3.6.1.4.1.2021.9.1.9
Percentage of space used on disk
dskPercent
WALK
.1.3.6.1.4.1.2021.9.1.10
Percentage of inodes used on disk
dskPercentNode
WALK System Group
sysDescr 1.3.6.1.2.1.1.1
sysObjectID 1.3.6.1.2.1.1.2
sysUpTime 1.3.6.1.2.1.1.3
sysContact 1.3.6.1.2.1.1.4
sysName 1.3.6.1.2.1.1.5
sysLocation 1.3.6.1.2.1.1.6
sysServices 1.3.6.1.2.1.1.7 Interfaces Group
ifNumber 1.3.6.1.2.1.2.1
ifTable 1.3.6.1.2.1.2.2
ifEntry 1.3.6.1.2.1.2.2.1
ifIndex 1.3.6.1.2.1.2.2.1.1
ifDescr 1.3.6.1.2.1.2.2.1.2
ifType 1.3.6.1.2.1.2.2.1.3
ifMtu 1.3.6.1.2.1.2.2.1.4
ifSpeed 1.3.6.1.2.1.2.2.1.5
ifPhysAddress 1.3.6.1.2.1.2.2.1.6
ifAdminStatus 1.3.6.1.2.1.2.2.1.7
ifOperStatus 1.3.6.1.2.1.2.2.1.8
ifLastChange 1.3.6.1.2.1.2.2.1.9
ifInOctets 1.3.6.1.2.1.2.2.1.10
ifInUcastPkts 1.3.6.1.2.1.2.2.1.11
ifInNUcastPkts 1.3.6.1.2.1.2.2.1.12
ifInDiscards 1.3.6.1.2.1.2.2.1.13
ifInErrors 1.3.6.1.2.1.2.2.1.14
ifInUnknownProtos 1.3.6.1.2.1.2.2.1.15
ifOutOctets 1.3.6.1.2.1.2.2.1.16
ifOutUcastPkts 1.3.6.1.2.1.2.2.1.17
ifOutNUcastPkts 1.3.6.1.2.1.2.2.1.18
ifOutDiscards 1.3.6.1.2.1.2.2.1.19
ifOutErrors 1.3.6.1.2.1.2.2.1.20
ifOutQLen 1.3.6.1.2.1.2.2.1.21
ifSpecific 1.3.6.1.2.1.2.2.1.22 IP Group
ipForwarding 1.3.6.1.2.1.4.1
ipDefaultTTL 1.3.6.1.2.1.4.2
ipInReceives 1.3.6.1.2.1.4.3
ipInHdrErrors 1.3.6.1.2.1.4.4
ipInAddrErrors 1.3.6.1.2.1.4.5
ipForwDatagrams 1.3.6.1.2.1.4.6
ipInUnknownProtos 1.3.6.1.2.1.4.7
ipInDiscards 1.3.6.1.2.1.4.8
ipInDelivers 1.3.6.1.2.1.4.9
ipOutRequests 1.3.6.1.2.1.4.10
ipOutDiscards 1.3.6.1.2.1.4.11
ipOutNoRoutes 1.3.6.1.2.1.4.12
ipReasmTimeout 1.3.6.1.2.1.4.13
ipReasmReqds 1.3.6.1.2.1.4.14
ipReasmOKs 1.3.6.1.2.1.4.15
ipReasmFails 1.3.6.1.2.1.4.16
ipFragsOKs 1.3.6.1.2.1.4.17
ipFragsFails 1.3.6.1.2.1.4.18
ipFragCreates 1.3.6.1.2.1.4.19
ipAddrTable 1.3.6.1.2.1.4.20
ipAddrEntry 1.3.6.1.2.1.4.20.1
ipAdEntAddr 1.3.6.1.2.1.4.20.1.1
ipAdEntIfIndex 1.3.6.1.2.1.4.20.1.2
ipAdEntNetMask 1.3.6.1.2.1.4.20.1.3
ipAdEntBcastAddr 1.3.6.1.2.1.4.20.1.4
ipAdEntReasmMaxSize 1.3.6.1.2.1.4.20.1.5 ICMP Group
icmpInMsgs 1.3.6.1.2.1.5.1
icmpInErrors 1.3.6.1.2.1.5.2
icmpInDestUnreachs 1.3.6.1.2.1.5.3
icmpInTimeExcds 1.3.6.1.2.1.5.4
icmpInParmProbs 1.3.6.1.2.1.5.5
icmpInSrcQuenchs 1.3.6.1.2.1.5.6
icmpInRedirects 1.3.6.1.2.1.5.7
icmpInEchos 1.3.6.1.2.1.5.8
icmpInEchoReps 1.3.6.1.2.1.5.9
icmpInTimestamps 1.3.6.1.2.1.5.10
icmpInTimestampReps 1.3.6.1.2.1.5.11
icmpInAddrMasks 1.3.6.1.2.1.5.12
icmpInAddrMaskReps 1.3.6.1.2.1.5.13
icmpOutMsgs 1.3.6.1.2.1.5.14
icmpOutErrors 1.3.6.1.2.1.5.15
icmpOutDestUnreachs 1.3.6.1.2.1.5.16
icmpOutTimeExcds 1.3.6.1.2.1.5.17
icmpOutParmProbs 1.3.6.1.2.1.5.18
icmpOutSrcQuenchs 1.3.6.1.2.1.5.19
icmpOutRedirects 1.3.6.1.2.1.5.20
icmpOutEchos 1.3.6.1.2.1.5.21
icmpOutEchoReps 1.3.6.1.2.1.5.22
icmpOutTimestamps 1.3.6.1.2.1.5.23
icmpOutTimestampReps 1.3.6.1.2.1.5.24
icmpOutAddrMasks 1.3.6.1.2.1.5.25
icmpOutAddrMaskReps 1.3.6.1.2.1.5.26 TCP Group
tcpRtoAlgorithm 1.3.6.1.2.1.6.1
tcpRtoMin 1.3.6.1.2.1.6.2
tcpRtoMax 1.3.6.1.2.1.6.3
tcpMaxConn 1.3.6.1.2.1.6.4
tcpActiveOpens 1.3.6.1.2.1.6.5
tcpPassiveOpens 1.3.6.1.2.1.6.6
tcpAttemptFails 1.3.6.1.2.1.6.7
tcpEstabResets 1.3.6.1.2.1.6.8
tcpCurrEstab 1.3.6.1.2.1.6.9
tcpInSegs 1.3.6.1.2.1.6.10
tcpOutSegs 1.3.6.1.2.1.6.11
tcpRetransSegs 1.3.6.1.2.1.6.12
tcpConnTable 1.3.6.1.2.1.6.13
tcpConnEntry 1.3.6.1.2.1.6.13.1
tcpConnState 1.3.6.1.2.1.6.13.1.1
tcpConnLocalAddress 1.3.6.1.2.1.6.13.1.2
tcpConnLocalPort 1.3.6.1.2.1.6.13.1.3
tcpConnRemAddress 1.3.6.1.2.1.6.13.1.4
tcpConnRemPort 1.3.6.1.2.1.6.13.1.5
tcpInErrs 1.3.6.1.2.1.6.14
tcpOutRsts 1.3.6.1.2.1.6.15 UDP Group
udpInDatagrams 1.3.6.1.2.1.7.1
udpNoPorts 1.3.6.1.2.1.7.2
udpInErrors 1.3.6.1.2.1.7.3
udpOutDatagrams 1.3.6.1.2.1.7.4
udpTable 1.3.6.1.2.1.7.5
udpEntry 1.3.6.1.2.1.7.5.1
udpLocalAddress 1.3.6.1.2.1.7.5.1.1
udpLocalPort 1.3.6.1.2.1.7.5.1.2 SNMP Group
snmpInPkts 1.3.6.1.2.1.11.1
snmpOutPkts 1.3.6.1.2.1.11.2
snmpInBadVersions 1.3.6.1.2.1.11.3
snmpInBadCommunityNames 1.3.6.1.2.1.11.4
snmpInBadCommunityUses 1.3.6.1.2.1.11.5
snmpInASNParseErrs 1.3.6.1.2.1.11.6
NOT USED 1.3.6.1.2.1.11.7
snmpInTooBigs 1.3.6.1.2.1.11.8
snmpInNoSuchNames 1.3.6.1.2.1.11.9
snmpInBadValues 1.3.6.1.2.1.11.10
snmpInReadOnlys 1.3.6.1.2.1.11.11
snmpInGenErrs 1.3.6.1.2.1.11.12
snmpInTotalReqVars 1.3.6.1.2.1.11.13
snmpInTotalSetVars 1.3.6.1.2.1.11.14
snmpInGetRequests 1.3.6.1.2.1.11.15
snmpInGetNexts 1.3.6.1.2.1.11.16
snmpInSetRequests 1.3.6.1.2.1.11.17
snmpInGetResponses 1.3.6.1.2.1.11.18
snmpInTraps 1.3.6.1.2.1.11.19
snmpOutTooBigs 1.3.6.1.2.1.11.20
snmpOutNoSuchNames 1.3.6.1.2.1.11.21
snmpOutBadValues 1.3.6.1.2.1.11.22
NOT USED 1.3.6.1.2.1.11.23
snmpOutGenErrs 1.3.6.1.2.1.11.24
snmpOutGetRequests 1.3.6.1.2.1.11.25
snmpOutGetNexts 1.3.6.1.2.1.11.26
snmpOutSetRequests 1.3.6.1.2.1.11.27
snmpOutGetResponses 1.3.6.1.2.1.11.28
snmpOutTraps 1.3.6.1.2.1.11.29
snmpEnableAuthenTraps 1.3.6.1.2.1.11.30
注:
原文地址:http://www.ttlsa.com/zabbix/snmp-custom-oid/