码迷,mamicode.com
首页 > 其他好文 > 详细

zabbix安装

时间:2016-09-24 23:23:29      阅读:458      评论:0      收藏:0      [点我收藏+]

标签:

一.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 servers 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 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 = 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 servers 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搭建完成。

 

zabbix安装

标签:

原文地址:http://www.cnblogs.com/liuyisai/p/5904414.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!