《网络管理》实践环节03:snmp服务器上对网络设备和服务器进行初步监控
兰生幽谷,不为莫服而不芳;
君子行义,不为莫知而止休。
应用拓扑图
3.0准备工作
所有Linux服务器上(服务器和Agent端)安装下列工具
yum -y install net-snmp net-snmp-utils |
保证所有的HCL网络设备和服务器相互间能够连通。
为了方便辨识,服务器对HCL的一台路由器、一台Centos7.9服务器进行管理:
角色 | ip | 操作系统 | |
SNMP 服务器 | 192.168.56.220 | OpenEuler22.03sp4 | |
SNMP agent | 192.168.56.22 | CentOS7.9 | |
R1路由器 | 192.168.56.11 | H3C Comware |
3.1 读取参数
华三网络设备就按缺省配置。其他snmp agent端需要配置一下。红色部分是需要添加或更改的:
[root@cts-zbxagt ~]# vi /etc/snmp/snmpd.conf …… rwcommunity private 192.168.56.0/24 //定义读写community及网段 rwcommunity public 192.168.56.0/24 com2sec writeAccess 192.168.56.0/24 private com2sec writeAccess 192.168.56.0/24 public rwuser snmpuser auth -V 2c //不同版本应用 …… #view systemview included .1.3.6.1.2.1.1 #view systemview included .1.3.6.1.2.1.25.1.1 view systemview included .1 …… ############################################################################### # System contact information # It is also possible to set the sysContact and sysLocation system # variables through the snmpd.conf file: syslocation Building No.7 7907 //定义设备所在位置 syscontact Wu Zhengzhong <1531036898@qq.com> //定义设备管理联系方式 …… |
保存后,重启snmp:systemctl restart snmpd
下面我们将按照MIB-2结构逐一读取HCL网络设备和Linux服务器的相关信息。
在上一章,我们已经在HCL里面对路由器R1进行了SNMP-AGENT设置,下面我们将按照MIB-2的体系,读取HCL网络设备R1和Linux服务器信息
3.1.1 读取Mib-2 1系统system功能组数据
1)读取HCL路由器
前面服务器上已经安装snmp工具,可以直接在服务器上读取、管理网络设备的相关参数。
[root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c wuzhengzhong 192.168.56.11 .1.3.6.1.2.1.1 SNMPv2-MIB::sysDescr.0 = STRING: H3C Comware Platform Software, Software Version 7.1.064, Release 0427P22 H3C MSR36-20 Copyright (c) 2004-2021 New H3C Technologies Co., Ltd. All rights reserved. SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.25506 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (286073) 0:47:40.73 SNMPv2-MIB::sysContact.0 = STRING: Dr. Wu-Tel:15523242551 SNMPv2-MIB::sysName.0 = STRING: r1 SNMPv2-MIB::sysLocation.0 = STRING: Lab. Building No.7907 SNMPv2-MIB::sysServices.0 = INTEGER: 78=1111000 //ISO七层结构里面提供了哪些服务 |
2)读取Linux服务器信息
[root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 system.1 SNMPv2-MIB::sysDescr.0 = STRING: Linux cts-zbxagt 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 system.2 SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10 [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 system.3 DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (15969) 0:02:39.69 [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 system.4 SNMPv2-MIB::sysContact.0 = STRING: Wu Zhengzhong <1531036898@qq.com> [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 system.5 SNMPv2-MIB::sysName.0 = STRING: WuSnmpAgent [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 system.6 SNMPv2-MIB::sysLocation.0 = STRING: Building No.7 7907 [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 system.7 SNMPv2-MIB::sysServices = No Such Instance currently exists at this OID |
辨析题:从上面读取的HCL路由器和Linux服务器数据看出了什么结果?
王东在snmp服务器上分别读取了华三路由器192.168.56.11和Linux服务器192.168.56.22的系统功能组system.7的数据,分别得到如下数据: [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 system.7 SNMPv2-MIB::sysServices = No Such Instance currently exists at this OID [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c wuzhengzhong 192.168.56.11 system.7 SNMPv2-MIB::sysServices.0 = INTEGER: 78 回答下面问题:
2. 该参数是什么意思?路由器该参数为78表示什么意思? |
3.1.2 读取Mib-2 2接口if功能组数据
接口功能组一共有22参数。我们选择性的看看2、3和7的数据
1)读取HCL路由器
[root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c wuzhengzhong 192.168.56.11 ifEntry.2 IF-MIB::ifDescr.1 = STRING: GigabitEthernet0/0 …… IF-MIB::ifDescr.131 = STRING: Register-Tunnel0 [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c wuzhengzhong 192.168.56.11 ifEntry.3 IF-MIB::ifType.1 = INTEGER: ethernetCsmacd(6) …… IF-MIB::ifType.4 = INTEGER: ppp(23) …… IF-MIB::ifType.8 = INTEGER: ethernetCsmacd(6) …… IF-MIB::ifType.129 = INTEGER: other(1) IF-MIB::ifType.130 = INTEGER: softwareLoopback(24) IF-MIB::ifType.131 = INTEGER: other(1) [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c wuzhengzhong 192.168.56.11 ifEntry.7 IF-MIB::ifAdminStatus.1 = INTEGER: up(1) …… IF-MIB::ifAdminStatus.131 = INTEGER: up(1) |
2)读取Linux服务器信息
[root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 ifEntry.2 IF-MIB::ifDescr.1 = STRING: lo IF-MIB::ifDescr.2 = STRING: ens33 IF-MIB::ifDescr.3 = STRING: ens36 IF-MIB::ifDescr.4 = STRING: ens37 IF-MIB::ifDescr.5 = STRING: ens38 [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 ifEntry.3 IF-MIB::ifType.1 = INTEGER: softwareLoopback(24) IF-MIB::ifType.2 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.3 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.4 = INTEGER: ethernetCsmacd(6) IF-MIB::ifType.5 = INTEGER: ethernetCsmacd(6) [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 ifEntry.7 IF-MIB::ifAdminStatus.1 = INTEGER: up(1) IF-MIB::ifAdminStatus.2 = INTEGER: up(1) IF-MIB::ifAdminStatus.3 = INTEGER: up(1) IF-MIB::ifAdminStatus.4 = INTEGER: up(1) IF-MIB::ifAdminStatus.5 = INTEGER: up(1) |
3.1.3 读取Mib-2 3地址转换at功能组数据
1)读取HCL路由器
[root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c wuzhengzhong 192.168.56.11 at Timeout: No Response from 192.168.56.11 |
2)读取Linux服务器信息
[root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 at UCD-SNMP-MIB::laIndex.1 = INTEGER: 1 UCD-SNMP-MIB::laIndex.2 = INTEGER: 2 UCD-SNMP-MIB::laIndex.3 = INTEGER: 3 UCD-SNMP-MIB::laNames.1 = STRING: Load-1 UCD-SNMP-MIB::laNames.2 = STRING: Load-5 UCD-SNMP-MIB::laNames.3 = STRING: Load-15 UCD-SNMP-MIB::laLoad.1 = STRING: 0.00 UCD-SNMP-MIB::laLoad.2 = STRING: 0.01 UCD-SNMP-MIB::laLoad.3 = STRING: 0.05 UCD-SNMP-MIB::laConfig.1 = STRING: 12.00 UCD-SNMP-MIB::laConfig.2 = STRING: 14.00 UCD-SNMP-MIB::laConfig.3 = STRING: 14.00 UCD-SNMP-MIB::laLoadInt.1 = INTEGER: 0 UCD-SNMP-MIB::laLoadInt.2 = INTEGER: 1 UCD-SNMP-MIB::laLoadInt.3 = INTEGER: 5 UCD-SNMP-MIB::laLoadFloat.1 = Opaque: Float: 0.000000 UCD-SNMP-MIB::laLoadFloat.2 = Opaque: Float: 0.010000 UCD-SNMP-MIB::laLoadFloat.3 = Opaque: Float: 0.050000 UCD-SNMP-MIB::laErrorFlag.1 = INTEGER: noError(0) UCD-SNMP-MIB::laErrorFlag.2 = INTEGER: noError(0) UCD-SNMP-MIB::laErrorFlag.3 = INTEGER: noError(0) UCD-SNMP-MIB::laErrMessage.1 = STRING: UCD-SNMP-MIB::laErrMessage.2 = STRING: UCD-SNMP-MIB::laErrMessage.3 = STRING: |
3.1.4 读取Mib-2 4 IP功能组数据
ip组一共23个值,分别读取节选值如下
1)读取HCL路由器
[root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c wuzhengzhong 192.168.56.11 ip.1 IP-MIB::ipForwarding.0 = INTEGER: forwarding(1) [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c wuzhengzhong 192.168.56.11 ip.2 IP-MIB::ipDefaultTTL.0 = INTEGER: 255 [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c wuzhengzhong 192.168.56.11 ip.6 IP-MIB::ipForwDatagrams.0 = Counter32: 5 [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c wuzhengzhong 192.168.56.11 ip.21 IP-MIB::ip.21.1.1.0.0.0.0 = IpAddress: 0.0.0.0 IP-MIB::ip.21.1.1.21.21.21.0 = IpAddress: 21.21.21.0 …… IP-MIB::ip.21.1.13.255.255.255.255 = OID: SNMPv2-SMI::zeroDotZero [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c wuzhengzhong 192.168.56.11 ip.20 IP-MIB::ipAdEntAddr.21.21.21.1 = IpAddress: 21.21.21.1 //IP地址和mac地址对应 [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c wuzhengzhong 192.168.56.11 ip.22 IP-MIB::ipNetToMediaIfIndex.1.192.168.56.1 = INTEGER: 1 IP-MIB::ipNetToMediaIfIndex.1.192.168.56.220 = INTEGER: 1 IP-MIB::ipNetToMediaPhysAddress.1.192.168.56.1 = STRING: a:0:27:0:0:d IP-MIB::ipNetToMediaPhysAddress.1.192.168.56.220 = STRING: 0:c:29:ea:d2:35 IP-MIB::ipNetToMediaNetAddress.1.192.168.56.1 = IpAddress: 192.168.56.1 IP-MIB::ipNetToMediaNetAddress.1.192.168.56.220 = IpAddress: 192.168.56.220 IP-MIB::ipNetToMediaType.1.192.168.56.1 = INTEGER: dynamic(3) IP-MIB::ipNetToMediaType.1.192.168.56.220 = INTEGER: dynamic(3) |
2)读取Linux服务器信息
[root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 ip.20 IP-MIB::ipAdEntAddr.127.0.0.1 = IpAddress: 127.0.0.1 …… IP-MIB::ipAdEntIfIndex.127.0.0.1 = INTEGER: 1 IP-MIB::ipAdEntIfIndex.192.168.0.22 = INTEGER: 2 IP-MIB::ipAdEntIfIndex.192.168.56.22 = INTEGER: 5 IP-MIB::ipAdEntIfIndex.192.168.100.22 = INTEGER: 3 IP-MIB::ipAdEntIfIndex.202.112.113.22 = INTEGER: 4 IP-MIB::ipAdEntNetMask.127.0.0.1 = IpAddress: 255.0.0.0 IP-MIB::ipAdEntNetMask.192.168.0.22 = IpAddress: 255.255.255.0 IP-MIB::ipAdEntNetMask.192.168.56.22 = IpAddress: 255.255.255.0 IP-MIB::ipAdEntNetMask.192.168.100.22 = IpAddress: 255.255.255.0 IP-MIB::ipAdEntNetMask.202.112.113.22 = IpAddress: 255.255.255.0 IP-MIB::ipAdEntBcastAddr.127.0.0.1 = INTEGER: 0 IP-MIB::ipAdEntBcastAddr.192.168.0.22 = INTEGER: 1 IP-MIB::ipAdEntBcastAddr.192.168.56.22 = INTEGER: 1 IP-MIB::ipAdEntBcastAddr.192.168.100.22 = INTEGER: 1 IP-MIB::ipAdEntBcastAddr.202.112.113.22 = INTEGER: 1 [root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 ip.21 IP-MIB::ip.21.1.1.0.0.0.0 = IpAddress: 0.0.0.0 IP-MIB::ip.21.1.1.192.168.0.0 = IpAddress: 192.168.0.0 IP-MIB::ip.21.1.1.192.168.56.0 = IpAddress: 192.168.56.0 IP-MIB::ip.21.1.1.192.168.100.0 = IpAddress: 192.168.100.0 IP-MIB::ip.21.1.1.202.112.113.0 = IpAddress: 202.112.113.0 IP-MIB::ip.21.1.2.0.0.0.0 = INTEGER: 2 IP-MIB::ip.21.1.2.192.168.0.0 = INTEGER: 2 IP-MIB::ip.21.1.2.192.168.56.0 = INTEGER: 5 IP-MIB::ip.21.1.2.192.168.100.0 = INTEGER: 3 IP-MIB::ip.21.1.2.202.112.113.0 = INTEGER: 4 IP-MIB::ip.21.1.3.0.0.0.0 = INTEGER: 1 IP-MIB::ip.21.1.3.192.168.0.0 = INTEGER: 0 IP-MIB::ip.21.1.3.192.168.56.0 = INTEGER: 0 IP-MIB::ip.21.1.3.192.168.100.0 = INTEGER: 0 IP-MIB::ip.21.1.3.202.112.113.0 = INTEGER: 0 IP-MIB::ip.21.1.7.0.0.0.0 = IpAddress: 192.168.0.1 IP-MIB::ip.21.1.7.192.168.0.0 = IpAddress: 0.0.0.0 IP-MIB::ip.21.1.7.192.168.56.0 = IpAddress: 0.0.0.0 IP-MIB::ip.21.1.7.192.168.100.0 = IpAddress: 0.0.0.0 IP-MIB::ip.21.1.7.202.112.113.0 = IpAddress: 0.0.0.0 IP-MIB::ip.21.1.8.0.0.0.0 = INTEGER: 4 IP-MIB::ip.21.1.8.192.168.0.0 = INTEGER: 3 IP-MIB::ip.21.1.8.192.168.56.0 = INTEGER: 3 IP-MIB::ip.21.1.8.192.168.100.0 = INTEGER: 3 IP-MIB::ip.21.1.8.202.112.113.0 = INTEGER: 3 IP-MIB::ip.21.1.9.0.0.0.0 = INTEGER: 2 IP-MIB::ip.21.1.9.192.168.0.0 = INTEGER: 2 IP-MIB::ip.21.1.9.192.168.56.0 = INTEGER: 2 IP-MIB::ip.21.1.9.192.168.100.0 = INTEGER: 2 IP-MIB::ip.21.1.9.202.112.113.0 = INTEGER: 2 IP-MIB::ip.21.1.11.0.0.0.0 = IpAddress: 0.0.0.0 IP-MIB::ip.21.1.11.192.168.0.0 = IpAddress: 255.255.255.0 IP-MIB::ip.21.1.11.192.168.56.0 = IpAddress: 255.255.255.0 IP-MIB::ip.21.1.11.192.168.100.0 = IpAddress: 255.255.255.0 IP-MIB::ip.21.1.11.202.112.113.0 = IpAddress: 255.255.255.0 IP-MIB::ip.21.1.13.0.0.0.0 = OID: SNMPv2-SMI::zeroDotZero IP-MIB::ip.21.1.13.192.168.0.0 = OID: SNMPv2-SMI::zeroDotZero IP-MIB::ip.21.1.13.192.168.56.0 = OID: SNMPv2-SMI::zeroDotZero IP-MIB::ip.21.1.13.192.168.100.0 = OID: SNMPv2-SMI::zeroDotZero IP-MIB::ip.21.1.13.202.112.113.0 = OID: SNMPv2-SMI::zeroDotZero |
3.1.5 读取Mib-2 5 ICMP功能组数据
ICMP一共26个值
1)读取HCL路由器
[root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c wuzhengzhong 192.168.56.11 icmp IP-MIB::icmpInMsgs.0 = Counter32: 1 IP-MIB::icmpInErrors.0 = Counter32: 0 IP-MIB::icmpInDestUnreachs.0 = Counter32: 0 IP-MIB::icmpInTimeExcds.0 = Counter32: 0 IP-MIB::icmpInParmProbs.0 = Counter32: 0 IP-MIB::icmpInSrcQuenchs.0 = Counter32: 0 IP-MIB::icmpInRedirects.0 = Counter32: 0 IP-MIB::icmpInEchos.0 = Counter32: 1 IP-MIB::icmpInEchoReps.0 = Counter32: 0 IP-MIB::icmpInTimestamps.0 = Counter32: 0 IP-MIB::icmpInTimestampReps.0 = Counter32: 0 IP-MIB::icmpInAddrMasks.0 = Counter32: 0 IP-MIB::icmpInAddrMaskReps.0 = Counter32: 0 IP-MIB::icmpOutMsgs.0 = Counter32: 1 IP-MIB::icmpOutErrors.0 = Counter32: 0 IP-MIB::icmpOutDestUnreachs.0 = Counter32: 0 IP-MIB::icmpOutTimeExcds.0 = Counter32: 0 IP-MIB::icmpOutParmProbs.0 = Counter32: 0 IP-MIB::icmpOutSrcQuenchs.0 = Counter32: 0 IP-MIB::icmpOutRedirects.0 = Counter32: 0 IP-MIB::icmpOutEchos.0 = Counter32: 0 IP-MIB::icmpOutEchoReps.0 = Counter32: 1 IP-MIB::icmpOutTimestamps.0 = Counter32: 0 IP-MIB::icmpOutTimestampReps.0 = Counter32: 0 IP-MIB::icmpOutAddrMasks.0 = Counter32: 0 IP-MIB::icmpOutAddrMaskReps.0 = Counter32: 0 …… |
2)读取Linux服务器信息
[root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 icmp IP-MIB::icmpInMsgs.0 = Counter32: 3028 IP-MIB::icmpInErrors.0 = Counter32: 1402 IP-MIB::icmpInDestUnreachs.0 = Counter32: 3022 IP-MIB::icmpInTimeExcds.0 = Counter32: 0 IP-MIB::icmpInParmProbs.0 = Counter32: 0 IP-MIB::icmpInSrcQuenchs.0 = Counter32: 0 IP-MIB::icmpInRedirects.0 = Counter32: 0 IP-MIB::icmpInEchos.0 = Counter32: 5 IP-MIB::icmpInEchoReps.0 = Counter32: 1 IP-MIB::icmpInTimestamps.0 = Counter32: 0 IP-MIB::icmpInTimestampReps.0 = Counter32: 0 IP-MIB::icmpInAddrMasks.0 = Counter32: 0 IP-MIB::icmpInAddrMaskReps.0 = Counter32: 0 IP-MIB::icmpOutMsgs.0 = Counter32: 3008 IP-MIB::icmpOutErrors.0 = Counter32: 0 IP-MIB::icmpOutDestUnreachs.0 = Counter32: 3002 IP-MIB::icmpOutTimeExcds.0 = Counter32: 0 IP-MIB::icmpOutParmProbs.0 = Counter32: 0 IP-MIB::icmpOutSrcQuenchs.0 = Counter32: 0 IP-MIB::icmpOutRedirects.0 = Counter32: 0 IP-MIB::icmpOutEchos.0 = Counter32: 1 IP-MIB::icmpOutEchoReps.0 = Counter32: 5 IP-MIB::icmpOutTimestamps.0 = Counter32: 0 IP-MIB::icmpOutTimestampReps.0 = Counter32: 0 IP-MIB::icmpOutAddrMasks.0 = Counter32: 0 IP-MIB::icmpOutAddrMaskReps.0 = Counter32: 0 …… |
3.1.6 读取Mib-2 6 TCP功能组数据
TCP一共15个值
1)读取HCL路由器
[root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c wuzhengzhong 192.168.56.11 tcp TCP-MIB::tcpRtoAlgorithm.0 = INTEGER: vanj(4) TCP-MIB::tcpRtoMin.0 = INTEGER: 1000 milliseconds TCP-MIB::tcpRtoMax.0 = INTEGER: 64000 milliseconds TCP-MIB::tcpMaxConn.0 = INTEGER: -1 TCP-MIB::tcpActiveOpens.0 = Counter32: 0 TCP-MIB::tcpPassiveOpens.0 = Counter32: 0 TCP-MIB::tcpAttemptFails.0 = Counter32: 0 TCP-MIB::tcpEstabResets.0 = Counter32: 0 TCP-MIB::tcpCurrEstab.0 = Gauge32: 0 TCP-MIB::tcpInSegs.0 = Counter32: 0 TCP-MIB::tcpOutSegs.0 = Counter32: 0 TCP-MIB::tcpRetransSegs.0 = Counter32: 0 TCP-MIB::tcpConnState.0.0.0.0.23.0.0.0.0.0 = INTEGER: listen(2) TCP-MIB::tcpConnLocalAddress.0.0.0.0.23.0.0.0.0.0 = IpAddress: 0.0.0.0 TCP-MIB::tcpConnLocalPort.0.0.0.0.23.0.0.0.0.0 = INTEGER: 23 TCP-MIB::tcpConnRemAddress.0.0.0.0.23.0.0.0.0.0 = IpAddress: 0.0.0.0 TCP-MIB::tcpConnRemPort.0.0.0.0.23.0.0.0.0.0 = INTEGER: 0 TCP-MIB::tcpInErrs.0 = Counter32: 0 TCP-MIB::tcpOutRsts.0 = Counter32: 0 IPV6-TCP-MIB::ipv6TcpConnState.'................'.23.'................'.0.0 = INTEGER: listen(2) TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".23 = Gauge32: 10911 TCP-MIB::tcpListenerProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".23 = Gauge32: 10911 |
2)读取Linux服务器信息
[root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 tcp TCP-MIB::tcpRtoAlgorithm.0 = INTEGER: other(1) TCP-MIB::tcpRtoMin.0 = INTEGER: 200 milliseconds TCP-MIB::tcpRtoMax.0 = INTEGER: 120000 milliseconds TCP-MIB::tcpMaxConn.0 = INTEGER: -1 TCP-MIB::tcpActiveOpens.0 = Counter32: 1440 TCP-MIB::tcpPassiveOpens.0 = Counter32: 14 TCP-MIB::tcpAttemptFails.0 = Counter32: 1394 TCP-MIB::tcpEstabResets.0 = Counter32: 8 TCP-MIB::tcpCurrEstab.0 = Gauge32: 4 TCP-MIB::tcpInSegs.0 = Counter32: 11052 TCP-MIB::tcpOutSegs.0 = Counter32: 11081 TCP-MIB::tcpRetransSegs.0 = Counter32: 1458 TCP-MIB::tcpConnState.0.0.0.0.22.0.0.0.0.0 = INTEGER: listen(2) TCP-MIB::tcpConnState.0.0.0.0.3306.0.0.0.0.0 = INTEGER: listen(2) TCP-MIB::tcpConnState.0.0.0.0.10050.0.0.0.0.0 = INTEGER: listen(2) TCP-MIB::tcpConnState.127.0.0.1.25.0.0.0.0.0 = INTEGER: listen(2) TCP-MIB::tcpConnState.127.0.0.1.199.0.0.0.0.0 = INTEGER: listen(2) TCP-MIB::tcpConnState.192.168.56.22.22.192.168.56.1.58070 = INTEGER: established(5) TCP-MIB::tcpConnState.192.168.56.22.22.192.168.56.1.58080 = INTEGER: established(5) TCP-MIB::tcpConnState.192.168.56.22.22.192.168.56.1.62954 = INTEGER: established(5) TCP-MIB::tcpConnState.192.168.56.22.22.192.168.56.1.62960 = INTEGER: established(5) TCP-MIB::tcpConnLocalAddress.0.0.0.0.22.0.0.0.0.0 = IpAddress: 0.0.0.0 TCP-MIB::tcpConnLocalAddress.0.0.0.0.3306.0.0.0.0.0 = IpAddress: 0.0.0.0 TCP-MIB::tcpConnLocalAddress.0.0.0.0.10050.0.0.0.0.0 = IpAddress: 0.0.0.0 TCP-MIB::tcpConnLocalAddress.127.0.0.1.25.0.0.0.0.0 = IpAddress: 127.0.0.1 TCP-MIB::tcpConnLocalAddress.127.0.0.1.199.0.0.0.0.0 = IpAddress: 127.0.0.1 TCP-MIB::tcpConnLocalAddress.192.168.56.22.22.192.168.56.1.58070 = IpAddress: 192.168.56.22 TCP-MIB::tcpConnLocalAddress.192.168.56.22.22.192.168.56.1.58080 = IpAddress: 192.168.56.22 TCP-MIB::tcpConnLocalAddress.192.168.56.22.22.192.168.56.1.62954 = IpAddress: 192.168.56.22 TCP-MIB::tcpConnLocalAddress.192.168.56.22.22.192.168.56.1.62960 = IpAddress: 192.168.56.22 TCP-MIB::tcpConnLocalPort.0.0.0.0.22.0.0.0.0.0 = INTEGER: 22 TCP-MIB::tcpConnLocalPort.0.0.0.0.3306.0.0.0.0.0 = INTEGER: 3306 TCP-MIB::tcpConnLocalPort.0.0.0.0.10050.0.0.0.0.0 = INTEGER: 10050 TCP-MIB::tcpConnLocalPort.127.0.0.1.25.0.0.0.0.0 = INTEGER: 25 TCP-MIB::tcpConnLocalPort.127.0.0.1.199.0.0.0.0.0 = INTEGER: 199 TCP-MIB::tcpConnLocalPort.192.168.56.22.22.192.168.56.1.58070 = INTEGER: 22 TCP-MIB::tcpConnLocalPort.192.168.56.22.22.192.168.56.1.58080 = INTEGER: 22 TCP-MIB::tcpConnLocalPort.192.168.56.22.22.192.168.56.1.62954 = INTEGER: 22 TCP-MIB::tcpConnLocalPort.192.168.56.22.22.192.168.56.1.62960 = INTEGER: 22 TCP-MIB::tcpConnRemAddress.0.0.0.0.22.0.0.0.0.0 = IpAddress: 0.0.0.0 TCP-MIB::tcpConnRemAddress.0.0.0.0.3306.0.0.0.0.0 = IpAddress: 0.0.0.0 TCP-MIB::tcpConnRemAddress.0.0.0.0.10050.0.0.0.0.0 = IpAddress: 0.0.0.0 TCP-MIB::tcpConnRemAddress.127.0.0.1.25.0.0.0.0.0 = IpAddress: 0.0.0.0 TCP-MIB::tcpConnRemAddress.127.0.0.1.199.0.0.0.0.0 = IpAddress: 0.0.0.0 TCP-MIB::tcpConnRemAddress.192.168.56.22.22.192.168.56.1.58070 = IpAddress: 192.168.56.1 TCP-MIB::tcpConnRemAddress.192.168.56.22.22.192.168.56.1.58080 = IpAddress: 192.168.56.1 TCP-MIB::tcpConnRemAddress.192.168.56.22.22.192.168.56.1.62954 = IpAddress: 192.168.56.1 TCP-MIB::tcpConnRemAddress.192.168.56.22.22.192.168.56.1.62960 = IpAddress: 192.168.56.1 TCP-MIB::tcpConnRemPort.0.0.0.0.22.0.0.0.0.0 = INTEGER: 0 TCP-MIB::tcpConnRemPort.0.0.0.0.3306.0.0.0.0.0 = INTEGER: 0 TCP-MIB::tcpConnRemPort.0.0.0.0.10050.0.0.0.0.0 = INTEGER: 0 TCP-MIB::tcpConnRemPort.127.0.0.1.25.0.0.0.0.0 = INTEGER: 0 TCP-MIB::tcpConnRemPort.127.0.0.1.199.0.0.0.0.0 = INTEGER: 0 TCP-MIB::tcpConnRemPort.192.168.56.22.22.192.168.56.1.58070 = INTEGER: 58070 TCP-MIB::tcpConnRemPort.192.168.56.22.22.192.168.56.1.58080 = INTEGER: 58080 TCP-MIB::tcpConnRemPort.192.168.56.22.22.192.168.56.1.62954 = INTEGER: 62954 TCP-MIB::tcpConnRemPort.192.168.56.22.22.192.168.56.1.62960 = INTEGER: 62960 TCP-MIB::tcpInErrs.0 = Counter32: 0 TCP-MIB::tcpOutRsts.0 = Counter32: 21 TCP-MIB::tcpConnectionState.ipv4."192.168.56.22".22.ipv4."192.168.56.1".58070 = INTEGER: established(5) TCP-MIB::tcpConnectionState.ipv4."192.168.56.22".22.ipv4."192.168.56.1".58080 = INTEGER: established(5) TCP-MIB::tcpConnectionState.ipv4."192.168.56.22".22.ipv4."192.168.56.1".62954 = INTEGER: established(5) TCP-MIB::tcpConnectionState.ipv4."192.168.56.22".22.ipv4."192.168.56.1".62960 = INTEGER: established(5) TCP-MIB::tcpConnectionProcess.ipv4."192.168.56.22".22.ipv4."192.168.56.1".58070 = Gauge32: 4541 TCP-MIB::tcpConnectionProcess.ipv4."192.168.56.22".22.ipv4."192.168.56.1".58080 = Gauge32: 4543 TCP-MIB::tcpConnectionProcess.ipv4."192.168.56.22".22.ipv4."192.168.56.1".62954 = Gauge32: 4298 TCP-MIB::tcpConnectionProcess.ipv4."192.168.56.22".22.ipv4."192.168.56.1".62960 = Gauge32: 4300 TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".22 = Gauge32: 1135 TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".3306 = Gauge32: 1407 TCP-MIB::tcpListenerProcess.ipv4."0.0.0.0".10050 = Gauge32: 1160 TCP-MIB::tcpListenerProcess.ipv4."127.0.0.1".25 = Gauge32: 1507 TCP-MIB::tcpListenerProcess.ipv4."127.0.0.1".199 = Gauge32: 4488 TCP-MIB::tcpListenerProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".22 = Gauge32: 1135 TCP-MIB::tcpListenerProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:01".25 = Gauge32: 1507 |
3.1.7 读取Mib-2 7 UDP功能组数据
1)读取HCL路由器
[root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c wuzhengzhong 192.168.56.11 udp UDP-MIB::udpInDatagrams.0 = Counter32: 36 UDP-MIB::udpNoPorts.0 = Counter32: 19 UDP-MIB::udpInErrors.0 = Counter32: 0 UDP-MIB::udpOutDatagrams.0 = Counter32: 31 UDP-MIB::udpLocalAddress.0.0.0.0.161 = IpAddress: 0.0.0.0 UDP-MIB::udpLocalAddress.0.0.0.0.520 = IpAddress: 0.0.0.0 UDP-MIB::udpLocalAddress.0.0.0.0.4992 = IpAddress: 0.0.0.0 UDP-MIB::udpLocalPort.0.0.0.0.161 = INTEGER: 161 UDP-MIB::udpLocalPort.0.0.0.0.520 = INTEGER: 520 UDP-MIB::udpLocalPort.0.0.0.0.4992 = INTEGER: 4992 IPV6-UDP-MIB::ipv6UdpIfIndex.'................'.161.0 = INTEGER: 0 UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".161.ipv4."0.0.0.0".0.2565952204 = Gauge32: 10910 UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".520.ipv4."0.0.0.0".0.15749836 = Gauge32: 10908 UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".4992.ipv4."0.0.0.0".0.3371455180 = Gauge32: 10910 UDP-MIB::udpEndpointProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".161.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".0.821252812 = Gauge32: 10910 |
2)读取Linux服务器信息
[root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 udp UDP-MIB::udpInDatagrams.0 = Counter32: 937 UDP-MIB::udpNoPorts.0 = Counter32: 2 UDP-MIB::udpInErrors.0 = Counter32: 0 UDP-MIB::udpOutDatagrams.0 = Counter32: 1232 UDP-MIB::udpLocalAddress.0.0.0.0.161 = IpAddress: 0.0.0.0 UDP-MIB::udpLocalAddress.127.0.0.1.323 = IpAddress: 127.0.0.1 UDP-MIB::udpLocalPort.0.0.0.0.161 = INTEGER: 161 UDP-MIB::udpLocalPort.127.0.0.1.323 = INTEGER: 323 UDP-MIB::udpEndpointProcess.ipv4."0.0.0.0".161.ipv4."0.0.0.0".0.989713 = Gauge32: 4488 UDP-MIB::udpEndpointProcess.ipv4."127.0.0.1".323.ipv4."0.0.0.0".0.18115 = Gauge32: 689 UDP-MIB::udpEndpointProcess.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:01".323.ipv6."00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00".0.18116 = Gauge32: 689 |
3.1.8 读取Mib-2 8 EGP功能组数据
(暂时没时间设置,所以读不出数据来。以后有时间再完善)
1)读取HCL路由器
2)读取Linux服务器信息
3.1.9 读取Mib-2 9传输Dot 3功能组数据
1)读取HCL路由器
[root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c wuzhengzhong 192.168.56.11 Dot 3 EtherLike-MIB::dot3StatsIndex.1 = INTEGER: 1 …… EtherLike-MIB::dot3StatsAlignmentErrors.1 = Counter32: 0 …… EtherLike-MIB::dot3StatsFCSErrors.1 = Counter32: 0 …… EtherLike-MIB::dot3StatsSingleCollisionFrames.1 = Counter32: 0 …… EtherLike-MIB::dot3StatsSQETestErrors.1 = Counter32: 0 …… EtherLike-MIB::dot3StatsDeferredTransmissions.1 = Counter32: 0 …… EtherLike-MIB::dot3StatsLateCollisions.1 = Counter32: 0 …… EtherLike-MIB::dot3StatsExcessiveCollisions.1 = Counter32: 0 …… EtherLike-MIB::dot3StatsInternalMacTransmitErrors.1 = Counter32: 0 …… EtherLike-MIB::dot3StatsCarrierSenseErrors.1 = Counter32: 0 …… EtherLike-MIB::dot3StatsFrameTooLongs.1 = Counter32: 0 …… EtherLike-MIB::dot3StatsInternalMacReceiveErrors.1 = Counter32: 0 …… EtherLike-MIB::dot3StatsEtherChipSet.1 = OID: SNMPv2-SMI::zeroDotZero …… EtherLike-MIB::dot3StatsSymbolErrors.1 = Counter32: 0 …… EtherLike-MIB::dot3StatsDuplexStatus.1 = INTEGER: unknown(1) …… EtherLike-MIB::dot3StatsRateControlAbility.1 = INTEGER: false(2) …… EtherLike-MIB::dot3StatsRateControlStatus.1 = INTEGER: unknown(3) …… EtherLike-MIB::dot3CollFrequencies.1.1 = Counter32: 0 …… EtherLike-MIB::dot3CollFrequencies.2.1 = Counter32: 0 …… EtherLike-MIB::dot3CollFrequencies.3.1 = Counter32: 0 …… EtherLike-MIB::dot3CollFrequencies.8.1 = Counter32: 0 …… EtherLike-MIB::dot3CollFrequencies.9.1 = Counter32: 0 …… EtherLike-MIB::dot3CollFrequencies.10.1 = Counter32: 0 …… EtherLike-MIB::dot3CollFrequencies.11.1 = Counter32: 0 …… EtherLike-MIB::dot3ControlFunctionsSupported.1 = BITS: 00 …… EtherLike-MIB::dot3ControlInUnknownOpcodes.1 = Counter32: 0 …… EtherLike-MIB::dot3HCControlInUnknownOpcodes.1 = Counter64: 0 …… EtherLike-MIB::dot3PauseAdminMode.1 = INTEGER: disabled(1) …… EtherLike-MIB::dot3PauseOperMode.1 = INTEGER: disabled(1) …… EtherLike-MIB::dot3InPauseFrames.1 = Counter32: 0 …… EtherLike-MIB::dot3OutPauseFrames.1 = Counter32: 0 …… EtherLike-MIB::dot3HCInPauseFrames.1 = Counter64: 0 …… EtherLike-MIB::dot3HCInPauseFrames.11 = Counter64: 0 …… EtherLike-MIB::dot3HCStatsAlignmentErrors.1 = Counter64: 0 …… EtherLike-MIB::dot3HCStatsFCSErrors.1 = Counter64: 0 …… EtherLike-MIB::dot3HCStatsInternalMacTransmitErrors.1 = Counter64: 0 …… EtherLike-MIB::dot3HCStatsFrameTooLongs.1 = Counter64: 0 …… EtherLike-MIB::dot3HCStatsInternalMacReceiveErrors.1 = Counter64: 0 …… EtherLike-MIB::dot3HCStatsSymbolErrors.1 = Counter64: 0 …… |
2)读取Linux服务器信息
[root@zbx624oe2203 ~]# snmpbulkwalk -v 2c -c public 192.168.56.22 Dot 3 EtherLike-MIB::dot3StatsIndex.2 = INTEGER: 2 …… EtherLike-MIB::dot3StatsAlignmentErrors.2 = Counter32: 0 …… EtherLike-MIB::dot3StatsFCSErrors.2 = Counter32: 0 …… EtherLike-MIB::dot3StatsSingleCollisionFrames.2 = Counter32: 0 …… EtherLike-MIB::dot3StatsMultipleCollisionFrames.2 = Counter32: 0 …… EtherLike-MIB::dot3StatsDeferredTransmissions.2 = Counter32: 0 …… EtherLike-MIB::dot3StatsLateCollisions.2 = Counter32: 0 …… EtherLike-MIB::dot3StatsInternalMacTransmitErrors.2 = Counter32: 0 …… EtherLike-MIB::dot3StatsCarrierSenseErrors.2 = Counter32: 0 …… EtherLike-MIB::dot3StatsFrameTooLongs.2 = Counter32: 0 …… EtherLike-MIB::dot3StatsInternalMacReceiveErrors.2 = Counter32: 0 …… EtherLike-MIB::dot3StatsDuplexStatus.2 = INTEGER: fullDuplex(3) …… |
3.2 服务器设置agent
一)更改HCL网络设备名称
snmpset -v 1 -c wuzhengzhong 192.168.56.11 .1.3.6.1.2.1.1.5.0 s wusR1
[root@zbx624oe2203 ~]# snmpset -v 1 -c wuzhengzhong 192.168.56.11 .1.3.6.1.2.1.1.5.0 s wusR1 SNMPv2-MIB::sysName.0 = STRING: wusR1 [root@zbx624oe2203 ~]# snmpget -v 1 -c wuzhengzhong 192.168.56.11 .1.3.6.1.2.1.1.5.0 SNMPv2-MIB::sysName.0 = STRING: wusR1 |
到HCL平台上的客户端验证
[r1]save The current configuration will be written to the device. Are you sure? [Y/N]:y Please input the file name(*.cfg)[flash:/startup.cfg] (To leave the existing filename unchanged, press the enter key): flash:/startup.cfg exists, overwrite? [Y/N]:y Validating file. Please wait... Configuration is saved to device successfully. [wusR1]display current-configuration | include sysname sysname wusR1 |
图3- 1
二)更改Linux服务器名称
确保在snmp客户端(192.168.56.22)上配置可写
#修改配置文件 …… rwcommunity private com2sec writeAccess 192.168.56.0/24 private rwuser snmpuser auth -V 2c …… |
重启systemctl restart snmpd
在服务器端(192.168.56.220)更改agent系统名称
[root@zbx624oe2203 ~]# snmpset -v 1 -c private 192.168.56.22 .1.3.6.1.2.1.1.5.0 s WuSnmpAgent SNMPv2-MIB::sysName.0 = STRING: WuSnmpAgent |
到agent客户端验证
[root@cts-zbxagt ~]# snmpget -v 2c -c private 192.168.56.22 1.3.6.1.2.1.1.5.0 SNMPv2-MIB::sysName.0 = STRING: WuSnmpAgent |
图3- 2
相关文章:
《网络管理》实践环节03:snmp服务器上对网络设备和服务器进行初步监控
兰生幽谷,不为莫服而不芳; 君子行义,不为莫知而止休。 应用拓扑图 3.0准备工作 所有Linux服务器上(服务器和Agent端)安装下列工具 yum -y install net-snmp net-snmp-utils 保证所有的HCL网络设备和服务器相互间能…...
linux操作系统
1.linux进程管理 操作系统都有进程的概念 查看和关闭程序 2.关闭进程 3,查看计算机硬件信息 4.定时任务...
Python基础语法 - 判断语句
Python基础语法 - 判断语句 1. if语句 if 条件:# 条件为True时执行的代码示例 age 18 if age > 18:print("您已成年")2. if-else语句 if 条件:# 条件为True时执行的代码 else:# 条件为False时执行的代码示例 age 16 if age > 18:print("您已成年&q…...
c++柔性数组、友元、类模版
目录 1、柔性数组: 2、友元函数: 3、静态成员 注意事项 面试题:c/c static的作用? C语言: C: 为什么可以创建出 objx 4、对象与对象之间的关系 5、类模版 1、柔性数组: #define _CRT_SECURE_NO_WARNINGS #…...
电子技术基础
目录 一、整体概述 二、知识点梳理及考点分析 (一)半导体器件 (二)基本放大电路 (三)功率放大电路 (四)集成运算放大器 (五)直流稳压电源 ࿰…...
解码大模型时代算力基座的隐形引擎
在千亿参数大模型竞速的今天,算力军备竞赛已进入白热化阶段。当我们聚焦GPU集群的运算峰值时,一个关键命题正在浮出水面:支撑大模型全生命周期的存力基座,正在成为制约AI进化的关键变量。绿算技术将深入解剖大模型训练与推理场景中…...
【NetCore】ControllerBase:ASP.NET Core 中的基石类
ControllerBase:ASP.NET Core 中的基石类 一、什么是 ControllerBase?二、ControllerBase 的主要功能三、ControllerBase 的常用属性四、ControllerBase 的常用方法2. 模型绑定与验证3. 依赖注入五、ControllerBase 与 Controller 的区别六、实际开发中的最佳实践七、总结在 …...
人工智能之数学基础:矩阵分解之LU分解
本文重点 LU分解是线性代数中一种重要的矩阵分解方法,它将一个方阵分解为一个下三角矩阵(L)和一个上三角矩阵(U)的乘积。这种分解方法在数值线性代数中有着广泛的应用,特别是在求解线性方程组、计算矩阵的行列式、求逆矩阵等方面。 LU分解的基本概念 设A是一个nn的方阵…...
C#核心学习(六)面向对象--封装(5)静态成员及静态构造函数和静态类 以及和常量的区别
目录 一、什么是静态的?什么是常量? 1. 静态(Static) 2. 常量(const) 二、类中的静态成员有什么用? 1. 共享数据 2. 工具方法与全局配置 3. 单例模式 三、静态类和静态成…...
去中心化稳定币机制解析与产品策略建议
去中心化稳定币机制解析与产品策略建议(以Maker/DAI为例) 一、核心机制对比:法币抵押型 vs. 加密货币抵押型 法币抵押型(如USDT) 技术逻辑:1:1美元储备托管于中心化机构(如银行)&…...
构造超小程序
文章目录 构造超小程序1 编译器-大小优化2 编译器-移除 C 异常3 链接器-移除所有依赖库4 移除所有函数依赖_RTC_InitBase() _RTC_Shutdown()__security_cookie __security_check_cookie()__chkstk() 5 链接器-移除清单文件6 链接器-移除调试信息7 链接器-关闭随机基址8 移除异常…...
JSONP跨域访问漏洞
一、漏洞一:利用回调GetCookie <?php$conn new mysqli(127.0.0.1,root,root,learn) or die("数据库连接不成功"); $conn->set_charset(utf8); $sql "select articleid,author,viewcount,creattime from learn3 where articleid < 5"; $result…...
数据结构优化DP总结
单调栈:Codeforces Round 622 (Div. 2) C2. Skyscrapers (hard version) 简单来讲就是最后需要呈现出一个单峰数组,使得总高度最高。 最开始想到暴力枚举每一个元素都充当最高的“单峰”,但是这里的 n 过大,这样枚举肯定会TLE。 …...
Linux网络相关概念和重要知识(4)(序列化和反序列化、TCP协议、会话和守护进程)
目录 1.序列化和反序列化 (1)为什么需要序列化 (2)序列化方案 ①json ②json序列化代码模板 ③json反序列化代码模板 ④将自定义方案和json结合 2.TCP协议(传输控制协议) (1)…...
[MySQL初阶]MySQL数据库基础
MySQL数据库基础 1. 数据库基础1.1 什么是数据库1.2 主流数据库2. 数据库的基本使用2.1 连接服务器2.2 使用案例2.3 数据逻辑存储3. MySQL架构与分类3.1 MySQL架构3.2 SQL分类4. 存储引擎4.1 存储引擎基本概念4.2 存储引擎基本操作1. 数据库基础 1.1 什么是数据库 存储数据用…...
【mysql 的安装及使用】
MySQL 9.0 一、下载MySQL[MySQL 9.0 下载] [(https://dev.mysql.com/downloads/mysql/)选择自定义,选择合适安装路径二、检查安装情况配置环境变量打开命令行查看版本创建数据库在MySQL中,可以使用create database语句来创建数据库。以下是创建一个名为my_db的数据库的示例:…...
d202542
一、142.环形链表I 142. 环形链表 II - 力扣(LeetCode) 用set统计一下 如果再次出现那么就环的第一个return返回就行 public ListNode detectCycle(ListNode head) {Set<ListNode> set new HashSet<>();ListNode cur head;while(cur ! …...
vscode代码片段的设置与使用
在 Visual Studio Code (VS Code) 中,可以通过自定义**代码片段(Snippets)**快速插入常用代码模板。以下是详细设置步骤: 步骤 1:打开代码片段设置 按下快捷键 Ctrl Shift P(Windows/Linux)或…...
3D 地图渲染-区域纹理图添加
引入-初始化地图(关键代码) // 初始化页面引入高德 webapi -- index.html 文件 <script src https://webapi.amap.com/maps?v2.0&key您申请的key值></script>// 添加地图容器 <div idcontainer ></div>// 地图初始化应该…...
spring-security原理与应用系列:HttpSecurity.filters
目录 AnyRequestMatcher WebSecurityConfig HttpSecurity AbstractInterceptUrlConfigurer AbstractAuthenticationProcessingFilter 类图 在前面的文章《spring-security原理与应用系列:securityFilterChainBuilders》中,我们遗留了一个问题&…...
每日总结4.2
蓝桥杯刷题: 1. 方格分割(dfs,选中心点,开始上下左右遍历,达到边界时数量加一) #include <bits/stdc.h> using namespace std; bool vis[10][10]; int mp[10][10]; int ans0; int dx[4]{1,0,0,-1}; int dy[4]{…...
架构师面试(二十五):分布式存储 Leader 设计
问题 在非常多的分布式存储系统中,如:Zookeeper、Etcd、Kafka等,往往会存在一个 【Leader】 角色,并由该角色负责数据的写入,这样设计最主要的原因是什么呢? A. 唯一负责数据写入的 Leader 角色可以避免并…...
mycat --分片规则--
文章目录 MyCat分片规则详解1. rule1 (基于id的func1算法)2. sharding-by-date (按日期分片)3. rule2 (基于user_id的func1算法)4. sharding-by-intfile (基于枚举值分片)5. auto-sharding-long (长整型范围分片)6. mod-long (取模分片)7. sharding-by-murmur (MurmurHash分片)…...
系统分析师备考启动
以考促学:软件高级系统分析师。 一、考试目的: 1、练习三遍读书法、快速阅读、番茄工作法、第一性原理、思维导图等学习方法和学习工具的使用。 2、掌握知识、编织知识网、顺便拿证。 二、组织形式: 小组统一安排学习内容,每…...
轻量级搜索接口技术解析:快速实现关键词检索的Java/Python实践
Hi,你好! 轻量级搜索接口技术解析:快速实现关键词检索的Java/Python实践 接口特性与适用场景 本接口适用于需要快速集成搜索能力的开发场景,支持通过关键词获取结构化搜索结果。典型应用场景包括: 垂直领域信息检索…...
防爆风扇选型指南:根据风量风压匹配应用场景
在化工、石油、煤矿等存在易燃易爆气体或粉尘的危险环境中,通风设备的安全性能至关重要,防爆风扇成为保障生产环境安全与空气流通的关键装备。正确选型是确保其发挥最佳效能的前提,而根据风量风压匹配应用场景则是选型的核心要点。 风量&am…...
Laravel 中使用 JWT 作用户登录,身份认证
什么是JWT: JWT 全名 JSON Web Token,是一种开放标准 (RFC 7519)。 用于在网络应用环境间安全地传输信息作为 JSON 对象。 它是一种轻量级的认证和授权机制,特别适合分布式系统的身份验证。 核心特点 紧凑格式:体积小&#x…...
Git安装
1、 下载Git https://git-scm.com/ 2、 双击【Git-2.44.0-64-bit.exe】安装: 2-1、 选择自定义安装目录:F:\software\Git 2-2、 一直点击next,直到安装成功。 2-3、 在git项目文件夹,右键出现Git GUI Here和Git Bash Here就说明成…...
bit与byte的区别与联系?
李升伟 整理 byte 和 bit 是计算机中常用的数据单位,它们的主要区别和联系如下: 1. 定义 bit(比特):计算机中最小的数据单位,表示一个二进制位,值为0或1。 byte(字节)…...
程序化广告行业(51/89):Cookie映射与移动设备ID映射解析
程序化广告行业(51/89):Cookie映射与移动设备ID映射解析 在当今数字化营销的浪潮中,程序化广告已经成为企业精准触达目标客户的重要手段。作为一名对程序化广告充满兴趣的学习者,我希望通过这篇博客和大家一起深入探索…...
从吉卜力漫画到艺术创造:GPT-4o多种风格绘图Prompt大全
在3月底,GPT-4o掀起了一阵吉卜力绘图浪潮,大家纷纷输入一张图片,让4o模型进行风格化迁移,其中吉卜力风格的漫画在社交媒体上最为火热。在大家争议4o的训练数据是否侵权和4o背后的技术原理的时候,我们先来玩一玩&#x…...
48. 旋转图像
leetcode Hot 100系列 文章目录 一、核心操作二、外层配合操作三、核心模式代码总结 一、核心操作 先上下翻转再沿着对角线翻转 提示:小白个人理解,如有错误敬请谅解! 二、外层配合操作 三、核心模式代码 代码如下: class S…...
【Linux篇】自主Shell命令行解释器
📌 个人主页: 孙同学_ 🔧 文章专栏:Liunx 💡 关注我,分享经验,助你少走弯路! 文章目录 1. 获取用户名的接口2. 等待用户输入接口3. 将上述代码进行面向对象式的封装4. 命令行解析5.…...
leetcode 2873. 有序三元组中的最大值 I
欢迎关注更多精彩 关注我,学习常用算法与数据结构,一题多解,降维打击。 文章目录 题目描述题目剖析&信息挖掘解题思路方法一 暴力枚举法思路注意复杂度代码实现 方法二 公式拆分动态规划思路注意复杂度代码实现 题目描述 [2873] 有序三元…...
深度学习 Deep Learning 第14章 自编码器
深度学习 Deep Learning 第14章 自编码器 内容概要 本章深入探讨了自编码器(Autoencoders),这是一种用于特征学习和降维的神经网络架构。自编码器通过编码器和解码器两个部分,将输入数据映射到一个内部表示(编码&…...
全国产传感器的可靠性、MTBF计算、极限测试与加速寿命测试
全国产传感器的可靠性是指传感器在规定条件下和规定时间内完成规定功能的能力。它是衡量传感器性能的重要指标之一,直接影响传感器的使用寿命和系统稳定性。武汉利又德的小编来和大家分享一下关于全国产传感器的可靠性以及MTBF计算、极限测试与加速寿命测试的小知识…...
【算法中的数学】裴蜀定理(Bézout’s Identity)总结
裴蜀定理(Bzout’s Identity)总结 裴蜀定理是数论中的一个重要定理,描述了整数线性组合与最大公约数(GCD)之间的关系。 1. 裴蜀定理的内容 对于任意两个整数 a a a 和 b b b,设它们的最大公约数为 d …...
unity点击button后不松开通过拖拽显示模型松开后模型实例化
using System.Collections; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI;[RequireComponent(typeof(Button))] // 确保脚本挂在Button上 public class DragButtonSpawner : MonoBehaviour, IPointerDownHandler, IDragHandler, IPointerUpHandle…...
计算机网络复习 吉林大学
1、信息交换的三种方式:电路交换,分组交换,报文交换。 从通信资源的分配角度来看,交换就是按照某种方式动态地分配传输线路的资源。 电路交换:(星形结构替代全连接) 电话交换机接通电话的方式…...
超级好用的小软件,连接电脑和手机。
将手机变成电脑摄像头的高效工具Iriun Webcam是一款多平台软件,能够将手机摄像头变成电脑的摄像头,通过简单的设置即可实现视频会议、直播、录制等功能。它支持Windows、Mac和Linux系统,同时兼容iOS和Android手机,操作简单&#x…...
【JavaScript】十三、事件监听与事件类型
文章目录 1、事件监听1.1 案例:击关闭顶部广告1.2 案例:随机点名1.3 事件监听的版本 2、事件类型2.1 鼠标事件2.1.1 语法2.1.2 案例:轮播图主动切换 2.2 焦点事件2.2.1 语法2.2.2 案例:模拟小米搜索框 2.3 键盘事件2.3.1 语法2.3.…...
微服务架构技术栈选型避坑指南:10大核心要素深度拆解
微服务架构的技术栈选型直接影响系统的稳定性、扩展性和可维护性。以下从10大核心要素出发,结合主流技术方案对比、兼容性评估、失败案例及优化策略,提供系统性选型指南。 1. 服务框架与通信 关键考量点 扩展性:框架需支持定制化扩展&#x…...
虚拟试衣间微信小程序解决方案
目录 项目名称: 云尚衣橱 核心功能模块: 技术栈选型: 架构设计概览: 详细功能点实现思路: 数据库设计 (MongoDB 示例): 开发步骤建议: 关键注意事项和挑战: 项目名称: 云尚衣橱 核心功能模块: 用户系统 (User System) 我的衣柜 (My Wardrobe) 虚拟试衣间 (Vir…...
C++STL——容器-vector(含部分模拟实现,即地层实现原理)(含迭代器失效问题)
目录 容器——vector 1.构造 模拟实现 2.迭代器 模拟实现: 编辑 3.容量 模拟实现: 4.元素的访问 模拟实现 5.元素的增删查改 迭代器失效问题: 思考问题 【注】:这里的模拟实现所写的参数以及返回值,都是…...
MoLe-VLA:通过混合层实现的动态跳层视觉-语言-动作模型实现高效机器人操作
25年3月来自南京大学、香港理工、北大和香港科技大学的论文“MoLe-VLA: Dynamic Layer-skipping Vision Language Action Model via Mixture-of-Layers for Efficient Robot Manipulation”。 多模态大语言模型 (MLLM) 在理解复杂语言和视觉数据方面表现出色,使通用…...
《数字图像处理》教材寻找合作者
Rafael Gonzalez和Richard Woods所著的《数字图像处理》关于滤波器的部分几乎全错,完全从零开始写,困难重重。关于他的问题已经描述在《数字图像处理(面向新工科的电工电子信息基础课程系列教材)》。 现寻找能够共同讨论、切磋、…...
uni-app 框架 调用蓝牙,获取 iBeacon 定位信标的数据,实现室内定位场景
背景:最近需要对接了一个 叫 iBeacon 定位信标 硬件设备,这个设备主要的作用是,在信号不好的地方,或者室内实现定位,准确的找到某个东西。就比如 地下停车场,商城里,我们想知道这个停车场的某个…...
Java面试黄金宝典29
1. 什么是普通索引和唯一性索引 定义: 普通索引:是最基本的索引类型,它为数据表中的某一列或多列建立索引,以加快数据的查询速度。它不限制索引列的值重复,允许存在多个相同的值。唯一性索引:在普通索引的基…...
C语言常见3种排序
主要是三种排序方法:冒泡排序、选择排序、插入排序。 文章目录 一、冒泡排序 1.代码: 2.工作原理: 3.具体过程: 二、选择排序 1.代码 2. 工作原理 3.具体过程: 三、插入排序 1.代码 2.工作原理 3.具体过程 总结 一、…...
Nyquist插件基础:LISP语法-自定义函数
1 Nyquist插件基础:LISP语法-自定义函数 在 Nyquist 里,自定义函数能够让你把特定的操作封装起来,实现代码复用和逻辑模块化。下面详细介绍如何在 Nyquist 中定义和使用自定义函数。 1.1.1 1. 基本函数定义 在 Nyquist 中使用 defun 来定义…...