使用别人模板的步骤
1、开启监控取值页面
2、先导入模板 (好处一:检查模板的兼容性;提前看到key的名称)
3、zabbix-agent取值配置放在指定目录,如果有取值脚本,把监控取值脚本也放在指定目录(当zabbix权限不足时:可以使用sudo提权;也可以使用suid权限;或者让zabbix让root用户运行;)
4、使用zabbix_get取值测试,以zabbix用户的身份来运行取值脚本
5、web页面 链接新的模板
验证是否监控成功,就查看一下有没有最新数据
方法一: which 取值命令 chmod +s 命令
方法二:sudo提权
方法三:修改为root用户去运行zabbix
修改为root用户运行zabbix
walk的指令比get多
修改zabbix的进程用户为root
vim /etc/zabbix/zabbix_agentd.conf
250 AllowRoot=1
258 User=root
vim /usr/lib/systemd/system/zabbix-agent.service
User=root
17 Group=root
修改两个配置文件,老版本修改一个配置文件,新版本的zabbix修改两个配置文件
重启后就可以查看
[root@lsy source 21:23:38]# ps -ef |grep zabbix
root 27442 1 0 21:23 ? 00:00:00 /usr/sbin/zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
root 27443 27442 0 21:23 ? 00:00:00 /usr/sbin/zabbix_agentd: collector [idle 1 sec]
root 27444 27442 0 21:23 ? 00:00:00 /usr/sbin/zabbix_agentd: listener #1 [waiting for connection]
root 27445 27442 0 21:23 ? 00:00:00 /usr/sbin/zabbix_agentd: listener #2 [waiting for connection]
root 27446 27442 0 21:23 ? 00:00:00 /usr/sbin/zabbix_agentd: listener #3 [waiting for connection]
root 27447 27442 0 21:23 ? 00:00:00 /usr/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
root 27542 15378 0 21:23 pts/0 00:00:00 grep --color=auto zabbix
想做好监控,管会zabbix的监控技巧是不够的,还需要有思路,了解监控哪些方面。
监控角度总结:
操作系统级别的监控
应用软件级别的监控
监控集群
PV 页面被访问的次数
UV 终端的数量(根据session和cookie的数量)
IP 在同一个局域网里面共用一个公网ip,都算一个IP地址。可以查看那个区域的访问数量多
监控日志 使用ELK 是独立出来的
CPU有一个默认的断电保护功能
服务器 raid5 允许损坏一块盘
机房一般都有一个岗位做巡检 做巡检报告
机柜的电压功率8000w
服务器功率 550w 750w的
放的太多了会导致功率太大,会跳闸的。
硬盘会有几个灯,如果是绿灯是正常 黄灯是警告 红灯说明硬盘坏了。
服务器硬件(cpu温度,主板温度,功率,风扇的转速,硬盘的健康状态) ipmi芯片 远程管理控制卡idrac,ilo,imm 交换机路由器: snmp协议
操作系统 (cpu,内存,硬盘,网卡,系统进程,日志) zabbix linux模板
应用程序 nginx,mysql,redis,k8s-master 自定义模板 (网上现有的模板)
业务层面 业务访问速度,流量(pv,uv,ip),活跃用户日活,周 活,月活,成单量,交易额
日志监控 ELK
日志监控ELK也是一种监控,是日志监控,但是它很独立,所以从zabbix中脱离出来,zabbix中不监控日志文件,让ELK专业的监控日志文件。
硬件监控的方式:
ipmitool 命令行 自己做模板监控
如果买的是云主机,那么不用管理硬件监控
web监控
访问速度的监控 站长之家
访问流量的监控 腾讯分析
监控活跃用户数量 (交给开发人员,我们只要数值,进行创建监控项)
成单量以及交易额 (交给DBA,我们只要数值,进行创建监控项)
监控PV UV IP
监控原理:使用一段JS页面,根据JS代码加载的次数,来得知页面被访问的次数
这就是PV
第一个方式使用第三方软件 比如腾讯分析 百度统计 谷歌分析
第二种方式:自己建立一个matomo (开源的web统计分析软件)
虽然方式不同,但是监控的原理都是一样的,都是通过JS代码的访问次数,来分析web页面被访问了多少次
PS:如果页面是纯静态页面,那么没有好办法,只能一步一步的去添加。如果是JS或者是动态页面,可以直接放在样式代码中
流量,访问量(PV UV IP)
PV 页面被访问次数
UV 终端的数量
IP 共用一个IP地址
统计PV,access.log使用awk是没法统计,是因为访问一个页面会出现很多的访问日志,没法通过awk进行取值。
每个页面插入一段js代码,统计js代码被加载的次数
第一种方式:使用第三方的平台 腾讯分析 百度统计 百度统计 谷歌分析
将JS代码插入每一个网页中:模拟生成
将统计分析的js代码,添加到网页模板中
piwik ------ matomo 分析统计的一个开源网站
WordPress缓存插件 super cache
检测网站访问速度
web页面的操作
少了200状态码
抓取界面
在最新数据里面也可以看到
这里的web应用集是我们在web场景时设置的,其实web场景就是一个应用集
设置报警信息
如果页面过了1秒钟才响应就报警(响应时间大于1秒时,触发报警)这里是取的平均值
将zabbix抓取页面的日志信息给关闭
if $User_agent ~ ^Zbbix$ {
access_log off;
}
监控数据库:
监控数据库为什么要使用插件:
percona
1、导入模板
2、zabbix-agent配置文件
3、zabbix_get测试取值
4、链接导入的模板
下载插件地址:
查看数据包的内容
[root@lsy ~ 02:38:45]# rpm -qlp percona-zabbix-templates-1.1.8-1.noarch_\(1\).rpm
warning: percona-zabbix-templates-1.1.8-1.noarch_(1).rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
/var/lib/zabbix/percona
/var/lib/zabbix/percona/scripts
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh
/var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
/var/lib/zabbix/percona/templates
/var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf
/var/lib/zabbix/percona/templates/zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
[root@lsy ~ 02:39:01]#
mysql不需要进行开启监控查询界面
mysql -uroot -poldboy123 -e 'show status;'
[root@lsy ~ 02:42:17]# rpm -ivh percona-zabbix-templates-1.1.8-1.noarch_\(1\).rpm
warning: percona-zabbix-templates-1.1.8-1.noarch_(1).rpm: Header V4 DSA/SHA1 Signature, key ID cd2efd2a: NOKEY
Preparing... ################################# [100%]
Updating / installing...
1:percona-zabbix-templates-1.1.8-1 ################################# [100%]
Scripts are installed to /var/lib/zabbix/percona/scripts
Templates are installed to /var/lib/zabbix/percona/templates
[root@lsy ~ 02:42:30]# ll
[root@lsy ~ 02:43:29]# cd /var/lib/zabbix/percona/templates/
[root@lsy templates 02:45:41]# ll
total 284
-rw-r--r-- 1 root root 18866 Jan 10 2018 userparameter_percona_mysql.conf
-rw-r--r-- 1 root root 269258 Jan 10 2018 zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
修改脚本内容,将数据库的用户名和密码给修改为本机的用户名和IP地址。
这个特殊的地方就是在于:不需要进行GitHub上下载监控模板,而是直接安装rpm包,zabbix-agent的配置文件以及监控模板,都会在里面。
如果出现监控模板无法导入成功的问题,那就是兼容性问题,那就再换一个模板
其余的和其他的模板使用没有其他区别
注意一下这个脚本出现的日志文件 权限问题。将zabbix的进程用户改为root就成了
snmp监控网络设备
不是所有设备都支持snmp协议,zabbix-agent监控方式的一种补充
华为 思科 锐捷 华三
hp
linux和Windows可以支持snmp协议
snmp协议监控的原理:
版本:
V1
V2C 主流版本
V3
社区名 community 口令
监控snmp的架构图
zabbix的监控项在snmp里面叫oid object id
MIB库:拥有所有的oid信息
在linux上安装snmp服务
第一步安装snmp服务
修改配置文件:
vim /etc/snmp/snmpd.conf
41 com2sec notConfigUser default oldboy
55 view systemview included .1 新增的一行
客户端安装 (在zabbix服务端安装 作为snmp的客户端进行取值)
yum install -y net-snmp-utils
snmp客户端的使用方法
[root@zabbix scripts]# snmpwalk -c oldboy -v 2c 10.0.0.7 .1.3.6.1.2.1.25.2.2.0
HOST-RESOURCES-MIB::hrMemorySize.0 = INTEGER: 995896 KBytes
[root@zabbix scripts]#
snmpget 命令没有 snmpwalk命令取的信息多
修改这宏
修改这个
自动注册出现一个问题:
Get value from agent failed: cannot connect to [[10.0.0.100]:10050]: [113] No route to host
问题可能是因为 我没有关闭firewalld
果然是这样子的
zabbix的自动发现和自动注册
他俩都是为了实现自动化监控
zabbix的自动发现和自动注册
他俩都是为了实现自动化监控
自动发现 效率低扫描一个网段 添加监控主机(连接什么模板)
zabbix 自动注册 效率高
自动注册
客户端主动找zabbix-server 请求添加被监控(提前配置好规则)
第一步配置自动注册规则:
第二步自动zabbix-agent的客户端
Server=10.0.0.71
ServerActive=10.0.0.71
Hostname=we01 web02
Hostmetadata=web
(最后一个图片是优秀的人做出来的,我只是借鉴)
向优秀学习!