请选择 进入手机版 | 继续访问电脑版

IT运维管理,ITIL,ITSS,ITSM,ISO20000-ITIL先锋论坛

 找回密码
 点击获取邀请码 - 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 434|回复: 0

[Zabbix专区] 介绍Zabbix 监控配置及实战

[复制链接]
来自- 广东广州

参加活动:0

组织活动:12

发表于 2017-8-29 17:14:59 | 显示全部楼层 |阅读模式 来自- 广东广州
zabbix监控简介
  • 概述
    Zabbix 是一个高度集成的网络监控解决方案,可以提供 企业级的开源分布式监控解决
    方案,由一个国外的团队持续维护更新,软件可以自由下载使用。
  • 工作模式
    Zabbix 通过 C/S 模式采集数据。通过 B/S 模式在 web 端展示和配置。
  • 监控原理
    1.被监控端:主机通过安装agent方式进行采集本机的数据,网络设备通过SNMP协议方式采集数据
    2.监控服务端:通过收集agent和SNMP所采集到的数据,并将数据写在数据库服务器里,最终通过php+apache(nginx)在web前端显示出来。
  • Zabbix功能
    1.具备常见的商业软件所具备的功能,例如:本机的私有数据(CPU,内存,硬盘使用情况),本机的公有数据(http服务,ftp服务,数据库服务等)
    2.支持自动发现网络设备和服务器(可以通过配置自动发现服务器规则来实现)
    3.支持自动发现(low discovery)key 实现动态监控项的批量监控(需写脚本)
    4.支持分布式,能集中展示、管理分布式的监控点
    5.扩展性强,server 提供通用接口(api 功能)可以自己开发完善各类监控(根据相关接口编写程序实现)
    6.编写插件容易,可以自定义监控项,报警级别的设置。
    7.数据收集
    8.具备实时将监控项绘图的功能


