首页 > FreeBSD > FreeBSD 8.2 安装zabbix-1.8.4
2011
03-26

FreeBSD 8.2 安装zabbix-1.8.4

FreeBSD 8.2 安装zabbix-1.8.4

2011-3-23

By: dnybz cnfreebsd@163.com

Website: www.mydoop.com

安装jabber library

先安装一下libtool 2.4 不然后面安装有可能提示你的libtool 版本低

# cd /usr/ports/devel/libtool
# make;make install;make clean

# cd /usr/ports/net-im/jabber
# make;make install;make clean

然后OK

提示Options for pth-hard 2.0.7
选择
[X] OPTIMIZED_CFLAGS Build with optimized CFLAGS

安装iksemel

# cd /usr/ports/textproc/iksemel
# make ; make install ; make clean

安装net-snmp

# cd /usr/ports/net-mgmt/net-snmp
# make ; make install ; make clean

这个我们直接默认选项

# cp /etc/snmpd.config /etc/snmpd.conf
# cp /usr/local/etc/jabber.xml.sample /usr/local/etc/jabber.xml

安装curl

# cd /usr/ports/ftp/curl
# make ; make install ; make clean

Apache PHP MySQL 我们直接用ports安装
安装Apache 中间有比较多选项,这个可以按照你自己的要求选,我这里直接默认了。

# cd /usr/ports/www/apache22
# make ; make install ; make clean

# cd /usr/ports/lang/php5
# make ; make install ; make clean

选择上
[X] APACHE Build Apache module

安装PHP扩展
在安装这之前,我们先要更新一下autoconf-wrapper

# cd /usr/ports/devel/autoconf-wrapper
# make deinstall
# make ; make install ; make clean

# cd /usr/ports/lang/php5-extensions
# make ; make install ; make clean

选择上
[X] BCMATH bc style precision math functions
[X] BZ2 bzip2 library support
[X] CALENDAR calendar conversion support
[X] CURL CURL support
[X] GD GD library support
[X] GETTEXT gettext library support
[X] GMP GNU MP support
[X] MBSTRING multibyte string support
[X] MCRYPT Encryption support
[X] MYSQL MySQL database support
[X] ODBC unixODBC support
[X] OPENSSL OpenSSL support
[X] SNMP SNMP support
[X] SOCKETS sockets support
[X] XMLRPC XMLRPC-EPI support

其它的系统默认
然后OK

配置Apache
编辑 /usr/local/etc/apache22/httpd.conf 文件
找到下面的
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在后面添加这两行

AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

然后再找到
DirectoryIndex index.html

在后面添加
DirectoryIndex index.html index.htm index.php

保存

配置PHP

# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

然后编辑/usr/local/etc/php.ini 文件
找到;date.timezone =
改成
date.timezone = “Asia/Shanghai”

找到
post_max_size = 8M
提示最小要设置成16M,我们就设置成16M吧。
post_max_size = 16M

找到
max_execution_time = 30
改成
max_execution_time = 300

找到
max_input_time = 60
改成
max_input_time = 300

# cd /usr/ports/databases/mysql55-server
# make ; make install ; make clean

我们这里就不选SSL 了。

[ ] OPENSSL Enable SSL support

然后OK,Apache,PHP,MySQL在这里安装我们在这里就不说了,网上太多了。

编辑/etc/rc.conf添加以下内容
apache22_enable=”YES”
mysql_enable=”YES”
jabber_enable=”YES”

#snmp
snmpd_enable=”YES”
snmpd_flags=”-a”
snmpd_conffile=”/etc/snmpd.conf”
snmptrapd_enable=”YES”
snmptrapd_flags=”-a -p /var/run/snmptrapd.pid”

然后启动Apache,MySQL,snmp,jabber

# /usr/local/etc/rc.d/apache22 start
# /usr/local/etc/rc.d/mysql-server start
# /usr/local/etc/rc.d/snmpd start
# /usr/local/etc/rc.d/snmptrapd start
# /usr/local/etc/rc.d/jabber start

下载zabbix-1.8.4源码

# cd /tmp/

# fetch http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/1.8.4/zabbix-1.8.4.tar.gz/download

# mv download zabbix-1.8.4.tar.gz

解压

# tar xf zabbix-1.8.4.tar.gz

添加zabbix 用户组和一个zabbix 用户

# pw groupadd zabbix
# pw useradd -n zabbix -g zabbix -s /sbin/nologin

我们这里服务端和客户端安装在一起。

# ./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-jabber --with-libcurl --with-net-snmp --with-mysql
# make install;make clean

