Zabbix服务搭建配置

环境:

System: centos6.5

Zabbix : zabbix-2.0.15

配置之前先关闭iptables/selinux

service iptablesstop或者生产环境中如果启用iptables后,不建议直接关闭

配置防火墙,开启10050、10051的TCP和UDP端口

vi /etc/sysconfig/iptables #编辑防火墙配置文件

-A INPUT -s 192.168.21.127 -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCEPT

-A INPUT -s 192.168.21.127 -m state --state NEW -m udp -p udp --dport 10050:10051 -j ACCEPT

:wq! #保存退出

service iptables restart #重启防火墙使配置生效

注:192.168.21.127是Zabbix服务端的IP地址,表示端口只对此IP开放,如果要对所有IP开放,规则如下:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCEPT

-A INPUT -m state --state NEW -m udp -p udp --dport 10050:10051 -j ACCEPT

关闭SELINUX

vi /etc/se/config

SELINUX=disabled 

setenforce 0 #使配置立即生效

一键YUM安装LAMP环境

yum -y install gcc gcc-c++autoconf  httpd php mysql mysql-serverphp-mysql httpd-manual mod_ssl mod_perl mod_auth_mysql php-gd php-xmlphp-mbstring php-ldap php-pear php-xmlrpc php-bcmath mysql-connector-odbcmysql-devel libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-develOpenIPMI-devel java-devel

 

配置php 环境,修改php.ini

vim /etc/php.ini (修改这些参数的目的是zabbix 的web 代码要求要这么配置才能正

常运行,所以,不修改饿后果就是安装无法获得正常的环境,关于php.ini 这些参数的具体

意思,请读者自行参考php 相关资料)

date.timezone = Asia\/Shanghai

max_execution_time = 300

post_max_size = 32M

max_input_time = 300

memory_limit = 128M

mbstring.func_overload = 0

另外直接sed命令更改配置文件也行

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 = 2/ambstring.func_overload = 0\n"/etc/php.ini

设置httpd,mysqld开机启动并开启服务

chkconfig mysqld on

chkconfig httpd on

service mysqld start

service httpd start

安装zabbix服务端,添加zabbix用户及用户组

groupadd zabbix -g 201

useradd -g zabbix -u 201 -m zabbix

解压zabbix安装包

tar -xzvf zabbix-2.4.7.tar.gz

安装

安装依赖包

yum install php-pecl-ssh2.x86_64libssh2-devel.x86_64 openldap openldap-devel

 

./configure--prefix=/usr --sysconfdir=/etc/zabbix --enable-server --enable-proxy--enable-agent --enable-ipv6 --with-mysql=/usr/bin/mysql_config --with-net-snmp--with-libcurl --with-openipmi --with-unixodbc --with-ldap --with-ssh2--enable-java

如果你只是想安装一个服务端,只需开启--enable-server即可,其他参数可以不用选,但

这里是为了后面的各项功能都可以使用,所以开启了非常多的参数)

(如果缺少相应的依赖包,configure 过程会给出提示)

make && makeinstall

导入数据库

mysqladmin -urootpassword 'mysql_pass'; (设置mysql的root 密码)

mysql -uroot -p (登陆数据库)

mysql>createdatabase zabbix character set utf8;

注意,此处要特别注意数据库字符集的问题,如果数据库是非utf8 字符,则web 页面改为中文,是会出现乱码的。)

mysql>grant allprivileges on zabbix.* to zabbix@localhost identified by 'zabbix';

mysql>flushprivileges;

确保以上操作都正常,测试下数据库连接是否正常

mysql -uzabbix-pzabbix zabbix

导入数据

cd /zabbix-2.0.15   //切换到zabbix的解压目录

mysql -uzabbix-pzabbix zabbix < database/mysql/schema.sql

mysql -uzabbix-pzabbix zabbix < database/mysql/p_w_picpaths.sql

mysql -uzabbix-pzabbix zabbix < database/mysql/data.sql

导入数据时一定要注意顺序,一定要先schema.sql p_w_picpath.sqldata.sql,不然会报错

创建zabbix日志目录,并授权给zabbix用户和组

建立服务日志目录

mkdir/var/log/zabbix

chown zabbix:zabbix/var/log/zabbix/

拷贝zabbix启动脚本

cpmisc/init.d/fedora/core/zabbix_* /etc/init.d/

chmod 755 /etc/init.d/zabbix_*

修改zabbix_server/zabbix_agentd启动脚本参数

/etc/init.d/zabbix_server

BASEDIR=/usr/

/etc/init.d/zabbix_server

BASEDIR=/usr/

也可以用sed更改

sed -i"s#BASEDIR=/usr/local#BASEDIR=/usr/#g" /etc/init.d/zabbix_server

sed -i"s#BASEDIR=/usr/local#BASEDIR=/usr/#g" /etc/init.d/zabbix_agentd

配置zabbix_server.conf文件

sed更改

sed -i"s/DBUser\=root/DBUser\=zabbix/g"/etc/zabbix/zabbix_server.conf

sed -i "/#DBPassword=/aDBPassword=zabbix\n"/etc/zabbix/zabbix_server.conf

sed -i" s#tmp/zabbix_server.log#var/log/zabbix/zabbix_server.log#g"/etc/zabbix/zabbix_server.conf

主要的4个参数,vim 更改/etc/zabbix_server.conf文件

LogFile=/tmp/zabbix_server.log

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

DBSocket=/var/lib/mysql/mysql.sock

配置zabbix_agentd.conf文件

 

Sed配置

sed -i"s/Server\=127.0.0.1/Server\=127.0.0.1,192.168.1.89/g"

/etc/zabbix/zabbix_agentd.conf

sed -i"s/ServerActive\=127.0.0.1/ServerActive\=192.168.1.89:10051/g"

/etc/zabbix/zabbix_agentd.conf

sed -i"s#tmp/zabbix_agentd.log#var/log/zabbix/zabbix_agentd.log#g"

/etc/zabbix/zabbix_agentd.conf

sed -i"#UnsafeUserParameters=0#aUnsafeUserParameters=1\n"

/etc/zabbix/zabbix_agentd.conf

建议的参考配置

vim /etc/zabbix/zabbix_agentd.conf

LogFile=/var/log/zabbix/zabbix_agentd.log

EnableRemoteCommands=0

Server=127.0.0.1,192.168.1.89

StartAgents=8

ServerActive=192.168.1.89:10051

Hostname=nat.kx1d.com

Timeout=30

Include=/etc/zabbix/zabbix_agentd.conf.d/

UnsafeUserParameters=1

拷贝网页文件到网站目录

cp -r */var/www/html/zabbix/

chown -R apache.apache /var/www/html/zabbix/

访问进行配置