Zabbix之“安装与部署”

系统监控 jikk345 2825℃ 0评论

一、Zabbix-Server 服务端的安装

下面以Centos 6.5 介绍如何安装Zabbix-Server服务端。本例RPM包方式安装。
注:Server端口:10051
       Agent端口:10050
准备工作:
a. 准备好Centos 6.5 系统,配置好IP,确保网络正常。
b. 确保本机安装好LAMP或LNMP环境。
c. 检查iptables和SELINUX是否开启,iptables不会通过防火墙端口与SELINUX默认不允许写文件。本次实验关闭iptables和SELINUX

[root@LAMP-A /]# /etc/init.d/iptables stop
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Unloading modules:                               [  OK  ]
[root@LAMP-A /]# setenforce 0  
setenforce: SELinux is disabled

1、安装Zabbix-Server
安装服务器端(注意:服务器端也是需要监控的,这里也会安装Agent)
1)安装Zabbix 官方源和eple源
注:由于软件版本更新,以上链接可能会失效,如果失效,去其他地方下载,并安装相应版本。
Zabbix官方源

[root@LAMP-A tools]# rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
Retrieving http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
warning: /var/tmp/rpm-tmp.goBj5v: Header V4 DSA/SHA1 Signature, key ID 79ea5ed4: NOKEY
Preparing...             ########################################### [100%]
1:zabbix-release         ########################################### [100%]

eple源

root@LAMP-A tools]# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Retrieving http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
warning: /var/tmp/rpm-tmp.VWIpfJ: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
1:epel-release   
warning: /etc/yum.repos.d/epel.repo created as /etc/yum.repos.d/epel.repo.rpmnew#[100%]

2)安装Zabbix-Server
安装服务器端(注意:服务器端也是需要监控的,这里也会安装Agent)

[root@LAMP-A tools]# yum -y install zabbix zabbix-get zabbix-server zabbix-web-mysql zabbix-web zabbix-agent
Installed:
  zabbix.x86_64 0:2.2.10-1.el6                       zabbix-agent.x86_64 0:2.2.10-1.el6                      
  zabbix-get.x86_64 0:2.2.10-1.el6                   zabbix-server.x86_64 0:2.2.10-1.el6                     
  zabbix-web.noarch 0:2.2.10-1.el6                   zabbix-web-mysql.noarch 0:2.2.10-1.el6                  
Dependency Installed:
  OpenIPMI-libs.x86_64 0:2.0.16-14.el6                    apr.x86_64 0:1.3.9-5.el6_2                         
  apr-util.x86_64 0:1.3.9-3.el6_0.1                       apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1             
  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-15.el6_6.1                     gnutls.x86_64 0:2.8.5-18.el6                       
  httpd.x86_64 0:2.2.15-47.el6.centos                     httpd-tools.x86_64 0:2.2.15-47.el6.centos          
  iksemel.x86_64 0:1.4-2.el6                              libX11.x86_64 0:1.6.0-6.el6                        
  libX11-common.noarch 0:1.6.0-6.el6                      libXau.x86_64 0:1.0.6-4.el6                        
  libXpm.x86_64 0:3.5.10-2.el6                            libtasn1.x86_64 0:2.3-6.el6_5                      
  libxcb.x86_64 0:1.9.1-3.el6                             libxslt.x86_64 0:1.1.26-2.el6_3.1                  
  lm_sensors-libs.x86_64 0:3.1.1-17.el6                   mailcap.noarch 0:2.1.31-2.el6                      
  net-snmp.x86_64 1:5.5-54.el6_7.1                        net-snmp-libs.x86_64 1:5.5-54.el6_7.1              
  php.x86_64 0:5.3.3-46.el6_6                             php-bcmath.x86_64 0:5.3.3-46.el6_6                 
  php-cli.x86_64 0:5.3.3-46.el6_6                         php-common.x86_64 0:5.3.3-46.el6_6                 
  php-gd.x86_64 0:5.3.3-46.el6_6                          php-mbstring.x86_64 0:5.3.3-46.el6_6               
  php-mysql.x86_64 0:5.3.3-46.el6_6                       php-pdo.x86_64 0:5.3.3-46.el6_6                    
  php-xml.x86_64 0:5.3.3-46.el6_6                         unixODBC.x86_64 0:2.2.14-14.el6                    
  zabbix-server-mysql.x86_64 0:2.2.10-1.el6              
