zabbix 是一个企业级系统和网络监视方案,深受运维者喜爱,但是因为中文资料过时且不完整,我就记录了完整的安装过程,以后方便查阅。
选择postgresql数据库的原因,是因为 zabbix 的数据业务相对复杂,比使用 mysql 更加优势。
zabbix 截图
一、安装环境
系统 | ubuntu-13.04-server-i386.iso |
---|---|
数据库 | postgresql-9.3.2.tar.bz2 |
HTTP服务器 | httpd-2.4.7.tar.bz2 |
PHP | php-5.4.23.tar.bz2 |
ZABBIX | zabbix-2.2.1.tar.gz |
一、安装ubuntu
安装系统的过程就不啰嗦了,你爱怎么就怎么样! 为了方便远程操作我选择了openssh server软件。我的分区方案如下:
挂载分区 | 大小 | 描述 |
---|---|---|
⁄root | 500 MB | |
⁄ | 2 GB | |
⁄usr | 2 GB | |
⁄var | 10 GB | |
⁄fmc | 30 GB | 我把和zabbix相关的软件全部放在这里 |
⁄tmp | 5 GB | |
swap | 8 GB | 内存的1倍或1.6倍 |
⁄home | 剩余空间 |
待系统安装完毕后,我修改了 root 密码,并在接下来的过程中使用 root 用户操作。接下来我:
$ useradd -M -r -d /fmc fmc #添加一个系统用户名,用于运行zabbix相关的软件 $ apt-get install build-essential # 安装编译环境
接下来为系统添加语系,只有这样zabbix的多语言选项才会生效:
$ vim /var/lib/locales/supported.d/zabbix #建立一个新文件,内容如下: en_US.UTF-8 UTF-8 zh_CN.UTF-8 UTF-8 zh_TW.UTF-8 UTF-8 bg_BG.UTF-8 UTF-8 fr_FR.UTF-8 UTF-8 de_DE.UTF-8 UTF-8 id_ID.UTF-8 UTF-8 it_IT.UTF-8 UTF-8 ja_JP.UTF-8 UTF-8 pt_BR.UTF-8 UTF-8 pt_PT.UTF-8 UTF-8 ru_RU.UTF-8 UTF-8 sk_SK.UTF-8 UTF-8 uk_UA.UTF-8 UTF-8 $ locale-gen #立即更新系统的语系
二、安装postgresql
下载并安装:
$ apt-get install libreadline-dev zlib1g-dev libssl-dev libxml2-dev libxslt-dev python-dev # 安装依赖 $ wget http://ftp.postgresql.org/pub/source/v9.3.2/postgresql-9.3.2.tar.bz2 $ tar –jxvf postgresql* && cd postgresql* $ ./configure --prefix=/fmc/postgresql --with-segsize=8 --with-wal-segsize=64 --with-wal-blocksize=64 --with-python --with-openssl --with-libxml --with-libxslt --enable-thread-safety $ make $ make install
初始化数据库:
$ mkdir -p /fmc/postgresql/data && chown fmc:fmc /fmc/postgresql/data $ su - fmc initdb -D /fmc/postgresql/data -E UTF8 --locale=C -U fmc -W
设置系统环境,方便以后操作(建立以后注销用户并重新登录让其生效):
$ vim /etc/profile.d/pgsql.sh export PGHOME=/fmc/postgresql export PGDATA=$PGHOME/data export PATH=$PATH:$PGHOME/bin alias pg_stop='su - fmc -c "pg_ctl -D $PGDATA stop"' alias pg_start='su - fmc -c "pg_ctl -D $PGDATA -l $PGHOME/pgsql.log start"'
将postgresql的动态链接库为系统共享,编译zabbix时需要:
$ vim /etc/ld.so.conf.d/pgsql.conf /zabbix/postgresql/lib $ ldconfig # 让其立即生效
启动 postgresql
$ pg_start
为 zabbix 建立数据库及用户:
$ psql -U fmc --dbname=postgres create database zabbix; create user fmc; grant all on database zabbix to fmc; q
三、安装 apache
虽然nginx很流行,但对于高稳定,且不需要高并发的应用,推荐还是用apache,且使用 prefork 模式。
安装依赖:
$ apt-get install libpcre3-dev
安装 apr 和 apr-util,编译apache时需要。
$ wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.5.3.tar.gz $ tar -jxvf apr-1.5.0.tar.bz2 $ cd apr-1.5.0 $ ./configure && make $ make install $ wget http://mirror.bit.edu.cn/apache//apr/apr-util-1.5.3.tar.gz $ tar -jxvf apr-util-1.5.3.tar.bz2 $ cd apr-util-1.5.3/ $ ./configure --with-apr=/usr/local/apr && make $ make install
编译安装 apache:
$ wget http://mirrors.cnnic.cn/apache//httpd/httpd-2.4.7.tar.bz2 $ tar -jxvf httpd-2.4.7.tar.bz2 $ cd httpd* $ ./configure --prefix=/fmc/httpd --enable-so --enable-mods-shared=most --with-mpm=prefork && make $ make install
配置vim /fmc/httpd/conf/httpd.conf,请根据默认配置添加替换或注释以下关键字段:
#ServerAdmin you@example.com ServerName localhost:80 User fmc Group fmc Include conf/extra/httpd-mpm.conf <IfModule mime_module> AddHandler application/x-httpd-php .php </IfModule> DocumentRoot “/fmc/frontend” <Directory “/fmc/frontend”> </Directory> <IfModule dir_module> DirectoryIndex index.php </IfModule>
配置/fmc/httpd/conf/extra/httpd-mpm.conf,请根据默认配置添加替换或注释以下关键字段:
<IfModule mpm_prefork_module> StartServers 1 MinSpareServers 2 MaxSpareServers 5 MaxRequestWorkers 30 MaxConnectionsPerChild 100 </IfModule>
启动apache:
$ cd /fmc/httpd/ && ./bin/apachectl start
四、安装 php
安装依赖:
$ apt-get install libbison-dev re2c libxml2-dev libjpeg-dev libpng-dev libfreetype6-dev
安装php,将其作为apache的模块运行:
$ wget http://tw1.php.net/distributions/php-5.4.23.tar.bz2 $ tar -jxvf php-5.4.23.tar.bz2 $ cd php* $ ./configure --prefix=/fmc/php --with-config-file-path=/fmc/php/etc --with-apxs2=/fmc/httpd/bin/apxs --with-pdo-pgsql=/fmc/postgresql --with-pgsql=/fmc/postgresql --with-gd --with-png-dir --with-jpeg-dir --with-freetype-dir --enable-bcmath --enable-ctype --enable-sockets --enable-mbstring --with-gettext --disable-debug $ make $ make install $ cp php.ini-production /fmc/php/etc/php.ini #复制标准配置文件
配置php.ini,请根据默认配置添加替换以下关键字段:
$ vim /fmc/php/etc/php.ini ... post_max_size = 16M max_execution_time = 300 max_input_time = 300 date.timezone = Asia/Chongqing ...
五、安装 zabbix
安装依赖:
$ apt-get install gettext libopenipmi-dev ipmitool libssh-dev fping libcurl4-openssl-dev libiksemel-dev libsnmp-dev
安装zabbix:
$ wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.1/zabbix-2.2.1.tar.gz $ tar -zxvf zabbix* && cd zabbix* $ ./configure --prefix=/fmc/zabbix --enable-server --enable-agent --with-postgresql=/fmc/postgresql/bin/pg_config --with-net-snmp --with-jabber --with-libxml2 --with-libcurl --with-openipmi --enable-ipv6 $ make install
初始化zabbix数据库:
$ cd database/postgresql # 源目录下 $ psql --username=fmc --dbname=zabbix --file=schema.sql #注意数据导入的顺序 $ psql --username=fmc --dbname=zabbix --file=images.sql $ psql --username=fmc --dbname=zabbix --file=data.sql
配置zabbix的文件:
$ vim /fmc/zabbix/etc/zabbix_server.conf DBHost=localhost DBName=zabbix DBUser=fmc
启动:
$ cd /fmc/zabbix && ./sbin/zabbix_agentd start #启动代理,用于监视服务器自身 cd /fmc/zabbix && ./sbin/zabbix_server start #启动服务守护进程
安装zabbix的前端WEB文件:
$ cd zabbix-2.2.1/frontends/ # 源目录下 $ cp -a php /fmc/frontend && chown -R fmc:fmc frontend
解决中文字体无法显示问题:
将Windows系统中的simsun.ttc字体文件COPY到/fmc/frontend/fonts下,并改名为simsun.ttf
修改vim /fmc/frontend/include/defines.inc.php:
define(“ZBX_GRAPH_FONT_NAME”, “simsun”); // font file name”
用你的浏览器访问 zabbix 吧:http://$host, 前端的安装都是图形化操作的。
安装完成后,你就可以使用了。默认的超级用户是(注意大小写) Admin,密码是 zabbix。
五、设置开机启动
设置各相关软件开机启动,一劳永逸。
$ vim /etc/rc.local su - fmc -c "pg_ctl -D $PGDATA -l $PGHOME/pgsql.log start" cd /fmc/zabbix && ./sbin/zabbix_agentd start cd /fmc/zabbix && ./sbin/zabbix_server start cd /fmc/httpd && ./bin/apachectl start exit 0 #这句在ubuntu中不能删除,否则不会生效。
转载请注明:爱开源 » ubuntu中安装zabbix,基于pgsql数据库