设为首页 收藏本站
查看: 900|回复: 0

[经验分享] zabbix监控nginx和php、memcached(discuz)

[复制链接]
发表于 2018-11-13 12:48:56 | 显示全部楼层 |阅读模式
  创建zabbix_agentd的子配置文件
  在/etc/zabbix/zabbix_agentd.d/中创建关联nginx status和php-fpm status的子配置文件,创建一个,或者在已有的某配置文件中增加也可以,我这里分别为它们创建配置文件,文件名可自定义,只要确保此文件夹全部内容在zabbix_agentd.conf中包含(include)了。
  zabbix-agent配置文件的自定义key:

  • userparameter_nginx.conf  [root@spark ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
      #/usr/local/zabbix/bin/nginx_status.sh
      #UserParameter=nginx.status
  • ,/etc/zabbix/scripts/nginx_status.sh $1
      #这种写法比较简洁,参考zabbix 3.2.4中自带的的userparameter_examples.conf
      UserParameter=nginx.version,/usr/sbin/nginx -v
  #UserParameter=nginx.accepts,/etc/zabbix/scripts/check_nginx_status.sh accepts
  #UserParameter=nginx.handled,/etc/zabbix/scripts/check_nginx_status.sh handled
  #UserParameter=nginx.requests,/etc/zabbix/scripts/check_nginx_status.sh requests
  #UserParameter=nginx.connections.active,/etc/zabbix/scripts/check_nginx_status.sh active
  #UserParameter=nginx.connections.reading,/etc/zabbix/scripts/check_nginx_status.sh reading
  #UserParameter=nginx.connections.writing,/etc/zabbix/scripts/check_nginx_status.sh writing
  #UserParameter=nginx.connections.waiting,/etc/zabbix/scripts/check_nginx_status.sh waiting

  •   userparameter_php-fpm.conf
      [root@spark ~]# cat /etc/zabbix/zabbix_agentd.d/userparameter_php-fpm_status.conf

      #UserParameter=idle.processe,/etc/zabbix/scripts/php-fpm_status.sh>  #UserParameter=total.processes,/etc/zabbix/scripts/php-fpm_status.sh total
      #UserParameter=active.processes,/etc/zabbix/scripts/php-fpm_status.sh active
      #UserParameter=max.active.processes,/etc/zabbix/scripts/php-fpm_status.sh mactive
      #UserParameter=listen.queue.len,/etc/zabbix/scripts/php-fpm_status.sh listenqueuelen
      #UserParameter=listen.queue,/etc/zabbix/scripts/php-fpm_status.sh listenqueue
      #UserParameter=start.since,/etc/zabbix/scripts/php-fpm_status.sh since
      #UserParameter=accepted.conn,/etc/zabbix/scripts/php-fpm_status.sh conn
      UserParameter=max.children.reached,/etc/zabbix/scripts/php-fpm_status.sh reached
      UserParameter=slow.requests[],/etc/zabbix/scripts/php-fpm_status.sh requests
      #/usr/local/zabbix/bin/php_fpm_status.sh
      UserParameter=php-fpm.status[],/etc/zabbix/scripts/php-fpm_status.sh $1
      UserParameter=php-fpm.version,/usr/local/php56/sbin/php-fpm -v | awk 'NR==1{print $0}'
      #获取php-fpm版本信息
  • 确认子配置文件被zabbix_agentd配置文件包含  确认在/usr/local/zabbix/etc/zabbix_agentd.conf中包含:Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/且没有被注释。
DSC0000.jpg

  zabbix服务端的get数值
  [root@mha ~]# zabbix_get  -s 192.168.198.131  -k  'nginx.status[ping]'
  1
DSC0001.jpg

  zabbix页面:
  nginx:
  添加nginx status监控模板
DSC0002.jpg

  新建nginx status模板
DSC0003.jpg

  定义nginx status模板
DSC0004.jpg

  新建nginxApplication
DSC0005.jpg

  定义nginx status items,这里我使用的是被动临控
DSC0006.jpg

  增加nginx status状态码映射
DSC0007.jpg

  nginx trigger定义
DSC0008.jpg

  定义nginx监控视图
  添加php-fpm status监控模板
  php-fpm status的模板添加步骤和上述方法一样,此处不在赘述。
DSC0009.jpg

DSC00010.jpg

DSC00011.jpg

DSC00012.jpg

  1、 选择相应的主机或主机组关联上相应的模板
DSC00013.jpg


  • 实际监控效果展示(不知道为什么我的latest data没数据出来)  查看监控效果可以通过查看Monitoring---->Latest data,过滤出相应的主机及应用名进行查看,最新收集的各item的监控结果,凡是监控到数据的item会显示数据,出现灰色的表示没有监控到数据,需要排查原因。如下所示:
  nginx的监控数据
  也可以通过定义的Graphs查看监控效果:
  nginx status监控视图
DSC00014.jpg

  nginx request监控视图
DSC00015.jpg

  php的监控数据
DSC00016.jpg

DSC00017.jpg

  memcached监控数据
DSC00018.jpg

  zabbix-agent配置添加memcached
  在客户端到/usr/local/zabbix/conf/zabbix_agentd.conf里添加:
  UserParameter=memcached_stats
  • ,(echo stats; sleep 1) | telnet 127.0.0.1 $1 2>&1 | awk '/STAT $2 / {print $NF}'
      保存完毕后重启memcached和nginx
      memcached监控模板
      https://pan.baidu.com/s/1mik9jMK


  • 运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
    2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
    3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
    4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
    5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
    6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
    7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
    8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

    所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-634606-1-1.html 上篇帖子: Nginx 限制单个IP的并发连接数 下篇帖子: Nginx 添加 Purge 模块进行清除缓存
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    扫码加入运维网微信交流群X

    扫码加入运维网微信交流群

    扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

    扫描微信二维码查看详情

    客服E-mail:kefu@iyunv.com 客服QQ:1061981298


    QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


    提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


    本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



    合作伙伴: 青云cloud

    快速回复 返回顶部 返回列表