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

[经验分享] 系统监控专题,Zabbix详解——实现监控服务器的各项指标。

[复制链接]
YunVN网友  发表于 2019-1-26 07:22:09 |阅读模式
  What is Zabbix

  

    Zabbix是一个开源软件基于WEB界面的提供分布式系统监视以及网 络监视功能的企业级的开源解决方案。Zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
    Zabbix支持使用MySQL、PostgreSQL、Oracle、IBM DB2数据库,数据存储。有着强大的数据采集能力,可以从网络获取几乎无限类型的数据,具有分布式监控功能,能扩展到非常大的环境,高性能实时监控成千上万的服务器,虚拟机和网络设备,还具有可视化功能,能将收集的数据进行分析,绘成图表方便用户查看。
Zabbix官网:www.zabbix.com

  Zabbix社区平台:www.zabbix.org


  
  实验一、使用zabbix监控一台主机的网卡速率与cpu工作情况。
  实验环境:Centos6.5+Zabbix2.2+MySQL5.5
  Server1.tuchao.com 192.168.1.90 — Zabbix-server  
  admin1.tuchao.com 192.168.1.201 — Zabbix-agent
  admin2.tuchao.com 192.168.1.202 — MySQL-Server
  

  首先准备好数据库admin2.tuchao.com 192.168.1.202
  MySQL安装(略)
  授权zabbix库给用户。
  grant all on zabbix.* to ‘tuchao@192.168.1.90 identified by 123456;
  flush privileges;
  

  

  
  安装配置 Zabbix-Server  Server1.tuchao.com
  

  https://www.zabbix.com/documentation/2.2/manual/installation/install  //官方源码编译安装文档
  http://www.zabbix.com/download.php  //官方下载页面
  

  yum install zabbix-2.2.6-1.el6.i386.rpm  zabbix-get-2.2.6-1.el6.i386.rpm zabbix-server-2.2.6-1.el6.i386.rpm  zabbix-server-mysql-2.2.6-1.el6.i386.rpm zabbix-web-2.2.6-1.el6.noarch.rpm  zabbix-web-mysql-2.2.6-1.el6.noarch.rpm
  

  编辑主配置文件 /etc/zabbix/zabbix_server.conf
  PidFile=/var/run/zabbix/zabbix_server.pid
  DBHost=192.168.1.202
  DBName=zabbix
  DBUser=tuchao
  DBPassword=123456
  

  zabbix_web 配置文件 /etc/httpd/conf.d/zabbix.conf  //里面定义了通过什么路径访问zabbix-web界面。
  初始化数据库,zabbix-server-mysql 安装包,提供了三个脚本。


  使用mysql客户端连接到,MySQL-server,创建库,导入脚本。
  

  mysql -utuchao -p123456 -h192.168.1.202
  create database zabbix;
  use zabbix
  source /usr/share/doc/zabbix-server-mysql-2.2.6/create/schema.sql
  source /usr/share/doc/zabbix-server-mysql-2.2.6/create/images.sql
  source /usr/share/doc/zabbix-server-mysql-2.2.6/create/data.sql
  

  

  修改php默认时区
  vim /etc/php.ini
  date.timezone= Asia/Shanghai
  启动zabbix服务,启动httpd服务。
  /etc/init.d/zabbix-server start
  /etc/init.d/httpd start
  

  使用浏览器访问http://192.168.1.90/zabbix/,进入管理界面。
  添加一个主机。
  找到configuration—hosts—create host
  
  定义一个items 用于监控网卡流入的速率
  
  

  定义一个items 用于监控网卡流出的速率

  定义一个items 用于监控CPU中断次数

  定义一个items 用于监控CPU上下文切换的次数

  定义完成后,我们可以通过Monitoring — latest data,查看状态以及图表。
  

  接下来我们使用Graphs将两个相关的item图表,绘制成一张图显示。
  Configuration—HostsGraphsCreate graph

  


  

  
  我们再使用Screen将两张定义好的图,拼在同一屏显示。
  Configuraton—Screens—Create screen
  

  

  

  

  
  

  实验二、通过监控网卡的流量,实现一次完整的触发报警。
  自定义一个宏Administration-General-Macros
  
  admin1定义一个触发器(Triggers
  Configuration-Hosts-triggers-Create trigger

  


  

  这时候我们再去看monitoring-Graphs
  
  

  创建媒介用于通知功能Administration-Media types-Create media type

  

  修改用户通信媒介Administration-users-Admin-Media

  

  定义action
  Configuration-Actions-Create action
  

  Action:

  

  Conditions:

  

  Operations:

  

  添加报警升级

  


  保存配置后,我们来到Monitoring-Graphs查看

  

  当前流量指数是正常的,并没有过线。我们查看Monitoring-triggers,也可以看到状态OK。

  这时我们对服务器做压力测试
  
  
  这里我们可以看出流量已经严重超标,触发器也标红色显示有故障了。
  
  

  
  

  我们把压力测试关掉,让服务器流量恢复正常。

  

  实验三、使用自定义带参数的key,监控系统状态。
  Syntax
         UserParameter=key
  • ,command
      编辑/etc/zabbix/zabbix_agentd.conf。
      UserParameter=memory.usage
  • ,/bin/cat/proc/meminfo |awk '/^$1:/{print $$2}'
      如果命令自身有$的话就要写成$$,不然就会认为是传递给key的参数。
      

      可以在zabbix-server端使用命令测试
      zabbix_get-s 192.168.1.201 -k "memory.usage[MemTotal]"
      zabbix_get-s 192.168.1.201 -k "memory.usage[MemFree]"

      

      实现使用一个key通过传递不同的参数实现定义多个item,假如我们要监控主机的MemTotalMemFreeCacheBuffer
      接下来定义Item  这里用MemFree做演示:
      

      
      

      其余的定义也差不多,使用相同的key传递不同的参数即可。
      memory.usage[MemTotal]
      memory.usage[Cache]
      memory.usage[Buffer]
      将四个监控项的数据绘制到一张图上输出,方法相同使用Graphs
      
      

      实验三、使用zabbix监控Nginx输出的status状态。
      开启nginx status
      server {
      ...
      location /status {
      stub_status on;
      access_log off;
      allow 192.168.1.0/24;  # 允许访问的IP
      allow 127.0.0.1;
      deny all;
      }
      }
      
      创建配置文件/etc/zabbix/zabbix_agentd.d/nginx-status.conf自定义key
      UserParameter=Nginx.active
  • ,/usr/bin/curl -s "http://$1:$2/status" |awk '/^Active/{print $NF}'
      UserParameter=Nginx.reading
  • ,/usr/bin/curl -s "http://$1:$2/status" | grep Reading | cut -d " " -f2
      UserParameter=Nginx.writing
  • ,/usr/bin/curl -s "http://$1:$2/status" | grep Writing | cut -d " " -f4
      UserParameter=Nginx.waiting
  • ,/usr/bin/curl -s "http://$1:$2/status" | grep Waiting | cut -d " " -f6
      UserParameter=Nginx.accepted
  • ,/usr/bin/curl -s "http://$1:$2/status" | awk '/^[[:space:]]+[0-9]+[[:space:]]+[0-9]+[[:space:]]+[0-9]+/{print $$1}'
      UserParameter=Nginx.handled
  • ,/usr/bin/curl -s "http://$1:$2/status" | awk '/^[[:space:]]+[0-9]+[[:space:]]+[0-9]+[[:space:]]+[0-9]+/{print $$2}'
      UserParameter=Nginx.requests
  • ,/usr/bin/curl -s "http://$1:$2/status" | awk '/^[[:space:]]+[0-9]+[[:space:]]+[0-9]+[[:space:]]+[0-9]+/{print $$3}'
      

      重启zabbix-agent服务
      zabbix-server使用命令测试
      
      
      
      定义item 这里我只拿一个做演示
      

      
      
      后面绘图之类的,前面都有演示,这里就不再重复了。
      





  • 运维网声明 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-667571-1-1.html 上篇帖子: 监控之zabbix部署 下篇帖子: zabbix之服务器端和客户端安装、配置、监控实现
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

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

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

    扫描微信二维码查看详情

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


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


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


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



    合作伙伴: 青云cloud

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