zabbix是什么在此就不多作介绍了,可以参考之前的文章 零代码如何打造自己的实时监控预警系统 ,这篇主要介绍安装及注意事项。
主要分为服务端和客户端安装,客户端又分为Linux、Windows。
服务端安装环境CentOS6.8
Zabbix3.2
Mysql5.6
Apache
PHP56w
环境准备关闭selinux
setenforce 0
进入mysql,创建zabbix用户并授权
mysql -uroot -p CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@'%' IDENTIFIED BY 'zabbix';
安装apache、php依次安装,虽然说是离线安装,但还是需要联网下载一些包,如果自己手动下载再安装的话会掉入一个个连环坑。
yum install php-pecl-ssh2.x86_64 libssh2-devel.x86_64 net-snmp* OpenIPMI OpenIPMI-devel -y
yum install --skip-broken rpm-build curl* curl-devel httpd php56w php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml php56w-ldap -y
yum install gcc libxml2-devel unixODBC-devel net-snmp-devel
libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel –y
在这里centos6.8里面的php是一个低版本php54w的,因此需要安装php56w,并重启httpd 和mysqld服务
修改php配置文件
vim /etc/php.ini
post_max_size=16M
max_execution_time=300
max_input_time=300
date.timezone=Asia/Shanghai
always_populate_raw_post_data=-1
启动apache
service httpd start
调整防火墙配置,没加会访问出错
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
添加zabbix服务端口
vim /etc/services
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
保存退出!
安装zabbix创建用户
groupadd zabbix
useradd -g zabbix zabbix
创建zabbix文件夹
mkdir /usr/local/zabbix
cd /usr/local/zabbix
下载zabbix3.2
wget %20Latest%20Stable/3.2.0/zabbix-3.2.0.tar.gz
解压
tar zxvf zabbix-3.2.0.tar.gz
cd /usr/local/zabbix/zabbix-3.2.0/database/mysql
mysql -u zabbix -p zabbixzabbix<schema.sql
mysql -u zabbix -p zabbixzabbix<images.sql
mysql -u zabbix -p zabbixzabbix<data.sql
下载依赖包
yum install -y gcc mysql-community-devel libxml2-devel unixODBC-devel net-snmp-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel fping
编译安装zabbix这里面的zabbix为编译后的zabbix文件夹,zabbix-3.2.0为源文件
cd /usr/local/zabbix/zabbix-3.2.0/
./configure --prefix=http://www.likecs.com/usr/local/zabbix --enable-server --enable-agent --enable-java --enable-proxy -with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-unixodbc --with-ssh2 --with-openipmi --with-openssl --with-java-gateway
make install
或在编译目录下/usr/local/zabbix/etc/zabbix_agentd.conf
vim /usr/local/etc/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
FpingLocation=http://www.likecs.com/usr/sbin/fping
DBSocket=http://www.likecs.com/usr/local/mysql5.6/data/mysql.sock 这里填你本机数据库的sock //我发现如果不加,zabbix会一直报connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket mysql.sock'。
ListenIP=你的zabbix_server监听的IP地址 这里的配置一定要写正确,否则后面会出很多问题
在/var/www/html/下创建文件夹 zabbix
mkdir /var/www/html/zabbix
拷贝 php 页面文件到/var/www/html/zabbix 目录下并授权
cd zabbix-3.2.0
cp -R ./frontends/* /var/www/html/zabbix
创建一个规则允许web服务器访问前端文件
chcon -Rv --type=httpd_sys_content_t /var/www/html
chmod +x /var/www/html/zabbix/php/conf/
运行Apache和zabbix访问外网
setsebool -P httpd_can_network_connect=1
setsebool -P zabbix_can_network=1
编辑zabbix前端的PHP配合配置
vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai //主要去掉# 改成上海
不设置会导致异常:Time zone for PHP is not set (configuration parameter "date.timezone").
拷贝启动脚本到/etc/init.d
cp /usr/local/zabbix/zabbix-3.2.0/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server
cp /usr/local/zabbix/zabbix-3.2.0/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd
chkconfig --add /etc/init.d/zabbix_server
chkconfig --add /etc/init.d/zabbix_agentd
修改 basedir:这里面的zabbix为编译后的zabbix文件夹