4rweq2 发表于 2015-4-23 10:23:28

zabbix管理二之zabbix的安装

简述:
    本章介绍Zabbix的安装和配置,这是在一个Server/Agent的架构环境中进行部署的,采用RPM包进行安装(推荐使用此种方法)


环境:
    Zabbix服务器运行的环境为Linux+PHP+WebService+DataBase,这里的WebService可以是Nginx、Apache;DataBase可以为MySQL、Oracle、PostgreSQL等。


硬件要求:      

环境平台CPU/内存数 据 库硬盘监控主机数量
小型LinuxPII 350MHz 256MBSQLite普通20
中型Linux 64 bitAMD Athlon 3200 2GBMySQL InnoDB普通500
大型Linux 64 bitIntel Dual Core 6400 4GBMySQL InnoDBSAS或SSD> 1000
超大型Linux 64 bitIntel Xeon 2xCPU 8GBMySQL InnoDBSAS或SSD> 10000


准备工作:

      时间同步:
                Zabbix-Server对时间的精准要求比较高,时间对数据的计算等都有影响,因此,最好设置ntp自动同步时间。也可以用crontab 进行同步(在实际的生产环境中不推荐这么做),如下所示,使用crontab 进行时间同步,如:
                            */30 * * * * /usr/sbin/npdate pool.ntp.org




部署:

   服务端安装:(centos6.5)
               zabbix server安装:
                           采用RPM包安装方式(推荐)
                           安装Zabbix官方源和epel源:
                           rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm
                           rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
                           注意:由于软件版本的更新,以上链接可能会失效,请读者下载并安装相应的版本。
                            yum install -y zabbix zabbix-get zabbix-server zabbix-web-mysql zabbix-web zabbix-agent(注意:由于服务器端也是需要监控的,故这里也一并安装Zabbix-Agent)
                           注意:yum安装时,epel源可能会报错,如下:
                                           Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
                                           解决方法:vi /etc/yum.repos.d/epel.repo
                                                   将所有baseurl行注释去掉
                                                   将所有mirrorlist行注释掉
                         注意:安装zabbix的官方yum源后,在执行yum install -y zabbix zabbix-get zabbix-server zabbix-web-mysql zabbix-web zabbix-agent这个命令时会把httpd,mysql,php等相关的软件一并安装(若之前已经安装了httpd,先把之前安装的httpd卸载了: rpm -e httpd --nodeps,不然后面httpd的配置文件会有问题)
             mysql的配置:

                            vi /etc/my.cnf
                           
                            datadir=/var/lib/mysql
                            socket=/var/lib/mysql/mysql.sock
                            user=mysql
                            # Disabling symbolic-links is recommended to prevent assorted security risks
                            symbolic-links=0
                            character-set-server=utf8 #设置字符集为utf8
                            innodb_file_per_table=1 #让innodb的每个表文件单独存储
                           
                            log-error=/var/log/mysqld.log
                            pid-file=/var/run/mysqld/mysqld.pid
                            chkconfig mysqld on             (启动服务)

                            service mysqld start
                            ps -ef | grep mysql             (看是否启动)
               创建zabbix库:
                           mysqladmin -uroot password"xxxxx"   (设置密码)
                           mysql -uroot -pxxxxx         (登录mysql)
                           create database zabbix character set utf8;
                           grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';                                     (创建zabbix用户并授权)
                           flush privileges;
                            注意:这里容易出现的问题是创建Zabbix的数据库字符集不为utf8,这会导致Web界面切换到中文环境时出现乱码。
             导入Zabbix Server的数据库:
                           mysql -uzabbix -pzabbix      (以zabbix用户登录mysql)
                           use zabbix
                           source /usr/share/doc/zabbix-server-mysql-X.X.X/create/schema.sql;
                           注意:如果安装Zabbix-Proxy,只导入schema.sql即可,无须导入下面的SQL,否则Zabbix-Proxy 无法正常工作。
                           source /usr/share/doc/zabbix-server-mysql-X.X.X/create/images.sql;
                           source /usr/share/doc/zabbix-server-mysql-X.X.X/create/data.sql;
                           show tables;
               配置zabbix_server.conf:
                              mv/etc/zabbix/zabbix_server.conf/etc/zabbix/zabbix_server.conf.old                        (备份原配置文件)
                              vi /etc/zabbix/zabbix_server.conf
                              LogFile=/var/log/zabbix/zabbix_server.log
                              LogFileSize=0
                              PidFile=/var/run/zabbix/zabbix_server.pid
                              DBHost=localhost                  #可修改
                              DBName=zabbix                     #默认
                              DBUser=zabbix                     #默认
                              DBPassword=zabbix                   #需修改
                              DBSocket=/var/lib/mysql/mysql.sock#默认
                              DBPort=3306                         #默认
                              StartPollers=5
                              StartIPMIPollers=10
                              StartPollersUnreachable=10
                              StartTrappers=10
                              StartPingers=10
                              StartDiscoverers=10
                              VMwareFrequency=60
                              VMwareCacheSize=8M
                              SNMPTrapperFile=/var/log/snmptt/snmptt.log
                              ListenIP=127.0.0.1
                              MaxHousekeeperDelete=500
                            CacheSize=256M
                              StartDBSyncers=40
                              HistoryCacheSize=128M
                              TrendCacheSize=128M
                              HistoryTextCacheSize=128M
                              ValueCacheSize=128M
                              Timeout=30
                              TrapperTimeout=300
                              UnreachablePeriod=45
                              UnavailableDelay=60
                              UnreachableDelay=15
                              AlertScriptsPath=/etc/zabbix/alertscripts
                              ExternalScripts=/etc/zabbix/externalscripts
                              FpingLocation=/usr/sbin/fping
                              LogSlowQueries=10000
                              StartProxyPollers=50
                              ProxyConfigFrequency=3600
                              注意:只需关注红色字部分,这部分为性能参数,需根据实际情况进行调整。默认只需修改DBPassword=zabbix即可
                              mkdir -p/etc/zabbix/{alertscripts,externalscripts}(创建两个脚本目录)
                              service zabbix-server start         (启动zabbix server)
                              service httpd start
                              chkconfig zabbix-server on
                              chkconfig httpd on      
            防火墙,Selinux和权限的设置:
