zoukankan      html  css  js  c++  java
  • zabbix安装

    一.Zabbix简介   

     

           zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
           zabbixzabbix server与可选组件zabbix agent两部门组成。
           zabbix server可以通过SNMPzabbix agentping,端口监视等方法提供对远程服务器/网络状态的监视。
           zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。

     

    zabbix的主要特点:
              - 安装与配置简单,学习成本低 
              - 支持多语言(包括中文)
              - 免费开源
              - 自动发现服务器与网络设备
              - 分布式监视以及WEB集中管理功能
              - 可以无agent监视
              - 用户安全认证和柔软的授权方式
              - 通过WEB界面设置或查看监视结果
              - email等通知功能
             等等

     

    Zabbix主要功能:
             - CPU负荷
             - 内存使用
             - 磁盘使用
             - 网络状况
             - 端口监视
             - 日志监视 

    官方也提供了安装资料:http://www.zabbix.com/wiki/howto/monitor

     

    本例采用PRM包安装方式,该方式交简介。

     

    安装环境:

      系统:CentOS release 6.8

      地址:server 192.168.2.200

         agent  192.168.2.201

    二、Zabbix-server服务器端的安装:

    1、安装zabbix官方源

     

    1 [root@lys1 ~]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
    2 Retrieving http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
    3 Preparing...                ########################################### [100%]
    4     package zabbix-release-2.4-1.el6.noarch is already installed
    5 [root@lys1 ~]# 

     

    2、安装zabbix-server

    由于服务端也是需要监控的,故这里也一并安装zabbix-agent

     1 [root@lys1 ~]# yum -y install zabbix zabbix-get zabbix-server zabbix-web-mysql zabbix-web zabbix-agent
     2 已加载插件:fastestmirror
     3 设置安装进程
     4 Loading mirror speeds from cached hostfile
     5 ... ...
     6 已安装:
     7   zabbix-get.x86_64 0:2.4.8-1.el6                         zabbix-server.x86_64 0:2.4.8-1.el6                         zabbix-web.noarch 0:2.4.8-1.el6                         zabbix-web-mysql.noarch 0:2.4.8-1.el6                        
     8 
     9 作为依赖被安装:
    10   OpenIPMI-libs.x86_64 0:2.0.16-14.el6 dejavu-fonts-common.noarch 0:2.33-1.el6 dejavu-sans-fonts.noarch 0:2.33-1.el6    fontpackages-filesystem.noarch 0:1.41-1.1.el6 fping.x86_64 0:2.4b2-16.el6       freetype.x86_64 0:2.3.11-17.el6   
    11   iksemel.x86_64 0:1.4-2.el6           libX11.x86_64 0:1.6.3-2.el6             libX11-common.noarch 0:1.6.3-2.el6       libXau.x86_64 0:1.0.6-4.el6                   libXpm.x86_64 0:3.5.10-2.el6      libxcb.x86_64 0:1.11-2.el6        
    12   libxslt.x86_64 0:1.1.26-2.el6_3.1    lm_sensors-libs.x86_64 0:3.1.1-17.el6   net-snmp.x86_64 1:5.5-57.el6_8.1         net-snmp-libs.x86_64 1:5.5-57.el6_8.1         php.x86_64 0:5.3.3-48.el6_8       php-bcmath.x86_64 0:5.3.3-48.el6_8
    13   php-cli.x86_64 0:5.3.3-48.el6_8      php-common.x86_64 0:5.3.3-48.el6_8      php-gd.x86_64 0:5.3.3-48.el6_8           php-mbstring.x86_64 0:5.3.3-48.el6_8          php-mysql.x86_64 0:5.3.3-48.el6_8 php-pdo.x86_64 0:5.3.3-48.el6_8   
    14   php-xml.x86_64 0:5.3.3-48.el6_8      unixODBC.x86_64 0:2.2.14-14.el6         zabbix-server-mysql.x86_64 0:2.4.8-1.el6
    15 
    16 完毕!
    17 [root@lys1 ~]# 

    3.安装mysql数据库服务(web、php在上条命令中已安装)

     

     

     1 [root@lys1 ~]# yum -y install mysql-server
     2 已加载插件:fastestmirror
     3 设置安装进程
     4 ... ...
     5 已安装:
     6   mysql-server.x86_64 0:5.1.73-7.el6                                                                                                                                                                                                        
     7 
     8 作为依赖被安装:
     9   mysql.x86_64 0:5.1.73-7.el6                                                                                      perl-DBD-MySQL.x86_64 0:4.013-3.el6                                                                                     
    10 
    11 完毕!
    12 [root@lys1 ~]# 

     

      修改MySQL配置文件如下

     1 [root@lys1 ~]# vim /etc/my.cnf
     2 [mysqld]
     3 datadir=/var/lib/mysql
     4 socket=/var/lib/mysql/mysql.sock
     5 user=mysql
     6 # Disabling symbolic-links is recommended to prevent assorted security risks
     7 symbolic-links=0
     8 
     9 character-set-server=utf8       #设置字符集为utf8
    10 innodb_file_per_table=1         #让innodb的每个表文件单独存储
    11 
    12 [mysqld_safe]
    13 log-error=/var/log/mysqld.log
    14 pid-file=/var/run/mysqld/mysqld.pid

      启动MySQL服务

     1 [root@lys1 ~]# chkconfig mysqld on
     2 [root@lys1 ~]# service mysqld start
     3 初始化 MySQL 数据库: WARNING: The host 'lys1' could not be looked up with resolveip.
     4 This probably means that your libc libraries are not 100 % compatible
     5 ... ...
     6 Please report any problems with the /usr/bin/mysqlbug script!
     7 
     8                                                            [确定]
     9 正在启动 mysqld:                                          [确定]
    10 [root@lys1 ~]# 

    4、创建zabbix的数据库

      设置MySQL的root用户密码。

    1 [root@lys1 ~]# mysqladmin -uroot password admin
    2 [root@lys1 ~]# mysql -uroot -padmin
    3 mysql> create database zabbix character set utf8;
    4 Query OK, 1 row affected (0.01 sec)
    5 mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
    6 Query OK, 0 rows affected (0.00 sec)

    (注意:创建zabbix的数据库字符集不为utf8会导致web界面切换到中文环境时出现乱码)

    5、导入zabbix-server的数据库

    1 [root@lys1 ~]# mysql -uzabbix -pzabbix
    2 mysql> use zabbix;
    3 Database changed
    4 mysql> source /usr/share/doc/zabbix-server-mysql-2.4.8/create/schema.sql;

      需要注意的是,如果zabbix-proxy,只导入schema.sql即可,无需导入下面的sql,否则zabbix-proxy无法正常工作。

     1 mysql> source /usr/share/doc/zabbix-server-mysql-2.4.8/create/images.sql;
     2 mysql> source /usr/share/doc/zabbix-server-mysql-2.4.8/create/data.sql;
     3 mysql> show tables;
     4 +-----------------------+
     5 | Tables_in_zabbix      |
     6 +-----------------------+
     7 | acknowledges          |
     8 | actions               |
     9 | alerts                |
    10 | application_template  |
    11 | applications          |
    12 ... ...

    6、配置zabbix_server.conf

    1 [root@lys1 ~]# vim /etc/zabbix/zabbix_server.conf
    2 DBHost=localhost                        #可修改
    3 DBName=zabbix                          #默认
    4 DBUser=zabbix                            #默认
    5 DBPassword=zabbix                     #需修改
    6 StartPollers=5
    7 CacheSize=256M

      以上参数需根据实际情况进行调整。默认只需修改DBPassword=zabbix即可。

    1 [root@lys1 ~]# mkdir /etc/zabbix/{alertscripts,externalscripts}

    7、启动zabbix-server服务

    1 [root@lys1 ~]# service zabbix-server start
    2 Starting Zabbix server:                                    [确定]
    3 [root@lys1 ~]# service httpd start
    4 正在启动 httpd:httpd: apr_sockaddr_info_get() failed for lys1
    5 httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
    6                                                            [确定]
    7 [root@lys1 ~]# chkconfig zabbix-server on
    8 [root@lys1 ~]# chkconfig httpd on
    9 [root@lys1 ~]# 

    8、防火墙设置

    1 [root@lys1 ~]# vim /etc/sysconfig/iptables
    2 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
    3 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
    4 -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
    5 -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
    6 -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT

      上述代码中,10050是agent的端口,agent采用被动方式,server主动连接agent的10050端口;10051是server的端口,agent采用主动或trapper的方式,会连接server的10051端口。

    9、selinux的设置

    1 [root@lys1 ~]# chcon -R -t httpd_sys_content_rw_t /usr/share/zabbix/conf
    2 [root@lys1 ~]# setsebool -P httpd_can_network_connect=true
    3 [root@lys1 ~]# semanage port -a -t http_port_t -p tcp 10051

    如果对selinux不是特别的熟悉,可以选择关闭selinux。在实际的生产环境中,大部分用户也是选择关闭selinux的。

    1 [root@lys1 ~]# setenforce 0    #设置为警告模式,只给出提示,不会阻止                                      #操作,不用重启服务器即生效。
    2 [root@lys1 ~]#getenforce        #获取当前selinux的运行状态
    3 【Enforcing|Permissive|Disabled】

    直接关闭selinux的方法

    [root@lys1 ~]# getenforce vim /etc/selinux/config
    SELINUX=disabled

    注意:此种方式需要重启服务器才能生效。

    10、php.ini配置文件的设置

    1 [root@lys1 ~]# vim /etc/php.ini
    2 date.timezone = Asia/Shanghai
    3 max_execution_time = 300
    4 max_input_time = 300
    5 memory_limit = 128M
    6 post_max_size = 16M
    7 mbstring.func_overload = 2
    [root@lys1 ~]# vim /etc/httpd/conf.d/zabbix.conf
    <IfModule mod_php5.c>
            php_value date.timezone Asia/Shanghai
            php_value max_execution_time 300
            php_value memory_limit 128M
            php_value post_max_size 16M
            php_value upload_max_filesize 2M
            php_value max_input_time 300
            # php_value date.timezone Europe/Riga
        </IfModule>
    </Directory>
    [root@lys1 ~]# service httpd restart
    停止 httpd:                                               [确定]
    正在启动 httpd:httpd: apr_sockaddr_info_get() failed for lys1
    httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                               [确定]
    [root@lys1 ~]# 

    三、配置web界面

    打开浏览器,输入http://192.168.2.200/zabbix会出现如下图:

    按next

    提示 PHP mbstring.func_overload fail

    查看官方文档说是要关闭 php配置文件的mbstring.func_overload。。。

    1 [root@lys1 ~]# vim /etc/php.ini 
    2 #mbstring.func_overload = 2
    3 [root@lys1 ~]# service httpd restart
    4 停止 httpd:                                               [确定]
    5 正在启动 httpd:httpd: apr_sockaddr_info_get() failed for lys1
    6 httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
    7                                                            [确定]
    8 [root@lys1 ~]# 

    顺利通过,继续next

    配置mysql信息,单击 test connection 按钮测试数据库是否正常连接,显示 ok 继续 next

     (注意:如果zabbix-sever在其他机器中,这里的host填写zabbix-server所在的机器ip)

     

    确认信息后,继续 next

    配置完成提示 ok 点finish

    进入登录界面,默认账户是Admin,密码是zabbix,登录:

    web配置完成。

    如果提示不能正常运行,分别检查zabbix_server.conf中的各项配置文件、selinux、iptables等。

    四、安装zabbix-agent客户端

    1、安装zabbix官方的yum源

     1 [root@lys2 ~]# rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
     2 Retrieving http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
     3 warning: /var/tmp/rpm-tmp.Q7fTlA: Header V4 DSA/SHA1 Signature, key ID 79ea5ed4: NOKEY
     4 Preparing...                ########################################### [100%]
     5    1:zabbix-release         ########################################### [100%]
     6 [root@lys2 ~]# yum -y install zabbix zabbix-agent
     7 已加载插件:fastestmirror
     8 设置安装进程
     9 Determining fastest mirrors
    10 ... ...
    11 已安装:
    12   zabbix.x86_64 0:2.4.8-1.el6                                                                                       zabbix-agent.x86_64 0:2.4.8-1.el6                                                                                      
    13 
    14 完毕!
    15 [root@lys2 ~]# 

    2、防火墙设置

    1 [root@lys2 ~]# vim /etc/sysconfig/iptables
    2 -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
    3 -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
    4 [root@lys2 ~]# service iptables restart
    5 iptables:将链设置为政策 ACCEPT:filter                    [确定]
    6 iptables:清除防火墙规则:                                 [确定]
    7 iptables:正在卸载模块:                                   [确定]
    8 iptables:应用防火墙规则:                                 [确定]
    9 [root@lys2 ~]# 

    3、配置zabbix_agentd.conf

    1 [root@lys2 ~]# vim /etc/zabbix/zabbix_agentd.conf
    2 Server=127.0.0.1,192.168.2.200        #被动模式,zabbix-server的ip
    3 ServerActive=192.168.2.200:10051    #主动模式
    4 Hostname=zabbix agent1
    5 [root@lys2 ~]# chkconfig zabbix-agent on
    6 [root@lys2 ~]# service zabbix-agent start
    7 Starting Zabbix agent:                                     [确定]
    8 [root@lys2 ~]# 

    五、在zabbix-server上添加主机zabbix-agent,验证zabbix-server是否能监控到zabbix-agent

    显示正常监控状态,zabbix搭建完成。

  • 相关阅读:
    2020最新版Springcloud-Alibaba ZooKeeper篇(三)
    2020最新版SpringCloud(H版&alibaba)框架开发教程(二)
    2020最新版SpringCloud(H版&alibaba)框架开发教程(一)
    String StringBuffer StringBuilder详细分析和面试题
    算法-一个经典sql 题和一个Java算法题
    大数据开发-Flume-频繁产生小文件原因和处理
    大数据开发-Hive-常用日期函数&&日期连续题sql套路
    MapReduce怎么优雅地实现全局排序
    intelliJ IDEA 鼠标光标消失问题
    maven依赖问题的出现原因与解决方式
  • 原文地址:https://www.cnblogs.com/liuyisai/p/5904414.html
Copyright © 2011-2022 走看看