部署LNMP平台
之所以部署LNMP平台,是因为Zabbix服务是php脚本开发。并且需要将收集到的数据保存在数据库里,和将收集到的数据实时的展示在web前端上。因此,我们全部使用源码包构建LNMP平台。
  • 安装Nginx
    [root@cc ~]# yum -y install openssl-devel
    pcre-devel gcc gcc-c++ make //安装依赖包
    [root@cc ~]# useradd nginx  //创建进程属主
    [root@cc ~]# tar -xf nginx-1.10.1.tar.gz  //解包
    [root@cc ~]# cd nginx-1.10.1[root@cc ~]# ./configure --user=nginx
    --prefix=/usr/local/nginx  --group=nginx
    --with-http_ssl_module    //配置
    [root@cc ~]# make && make install
         //编译和安装
    [root@cc ~]# /usr/local/nginx/sbin/nginx
      //启动服务
    [root@cc ~]# echo "www.dcc.com" >
    /usr/local/nginx/html/index.html //配置网站主页
    [root@cc ~]# curl http://192.168.4.50 www.dcc.com
  • 安装MySQL
    [root@cc ~]# tar -xf mysql-5.6.30-linux-glibc2.5-x86_64.tar.gz
      //解包
    [root@cc ~]# cd mysql-5.6.30-linux-glibc2.5-x86_64/
    [root@cc ~]# useradd mysql
    [root@cc ~]# mv mysql-5.6.30-linux-glibc2.5-x86_64
    /usr/local/mysql
    [root@cc ~]# yum -y install perl-Data-Dumper.x86_64
       //安装依赖包
    [root@cc ~]# cd /usr/local/mysql/scripts
    [root@cc ~]# ./mysql_install_db
       --basedir=/usr/local/mysql
         --datadir=/usr/local/mysql/data
         --user=mysql       //装包
    [root@cc ~]# chown -R mysql:mysql
        /usr/local/mysql/  //赋予进程属主权限
    [root@cc ~]# ln -s /usr/local/mysql/bin
        /usr/sbin
    [root@cc ~]# echo  "export  PATH=/usr/local/mysql/binPATH"
      >>  /etc/profile
    [root@cc ~]# source /etc/profile
    [root@cc ~]# cd /usr/local/mysql/support-files/
    [root@cc ~]# cp mysql.server /etc/init.d/mysql
    [root@cc ~]# chmod +x /etc/init.d/mysql
    [root@cc ~]# cp /usr/local/mysql/support-files/my.cnf.default
    /etc/my.cnf[root@cc ~]# /etc/init.d/mysql start
    [root@cc ~]# mysql -uroot create database zabbixdb;   
          //创建存放监控系统信息的数据库 grant all on zabbix.* to cc@'localhost'
          identified by '123456';  
      //授权登陆创建数据库的用户
  • 安装PHP
    [root@cc ~]# yum -y install php-gd.x86_64 freetype*
    libjpeg-devel libxml2-devel libpng-devel[root@cc ~]# tar -xf php-5.6.22.tar.gz [root@cc ~]# cd php-5.6.22[root@cc ~]# ./configure --prefix=/usr/local/php5/
        --enable-fpm --enable-mbstring --enable-bcmath
         --enable-sockets
         --with-config-file-path=/usr/local/php5/etc
         --with-mysql=/usr/local/mysql/
         --with-mysqli=/usr/local/mysql/bin/mysql_config
         --with-gd --with-gettext --with-jpeg-dir
          --with-freetype-dir     //配置
    [root@cc ~]# make && make install //编译和安装
    [root@cc ~]# cp  php.ini-production /usr/local/php5/etc/php.ini[root@cc ~]# vim /usr/local/php5/etc/php.ini     //修改php.ini date.timezone = Asia/Shanghai max_execution_time = 300 post_max_size = 32M max_input_time = 300 memory_limit = 128M always_populate_raw_post_data = -1[root@cc ~]# cd /usr/local/php5/etc/[root@cc ~]# cp php-fpm.conf.default php-fpm.conf  
    //生成php-fpm主配置文件[root@cc ~]# /etc/init.d/php-fpm start //启动服务
  • 安装Zabbix
    [root@cc ~]# useradd zabbix  //添加用户
    [root@cc ~]# tar -xf zabbix-3.2.3.tar.gz //解包
    [root@cc ~]# cd zabbix-3.2.3/[root@cc ~]#  ./configure
      --prefix=/usr/local/zabbix
         --enable-server  --enable-agent
           --with-mysql=/usr/local/mysql/bin/mysql_config
    [root@cc ~]# make && make install
    [root@cc ~]# cp -r frontends/php/  
        /usr/local/nginx/html/zabbix  
        //生成监控服务器根目录
    [root@cc ~]# cd database/mysql/[root@cc ~]# mysql -ucc -p123456 zabbixdb < schema.sql  
    //导入监控服务器材存储监控数据的表
    [root@cc ~]# mysql -ucc -p123456 zabbixdb < images.sql[root@cc ~]# mysql -ucc -p123456 zabbixdb &lt; data.sql[root@cc ~]# chown -R nobody:nobody /usr/local/nginx/html/zabbix/[root@cc ~]# http://192.168.4.100/zabbix/index.php //客户端访问
  • 登陆面板需要配置的信息,帐号默认admin,密码:zabbix    /usr/local/nginx/html/zabbix/conf/zabbix.conf.php
    $DB['TYPE']     = 'MYSQL';
    $DB['SERVER']   = 'localhost';
    $DB['PORT']     = '0';
    $DB['DATABASE'] = 'zabbixdb';
    $DB['USER']     = 'cc';
    $DB['PASSWORD'] = '123456';
    $ZBX_SERVER      = '192.168.4.50';
    $ZBX_SERVER_PORT = '10051';
    $ZBX_SERVER_NAME = 'zabbixo';
  • 客户端访问如下:
    AFZ9Q5BF)Y12KHL(PP_HB.png
  • 配置,启动监控服务
    [root@cc ~]#  cd zabbix-3.2.3/misc/init.d/fedora/core/
    [root@cc ~]# cp * /etc/init.d/
    [root@cc ~]# chmod +x /etc/init.d/zabbix_*
    [root@cc ~]# vim /etc/init.d/zabbix_server     BASEDIR=/usr/local/zabbix[root@cc ~]# vim /etc/init.d/zabbix_agentd     BASEDIR=/usr/local/zabbix[root@cc ~]# vim /usr/local/zabbix/etc/zabbix_server.conf     87 DBName=zabbixdb  
         103 DBUser=cc  
         111 DBPassword=123456
    [root@cc ~]# /etc/init.d/zabbix_server start
    [root@cc ~]# netstat  -utnlap  | grep :10051
    [root@cc ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf     91 Server=127.0.0.1     132 ServerActive=127.0.0.1:10051
    [root@cc ~]# /etc/init.d/zabbix_agentd start
    [root@cc ~]# netstat  -utnlap  | grep :10050


监控实战
  • 使用已有模版监控本机(Host 是 Zabbix 监控的基本载体,所有的监控项都是基于 host 的。)
    步骤如下:
    1.通过 Configuration->Hosts->Create Host 来创建监控设备
    如图:
    HBKDMI00Y~RL3DZL51855G8.png
    2.按提示填入 Name、Groups、IP ,其他选项默认即可。在Link Templates 处选择一个模板。save 即可成功添加设备。
    RFUN)R[$J]{P5Q0Q0UBEOD7.png
    3.在 Configuration->Hosts 中会出现监控的主机。
    4.重启监控服务端的服务/etc/init,d/zabbix_server  restart 。查看ZBX是否加亮。加亮则可查看监控状态。
    结果如图:
    @14)VU`N%PIWDGG6P[Q`@G7.png
    绘图界面如下:
    0E)61_5~12E75QR(W`04{$B.png
  • 监控远端主机并且自定义监控项目
    ip:192.168.4.66
    监控项:系统用户数 : wc -l /etc/passwd
    1.安装zabbix——agentd包,启动服务
    [root@cc ~]# tar -xf zabbix-3.2.1.tar.gz
    [root@cc ~]# cd zabbix-3.2.1
    [root@cc ~]# yum -y install gcc gcc-c++ make
    [root@cc ~]# useradd zabbix
    [root@cc ~]# ./configure
        --prefix=/usr/local/zabbix
        --enable-agent &amp;&amp; make &amp;&amp;
             make install
    [root@cc ~]# cp misc/init.d/fedora/core/zabbix_agentd
         /etc/init.d/
    [root@cc ~]# chmod +x /etc/init.d/zabbix_agentd
    [root@cc ~]# vim /etc/zabbix/zabbix_agentd.conf        Server=127.0.0.1, 192.168.4.40      
            //更改服务器ip     ServerActive=192.168.4.40:10051
               //更改监控服务器ip     UnsafeUserParameters=1
                      //去掉注释[root@cc ~]# vim /etc/init.d/zabbix_agentd   
                         //修改脚本zabbix根目录     BASEDIR=/usr/local/zabbix[root@cc ~]# /etc/init.d/zabbix_agentd restart
         //启动客户端服务,端口为10050
    2 被监控主机创建自定义监控命令
    自定义的key文件一般存储在/etc/zabbix/zabbix_agentd.conf.d/目录,这里还需要修改zabbix_agentd.conf文件,来读取该目录下的所有文件 。
    [root@cc ~]# vim /etc/zabbix/zabbix_agentd.conf    Include=/etc/zabbix/zabbix_agentd.conf.d/ [root@cc ~]# cd /usr/local/zabbix/etc/zabbix_agentd.conf.d
    [root@cc ~]# vim get_users.conf     UserParameter=get_user,wc -l /etc/passwd
            | awk '{print $1}'  
            //获取4.66主机的用户数命令
    [root@cc ~]# /etc/init.d/zabbix_agentd restart [root@cc ~]# zabbix_get -s 127.0.0.1 -k get_user
          //测试命令是否创建正确
    3.设置Zabbix监控控制台
    1添加模版
    通过Configuration-->Template-->Create template创建模板
    CCNBTK0Y{4ZJWBW6)1DXJNX.png
    2.创建应用
    点击模板后面的Application链接
    3.创建项目
    选择Create items创建项目
    4.给项目设置名称及对应的自定义key
    5.将模板链接到被监控主机
    6.如图:
    G)WYTXD_Q7%%`3V{97K8$W5.png
  • 启用报警功能
    3.1.设置邮件信息及触发动作
    创建Media:Administration-->Users找到Admin账户;
    通过Add按钮创建新的Media;
    创建Media时需要设置Media的类型,选择Email类型,则在Send to后填写接收报警邮件的收件人邮箱;
    Media创建完成后,继续设置该Media设置SMTP邮件服务器信息;
    3.2.创建Action(动作)
    通过Configuration-->Actions-->Create action创建动作
    创建动作后,为发送邮件报警的行为设置报警邮件的标题、内容等信息
    设置动作的触发条件
    3.3.创建触发器
    通过Configuration-->Templates找到之前创建的模板,点击模板后面的Triggers来创建触发器
    3.4 配置触发器
    监控项目选择之前创建的项目:count_line_passwd_item,触发器条件是账户数量大于N是触发动作,N的值设置为45;
    触发器规则设置完成后,激活该触发器即可;
    3.5测试效果
    如图:监控4.66主机用户数绘图如下:
    A{0~51164Y[J4P26YY[B}BE.png
    监控主页如图:
    F~1SSZ]BJ8}U_EU$~R%K9.png
  • 测试报警功能
    [root@cc ~]# wc -l /etc/passwd 47[root@cc ~]# su - zabbix[zabbix@cc ~]# mail
    收取邮件的结果测试如下:
    ZVZ%@[~B6IS`6}VZ@E$@JFW.png
    邮件内容如下:
    Message  8:
    From root@localhost.localdomain  Fri May 19 20:43:53 2017
    Return-Path: <root@localhost.localdomain>
    X-Original-To: zabbix@localhost
    Delivered-To: zabbix@localhost.localdomain
    From: <root@localhost.localdomain>
    To: <zabbix@localhost.localdomain>
    Date: Fri, 19 May 2017 20:43:53 +0800
    Subject: more_users
    Content-Type: text/plain; charset="UTF-8"
    Status: RO
    The current users is more than your configure.&





原创: Mayweis

本版积分规则

选择云运维时代的王牌讲师-长河老师,助你轻松入门ITIL Foundation培训课程

QQ|小黑屋|手机版|Archiver|ITIL先锋论坛五万运维人社区 ( 粤ICP备17056641号|网站地图

Baidu

GMT+8, 2018-6-22 11:43 , Processed in 0.257059 second(s), 37 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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