Bootstrap

zabbix搭建及使用

一、server:redhat6      192.168.1.224

      client:windows、redhat6   192.168.1.125、192.168.1.122

二、Linxu 服务端安装(源码包安装)

      1、配置网络yum源 https://blog.csdn.net/weixin_36524613/article/details/80855481

      2、安装mysql

           1)yum -y install mysql mysql-server mysql-devel
           2)MySQL 配置文件/etc/my.cnf中加入default-character-set=utf8
                 vim /etc/my.cnf 加入default-character-set=utf8
           3)开启mysql服务
                service mysqld start
          4)创建 Root 管理员,设置root密码
                mysqladmin -u root password 123456
          5)登陆 MySQL
               mysql -uroot -p123456
          6)创建 zabbix 数据库,并设置登陆权限
               mysql> create database zabbix character set utf8 collate utf8_bin;
          7)添加zabbix用户并设置密码和访问权限
               mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
          8)如果需要本地连接数据库,添加权限
              mysql> GRANT ALL PRIVILEGES ON *.* TO 'zabbix'@'192.168.0.125' IDENTIFIED BY 'zabbix';
              mysql> flush privileges;
          9)\q

    

    3、安装zabbixserver
         1)安装必要环境
             yum install httpd php http-devel php-devel php-pear php-xmlrpc php-bcmath mysql-connector-odbc libdbi-dbd-mysql                   httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring php-ldap net-snmp-devel curl-devel                 unixODBC-devel OpenIPMI-devel java-devel libssh2-devel openldap openldap-devel -y
        2)配置php环境
            sed -i "s/;date.timezone =/date.timezone = Asia\/Shanghai/g" /etc/php.ini
            sed -i "s#max_execution_time = 30#max_execution_time = 300#g" /etc/php.ini
            sed -i "s#post_max_size = 8M#post_max_size = 32M#g" /etc/php.ini
            sed -i "s#max_input_time = 60#max_input_time = 300#g" /etc/php.ini
            sed -i "s#memory_limit = 128M#memory_limit = 128M#g" /etc/php.ini
            sed -i "s/;mbstring.func_overload = 0/mbstring.func_overload = 0\n/" /etc/php.ini
        3)安装zabbix服务端
           下载源码包,添加组
           wget prdownloads.sourceforge.net/zabbix/zabbix-2.4.8.tar.gz
           groupadd zabbix -g 201
           useradd -g zabbix -u 201 -m zabbix
           解压编译,要确认是否安装gcc
           yum install gcc –y
           tar zxf zabbix-2.4.8.tar.gz
           cd zabbix-2.4.8

           ./configure --prefix=/usr/local/zabbix-2.4.8 --sysconfdir=/etc/zabbix --enable-server --enable-proxy --enable-agent --                      enable-ipv6 --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --with-openipmi --with-unixodbc --with-ldap               --with-ssh2 --enable-java
           检查出错的话根据提示安装相应工具包
          make install

          ln -s /usr/local/zabbix-2.4.8 /usr/local/zabbix
   4、添加zabbix到系统服务文件
         cat /etc/services |grep zabbix  #可以看一眼,没有就加上,默认已经加上了
         zabbix-agent    10050/tcp               # Zabbix Agent
         zabbix-agent    10050/udp               # Zabbix Agent
         zabbix-trapper  10051/tcp               # Zabbix Trapper
         zabbix-trapper  10051/udp               # Zabbix Trapper
    
   5、向zabbix数据库导入sql文件
         这个sql文件的导入顺序不能变,不然要报错
         mysql -uzabbix -pzabbix zabbix </root/zabbix-2.4.8/database/mysql/schema.sql  
         mysql -uzabbix -pzabbix zabbix </root/zabbix-2.4.8/database/mysql/images.sql 
         mysql -uzabbix -pzabbix zabbix </root/zabbix-2.4.8/database/mysql/data.sql
         如果上面导入sql的时候出现错误,可以使用远程连接导入,注意用户名和密码要使用zabbix,zabbix

        

6、拷贝启动脚本并配置
      cp /root/zabbix-2.4.8/misc/init.d/fedora/core/zabbix_* /etc/init.d/
      sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#" /etc/init.d/zabbix_server
      sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#" /etc/init.d/zabbix_agentd

7、zabbix主配置文件修改
      简单配置一下,主要是配置连接数据库的账号和密码
      vim /etc/zabbix/zabbix_server.conf  #默认配置就好
      LogFile=/var/zabbix/zabbix_server.log
      DBName=zabbix
      DBUser=zabbix
      DBPassword=zabbix
      ListenIP=127.0.0.1
8、拷贝网页文件到web站点目录下
      cp -r /root/zabbix-2.4.8/frontends/php /var/www/html/zabbix
      chown apache:apache /var/www/html/zabbix/conf  #此目录下,程序要创建一个php,当然不授权的话,等到安装到哪部,         下载php文件也可以。
9、通过web页面配置zabbix
      http://192.168.0.224/zabbix/        
      访问格式是IP/zabbix
      注意需要启动mysql服务、apache服务、zabbix_server服务
      service mysqld start
      service httpd start
      service zabbix_server start
      如果启动zabbix_server服务出错
      wget -O /usr/lib64/libmysqlclient.so.16
      http://files.directadmin.com/services/debian_5.0_64/libmysqlclient.so.16
