1.web方案
web scenario:web监控方案,web场景;
web scenarios指的是监控指定的web站点的资源下载及页面响应时间等数据指标;
(1)创建web监控需要先定义一个web scenario(方案):
一个web方案包括一个或多个HTTP请求或步骤(steps)
每次监控都是按照预先定义的步骤的顺序执行;
(2)通过web监控方案可以获取到下列信息:
整个web方案中所有步骤的速度和响应时间,以及平均下载速度和平均响应时间;
失败的步骤号
失败的报错信息
(3)在设置web方案中的具体步骤时,可以按需调用此步骤的下载速度和响应时间,以及响应状态码;
(4)Zabbix可以检测获取到HTML页面中是否包含预设的字符串信息,也可以实现模拟浏览器完成登录,身份验证和页面点击的功能;
(5)在创建完成一个步骤以后,Zabbix会自动在已经选择好的application中添加若干个items,这些items可以用于创建触发器及定义报警条件;
基于之前创建的nginxweb创建web,点击Hosts里面nginxweb后面的web,点击Create web scenario
在Steps添加相关内容
创建完成后,查看latest data,多了六项内容
2.Zabbix的主动/被动检测
被动检测:相对于agent而言,agent接口,Zabbix server向Zabbix agent请求获取配置的各items相关的数据,agent负责接收请求、获取数据并响应给Zabbix server
主动检测:相对于agent而言,agent(active)接口,Zabbix agent向Zabbix server请求与自己相关的items的配置,主动地将监控数据发送给Zabbix server;
配置主动检测,在agent端需要的基本配置:
ServerActive=Zabbix_server,Zabbix_proxy
Hostname=Local_hostname
在agent端需要的基本配置
##### Active checks related,在该配置段中配置一下内容
ServerActive=172.16.1.2
Hostname=zrs2.zrs.com
还要在server端配置一下内容
[root@zrs1 ~]# vim /etc/hosts
172.16.1.4 zrs2.zrs.com zrs2
删除之前的host,创建一个新的host
在这个host上面创建item,preprocessing中改为Change per second
查看,因为有之前创建的的模版,所以直接加进当前host中,为5个item和2个application,可以看到已经监控成功。
3.基于snmp协议被动监控
什么是SNMP
SNMP:“简单网络管理协议”,用于网络管理的协议。SNMP用于网络设备的管理。SNMP的工作方式:管理员需要向设备获取数据,所以SNMP提供了“读”操作;管理员需要向设备执行设置操作,所以SNMP提供了“写”操作;设备需要在重要状况改变的时候,向管理员通报事件的发生,所以SNMP提供了“Trap”操作。
监听端口
161/udp
162/udp
CentOS 6/7:支持SNMP协议的方法:
net-snmp,net-snmp-utils
配置文件:
/etc/snmp/snmpd.conf
启动服务:
systemctl start snmpd.service
测试工具:
snmpget -v 2c -c public HOST OID
snmpwalk -v 2c -c public HOST OID
在被管理的主机上,关闭zabbix-agent服务
[root@zrs2 ~]# systemctl stop zabbix-agent.service
在监控主机和被监控主机上都下载snmp服务
yum -y install net-snmp net-snmp-utils
在被监控的主机上启动服务
[root@zrs2 ~]# systemctl start snmpd.service
在监控主机上测试
[root@zrs1 ~]# snmpget -v 2c -c public 172.16.1.4 system.sysDescr.0
SNMPv2-MIB::sysDescr.0 = STRING: Linux zrs2.zrs.com 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_64
删除之前的host,创建新的基于snmp的host,还用原来的name
创建item,监控网络流量,snmp可以任意写一个key,snmp监控在OID上面,preprocessing中改为Change per second
4.Zabbix Proxy
分布式监控的模型之一;
两种类型:
server-node-agent
server-proxy-agent(zabbix 3.0+)
安装和配置Zabbix proxy:
完成代理功能:
zabbix-proxy-mysql zabbix-get
实现将采集的数据传回给server:
zabbix-sender
想要监控proxy主机:
zabbix-agent
打开一台新的虚拟机172.16.1.5,安装zabbix-proxy-mysql zabbix-get zabbix-sender zabbix-agent作为反代主机
[root@zrs4 ~]# hostname
zrs4.zrs.com
配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
[root@zrs4 ~]
# egrep -v '^$|#' /etc/zabbix/zabbix_proxy.conf
ProxyMode=0
Server=172.16.1.2
Hostname=zrs4.zrs.com
LogFile=
/var/log/zabbix/zabbix_proxy
.log
LogFileSize=0
PidFile=
/var/run/zabbix/zabbix_proxy
.pid
SocketDir=
/var/run/zabbix
DBHost=172.16.1.5
DBName=zbxdb
DBUser=zabbixuser
DBPassword=zabbixpass
ConfigFrequency=60
DataSenderFrequency=5
StartPollers=5
StartPollersUnreachable=1
StartTrappers=5
StartPingers=1
StartDiscoverers=1
StartHTTPPollers=1
SNMPTrapperFile=
/var/log/snmptrap/snmptrap
.log
Timeout=4
ExternalScripts=
/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
|
创建数据库
1
2
3
4
5
|
[root@zrs4 ~]
# systemctl start mariadb
[root@zrs4 ~]
# mysql
MariaDB [(none)]> create database zbxdb charset
'utf8'
;
MariaDB [(none)]> use zbxdb;
MariaDB [(none)]> grant all on zbxdb.* to zabbixuser@
'172.16.%.%'
identified by
'zabbixpass'
;
|
导入数据库
1
2
3
4
5
6
|
[root@zrs4 ~]
# cp /usr/share/doc/zabbix-proxy-mysql-3.4.4/schema.sql.gz /root
[root@zrs4 ~]
# ls
anaconda-ks.cfg initial-setup-ks.cfg schema.sql.gz
[root@zrs4 ~]
# gunzip schema.sql.gz
[root@zrs4 ~]
# mysql -uzabbixuser -h172.16.1.5 -p zbxdb < schema.sql
Enter password:
|
启动服务
systemctl start zabbix-proxy.service
在Administration的Proxies中创建反代
打开一台新的虚拟机172.16.1.10,安装 zabbix-sender zabbix-agent,作为反代服务器的后端
[root@zrs5 ~]# hostname
zrs5.zrs.com
配置文件
1
2
3
4
5
6
7
8
9
10
11
|
[root@zrs5 ~]
# egrep -v '^$|#' /etc/zabbix/zabbix_agentd.conf
PidFile=
/var/run/zabbix/zabbix_agentd
.pid
LogFile=
/var/log/zabbix/zabbix_agentd
.log
LogFileSize=0
EnableRemoteCommands=1
Server=172.16.1.5
ListenPort=10050
StartAgents=3
ServerActive=12.16.1.5
Hostname=zrs5.zrs.com
Include=
/etc/zabbix/zabbix_agentd
.d/
|
创建发现规则
再创建动作,就可以通过反代自动添加主机了。
查看Hosts,发现这个主机已经成功添加进来了,给监控到的这个主机创建一个item监控项,preprocessing中改为Change per second
然后查看Hosts,这个主机的绿灯也亮了。
查看这个主机的Latest data,正常监控了。