1.snmp基础介绍

snmp全称是简单网络管理协议

为什么要用?
	路由器交换机无法安装agent程序,但是都提供snmp服务端, 我们可以使用zabbix的snmp方式监控snmp服务端的数据
2.snmp基础概念:
OID:
		内存的大小:.1.3.6.1.2.1.25.2.2.0
		内存的剩余:.1.3.6.1.2.1.25.2.2.1
		任何一个指标在snmp中都有一个唯一的值进行表示,那么oid排列顺序是以树状信息排列。   

MIB库:统计所有的old库(国际标准)
	获取内存信息,hrMemorySize.0

可以理解MIB是域名,比较好记忆。  OID是IP地址,不太好记忆。
snmp版本:
	v1:不支持加密,任何人都可以取值, 不安全
	v2:简单加密版,通过口令才可以取值  通过 community设定口令
	v3:复杂加密,采集效率比较低
	目前使用的最多的还是v2版本
3.snmp服务端安装
1.安装
[root@web02 ~]# yum install net-snmp -y
2.配置
[root@web02 ~]# vim /etc/snmp/snmpd.conf
#public是默认密码,建议修改
com2sec notConfigUser  default		oldxu

#限制丛树杈哪个地方开始取值,如果需要监控的信息,设置.1从顶点开始
view    systemview    included   .1

3.启动
[root@web02 ~]# systemctl enable snmpd.service 
[root@web02 ~]# systemctl start snmpd

4.客户端安装命令测试取值
yum install net-snmp-utils -y
snmpwalk -v2c -c oldxu 172.16.1.7 .1.3.6.1.2.1.25.2.2.0		#OID方式
 snmpwalk -v2c -c oldxu 172.16.1.7 hrMemorySize.0				#MIB方式
5.在zabbix-web界面直接添加即可

zabbix怎么snmp测试 zabbix snmp oid_python

4..zabbix基础架构

zabbix怎么snmp测试 zabbix snmp oid_java_02

5.zabbix内部资源

zabbix怎么snmp测试 zabbix snmp oid_linux_03

6.web监控

pv uv ip
1.awk
2.腾讯分析  百度统计  google分析
3.piwiki    ---> 改名matomo
4.自建流量分析平台

1.进入腾讯移动分析平台   html应用     别人家
2.给一份js的代码
3.将js的代码加入网站
4.等待一天 就能查看到指标
	
2.自己家  开源matomo 
php+mysql  方式开发    LNMP环境  + matomo代码  = 统计网站

1.准备好一个blog站点  +  qq主题
2.安装matomo程序
3.matomo添加我们的网站,会生成一个js的代码
4.登录blog 将js代码添加进主题
5.用户模拟访问测试
6.登录matomo查看pv 情况

注意:	
在内网使用,一定都需要做域名解析
在外网使用,无需考虑

请求延时
响应延时
加载时间
网站慢则报警
实际案例:  监控一个网站:  zabibx网站速度
1.访问zabbix
2.登录zabbix		regex:name="csrf-token" content="([0-9a-z]{16})"			
3.检查zabbix
4.退出zabbix
5.检查是否退出zabbix成功
监控宝   压测宝

1.snmp监控2.腾讯移动分析公网--3.matomo内网分析4.web检测-->wordpress

zabbix怎么snmp测试 zabbix snmp oid_java_04

7.自动化监控:

自动发现,网络发现
主动注册	
主动模式与被动模式区别?
主动模式与被动模式效果展示?

8.自动发现:

规则  +  动作  --> 
添加主机  
添加主机组  
添加模板

zabbix怎么snmp测试 zabbix snmp oid_zabbix怎么snmp测试_05

zabbix怎么snmp测试 zabbix snmp oid_大数据_06

zabbix怎么snmp测试 zabbix snmp oid_zabbix怎么snmp测试_07

1.自动发现弊端:

1.扫描慢
2.容易漏
3.对server压力较大
4.无法根据主机名称关联对应模板

9.主动注册:

1.agent主动上报数据,而不是server询问
2..agent需要配置 ServerActive  HostName   配置为主动模式
3.配置*--->动作--->自动注册--->创建动作--->*

zabbix怎么snmp测试 zabbix snmp oid_zabbix怎么snmp测试_08


zabbix怎么snmp测试 zabbix snmp oid_大数据_09

zabbix怎么snmp测试 zabbix snmp oid_大数据_10

10.主动注册2个场景:

1.根据主机名称,关联不同的模板?
web	linux tcp nginx php  mysql-slave
db	linux tcp mysql 
2.根据主机的元数据,关联不同的模板?
linux
windows
解决方案: 在我们的agent端添加:HostMetadataItem=system.uname

zabbix怎么snmp测试 zabbix snmp oid_linux_11

zabbix怎么snmp测试 zabbix snmp oid_linux_12

zabbix怎么snmp测试 zabbix snmp oid_python_13

11.主动模式和被动模式的区别?

网络发现  ---> 被动模式
主动注册  ---> 主动模式
主动还是被动说的都是Agent程序.

被动:

形象理解:   领导找你要数据
	Server-->不断轮询Agent获取数据


zabbix怎么snmp测试 zabbix snmp oid_java_14

主动:

形象理解: 
主动向领导汇报数据
Agent自动上报数据给Server

zabbix怎么snmp测试 zabbix snmp oid_zabbix怎么snmp测试_15

zabbix怎么snmp测试 zabbix snmp oid_python_16

zabbix监控项全部都是被动模式:	
针对监控项目被动模式:   获取100个值   	   需要server轮询获取Agent100次
针对监控项目主动模式:	  获取100个监控项的值    	Server--->发给Agent   Agent一次上报所有数据
主动模式:    自动注册      zabbix监控客户端(主动式)
被动模式:    网络发现      zabbix监控客户端(被动式)
主动模式与被动模式 选择哪个?
1.如果主机超过300+以上,建议主动
2.如果zabbix队列比较繁忙 建议主动模式