最新消息:

ubuntu中安装zabbix,基于pgsql数据库

Ubuntu admin 3704浏览 0评论

zabbix 是一个企业级系统和网络监视方案,深受运维者喜爱,但是因为中文资料过时且不完整,我就记录了完整的安装过程,以后方便查阅。

选择postgresql数据库的原因,是因为 zabbix 的数据业务相对复杂,比使用 mysql 更加优势。

1IRS616-

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数据库

您必须 登录 才能发表评论!