zabbix监控系统的详细使用

来源:互联网 发布:淘宝客服子取名字大全 编辑:程序博客网 时间:2024/06/07 01:55


前言:zabbix数据展示接口可以通过grafana进行展示

(一)zabbix监控系统 再次强化

zabbix的触发器函数的使用:http://www.cnblogs.com/xfbc/p/5753740.html

  • 添加一台被监控主机的步骤
1:配置zabbix的yum仓库
2:yum安装zabbix-agent , zabbix-sender
3:编辑配置文件/etc/zabbix/zabbix_agentd.conf(主动和被动只能选择一个)
EnableRemoteCommands=1
LogRemoteCommands=1
Server=127.0.0.1,192.168.23.67 # 被动监控模式下,需要服务端请求数据
ServerActive=127.0.0.1,192.168.23.67 # 主动监控模式下,向服务端发送数据
Hostname=httpd # 如果是主动模式,需要给定一个主机名
4:systemctl start zabbix-agent # 启动客户端进程
  • (一)将监控项可视化绘制为图形步骤
1:加入在一个application应用集中定义多个的监控项,如网卡入栈包个数,网卡出栈包个数,网卡入栈字节数,网卡出栈字节数

Alt text

2:在点击主机,再点击图形,创建图形,就可以将一个application的监控项添加到对应的图形中。最后可以在监控中选项的图形选项中看到不同监控项绘制的图式

Alt text

Alt text

  • (二)将图形显示在聚合图形步骤
1:选择screen聚合图形,创建聚合图形,将创建的图形添加到聚合图形中,然后还可以做成幻灯片,设定一个时间切换一次

Alt text

Alt text

Alt text

  • (三)模板介绍
模板的功用:
作用于主机之上从而实现对主机监控的快速配置,也就是说将模板应用于不同的主机之上,实现对新添加的主机快速监控和报警
在我们选择配置,选择模板的时候,会发现zabbix有很多内置的模板,其中有一项是linux的系统监控模板,点开之后发现,模板中已经定义好了很多的监控项、图形、触发器等等,和之前我们自己定义的一样
下面我们通过新创建的一台agent主机,对它套用模板进行监控
1:配置zabbix的yum仓库
2:yum安装zabbix-agent , zabbix-sender
3:编辑配置文件/etc/zabbix/zabbix_agentd.conf(主动和被动只能选择一个, 选两个也不会报错)
EnableRemoteCommands=1
LogRemoteCommands=1
Server=192.168.23.67 # 被动监控模式下,需要服务端请求数据
ServerActive=127.0.0.1,192.168.23.67 # 主动监控模式下,向服务端发送数据
Hostname=node2 # 如果是主动模式,需要给定一个主机名
4:systemctl start zabbix-agent # 启动客户端进程
  • 开始在监控的GUI上开始操作
1:选择创建一台host主机,如果使用zabbix现有的模块,那么只需要在创建模板的时候将主机链接到模板就好了

Alt text

2:如果你想进行自定义模板的话,那么可以自己创建。必须在创建模板的时候指定一个模板组,然后在这个组里面可以看到这个模板。然后再模板上新创建application应用集、创建item监控项等等,就可以使用了。同样自定义的模板也使用zabbix自定义的监控项

Alt text

Alt text

Alt text

Alt text

  • (四)宏:macro。也就是说,宏可以被编译的时候自动的替换为之前已经定义好的文本。zabbix有自带的宏,也可以自定义的宏
zabbix有两种宏的定义方式:宏也可以应用到item keys、trigger、表达式、IP、等需要填写文本的地方
1:内置宏变量 {MACRO}:如:{HOST.NAME}, {HOST.IP}, {TRIGGER.NAME}
2:自定义宏变量 {$MACRO},命名方式为:大写字母,数字和下划线
宏的查找顺序是:主机宏–>模板宏–>全局宏
说明:主机宏的优先级最高
  • 全局宏定义方法

Alt text

  • 模板宏定义方法

Alt text

  • 主机宏定义方法

Alt text

  • 使用自定义的宏和系统自带的宏(使用自定义的宏需要加上$符号)

Alt text

  • (五)用户自定义监控项的key值
key值就是在定义item监控项的时候选择的,获取zabbix-agentd端的数据指标key

Alt text

自定义key值说明:
1key值必须在zabbix agent端实现,必须写在zabbix agent的客户端的zabbix_agentd.conf配置文件中。
2:zabbix_agentd.conf配置文件中定义key的语法格式如下
UserParameter=<key>,<command>,且这个command命令就是在zabbix-agentd端支持运行的命令
  • 在如何定义和使用自定义key
