说明:
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista)等系统之上。
安装之前先配置好LAMP环境:
- #yum -y install gcc gcc-c++ autoconf httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-devel OpenIPMI-devel java-devel
配置php环境:
- sed -i "s/;date.timezone =/date.timezone = Asia\/Shanghai/g" /etc/php.ini
- sed -i "s#max_execution_time = 30#max_execution_time = 300#g" /etc/php.ini
- sed -i "s#post_max_size = 8M#post_max_size = 32M#g" /etc/php.ini
- sed -i "s#max_input_time = 60#max_input_time = 300#g" /etc/php.ini
- sed -i "s#memory_limit = 128M#memory_limit = 128M#g" /etc/php.ini
- sed -i "/;mbstring.func_overload = 0/ambstring.func_overload = 2\n" /etc/php.ini
(修改这些参数的目的是 zabbix 的 web 代码要求要这么配置才能正 常运行,所以,不修改饿后果就是安装无法获得正常的环境,关于 php.ini 这些参数的具体 意思,请读者自行参考 php 相关资料)
安装之前可以先把zabbix用户添加上:
- #groupadd zabbix
- #useradd -g zabbix zabbix
然后启动Apache和Mysql
- #service mysqld start
- #chkconfig mysqld on
- #service httpd start
- #chkconfig httpd on
安装Zabbix Server
1.Download the source archive
Go to the Zabbix download page and download the source archive. Once downloaded, extract the sources, by running:
- wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.0/zabbix-2.4.0.tar.gz
- tar zxf zabbix-2.4.0.tar.gz
- cd zabbix-2.4.0
2.Create Zabbix database
- mysql> create database zabbix character set utf8; //(注意,此处要特别注意数据库字符集的问题,如果数据库是非utf8字符,则web页面改为中文,是会出现乱码的)
- mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'wc@zabbix#com'; //授权zabbxi使用zabbix这个数据库
- #mysql -uzabbix -p"wc@zabbix#com" zabbix < ./database/mysql/schema.sql //zabbix的数据库表结构
- #mysql -uzabbix -p"wc@zabbix#com" zabbix < ./database/mysql/images.sql //一些配图数据
- #mysql -uzabbix -p"wc@zabbix#com" zabbix < ./database/mysql/data.sql //zabbix的数据库数据,将zabbix源码包中的数据导入到新建的zabbix数据库
3.Configure the sources
- ./configure --prefix=/usr/local/ --sysconfdir=/etc/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --enable-proxy --with-unixodbc --with-ssh2 --enable-java
- --prefix指定zabbix安装目录,--sysconfdir 指定配置文件路径,--enable-server 支持zabbix服务器,--enable-agent支持zabbix代理,--enable-proxy 支持zabbix代理服务器,--with-mysql 使用MySQL客户端库可以选择指定路径mysql_config,--with-net-snmp使用net-snmp软件包,选择性地指定路径NET-SNMP配置, --with-libcurl 使用curl包,等。
- 若./configure 出现hecking for mysql_config... configure: error: MySQL library not found,可以使用find / -name "mysql_config"来查看mysql_config位置,用--with-mysql指定; 若./configure出现错误configure: error: Invalid NET-SNMP directory - unable to find net-snmp-config,可以通过yum install net-snmp-devel来解决。 若已安装net-snmp-devel却报error while loading shared libraries: libnetsnmp.so.30" 错误的原因和解决办法,可以通过find / -name libnetsnmp.so.30,查看libnetsnmp.so.30位置,将libnetsnmp.so.30位置添加到/etc/ld.so.conf,/sbin/ldconfig后,再编译即可
- (如果你只是想安装一个服务端,只需开启--enable-server 即可,其他参数可以不用选,但 这里是为了后面的各项功能都可以使用,所以开启了非常多的参数) (如果缺少相应的依赖包,configure 过程会给出提示)
4.Make and install everything
- make install
为zabbix server添加端口
- cat /etc/services |grep zabbix
- zabbix-agent 10050/tcp # Zabbix Agent
- zabbix-agent 10050/udp # Zabbix Agent
- zabbix-trapper 10051/tcp # Zabbix Trapper
- zabbix-trapper 10051/udp # Zabbix Trapper
- 如果查看没有,可以如下操作:
- # cat >> /etc/services <<eof
- zabbix-agent 10050/tcp #ZabbixAgent
- zabbix-agent 10050/udp #Zabbix Agent
- zabbix-trapper 10051/tcp #ZabbixTrapper
- zabbix-trapper 10051/udp #Zabbix Trapper
- eof
修改配置文件默认路径是你编译指定的–sysconfdir下:
- vim /etc/zabbix/zabbix_server.conf //修改如下内容
- LogFile=/var/log/zabbix/zabbix_server.log
- DBHost=localhost //数据库主机
- DBName=zabbix //数据库名称
- DBUser=zabbix //数据库用户名
- DBPassword=wc@zabbix#com //DBPassword 默认被注释掉,需要自己添加
- DBSocket=/var/lib/mysql/mysql.sock //有时候发现默认socket不管事,你也可以根据你mysql的sock来填写
- DBPort=3306 //数据库端口, 下面根据跟人爱好吧
- StartPollers=10
- StartTrappers=20
- StartPingers=100
- StartDiscoverers=120
- MaxHousekeeperDelete=500
- CacheSize=1024M
- StartDBSyncers=16
- HistoryCacheSize=1024M
- TrendCacheSize=1024M
- HistoryTextCacheSize=512M
- AlertScriptsPath=/etc/zabbix/alertscripts
- LogSlowQueries=1000
拷贝zabbix网页文件到web目录下:
- #cp -r zabbix-2.4.0/frontends/php/ /var/www/html/zabbix
- #chown -R apache.apache /var/www/html/zabbix
拷贝修改zabbix服务端、客户端启动脚本:
- #cp zabbix-2.4.0/misc/init.d/fedora/core/zabbix_* /etc/init.d/
- #chmod 755 /etc/init.d/zabbix_* //加执行权限
- # vim /etc/init.d/zabbix_server
- BASEDIR=/usr/local //分别修改/etc/init.d/zabbix_server、zabbix_agentd将其中的BASEDIR改为实际zabbix的安装位置,如我们这里的/usr/local
启动zabbix,并且添加开机自启动:
- # /etc/init.d/zabbix_server start
- # /etc/init.d/zabbix_agentd start //启动服务
- # chkconfig --add zabbix_server
- # chkconfig --add zabbix_agentd
- # chkconfig zabbix_server on
- # chkconfig zabbix_agentd on //开机自启动
Apache像之前拷贝zabbix网页文件到默认网站跟路径/var/www/html就可以,Nginx添加一个虚拟主机,配置如下:
- # vim /usr/local/nginx/conf/vhosts/zabbix.coolnull.com.conf //内容如下
- server
- {
- listen 80;
- server_name 10.0.3.56;
- root /home/www/coolnull.com/zabbix;
- index index.html index.htm index.php;
- location ~ .*\.(php|php5)?$
- {
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- include fastcgi.conf;
- }
- access_log /var/log/nginx/zabbix.coolnull.com.log;
- }
通过web页面配置zabbix
在浏览器输入 http://10.0.3.56/zabbix
检测php组件,全部OK才可以点击next。
配置数据库
Host和Name都是本机ip
如果此处提示文件 zabbix.conf.php 无法创建,则是 web目录无法写入, /var/www/html/zabbix 的文件权限
默认用户名admin 密码 zabbix
安装就介绍到这里了,打完收工。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。