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

[经验分享] zabbix应用进阶

[复制链接]

尚未签到

发表于 2017-12-31 14:59:41 | 显示全部楼层 |阅读模式
  CentOS 7.1 安装
  ~]# yum install zabbix-2.4.6-1.el7.x86_64.rpm zabbix-server-2.4.6-1.el7.x86_64.rpm zabbix-server-mysql-2.4.6-1.el7.x86_64.rpm zabbix-agent-2.4.6-1.el7.x86_64.rpm zabbix-sender-2.4.6-1.el7.x86_64.rpm zabbix-web-2.4.6-1.el7.noarch.rpm zabbix-get-2.4.6-1.el7.x86_64.rpm zabbix-web-mysql-2.4.6-1.el7.noarch.rpm trousers-0.3.11.2-4.el7_1.x86_64.rpm
  说明:CentOS 7.1安装zabbix-2.4.6-1.el7,其与trousers-0.3.11.2-3不兼容,需要升级trousers至0.3.11.2-4.el7_1。
  创建数据库:
  server和proxy的运行都依赖于数据库,agent则不需要。
  以MySQL数据库为例:
  shell> mysql -uroot -p<password>
  mysql> create database zabbix character set utf8 collate utf8_bin;

  mysql> grant all privileges on zabbix.* to zabbix@localhost>  mysql> quit;
  shell> mysql -uzabbix -p<password> zabbix < database/mysql/schema.sql
  # stop here if you are creating database for Zabbix proxy
  shell> mysql -uzabbix -p<password> zabbix < database/mysql/images.sql
  shell> mysql -uzabbix -p<password> zabbix < database/mysql/data.sql
  配置zabbix:
  (1) zabbix_server
  server的配置文件为zabbix_server.conf,至少应该为其配置数据库等相关的信息;例如:
  LogFile=/var/log/zabbix/zabbix_server.log
  LogFileSize=0
  PidFile=/var/run/zabbix/zabbix_server.pid
  DBHost=172.16.100.67
  DBName=zabbix
  DBUser=zbxuser
  DBPassword=zbxpass
  DBSocket=/var/lib/mysql/mysql.sock
  SNMPTrapperFile=/var/log/snmptt/snmptt.log
  AlertScriptsPath=/usr/lib/zabbix/alertscripts
  ExternalScripts=/usr/lib/zabbix/externalscripts
  (2) 配置php环境
  编辑/etc/httpd/conf.d/zabbix.conf,添加如下项。
  php_value date.timezone Asia/Shanghai
  启动httpd服务:systemctl start httpd.service
  访问zabbix web
  http://your_host/zabbix
  登录:Admin/zabbix
  (3) 配置zabbix_agent
  agent的配置文件为zaabix_agentd.conf,至少应该为其指定server的IP地址;
  https://www.zabbix.com/documentation/2.4/manual/config/items/itemtypes/zabbix_agent
  各key的获取位置
  源码安装:
  下载地址:http://www.zabbix.com/download.php
  # tar -zxvf zabbix-2.0.0.tar.gz
  创建用户:
  # groupadd zabbix
  # useradd -g zabbix zabbix
  注意:同时安装了server和agent的节点上,建议其运行用户不要相同。
  创建数据库:
  server和proxy的运行都依赖于数据库,agent则不需要。
  以MySQL数据库为例:
  mysql> CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;

  mysql> GRANT ALL ON zabbix.* TO zbuser@'%'>  # 请按需要修改用户名和密码;
  shell> mysql -u<username> -p<password> zabbix < database/mysql/schema.sql
  # 如果仅为proxy创建数据库,只导入schema.sql即可;否则,请继续下面的步骤;
  shell> mysql -u<username> -p<password> zabbix < database/mysql/images.sql
  shell> mysql -u<username> -p<password> zabbix < database/mysql/data.sql
  编译安装zabbix:
  同时安装server和agent,并支持将数据放入mysql数据中,可使用类似如下配置命令:
  ./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-ssh2
  如果仅安装server,并支持将数据放入mysql数据中,可使用类似如下配置命令:
  ./configure --enable-server --with-mysql --with-net-snmp --with-libcurl
  如果仅安装proxy,并支持将数据放入mysql数据中,可使用类似如下配置命令:
  ./configure --prefix=/usr --enable-proxy --with-net-snmp --with-mysql --with-ssh2
  如果仅安装agent,可使用类似如下配置命令:
  ./configure --enable-agent
  而后编译安装zabbix即可:
  # make
  # make install
  配置zabbix:
  server的配置文件为zabbix_server.conf,至少应该为其配置数据库等相关的信息;
  agent的配置文件为zaabix_agentd.conf,至少应该为其指定server的IP地址;
  proxy的配置文件为zabbix_proxy.conf,至少应该为其指定proxy的主机名和server的IP,以及数据库等相关的配置信息;
  启动zabbix:
  server:  zabbix_server
  agent: zabbix_agentd
  proxy: zabbix_proxy
  安装frontend:
  # cp -a  frontend/php/  /var/www/html/zabbix
  启动lamp或lnmp后,通过浏览器访问http://<server_ip_or_name>/zabbix即可进行安装。
  模板是一系列配置的集合,它可以方便地快速部署在某监控对象上,并支持重复应用。模板可包含多种类型的条目:
  items
  triggers
  graphs
  applications
  screens (since Zabbix 2.0)
  low-level discovery rules (since Zabbix 2.0)
  将模板应用至某主机上时,其定义的所有条目都会自动添加。因此,模板通常用于为某监控的服务或应用程序整合一组条目并将之分别应用于对应的运行了相应服务的主机上。此外,模板的另一个好处在于,必要时,修改了模板,被应用的主机都会相应的作出修改。
  UserParameter:
  UserParameter=<key>,<command>
  剩余的内容:
  discovery
  web monitoring
  jmx
  分布式监控
  Delta (speed per second):保存为(value-prev_value)/(time-prev_time的计算结果,即当前值减去前一次获取的数据值,除以当前时间戳减去前一次值获取时的时间戳得到的结果;如果当前值小于前一次的值,其将会被丢弃;
  Delta (simple change):保存为 (value-prev_value)的计算结果;
  用户自定义参数:
  /etc/zabbix
  zabbix_agentd.conf, zabbix_agentd.d/*.conf
  nginx status 开启方法:
  server {
  ...
  location /status {
  stub_status on;
  access_log off;
  allow 123.123.123.123; # 允许访问的 IP
  allow 127.0.0.1;
  deny all;
  }
  }
  状态页面各项数据的意义:
  active connections – 当前 Nginx 正处理的活动连接数。
  serveraccepts handled requests — 总共处理了 233851 个连接 , 成功创建 233851 次握手 (证明中间没有失败的 ), 总共处理了 687942 个请求 ( 平均每次握手处理了 2.94 个数据请求 )。
  reading — nginx 读取到客户端的 Header 信息数。
  writing — nginx 返回给客户端的 Header 信息数。
  waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading + writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接。
  /usr/lib/zabbix/externalscripts
  /etc/zabbix/externalscripts
  自动发现
  web监控
  分布式环境中使用zabbix
  UserParameter=Mysql.dml
  • , /usr/local/mysql/bin/mysql -h$1 -u$2 -p$3 -e 'SHOW GLOBAL STATUS' | awk '/Com_$4\>/{print $$2}'
      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 '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$1}'
      UserParameter=Nginx.handled
  • , /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$2}'
      UserParameter=Nginx.requests
  • , /usr/bin/curl -s "http://$1:$2/status" | awk '/^[ \t]+[0-9]+[ \t]+[0-9]+[ \t]+[0-9]+/ {print $$3}'
      UserParameter=nginx.access_countaccess, /usr/lib/zabbix/externalscripts/logcheck_nginx.accesslog totalaccess
      UserParameter=nginx.access_count200, /usr/lib/zabbix/externalscripts/logcheck_nginx.accesslog 200access
      UserParameter=nginx.access_count202, /usr/lib/zabbix/externalscripts/logcheck_nginx.accesslog 202access
      UserParameter=nginx.access_count4xx, /usr/lib/zabbix/externalscripts/logcheck_nginx.accesslog 4xxaccess
      UserParameter=nginx.access_count3xx, /usr/lib/zabbix/externalscripts/logcheck_nginx.accesslog 3xxaccess
      UserParameter=nginx.access_count5xx, /usr/lib/zabbix/externalscripts/logcheck_nginx.accesslog 5xxaccess
      UserParameter=varnish.stat
  • , /usr/lib/zabbix/externalscripts/varnishstatus varnish_stat $1
      UserParameter=varnish.count
  • , /usr/lib/zabbix/externalscripts/varnishstatus varnish_count $1
      UserParameter=varnish.hitrate, /usr/lib/zabbix/externalscripts/varnishstatus varnish_hitrate
      # This is a config file for Zabbix Agent (Unix)
      # To get more information about Zabbix, visit http://www.zabbix.com
      ############ GENERAL PARAMETERS #################
      ### Option: PidFile
      # Name of PID file.
      #
      # Mandatory: no
      # Default:
      PidFile=/var/log/zabbix/zabbix_agentd.pid
      ### Option: LogFile
      # Name of log file.
      # If not set, syslog is used.
      #
      # Mandatory: no
      # Default:
      # LogFile=
      LogFile=/var/log/zabbix/zabbix_agentd.log
      ### Option: LogFileSize

      # Maximum>  # 0 - disable automatic log rotation.
      #
      # Mandatory: no
      # Range: 0-1024
      # Default:
      # LogFileSize=1
      LogFileSize=20
      ### Option: DebugLevel
      # Specifies debug level
      # 0 - no debug
      # 1 - critical information
      # 2 - error information
      # 3 - warnings
      # 4 - for debugging (produces lots of information)
      #
      # Mandatory: no
      # Range: 0-4
      # Default:
      # DebugLevel=3
      ### Option: SourceIP
      # Source IP address for outgoing connections.
      #
      # Mandatory: no
      # Default:
      # SourceIP=
      ### Option: EnableRemoteCommands
      # Whether remote commands from Zabbix server are allowed.
      # 0 - not allowed
      # 1 - allowed
      #
      # Mandatory: no
      # Default:
      # EnableRemoteCommands=0
      ### Option: LogRemoteCommands
      # Enable logging of executed shell commands as warnings.
      # 0 - disabled
      # 1 - enabled
      #
      # Mandatory: no
      # Default:
      # LogRemoteCommands=0

      ##### Passive checks>  ### Option: Server
      # List of comma delimited IP addresses (or hostnames) of Zabbix servers.
      # Incoming connections will be accepted only from the hosts listed here.
      # No spaces allowed.
      # If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.
      #
      # Mandatory: no
      # Default:
      # Server=
      Server=172.16.10.15,127.0.0.1
      ### Option: ListenPort
      # Agent will listen on this port for connections from the server.
      #
      # Mandatory: no
      # Range: 1024-32767
      # Default:
      # ListenPort=10050
      ### Option: ListenIP
      # List of comma delimited IP addresses that the agent should listen on.
      # First IP address is sent to Zabbix server if connecting to it to retrieve list of active checks.
      #
      # Mandatory: no
      # Default:
      # ListenIP=0.0.0.0
      ### Option: StartAgents
      # Number of pre-forked instances of zabbix_agentd that process passive checks.
      # If set to 0, disables passive checks and the agent will not listen on any TCP port.
      #
      # Mandatory: no
      # Range: 0-100
      # Default:
      # StartAgents=3
      StartAgents=2

      ##### Active checks>  ### Option: ServerActive
      # List of comma delimited IP:port (or hostname:port) pairs of Zabbix servers for active checks.
      # If port is not specified, default port is used.
      # IPv6 addresses must be enclosed in square brackets if port for that host is specified.
      # If port is not specified, square brackets for IPv6 addresses are optional.
      # If this parameter is not specified, active checks are disabled.
      # Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
      #
      # Mandatory: no
      # Default:
      # ServerActive=
      ServerActive=172.16.10.15
      ### Option: Hostname
      # Unique, case sensitive hostname.
      # Required for active checks and must match hostname as configured on the server.
      # Value is acquired from HostnameItem if undefined.
      #
      # Mandatory: no
      # Default:
      # Hostname=
      # Hostname=Zabbix server
      ### Option: HostnameItem
      # Item used for generating Hostname if it is undefined.
      # Ignored if Hostname is defined.
      #
      # Mandatory: no
      # Default:
      HostnameItem=system.hostname
      ### Option: RefreshActiveChecks
      # How often list of active checks is refreshed, in seconds.
      #
      # Mandatory: no
      # Range: 60-3600
      # Default:
      # RefreshActiveChecks=120
      RefreshActiveChecks=60
      ### Option: BufferSend
      # Do not keep data longer than N seconds in buffer.
      #
      # Mandatory: no
      # Range: 1-3600
      # Default:
      # BufferSend=5
      BufferSend=10
      ### Option: BufferSize
      # Maximum number of values in a memory buffer. The agent will send
      # all collected data to Zabbix Server or Proxy if the buffer is full.
      #
      # Mandatory: no
      # Range: 2-65535
      # Default:
      # BufferSize=100
      BufferSize=1000
      ### Option: MaxLinesPerSecond
      # Maximum number of new lines the agent will send per second to Zabbix Server
      # or Proxy processing 'log' and 'logrt' active checks.
      # The provided value will be overridden by the parameter 'maxlines',
      # provided in 'log' or 'logrt' item keys.
      #
      # Mandatory: no
      # Range: 1-1000
      # Default:
      # MaxLinesPerSecond=100
      MaxLinesPerSecond=200
      ### Option: AllowRoot
      # Allow the agent to run as 'root'. If disabled and the agent is started by 'root', the agent
      #       will try to switch to user 'zabbix' instead. Has no effect if started under a regular user.
      # 0 - do not allow
      # 1 - allow
      #
      # Mandatory: no
      # Default:
      # AllowRoot=0
      ############ ADVANCED PARAMETERS #################
      ### Option: Alias
      # Sets an alias for parameter. It can be useful to substitute long and complex parameter name with a smaller and simpler one.
      #
      # Mandatory: no
      # Range:
      # Default:
      ### Option: Timeout
      # Spend no more than Timeout seconds on processing
      #
      # Mandatory: no
      # Range: 1-30
      # Default:
      Timeout=20
      ### Option: Include
      # You may include individual files or all files in a directory in the configuration file.
      # Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.
      #
      # Mandatory: no
      # Default:
      # Include=
      # Include=/usr/local/etc/zabbix_agentd.userparams.conf
      Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
      ####### USER-DEFINED MONITORED PARAMETERS #######
      ### Option: UnsafeUserParameters
      # Allow all characters to be passed in arguments to user-defined parameters.
      # 0 - do not allow
      # 1 - allow
      #
      # Mandatory: no
      # Range: 0-1
      # Default:
      # UnsafeUserParameters=0
      ### Option: UserParameter
      # User-defined parameter to monitor. There can be several user-defined parameters.
      # Format: UserParameter=<key>,<shell command>
      # See 'zabbix_agentd' directory for examples.
      #
      # Mandatory: no
      # Default:
      # UserParameter=

  • 运维网声明 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-430273-1-1.html 上篇帖子: zabbix 安装 与应用 下篇帖子: zabbix主动被动模式说明/区别
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

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

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

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

    扫描微信二维码查看详情

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


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


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


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



    合作伙伴: 青云cloud

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