1:agent端编辑/etc/zabbix/zabbix_agentd.conf文件,在文件中定义自定义key的格式
①:UserParameter=memory.usage[*],cat /proc/meminfo | awk '/^$1:/{print $$2}'
②:解释一下上面这个自定义key格式的意义:memory.usage[*] 为在web界面中需要填写的key,* 为你需要输入的参数,这个参数会传递到后面的命令中,awk命令中的$1就是引用前面的第一个参数,而$$2是awk自己的参数,为了与自定义key的参数区分开来,所以又加了一个$符号。而且这个key返回的最大数据不能超过512KB
③:在配置文件中写好了自定义key之后,可以在zabbix服务端使用获取数据的命令先测试一下:zabbix_get -s 192.168.23.11 -p 10050 -k "memory.usage[MemFree]", 如果测试可以获得zabbix-agent端的数据,那么就可以在GUI中定义了
④:那么就是说如果在GUI界面中定义key的时候使用memory.usage[MemFree],那么就像在zabbix-agentd端运行了cat /proc/meminfo | awk '/^MemFree:/{print $2}'命令,返回的结果是9112KB。设置了自定义key之后还需要重启zabbix-agent服务

Alt text

Alt text

  • 使用示例(这里在网上找了几个常用的几个自定义key的书写样本,希望大家可以举一反三)
①:UserParameter=memory.usage[*],cat /proc/meminfo | awk '/^$1/{print $$2}'
②:UserParameter=ngx.active[*],curl -s http://$1: $2/$3 | awk '/^Active/{print $$3}' 这是获取Nginx主机状态页的信息,$1为主机的IP地址,$2为主机的端口,$3位请求的目录,状态页一般是/status
③:UserParameter=ngx.accepts[*],curl -s http://$1: $2/$3 | awk '/^[[:space:]]*[0-9]/{print $$1}'
# 写一个shell脚本获取key的值,脚本必须是可以执行的,切记
④:UserParameter=free.disk,/zabbix/shell/disk.sh
# 写一个Python脚本获取key的值,脚本必须是可以执行的,切记
⑤:UserParameter=free.disk,/zabbix/shell/disk.py
  • (五)discovery自动发现功能 (所有的主机已经安装zabbix-agent或启用SNMP功能)(把之前添加的主机可以先删除,避免监控混乱)
  • 温馨提示:定义自动发现,顺序是先定义动作,再定义自动发现,如果顺序搞错可能会无法将发现的主机执行对应的动作,在定义动作的时候,先将主机加入到主机组里面,再添加到主机
  • 温馨再次提示:在主机栏中显示的发现的主机都是以IP显示的,为了人性化却别,务必zabbix-server中在/etc/hosts文件中将对应IP指定主机名
几个重要的概念解释:
概念解释1:server扫描指定网络中的主机,如果发现指定网段内部有主机的agent端打开,也就是说处于监听状态的话,能够自动的添加到监控内,那么还可以将模板应用到这个主机之上。那么到底应用哪个模板呢?我们可以检测这个主机,如果80端口打开的话,就将web模板应用到这个主机上。如果是MySQL的3306端口的话,那么就将MySQL的模板应用到这个主机上,这样就完成了监听
概念解释2:zabbix服务端在扫描主机的时候,如果发现主机不在线或宕机了,那么就需要将主机移除监控范围
  • zabbix在指定网络中的发现过程通过以下步骤完成
①:扫描指定的范围内的ip地址(网络地址)
②:扫描可用的服务进程和端口(http, ssh, telnet, ftp,MySQL等)
③:zabbix_agent端响应zabbix服务端的扫描
  • 那么在扫描的网段过程中一般有两个过程
第一个过程是:网段内主机发现(discovery)
第二个过程是:发现主机后,执行对应的动作(action
  • 发现过程又分为两类
一类是:service 服务发现
一类是:host 主机发现
但是:无论是服务进程发现还是主机发现,都分为四种情况:
被发现(discovered)-> 添加主机
丢失(lost)-> 删除主机
启动(up)-> 启用主机
关闭(down)-> 禁用主机
  • 可采取的动作有如下几类
①:执行远程命令,或发送消息
②:添加/删除主机 (较为常用)
③:启用/禁用主机
④:将主机添加至组,从组中删除主机
⑤:将模板铰接至主机,将主机删除模板 (较为常用)
  • 指定在一个网段内发现主机并添加模板的操作演示(已经监控的主机如果在这个指定范围内的话,那么也会被再次添加)

Alt text

  • 在配置完成自动发现之后,再去定义action动作

Alt text

Alt text

Alt text

Alt text

  • 那么现在就可以在监测中的仪表板中查看发现的主机是否满足发现的条件

Alt text

Alt text

  • 最后规范一下自动添加的定义过程

Alt text

Alt text

  • (六)Web监测定义

Alt text

Alt text

Alt text

Alt text

Alt text

原创粉丝点击