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界面直接添加即可
4..zabbix基础架构
5.zabbix内部资源
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
7.自动化监控:
自动发现,网络发现
主动注册
主动模式与被动模式区别?
主动模式与被动模式效果展示?
8.自动发现:
规则 + 动作 -->
添加主机
添加主机组
添加模板
1.自动发现弊端:
1.扫描慢
2.容易漏
3.对server压力较大
4.无法根据主机名称关联对应模板
9.主动注册:
1.agent主动上报数据,而不是server询问
2..agent需要配置 ServerActive HostName 配置为主动模式
3.配置*--->动作--->自动注册--->创建动作--->*
10.主动注册2个场景:
1.根据主机名称,关联不同的模板?
web linux tcp nginx php mysql-slave
db linux tcp mysql
2.根据主机的元数据,关联不同的模板?
linux
windows
解决方案: 在我们的agent端添加:HostMetadataItem=system.uname
11.主动模式和被动模式的区别?
网络发现 ---> 被动模式
主动注册 ---> 主动模式
主动还是被动说的都是Agent程序.
被动:
形象理解: 领导找你要数据
Server-->不断轮询Agent获取数据
主动:
形象理解:
主动向领导汇报数据
Agent自动上报数据给Server
zabbix监控项全部都是被动模式:
针对监控项目被动模式: 获取100个值 需要server轮询获取Agent100次
针对监控项目主动模式: 获取100个监控项的值 Server--->发给Agent Agent一次上报所有数据
主动模式: 自动注册 zabbix监控客户端(主动式)
被动模式: 网络发现 zabbix监控客户端(被动式)
主动模式与被动模式 选择哪个?
1.如果主机超过300+以上,建议主动
2.如果zabbix队列比较繁忙 建议主动模式