iptables -P INPUT ACCEPT          (注意顺序,设置INPUT链默认为全接受)
                              iptables -F
                              chkconfig iptables on
                              iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
                              iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT                                                         (很重要,确保可以连接外网)
                              iptables -A INPUT -p tcp --dport 22 -j ACCEPT(非常重要,确保可以远程登录)
                              iptables -P INPUT DROP            (设置INPUT链默认为全拒绝)
                              iptables -A INPUT -p tcp --dport 80 -j ACCEPT
                              iptables -A INPUT -p tcp --dport 10051 -j ACCEPT
                              iptables -A INPUT -p tcp --dport 10050 -j ACCEPT
                              iptables -A OUTPUT -p tcp --dport 10050 -j ACCEPT
                              /etc/init.d/iptables save
                              /etc/init.d/iptables status
                              注意:10050是Agent的端口,Agent采用被动方式,Server主动连接Agent的10050端口;10051是Server的端口,Agent采用主动或Trapper方式,会连接Server的10051端口
                              selinux:直接关闭

                php.ini配置文件的设置:
                           vim /etc/php.ini            (注意下面,这个文件不用)
                           date.timezone = Asia/Shanghai
                           max_execution_time = 300
                           post_max_size = 16M
                           max_input_time=300
                           memory_limit = 128M
                           mbstring.func_overload = 2
                            注意:在LAMP环境中,可以按上述方式配置PHP的参数,比修改php.ini 更方便。而在Zabbix的官方RPM中,这一步已经配置过了,所以无须修改。如:
                           vim /etc/httpd/conf.d/zabbix.conf
                           <Directory "/usr/share/zabbix">
                                 Options FollowSymLinks
                                 AllowOverride None
                                 Order allow,deny
                                 Allow from all
                                 php_value date.timezone Asia/Shanghai
                                 php_value max_execution_time 300
                                 php_value post_max_size 16M
                                 php_value max_input_time 300
                                 php_value memory_limit 128M
                                 php_value upload_max_filesize 2M
                              </Directory>
                              service httpd restart          (重启httpd即可)
                            注意:如果在后面配置Web时提示任何参数不满足安装配置要求,修改/etc/php.ini文件里对应的参数后重启Httpd即可
                配置web界面:

                              打开浏览器,输入“http://IP地址/zabbix”
                              可能会有如下报错:


PHP option max_input_time300300OK
PHP time zoneunknown
Fail
PHP databases supportMySQL

OK
                              解决办法:
                                 vi /etc/php.ini
                                 找到date.timezone参数
                                 添加一行
                                 date.timezone = Asia/Shanghai
                                 /etc/init.d/httpdrestart               (OK)


页: [1]
查看完整版本: zabbix管理二之zabbix的安装