q9989 发表于 2019-1-18 14:15:42

实战网络监控Zabbix(1)—— 远程监控主机服务

  1. Zabbix 简介

        Zabbix 是一个高度集成的网络监控解决方案,可以提供企业级的开源分布式监控解决方案,由一个国外的团队持续维护更新,软件可以自由下载使用,运作团队靠提供收费的技术支持赢利。
        官方网站:http://www.zabbix.com
  1.1 zabbix模式
         Zabbix 通过 C/S 模式采集数据,通过 B/S 模式在 web 端展示和配置。
   被监控端:主机通过安装 agent 方式采集数据,网络设备通过 SNMP 方式采集数据
  Server 端:通过收集 SNMP 和 agent 发送的数据,写入数据库(MySQL,ORACLE 等),再通过 php+apache 在 web 前端展示。
  1.2 Zabbix 运行条件:
      Server:Zabbix Server 需运 行在 LAMP( Linux+Apache+Mysql+PHP)环 境下( 或者LNMP),对硬件要求低
  Agent:目前已有的 agent 基本支持市面常见的 OS,包含 Linux、HPUX、Solaris、Sun、windows
  SNMP:支持各类常见的网络设备
http://s3.运维网.com/wyfs02/M01/89/70/wKioL1gTG4bQDEfoAAOSyU71uvg759.png
  2.优劣势
      优点:
        开源,无软件成本投入
        Server 对设备性能要求低
        支持设备多,自带多种监控模板
        支持分布式集中管理,有自动发现功能,可以实现自动化监控
        开放式接口,扩展性强,插件编写容易
        当监控的 item 比较多服务器队列比较大时可以采用被动状态,被监控客户端主动从server 端去下载需要监控的 item 然后取数据上传到 server 端。这种方式对服务器的负载比较小。
        Api 的支持,方便与其他系统结合
      缺点:
        需在被监控主机上安装 agent,所有数据都存在数据库里,产生的数据据很大,瓶颈主要在数据库。
  

  
  实验环境:
      物理主机    redhat7.0 内核版本 3.10.0-123.el7.x86_64
      虚拟机    redhat6.5 内核版本 2.6.32-431.el6.x86_64
        服务器端: server1.example.com    172.25.254.1
        客户端:    server2.example.com    172.25.254.2
      所需软件包:
zabbix-2.4.5-1.el6.x86_64.rpm
zabbix-server-2.4.5-1.el6.x86_64.rpm
zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm
zabbix-web-2.4.5-1.el6.noarch.rpm
zabbix-web-mysql-2.4.5-1.el6.noarch.rpm
zabbix-agent-2.4.5-1.el6.x86_64.rpm
fping-2.4b2-16.el6.x86_64.rpm
iksemel-1.4-2.el6.x86_64.rpm
iksemel-utils-1.4-2.el6.x86_64.rpm
php-mbstring-5.3.3-26.el6.x86_64.rpm
php-bcmath-5.3.3-26.el6.x86_64.rpm
  

  

  一.服务器端配置
  Zabbix 需要 lamp 环境:
  http://s3.运维网.com/wyfs02/M02/89/70/wKioL1gTHfCB0mEdAAAMgsf_bZc038.png
  1. 安装 zabbix 所需软件包
  zabbix-2.4.5-1.el6.x86_64.rpm
  zabbix-server-2.4.5-1.el6.x86_64.rpm
  zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm
  zabbix-web-2.4.5-1.el6.noarch.rpm
  zabbix-web-mysql-2.4.5-1.el6.noarch.rpm
  zabbix-agent-2.4.5-1.el6.x86_64.rpm
  fping-2.4b2-16.el6.x86_64.rpm
  iksemel-1.4-2.el6.x86_64.rpm
  iksemel-utils-1.4-2.el6.x86_64.rpm
  php-mbstring-5.3.3-26.el6.x86_64.rpm
  php-bcmath-5.3.3-26.el6.x86_64.rpm
  http://s1.运维网.com/wyfs02/M02/89/70/wKioL1gTHpqyQJFjAABTANt5w6w562.png
  2. 配置 mysql 数据库
  # service mysqld start
  # mysql
  mysql> create database zabbix character set utf8 collate utf8_bin;
  mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'willis';
  mysql> quit;
  # cd /usr/share/doc/zabbix-server-mysql-2.4.5/create
  # mysql -uzabbix -pwestos zabbix < schema.sql
  ## stop here if you are creating database for Zabbix proxy ##
  # mysql -uzabbix -pwestos zabbix < images.sql
  # mysql -uzabbix -pwestos zabbix < data.sql