监视其它机器

# ./configure --prefix=/usr/local/zabbix --enable-agent
# make install;make clean

两个可以同时安装一台机器上

配置Zabbix

编辑 etc/services 文件添加下面的内容
#zabbix service
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper

打开mysql 数据库

# /usr/local/bin/mysql –uroot

新建一个zabbix 数据库,一个mysql用户,密码 并给数据库加权限

create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbix@localhost identified by 'youpassword';
grant select, insert, delete, update on zabbix.* to zabbix@localhost;
flush privileges;

use zabbix;
source /tmp/zabbix-1.8.4/create/schema/mysql.sql
source /tmp/zabbix-1.8.4/create/data/data.sql

复制配置文件

# cp -rf misc/conf/ /etc/zabbix
# cp misc/init.d/freebsd/zabbix_* /usr/local/etc/rc.d/

修改/usr/local/etc/rc.d/zabbix_server


command=”${prefix:-“/usr/local”}/bin/${name}”
改成
command=”${prefix:-“/usr/local/zabbix”}/sbin/${name}”

修改/usr/local/etc/rc.d/zabbix_agentd

command=”${prefix:-“/usr/local”}/bin/${name}”
改成
command=”${prefix:-“/usr/local/zabbix”}/sbin/${name}”

编辑 etc/rc.conf文件添加下面的内容

#zabbix
zabbix_server_enable=”YES”
zabbix_agentd_enable=”YES”

# cd /etc/zabbix/
# cp zabbix_server.conf.sample zabbix_server.conf
# cp zabbix_agentd.conf.sample zabbix_agentd.conf

编辑/etc/zabbix/zabbix_server.conf

去了前面的注释
DBHost=localhost

找到这行把root 改成zabbix
DBUser= zabbix

去了前面的注释
DBPassword=you_mysql_password

去了前面的注释
DBPort=3306

启动zabbix_server

# /usr/local/etc/rc.d/zabbix_server start

启动zabbix_agentd

# /usr/local/etc/rc.d/zabbix_agentd start

这个时候查看一下进程里没有
我们再看一下日志

# tail /tmp/zabbix_server.log

87257:20110321:215418.468 IPMI monitoring: NO
87257:20110321:215418.468 WEB monitoring: YES
87257:20110321:215418.468 Jabber notifications: YES
87257:20110321:215418.468 Ez Texting notifications: YES
87257:20110321:215418.468 ODBC: NO
87257:20110321:215418.468 SSH2 support: NO
87257:20110321:215418.469 IPv6 support: NO
87257:20110321:215418.469 ******************************
87257:20110321:215418.473 Cannot allocate shared memory of size 8421519 [Cannot allocate memory]
87257:20110321:215418.473 Could not allocate shared memory for history cache.

提示不能分配共享缓存
我们查看一下系统默认设置是多少

# sysctl -a | grep "kern.ipc.shmmax"
kern.ipc.shmmax: 33554432
# sysctl -a|grep "kern.ipc.shmall"
kern.ipc.shmall: 8192

我设置把它设置大一些
编辑/etc/sysctl.conf
在最后面添加两个
kern.ipc.shmmax=67108864
kern.ipc.shmall=32768
保存

以前要重起生效,执行以下的立即生效

# sysctl -w kern.ipc.shmmax=67108864
# sysctl -w kern.ipc.shmall=32768

再启动zabbix_server 和zabbix_agentd就行了

复制文件到www 目录

# cp -rf /tmp/zabbix-1.8.4/frontends/php/ /usr/local/www/apache22/data/zabbix

然后再打开
http://youip/zabbix/


下一步


这里是授权,我们点同意,下一步。


这里检查OK了。下一步


写上我们的MySQL 数据库名,用户名,密码,
然后点击 Test connection 按钮 显示为OK就可以下一步了。


写上我们的服务器名字


下一步


这里很明显提示说我们的目录权限不够。

# chmod 777 /usr/local/www/apache22/data/zabbix/conf/

然后再点击Retry 按钮

现在完成安装了

当然我们可以手动配置更快

# cd /usr/local/www/apache22/data/zabbix/conf/
# cp zabbix.conf.php.example zabbix.conf.php

然后配置一下zabbix.conf.php文件

$DB[“PORT”] = ‘0’;
这个端口改成3306,不改也行

$DB[“PASSWORD”] = ‘zabbix_password’;
这个改成你的mysql 密码

用户名:admin
密码:zabbix

2011-3-23

最后编辑:
作者:dnybz
这个作者貌似有点懒,什么都没有留下。