Complete!

安装完成后可以看到,yum方式安装并没有自动安装mysql-server。
这是因为RHEL系统(Centos 不存在这个问题)缺少 php-bcmath 和 php-mbstring 这两个包,会导致Web页面的安装提示缺少组件,所以用户可以在
Centos源中下载这两个安装包即可。

http://vault.centos.org

3)配置MySQL数据库服务
修改MySQL配置文件如下:(红色部分很重要)

[root@LAMP-A /]# vim /etc/my.cnf 
 26 [mysqld]
 27 port            = 3306
 28 socket          = /tmp/mysql.sock
 29 skip-external-locking
 30 log-error=/alidata/log/mysql/error.log
 31 key_buffer_size = 16M
 32 max_allowed_packet = 1M
 33 table_open_cache = 64
 34 sort_buffer_size = 512K
 35 net_buffer_length = 8K
 36 read_buffer_size = 256K
 37 read_rnd_buffer_size = 512K
 38 myisam_sort_buffer_size = 8M
 39 character-set-server = utf8        <==设置字符集为utf8
 40 innodb_file_per_table = 1          <==让innodb的每个表文件单独存储        

启动mysql

[root@LAMP-A /]# /etc/init.d/mysqld start
Starting MySQL.. SUCCESS! 

创建Zabbix 的数据库

[root@LAMP-A /]# mysql -uroot -p
Enter password: 
mysql> create database zabbix character set utf8;    <==设置utf8,不然web界面会报错 Query OK, 1 row affected (0.02 sec) mysql> show databases;   
+--------------------+
| Database                 |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| zabbix             |
+--------------------+
4 rows in set (0.00 sec)

创建MySQL下的zabbix用户,并授权权限

mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host from mysql.user;       
+--------+-----------+
| user   | host      |
+--------+-----------+
| root   | 127.0.0.1 |
| root   | localhost |
| zabbix | localhost |
+--------+-----------+
3 rows in set (0.00 sec)

将Zabbix数据库,导入刚创建的zabbix数据库
(注:导入的时候一定要按顺序,不然会报错,第一步导入schema.sql、第二步导入images.sql、第三步导入data.sql)

[root@LAMP-A /]# mysql -uzabbix -p'zabbix' zabbix

需要注意的是,如果是安装Zabbix-Proxy,只导入schema.sql即可,无须导入下面的SQL,否则Zabbix-Proxy无非正常工作。
本次是全部安装

[root@LAMP-A /]# mysql -uzabbix -p'zabbix' zabbix

4)配置Zabbix_server.conf
配置zabbix_server.conf 文件如下:
默认参数:不修改,只要观察

[root@LAMP-A /]# egrep -v "(^#|^$)" /etc/zabbix/zabbix_server.conf 
LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
DBName=zabbix
DBUser=zabbix
DBSocket=/var/lib/mysql/mysql.sock
SNMPTrapperFile=/var/log/snmptt/snmptt.log
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts

修改后的参数:

[root@LAMP-A /]# vim /etc/zabbix/zabbix_server.conf   
 81 DBHost=localhost  
 91 DBName=zabbix
 107 DBUser=zabbix
 115 DBPassword=zabbix
 142 StartPollers=5
 347 CacheSize=256M

以上参数只需要关注黑体字部分,这部分为性能参数,需根据实际情况进行调整。默认只需修改DBPassword=zabbix即可

[root@LAMP-A /]# mkdir /etc/zabbix/alertscripts /etc/zabbix/externalscripts

5)启动Zabbix-Server服务和WEB服务并添加开机启动项

[root@LAMP-A /]# /etc/init.d/zabbix-server start
Starting Zabbix server:                                    [  OK  ]
[root@LAMP-A /]# /etc/init.d/httpd start
Starting httpd: httpd: apr_sockaddr_info_get() failed for LAMP-A
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                           [  OK  ]

添加开机启动项

[root@LAMP-A /]# chkconfig zabbix-server on
[root@LAMP-A /]# chkconfig httpd on

6)配置php.ini 配置文件的设置

[root@LAMP-A /]# vim /etc/php.ini 
 440 max_execution_time = 300
 449 max_input_time = 300
 457 memory_limit = 128M
 729 post_max_size = 16M
 946 date.timezone = Asia/Shanghai
 1586 mbstring.func_overload = 2

