首页 > 代码库 > zabbix安装

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.rpm2 Retrieving http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm3 Preparing...                ########################################### [100%]4     package zabbix-release-2.4-1.el6.noarch is already installed5 [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_813   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.el615 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       #设置字符集为utf810 innodb_file_per_table=1         #让innodb的每个表文件单独存储11 12 [mysqld_safe]13 log-error=/var/log/mysqld.log14 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 admin2 [root@lys1 ~]# mysql -uroot -padmin3 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 -pzabbix2 mysql> use zabbix;3 Database changed4 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.conf2 DBHost=localhost                        #可修改3 DBName=zabbix                          #默认4 DBUser=zabbix                            #默认5 DBPassword=zabbix                     #需修改6 StartPollers=57 CacheSize=256M

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

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

7、启动zabbix-server服务

1 [root@lys1 ~]# service zabbix-server start2 Starting Zabbix server:                                    [确定]3 [root@lys1 ~]# service httpd start4 正在启动 httpd:httpd: apr_sockaddr_info_get() failed for lys15 httpd: Could not reliably determine the servers fully qualified domain name, using 127.0.0.1 for ServerName6                                                            [确定]7 [root@lys1 ~]# chkconfig zabbix-server on8 [root@lys1 ~]# chkconfig httpd on9 [root@lys1 ~]# 

8、防火墙设置

1 [root@lys1 ~]# vim /etc/sysconfig/iptables2 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT3 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT4 -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT5 -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT6 -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/conf2 [root@lys1 ~]# setsebool -P httpd_can_network_connect=true3 [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/configSELINUX=disabled

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

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

1 [root@lys1 ~]# vim /etc/php.ini2 date.timezone = Asia/Shanghai3 max_execution_time = 3004 max_input_time = 3005 memory_limit = 128M6 post_max_size = 16M7 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 lys1httpd: Could not reliably determine the servers 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 = 23 [root@lys1 ~]# service httpd restart4 停止 httpd:                                               [确定]5 正在启动 httpd:httpd: apr_sockaddr_info_get() failed for lys16 httpd: Could not reliably determine the servers fully qualified domain name, using 127.0.0.1 for ServerName7                                                            [确定]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 mirrors10 ... ...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/iptables2 -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT3 -A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT4 [root@lys2 ~]# service iptables restart5 iptables:将链设置为政策 ACCEPT:filter                    [确定]6 iptables:清除防火墙规则:                                 [确定]7 iptables:正在卸载模块:                                   [确定]8 iptables:应用防火墙规则:                                 [确定]9 [root@lys2 ~]# 

3、配置zabbix_agentd.conf

1 [root@lys2 ~]# vim /etc/zabbix/zabbix_agentd.conf2 Server=127.0.0.1,192.168.2.200        #被动模式,zabbix-server的ip3 ServerActive=192.168.2.200:10051    #主动模式4 Hostname=zabbix agent15 [root@lys2 ~]# chkconfig zabbix-agent on6 [root@lys2 ~]# service zabbix-agent start7 Starting Zabbix agent:                                     [确定]8 [root@lys2 ~]# 

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

技术分享

技术分享

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

 

zabbix安装