10、找不到mysql数据库
     

      yum install -y php-mysql.x86_64
      service mysqld restart
      service httpd restart
  11、web页面配置zabbix

      

      

      

      

      

      

      跳到登录界面了,用户名是admin,密码是zabbix
  12、中文显示

      

      点击图上圈着的位置

      

      选择chinese 之后更新
  13、汉化之后图标的位置会出现乱码的问题

      

        白框内正常应该是文字
        解决办法:
        进入到本地windos目录下:C:\Windows\Fonts

       
       

        将红色圈中的文件上传到服务器端的/var/www/html/zabbix/fonts目录中。
        将原本文件备份,simhei.ttf文件改成小写
        -rw-r--r--. 1 root root  756072 Jun 22 10:23 DejaVuSans.ttf.bak
        -rw-r--r--. 1 root root 9751960 Jun 22 14:02 simhei.ttf
        编辑web页面配置文件
        vim /var/www/html/zabbix/include/defines.inc.php +45
        修改文件
        define('ZBX_GRAPH_FONT_NAME',    'DejaVuSans');  替换为:define('ZBX_GRAPH_FONT_NAME',            'simhei');   
        重新刷新web页面即可
  14、关闭防火墙和selinux
        如果页面出现zabbix server is not running
        查看日志78655:20180622:113738.275 cannot send list of active checks to [127.0.0.1]: host [Zabbix server] not monitored

        那么有可能是防火墙没关或者把zabbix_server重启一下

二、Linux  zabbix_agent安装


       重新找一台rhel6系统
      1、配置yum源
      2、下载源码包并编译

           wget prdownloads.sourceforge.net/zabbix/zabbix-3.2.6.tar.gz
           groupadd zabbix -g 201
           useradd -g zabbix -u 201 -m zabbix
           tar zxf zabbix-3.2.6.tar.gz
           cd zabbix-3.2.6 

          ./configure --prefix=/usr/local/zabbix-3.2.6 --sysconfdir=/etc/zabbix  --enable-agent

          make install
          ln -s /usr/local/zabbix-3.2.6 /usr/local/zabbix
    3、拷贝启动脚本并配置
         cp /root/zabbix-3.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
         sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#" /etc/init.d/zabbix_agentd
    4、 编辑配置文件,使agent指向server端
        vim /etc/zabbix/zabbix_agentd.conf  
        Server=192.168.0.224
    5、启动agent服务
       service zabbix_agentd restart

三、Windows zabbix_agent安装


    1、下载zabbix_agent
    被监控的主机装在Windows7 64位操作系统,需关闭防火墙。 
    被监控端需要安装 
    https://www.zabbix.com/downloads/2.4.1/zabbix_agents_2.4.1.win.zip 
    解压即用。
    2、修改配置
    在解压出来的conf文件夹中找到zabbix_agentd.win.conf,以记事本打开,修改如下四项参数 :
    LogFile=d:\tmp\zabbix_agentd.log               #日志文件存储位置
    Server=192.168.0.224                         #zabbix主控端IP地址
    Hostname=windows name            #本监控主机的主机名可以在cmd使用hostname命令获得
    ServerActive=192.168.0.224                     #zabbix主控端IP地址
    3、解压并启动
    修改完成后用管理员身份cmd进入到解压目录,逼着这里解压在D盘的根目录下
    D:\>cd D:\bin\win64
    D:\bin\win64>zabbix_agentd.exe -c d:\conf\zabbix_agentd.win.conf -i
    zabbix_agentd.exe [1636]: service [Zabbix Agent] installed successfully
    zabbix_agentd.exe [1636]: event source [Zabbix Agent] installed successfully
    D:\bin\win64>zabbix_agentd.exe -c d:\conf\zabbix_agentd.win.conf -s
    zabbix_agentd.exe [2328]: service [Zabbix Agent] started successfully

    -c:指定配置文件位置
    -i:安装agent
    -s:启动agent
    -x:停止agent
    -d:卸载agent1 
    检查zabbix-agent是否正常启动,在Windows的服务中可以看到zabbix-agent的服务,或在cmd下使用netstat -an | find "10050"处于监听状态即可。

四、多个agent监控配置


    1、首先创建一个主机组
    配置==》主机群组==》创建主机群组(web页面右上角)==》添加组名,如:Zabbix agents(在弹出框中输入组名)==>添加
    2、添加一个主机
    配置==》主机==》右上角在群组那里选择Zabbix agents==》点击创建主机   #如下图
    3、给此主机引用一条模板:
    在上面那张图片中可以看到主机的右边有个模板,点击模板,链接指示器那一栏点击选择按钮,然后选择你要添加的模板,点击添加,然后返回到模板界面之后,再点击下面的添加按钮,然后点击更新。

    

    

    

    

    需要注意的是linux的agent和windows的agent添加的模板不一样,上面添加的模板是linux的模板。

    效果图

    

    

    

 

     上面是监控不同节点,不同操作系统的效果图。


五、开机启动


    1、Zabbix agentd使用 chkconfig 将其加入 init 的启动服务
    chkconfig --add zabbix_server
    chkconfig --add zabbix_agentd
    chkconfig --level 345 zabbix_server on
    chkconfig --level 345 zabbix_agentd on

    2、使用 chkconfig --list 检查一下
    chkconfig --list | grep zabbix
    输出如下:
    zabbix_agentd   0:off   1:off   2:off   3:on    4:on    5:on    6:off
    zabbix_server    0:off   1:off   2:off   3:on    4:on    5:on    6:off
    3、agent的机器只需要
    chkconfig --add zabbix_agentd
    chkconfig --level 345 zabbix_agentd on

    window开启启动在service中设置即可
    4、开机启动apache和mysql
    chkconfig --add httpd  #加入开启启动项
    chkconfig --del httpd  #从开启启动项删除
    chkconfig --list | grep httpd  #查看是否在开机启动项

    chkconfig --level 5 httpd on  #在5级别下开机启动
    runlevel            #查看开机启动级别

    chkconfig --add mysqld  #mysql服务添加到开机启动项
    chkconfig  --list | grep mysqld  #查看是否添加到开机启动项

;