http://s3.运维网.com/wyfs02/M00/89/73/wKiom1gTH8jR4OgOAAA4rXTM07M272.png
  
http://s3.运维网.com/wyfs02/M00/89/73/wKiom1gTH8eRf28wAAA4GT0vGlg457.png
http://s3.运维网.com/wyfs02/M00/89/73/wKiom1gTIHujuDvAAAA2dJuU2cg592.png
  
  3. 配置 zabbix server
  # vim /etc/zabbix/zabbix_server.conf
  72    DBHost=localhost
  82    DBName=zabbix
  106DBPassword=willis
  
  163StartTrappers=10
  
http://s3.运维网.com/wyfs02/M01/89/7C/wKioL1gVfhyjNme1AAANlxvDH00810.png
http://s3.运维网.com/wyfs02/M02/89/7F/wKiom1gVfhyS1Q9CAAAiIS9xYmI557.png
http://s4.运维网.com/wyfs02/M01/89/7F/wKiom1gVkH-R5cv2AAAUGbSX1xE962.png
  4. 配置 php
  
  
  
  # vim /etc/php.ini
   946 date.timezone = Asia/Shanghai
  # pwd
  /etc/httpd/conf.d
  # vim zabbix.conf
   13   php_value max_execution_time 300
   14   php_value memory_limit 128M
   15   php_value post_max_size 16M
   16   php_value upload_max_filesize 2M
   17   php_value max_input_time 300
   18   php_value date.timezone Asia/Shanghai
  
http://s1.运维网.com/wyfs02/M02/89/7C/wKioL1gVfqvx8vZQAAALrogdVP0681.png
http://s1.运维网.com/wyfs02/M01/89/7F/wKiom1gVfqvg_7JWAABNRRnBe1E709.png
  5. 启动 zabbix server、zabbix agent、httpd
  # service httpd start
  # service zabbix-server start
  # service zabbix-agent start
  http://s4.运维网.com/wyfs02/M01/89/70/wKioL1gTIxOjmU4MAAA28wos-7k396.png6. 登陆 zabbix web
  http://172.25.254.1/zabbix 按照提示完成安装并登陆:
http://s2.运维网.com/wyfs02/M01/89/73/wKiom1gTI2bzD_w4AAHwmg1y7xw801.png

  
http://s1.运维网.com/wyfs02/M00/89/70/wKioL1gTJCPyEXLqAABC4M4Jlr0126.png
  
  
http://s1.运维网.com/wyfs02/M00/89/73/wKiom1gTJSGSQqwIAAApxC9T-FI864.png
  

http://s2.运维网.com/wyfs02/M02/89/70/wKioL1gTJSDAr5RHAABO3qT47YM686.png
http://s2.运维网.com/wyfs02/M02/89/73/wKiom1gTJSCxICwzAAAWQ_maReA597.png

  
  
http://s2.运维网.com/wyfs02/M00/89/70/wKioL1gTJZOBY22XAAFWnJfgfMo755.png
  Username: Admin
  Password: zabbix
http://s5.运维网.com/wyfs02/M00/89/7F/wKiom1gVgDnSQ53DAADxZjNFDnw376.png
  可以看到 Zabbix server is running 状态值为Yes.服务端部署完成。
  
  

  二.被监控端配置(server2)
      7. 添加 agent 主机
      7.1在被监控端安装软件包:
  zabbix-2.4.5-1.el6.x86_64.rpm
  zabbix-agent-2.4.5-1.el6.x86_64.rpm
  http://s3.运维网.com/wyfs02/M01/89/73/wKiom1gTJuewdyK7AAAljvh4gTA618.png
      7.2配置 zabbix agent
  # vim /etc/zabbix/zabbix_agentd.conf
  85      Server=172.25.254.1
  126    ServerActive=172.25.254.1
  137    Hostname=server2.example.com    #主机名需要有解析
  http://s4.运维网.com/wyfs02/M01/89/7C/wKioL1gVg9GDMh2iAAAXf4-Lpms932.png
      7.3启动 zabbix agent
  
  # /etc/init.d/zabbix-agent restart
  http://s2.运维网.com/wyfs02/M02/89/7F/wKiom1gVhDeQd0a6AAAhAem0k-c507.png
  

  网页端配置:
   Configuration ->Discovery
  http://s2.运维网.com/wyfs02/M01/89/7F/wKiom1gVhnqDVQXMAAB5Fvrmyo4593.png
  8. 在 zabbix server 上激活 zabbix agent 自动注册功能
  点击 Configuration -> Actions ->Auto registration ->Create action 按下图所示设置:
  http://s1.运维网.com/wyfs02/M00/89/7F/wKiom1gVinyzW3K3AABgHrhmfls898.png
  自定义 Action 的名字。
  Conditions 选项卡保持默认即可。
  Operations 选项卡添加如下:
http://s3.运维网.com/wyfs02/M00/89/7F/wKiom1gVinvjJKwkAABkkPWpSw0742.png

  Add host:自动注册主机添加到 hosts 列表
  Add to host groups:自动注册主机加入 linux servers 组(组名可以自定义)
  Link to templates:自动注册主机应用模板 Template OS linux
  http://s3.运维网.com/wyfs02/M01/89/7D/wKioL1gVi0OweJO3AACbZ-V6j2A697.png

  点击 Configuration -> Hosts 可以看到新加的主机:
  http://s1.运维网.com/wyfs02/M02/89/7F/wKiom1gVjO-BlYF0AABf4zPPusA488.png
  

  三. 添加http服务监控
      Zabbix 的更多功能值得大家一起研究和分享。
      来看看 zabbix 是怎样添加服务监控项的,利用 zabbix 自带的监控模版,以 http 服务为例:
http://s4.运维网.com/wyfs02/M02/89/7F/wKiom1gVjfOhlCuFAADCGuYNq8M744.png
     点击 Configuration -> Templates 选择需要链接的模版
     也可以在 Configuration -> Hosts -> server2.example.com -> Templates 选择需要的模版
http://s2.运维网.com/wyfs02/M02/89/81/wKiom1gVme7B_sAOAAB1gf6zE7A038.png
  这样主机 server2.example.com 的监控项中就出现了 HTTP 服务
  http://s4.运维网.com/wyfs02/M01/89/7E/wKioL1gVmkrQVIVVAAAhsI7Fz4w026.png
  

  四.监控远程主机Mysql服务
      在/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 文件中指定了 zabbix agent 如何获取 mysql服务的各种信息,并在/var/lib/zabbix 目录中新建“.my.cnf”文件,用以指定 zabbix agent 如何登陆数据库,默认使用的是 zabbix 用户,可以在 zabbix_server.conf 文件中找到密码。
  
  # yum install mysql-server -y
  
  # /etc/init.d/mysqld start
  
  # mysql_secure_installation   
                                      ###初始化数据库 ,我把数据库密码改成了willis
  # mkdir /var/lib/zabbix
  # cp /etc/my.cnf /var/lib/zabbix/.my.cnf
  # vim /var/lib/zabbix/.my.cnf
http://s4.运维网.com/wyfs02/M02/89/7E/wKioL1gVlkaDGREAAAAke3d22S4674.png
  
  host = localhost
  user = zabbix
  password = willis
  socket = /var/lib/mysql/mysql.sock
  
  host = localhost
  user = zabbix
  password = willis
  socket = /var/lib/mysql/mysql.sock
http://s4.运维网.com/wyfs02/M00/89/81/wKiom1gVlpei8A72AAAyodPoteE011.png
  监控远程主机的 mysql 服务需要创建 zabbix 用户并授权,本机监控则不需要。
  
  mysql> grant select on *.* to 'zabbix'@'localhost' identified by 'willis';
  
  # mysql -uzabbix -pwillis
http://s1.运维网.com/wyfs02/M00/89/7E/wKioL1gVmBSg4FrvAAA5zAb1-Wc841.png
  # /etc/init.d/zabbix-agent restart
  Shutting down Zabbix agent:                              
  Starting Zabbix agent:                                    
  

  链接 mysql 监控模版:
  

http://s3.运维网.com/wyfs02/M02/89/81/wKiom1gVnEPiiKOzAAB08hH55gg936.png

  点击 Configuration -> Hosts -> server2.example.com-> Graphs 可以看到两个新的监控图形

http://s2.运维网.com/wyfs02/M00/89/7E/wKioL1gVnJ6hoq5sAAAWiVXwBw4293.png
  过一会可以看到监控的图形变化
http://s1.运维网.com/wyfs02/M01/89/7E/wKioL1gVnN_weSLmAACaiAaiq4M096.png
  




页: [1]
查看完整版本: 实战网络监控Zabbix(1)—— 远程监控主机服务