qazxsw1 发表于 2019-1-18 11:09:55

zabbix的Discovery功能,zabbix监控apache server

  参考文档https://www.zabbix.com/documentation/2.2/manual/discovery
  一 网络发现
  https://www.zabbix.com/documentation/2.2/manual/discovery/network_discovery

  zabbix提供有效而灵活的自动网络发现功能,使用自动网络发现功能可以:
  1)加速zabbix的部署
  2)简化zabbix的管理
  3)在快速变更的环境中使用zabbix不需要过多的管理
  

  zabbix网络发现功能是基于以下信息:
  1)IP范围
  2)外部服务的可用性,如TCP,HTTP,POP,FTP,SSH等
  3)从zabbix agent接收到的信息
  4)从SNMP agent接收到的信息
  

  zabbix不能提供发现网络拓扑的功能
  zabbix网络发现功能本质上包括两个阶段,根据发现规则发现主机和发现主机后对主机采取相应动作.
  zabbix会间断地扫描网络发现规则中定义的IP范围。间隔时间可以自定义。

  每个发现规则都有一系列根据定义的服务类型去检查IP范围内的主机,每次发现都会产生一次发现事件,然后可以对发现的主机采取相应动作,如添加或删除主机到一个主机组,发送邮件,添加或删除模板等操作。
  

  配置Dicovery
参考文档https://www.zabbix.com/documentation/2.2/manual/discovery/network_discovery/rule

  

  二 利用zabbix agent主动监控自动注册 active agent auto-registration
  zabbix agent配置文件中配置了ServerActive可以用于agent自动注册。
  自动注册不需要创建一个网络发现规则

  

  使用主机元数据 Use host metadata
  当zabbixagent向zabbix server发送自动注册请求时,它会发送主机名给server。在有些情况下,主机名不足以zabbix
server来区分发现的主机。这样可以选择使用主机元数据host metadata来向server发送一些其他信息。
  在zabbix agent配置文件中相关的参数有
  HostMetadata
  定义除了主机名外额外区分不同主机的信息 如果设置的值超过255个字符,agent会显示错误信息
  HostMetadataItem
  定义HostMetada的获取方式如果设置的值超过255个字符,agent会显示错误信息
  RefreshActiveChecks
  设置agent发送主动监控的间隔时间,默认是120秒
  

  案例1 使用主机元数据区分Linux服务器和Windows服务器
  在zabbix agent配置文件中配置

  HostMetadataItem=system.uname
  这样可以保证运行agent的主机的主机元数据包含Linux或Windows
Linux: Linux server3 3.2.0-4-686-pae #1 SMP Debian 3.2.41-2 i686 GNU/Linux
Windows: Windows WIN-0PXGGSTYNHO 6.0.6001 Windows Server 2008 Service Pack 1 Intel IA-32  在zabbix页面上点击Configuration-->ActionsEvent source选择Auto registration然后点击Create action然后填入动作名称,条件和动作,如下图
http://s3.运维网.com/wyfs02/M00/6C/ED/wKioL1VXWMjw1v0oAACY3m6NNGw112.jpg
  

  三 低级发现功能 low-level discovery
  参考文章
http://john88wang.blog.运维网.com/2165294/1439500
https://www.zabbix.com/documentation/2.2/manual/discovery/low_level_discovery
  

  

  

  

  

  zabbix监控apache server-status
  http://jaychang.iteye.com/blog/2215945
  系统环境:centos6.3 x64
  apache:   httpd-2.4.4
  zabbix:   zabbix-2.06
  

  首先在本机下载模板:https://github.com/rdvn/zabbix-templates/archive/master.zip
  该zip包有apache、memcache、redis、varnish模板,我们解压后使用其中的apache模板。
  一.打开apache的配置文件添加server-status:
  

  # vi /usr/local/apache/conf/httpd.conf
  末行添加如下内容:
  ---------------------
  #ExtendedStatue On