2、配置Web界面
浏览器,输入”http://IP地址/zabbix ”

111
PHP各项参数都满足后可以继续走,如果PHP time zone 为Fail,重启httpd即可。

222

测试结果为OK,单击Next,按扭进行下一步操作

333

这些配置信息会写入/${PATH}/zabbix/conf/zabbix.conf.php文件中

444

555
访问 “http://IP地址/zabbix”
默认帐号:admin 密码:zabbix

666
故障处理总结:
故障1:如果WEB界面报错,顶端出现:“Zabbix server is not runing:the information displayed may not be current”
且status of Zabbix下的Zabbix server is runing 中的value 为no
解决办法:修改 /usr/share/zabbix/conf/zabbix.conf.php.example 或 zabbix.conf.php (根据版本)
尽量该文件内容与下面的内容匹配

[root@LAMP-A /]# vim /usr/share/zabbix/conf/zabbix.conf.php.example
global $DB;
$DB["TYPE"]                     = 'MYSQL';
$DB["SERVER"]                   = '127.0.0.1';
$DB["PORT"]                     = '0';
$DB["DATABASE"]                 = 'zabbix';
$DB["USER"]                     = 'zabbix';
$DB["PASSWORD"]                 = 'zabbix';
// SCHEMA is relevant only for IBM_DB2 database
$DB["SCHEMA"]                   = '';
$ZBX_SERVER                     = '127.0.0.1';       <==修改这里
$ZBX_SERVER_PORT                = '10051';           <==修改这里
$ZBX_SERVER_NAME                = 'zabbixMontior';   <==修改这里
$IMAGE_FORMAT_DEFAULT   = IMAGE_FORMAT_PNG;

故障2:数据库mysql.sock无法找到的问题
解决办法:确保/var/lib/mysql/mysql.sock 存在,如果不存在,请修改/etc/zabbix/zabbix_server.conf 中的DBSocket配置

DBSoket=/var/lib/mysql/mysql.sock

注意:修改mysql.sock实际存在的路径,重启服务
故障3:数据库无法接连提示
解决办法:检查数据库服务是否正常;防火墙是否允许;权限能否访问。
二、Zabbix-Agent 客户端的安装
Zabbix 可以采用Agent/Server 的架构,客户端的采集方式分为 Agent、SNMP等,这里先用Agent方式进行监控。
1)安装客户端依然采用RPM方式安装

[root@LAMP-A ~]# rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
Retrieving http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
Preparing...                ########################################### [100%]
        package zabbix-release-2.2-1.el6.noarch is already installed
[root@LAMP-A ~]# yum install -y zabbix zabbix-agent
  Installing : zabbix-2.2.10-1.el6.x86_64                                                               1/2 
  Installing : zabbix-agent-2.2.10-1.el6.x86_64                                                         2/2 
  Verifying  : zabbix-agent-2.2.10-1.el6.x86_64                                                         1/2 
  Verifying  : zabbix-2.2.10-1.el6.x86_64                                                               2/2 
Installed:
  zabbix.x86_64 0:2.2.10-1.el6                      zabbix-agent.x86_64 0:2.2.10-1.el6                     
Complete!

注意:Zabbix 官方的RPM包会发布新版本,所以选择用yum安装最新的RPM包。
这种方法比较简单,假如对1000台服务器进行监控,并且采用Agent方式,就需要在1000台服务器上安装Zabbix-Agent,对于这种
规模的Agent安装,采用自动化配置管理工具是必须选择的方式,并且需要对Zabbix-Agent进行软件包的定制。
2)防火墙则配置
如果需要就配置,如果没开防火墙(iptables)跳过此步骤。

[root@LNMP-B ~]# vim /etc/sysconfig/iptables-config 
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
-A OUTPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
[root@LNMP-B ~]# /etc/init.d/iptables restart

3)配置Zabbix_agent.conf
默认配置如下:

[root@LNMP-B ~]# egrep -v "(^#|^$)" /etc/zabbix/zabbix_agentd.conf  
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=127.0.0.1
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/

需要改变的参数如下。

Server:被动模式,允许哪台服务器连接Agent
ServerActive:主动模式,向那台服务器发送数据

转载请注明:清麟博客 » Zabbix之“安装与部署”

喜欢 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址