SetHandler server-status
Order Allow,Deny
Allow from all


  ---------------------
  重启apache使其生效:
  # /usr/local/apache/bin/apachectl restart
  

  二.zabbix配置:
  将下载下来zip包内apache目录下apache_status.sh上传到系统/data/zabbix/sbin/下,并赋予执行权限
  # chmod +x apache_status.sh
  # ll /data/zabbix/sbin/apache_status.sh
  -rwxr-xr-x1 root root      248 4月23 2012 apache_status.sh
  

  修改zabbix_agentd.conf配置:
  # vim /data/zabbix/etc/zabbix_agentd.conf
  末行添加如下内容:
  UserParameter=apache
[*],/data/zabbix/sbin/apache_status.sh $1
  重启zabbix服务
  # /etc/init.d/zabbix_agentd restart
  

  三.访问zabbix web后台导入模板

[*]  访问zabbix-配置-模板,点击右上角的载入:
  将本地zip包中apache目录下的apache.xml文件导入zabbix模板,点击载入保存。
http://s3.运维网.com/wyfs02/M01/6C/FB/wKioL1VZjUrRa8s8AADaOFhhgPc304.jpg
  3.访问zabbix-配置-模板,查看模板:
http://s3.运维网.com/wyfs02/M00/6C/FB/wKioL1VZjtuwkdlnAACPoYQQRYI520.jpg

  4.访问zabbix-配置-主机-192.168.7.12,找到apache客户端关联templete Apache模版:
http://s3.运维网.com/wyfs02/M00/6D/00/wKiom1VZjY_QjdxDAAIMIuvsQhk354.jpg
http://s3.运维网.com/wyfs02/M01/6C/FB/wKioL1VZjzDiA2z1AAFv7g4lv8I696.jpg
  添加templete Apache模板即可
  

  添加完毕,查看效果
http://s3.运维网.com/wyfs02/M02/6C/FB/wKioL1VZj2ugrLBEAAQrtbvsr-E678.jpg
http://s3.运维网.com/wyfs02/M02/6D/00/wKiom1VZjhHjr5X2AAK3cacJ0_Q446.jpg
  

  

  

  

  

  zabbix 监控tcp连接数
  Tcp的连接状态对于我们web服务器来说是至关重要的,尤其是并发量ESTAB;或者是syn_recv值,假如这个值比较大的话我们可以认为是不是受
到了***,或是是time_wait值比较高的话,我们要考虑看我们内核是否需要调优,太高的time_wait值的话会占用太多端口,要是端口少的话后
果不堪设想。
  

  一:这里列出脚本如下:
# cat /usr/local/zabbix/alertscripts/tcp_connect.sh
#!/bin/bash
#scripts for tcp status
function SYN_RECV {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s}' | grep 'SYN-RECV' | awk '{print $2}'
}
function ESTABLISHED {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s}' | grep 'ESTAB' | awk '{print $2}'
}
function FIN_WAIT1 {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s}' | grep 'FIN-WAIT-1' | awk '{print $2}'
}
function FIN_WAIT2 {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s}' | grep 'FIN-WAIT-2' | awk '{print $2}'
}
function TIME_WAIT {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s}' | grep 'TIME-WAIT' | awk '{print $2}'
}
function LAST_ACK {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s}' | grep 'LAST-ACK' | awk '{print $2}'
}
function LISTEN {
/usr/sbin/ss -ant | awk '{++s[$1]} END {for(k in s) print k,s}' | grep 'LISTEN' | awk '{print $2}'
}
$1  二、填写key值:当然大家在加入key值之后最好再服务器上面去执行看有没有返回值:
  # cat /usr/local/zabbix/etc/zabbix_agentd.conf.d/tcp_connect.conf

  UserParameter=tcp_connect
[*],/usr/local/zabbix/alertscripts/tcp_connect.sh $1
  # chown zabbix.zabbix /usr/local/zabbix

  三、导入模板(在我的附件上,然后触发器根据自己的情况调整:)
  
http://www.linuxidc.com/Linux/2015-05/117477.htm


附件:http://down.运维网.com/data/2365695

页: [1]
查看完整版本: zabbix的Discovery功能,zabbix监控apache server