Zabbix-3.0环境搭建指南

来源:互联网 发布:买3DS淘宝哪个好 编辑:程序博客网 时间:2024/04/29 22:40

Zabbix_server搭建指南
nginx-1.9.7 + mysql-5.6.19+php-5.5.14+zabbix-3.0.3
1.关于防火墙
Centos7默认是firewall,所以需要先停止firewall
systemctl stop firewalld.service
systmectl disable firewalld.service
也许命令会不支持,可以改用
service firewall stop
如果没装firewall会报错,但是这不影响
安装iptables
yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件
添加下面两行并保存退出
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
然后开启iptables服务
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
如果不支持改用
service iptables start
关闭selinux
vi /etc/selinux/config

SELINUX=enforcing #注释掉

SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加
:wq! #保存退出
setenforce 0 #使配置立即生效
2.安装mysql
安装所用到的全部源码包我会收集起来打包
把所有的源码包放到/usr/local/src路径下
(1) 装cmake
cd /usr/local/src
tar zxvf cmake-2.8.11.2.tar.gz
cd cmake-2.8.11.2
./configure
make
make install

【注意】:这里如果没有gcc等工具则会在./configure时报错,error: C compiler cc is not found
【解决】 yum -y install make gcc gcc-c++ ncurses-devel

(2)装mysql
groupadd mysql #添加mysql组
useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统
mkdir -p /data/mysql #创建MySQL数据库存放目录
chown -R mysql:mysql /data/mysql #设置MySQL数据库存放目录权限
mkdir -p /usr/local/mysql #创建MySQL安装目录
cd /usr/local/src #进入软件包存放目录
tar zxvf mysql-5.6.19.tar.gz #解压
cd mysql-5.6.19 #进入目录
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc #配置
make #编译
make install #安装
rm -rf /etc/my.cnf #删除系统默认的配置文件(如果默认没有就不用删除)
cd /usr/local/mysql #进入MySQL安装目录

./scripts/mysql_install_db –user=mysql –basedir=/usr/local/mysql –datadir=/data/mysql #生成mysql系统数据库
ln -s /usr/local/mysql/my.cnf /etc/my.cnf #添加到/etc目录的软连接
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动
chmod 755 /etc/init.d/mysqld #增加执行权限
chkconfig mysqld on #加入开机启动
vi /etc/rc.d/init.d/mysqld #编辑
basedir=/usr/local/mysql #MySQL程序安装路径
datadir=/data/mysql #MySQl数据库存放目录
保存退出
service mysqld start #启动
vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行
export PATH=$PATH:/usr/local/mysql/bin
保存退出
source /etc/profile #使配置立刻生效
下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。
ln -s /usr/local/mysql/lib/ /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
mkdir /var/lib/mysql #创建目录
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #添加软链接
mysql_secure_installation #设置Mysql密码,以下是设置密码的过程
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MySQL to secure it, we’ll need the current
password for the root user. If you’ve just installed MySQL, and
you haven’t set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):<–初次运行直接回车
OK, successfully used password, moving on…
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] <– 是否设置root用户密码,输入y并回车或直接回车
New password: <– 设置root用户的密码
Re-enter new password: <– 再输入一次你设置的密码
Password updated successfully!
Reloading privilege tables..
… Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] <– 是否删除匿名用户,生产环境建议删除,所以直接回车
… Success!
Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] <–是否禁止root远程登录,根据自己的需求选择Y/n并回车,建议禁止
… Success!
By default, MySQL comes with a database named ‘test’ that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] <– 是否删除test数据库,直接回车
- Dropping test database…
… Success!
- Removing privileges on test database…
… Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] <– 是否重新加载权限表,直接回车
… Success!
Cleaning up…
All done! If you’ve completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
3.装nginx
下面开始安装nginx依赖的包
1、安装pcre
cd /usr/local/src
mkdir /usr/local/pcre
tar zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure –prefix=/usr/local/pcre
make
make install
2、安装openssl
cd /usr/local/src
mkdir /usr/local/openssl
tar zxvf openssl-1.0.1h.tar.g
cd openssl-1.0.1h
./config –prefix=/usr/local/openssl
make
make install
vi /etc/profile
export PATH=$PATH:/usr/local/openssl/bin
:wq!
source /etc/profile
3、安装zlib
cd /usr/local/src
mkdir /usr/local/zlib
tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure –prefix=/usr/local/zlib
make
make install
4、安装Nginx
groupadd nginx

useradd -g nginx nginx -s /bin/false
cd /usr/local/src
tar zxvf nginx-1.9.7.tar.gz
cd nginx-1.9.7
./configure –prefix=/usr/local/nginx –without-http_memcached_module –user=www –group=www –with-http_stub_status_module –with-http_ssl_module –with-http_gzip_static_module –with-openssl=/usr/local/src/openssl-1.0.1h –with-zlib=/usr/local/src/zlib-1.2.8 –with-pcre=/usr/local/src/pcre-8.35

注意:–with-openssl=/usr/local/src/openssl-1.0.1h –with-zlib=/usr/local/src/zlib-1.2.8 –with-pcre=/usr/local/src/pcre-8.35指向的是源码包解压的路径,而不是安装的路径,否则会报错

make
make install
/usr/local/nginx/sbin/nginx #启动Nginx
在浏览器中打开服务器IP地址,会看到下面的界面,说明Nginx安装成功。
这里写图片描述

启动nginx命令
/usr/local/nginx/sbin/nginx –c /usr/local/nginx/conf/nginx.conf
停止nginx命令
/usr/local/nginx/sbin/nginx –s stop

4.安装php
首先安装依赖包
1、安装yasm
cd /usr/local/src
tar zxvf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure
make
make install
2、安装libmcrypt
cd /usr/local/src
tar zxvf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8
./configure
make
make install
3、安装libvpx
cd /usr/local/src
tar xvf libvpx-v1.3.0.tar.bz2
cd libvpx-v1.3.0
./configure –prefix=/usr/local/libvpx –enable-shared –enable-vp9
make
make install
4、安装tiff
cd /usr/local/src
tar zxvf tiff-4.0.3.tar.gz
cd tiff-4.0.3
./configure –prefix=/usr/local/tiff –enable-shared
make
make install
5、安装libpng
cd /usr/local/src
tar zxvf libpng-1.6.12.tar.gz
cd libpng-1.6.12
./configure –prefix=/usr/local/libpng –enable-shared
make
make install
6、安装freetype
cd /usr/local/src
tar zxvf freetype-2.5.3.tar.gz
cd freetype-2.5.3
./configure –prefix=/usr/local/freetype –enable-shared
make #编译
make install #安装
7、安装jpeg
cd /usr/local/src
tar zxvf jpegsrc.v9a.tar.gz
cd jpeg-9a
./configure –prefix=/usr/local/jpeg –enable-shared
make #编译
make install #安装
8、安装libgd
cd /usr/local/src
tar zxvf libgd-2.1.0.tar.gz #解压
cd libgd-2.1.0 #进入目录
./configure –prefix=/usr/local/libgd –enable-shared –with-jpeg=/usr/local/jpeg –with-png=/usr/local/libpng –with-freetype=/usr/local/freetype –with-fontconfig=/usr/local/freetype –with-xpm=/usr/ –with-tiff=/usr/local/tiff –with-vpx=/usr/local/libvpx #配置
make #编译
make install #安装
【注意】标红处,也许没有libxpm包,这时会报错的
【解决】首先
yum install libxpm
然后在源码安装
cd /usr/local/src
tar zxvf libXpm-3.5.10.tar.gz
cd libXpm-3.5.10
./configure –prefix=/usr/
make && make install
9、安装t1lib
cd /usr/local/src
tar zxvf t1lib-5.1.2.tar.gz
cd t1lib-5.1.2
./configure –prefix=/usr/local/t1lib –enable-shared
make without_doc
make install

【注意】make without_doc这一步也许会报错关于xglyph.lo中缺少头文件,这是因为缺少libXaw包
【解决】yum install libXaw
源码安装
cd /usr/local/src
tar xvf libXaw-1.0.9.tar.bz2
cd libXaw-1.0.9
./configure –prefix=/usr/local/libXaw —enable=shared
make && make install
cd /usr/local/src
tar zxvf t1lib-5.1.2.tar.gz
cd t1lib-5.1.2
./configure –prefix=/usr/local/t1lib –enable-shared
make without_doc
make install
10、安装php
注意:如果系统是64位,请执行以下两条命令,否则安装php会出错(32位系统不需要执行)
\cp -frp /usr/lib64/libltdl.so* /usr/lib/
\cp -frp /usr/lib64/libXpm.so* /usr/lib/
cd /usr/local/src
tar -zvxf php-5.5.14.tar.gz
cd php-5.5.14
export LD_LIBRARY_PATH=/usr/local/libgd/lib
./configure –prefix=/usr/local/php –with-config-file-path=/usr/local/php/etc –with-mysql=/usr/local/mysql –with-mysqli=/usr/local/mysql/bin/mysql_config –with-mysql-sock=/tmp/mysql.sock –with-pdo-mysql=/usr/local/mysql –with-gd –with-png-dir=/usr/local/libpng –with-jpeg-dir=/usr/local/jpeg –with-freetype-dir=/usr/local/freetype –with-xpm-dir=/usr/ –with-vpx-dir=/usr/local/libvpx/ –with-zlib-dir=/usr/local/zlib –with-t1lib=/usr/local/t1lib –with-iconv –enable-libxml –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –enable-opcache –enable-mbregex –enable-fpm –enable-mbstring –enable-ftp –enable-gd-native-ttf –with-openssl –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –without-pear –with-gettext –enable-session –with-mcrypt –with-curl –enable-ctype #配置
【错误】在这会提示没有curl库
【解决】yum install curl curl-devel
make #编译
make install #安装
cp php.ini-production /usr/local/php/etc/php.ini #复制php配置文件到安装目录
rm -rf /etc/php.ini #删除系统自带配置文件
ln -s /usr/local/php/etc/php.ini /etc/php.ini #添加软链接到 /etc目录
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf #拷贝模板文件为php-fpm配置文件
ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf #添加软连接到 /etc目录
vi /usr/local/php/etc/php-fpm.conf #编辑
user = nginx #设置php-fpm运行账号为nginx
group = nginx #设置php-fpm运行组为nginx

pid = run/php-fpm.pid #取消前面的分号
保存退出
设置 php-fpm开机启动
cp /usr/local/src/php-5.5.14/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷贝php-fpm到启动目录
chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限
chkconfig php-fpm on #设置开机启动
vi /usr/local/php/etc/php.ini #编辑配置文件
找到:disable_functions =
修改为:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname
列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
找到:;date.timezone =
修改为:date.timezone = PRC #设置时区
找到:expose_php = On
修改为:expose_php = Off #禁止显示php版本的信息
找到:short_open_tag = Off
修改为:short_open_tag = ON #支持php短标签
找到opcache.enable=0
修改为opcache.enable=1 #php支持opcode缓存
找到:opcache.enable_cli=1 #php支持opcode缓存
修改为:opcache.enable_cli=0
在最后一行添加:zend_extension=opcache.so #开启opcode缓存功能
保存退出
配置nginx支持php
vi /usr/local/nginx/conf/nginx.conf
修改/usr/local/nginx/conf/nginx.conf 配置文件,需做如下修改
user nginx nginx; #首行user去掉注释,修改Nginx运行组为nginx nginx;必须与/usr/local/php/etc/php-fpm.conf中的user,group配置相同,否则php运行出错
index index.html index.htm index.php; #添加index.php
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME documentrootfastcgi_script_name;
include fastcgi_params;
}
取消FastCGI server部分location的注释,
/usr/local/nginx/sbin/nginx –c /usr/local/nginx/conf/nginx.conf
重启nginx
service php-fpm start #启动php-fpm
启动php
service php-fpm start
停用php
service php-fpm stop
重启php-fpm
service php-fpm reload
测试php

cd /usr/local/nginx/html/ #进入nginx默认网站根目录
rm -rf /usr/local/nginx/html/* #删除默认测试页
vi index.php #新建index.php文件

<?phpphpinfo();?>

保存退出
chown www.www /usr/local/nginx/html/ -R #设置目录所有者
chmod 700 /usr/local/nginx/html/ -R #设置目录权限
打开浏览器输入ip

这里写图片描述

5.安装zabbix
cd /usr/local/src #进入软件包下载目录
tar zxvf zabbix-3.0.3.tar.gz #解压
cd /usr/local/src/zabbix-3.0.3/database/mysql #进入mysql数据库创建脚本目录
ls #列出文件,可以看到有schema.sql、images.sql、data.sql这三个文件
mysql -u root -p #输入密码,进入MySQL控制台
create database zabbix character set utf8; #创建数据库zabbix,并且数据库编码使用utf8
grant all on zabbix.* to ‘zabbix’@’127.0.0.1’ identified by ‘123456’ with grant option; #允许账户zabbix能从本机连接到数据库zabbix
flush privileges; #再次刷新系统授权表

use zabbix #进入数据库

source /usr/local/src/zabbix-3.0.3/database/mysql/schema.sql #导入脚本文件到zabbix数据库

source /usr/local/src/zabbix-3.0.3/database/mysql/images.sql #导入脚本文件到zabbix数据库

source /usr/local/src/zabbix-3.0.3/database/mysql/data.sql #导入脚本文件到zabbix数据库
注意:请按照以上顺序进行导入,否则会出错。
cd /usr/lib64/mysql #32位系统为/usr/lib/mysql,注意系统版本同,文件版本可能不一样,这里是16.0.0
ln -s libmysqlclient.so.18.1.0 libmysqlclient.so #添加软连接
ln -s libmysqlclient_r.so.18.1.0 libmysqlclient_r.so #添加软连接
【注意】在/usr/lib64/mysq可能会没有文件,如果不解决会在开启zabbix服务时报错。提示找不到libmysqlclient.so.18的错误
【解决】
cp /usr/local/mysql/lib/libmysqlclient.so.18.1.0 /usr/lib64/mysql
cd /usr/lib64/mysql
ln –s libmysqlclient.so.18.1.0 libmysqlclient.so.18
ln –s libmysqlclient.so.18 libmysqlclient.so
ln –s libmysqlclient.so libmysqlclient_r.so
继续
添加用户:
groupadd zabbix #创建用户组zabbix
useradd zabbix -g zabbix -s /bin/false #创建用户zabbix,并且把用户zabbix加入到用户组zabbix中

ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2 #添加软连接

/sbin/ldconfig #使配置立即生效

cd /usr/local/src/zabbix-3.0.3 #进入安装目录

./configure –prefix=/usr/local/zabbix –enable-server –enable-agent –with-net-snmp –with-libcurl –enable-proxy –with-mysql=/usr/local/mysql/bin/mysql_config #配置

make #编译
make install #安装
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ #添加系统软连接
ln -s /usr/local/zabbix/bin/* /usr/local/bin/ #添加系统软连接

vi /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

保存退出
cd /usr/local/zabbix/etc
vi /usr/local/zabbix/etc/zabbix_server.conf
DBName=zabbix #数据库名称

DBUser=zabbix #数据库用户名
DBPassword=123456 #数据库密码
ListenIP=127.0.0.1 #数据库ip地址
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix
运行脚本存放目录
PidFile=/tmp/zabbix_server.pid
保存退出

vi /usr/local/zabbix/etc/zabbix_agentd.conf
Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
UnsafeUserParameters=1 #启用自定义key
保存退
6、添加开机启动脚本

cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server #服务端

cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd #客户端

chmod +x /etc/rc.d/init.d/zabbix_server #添加脚本执行权限
chmod +x /etc/rc.d/init.d/zabbix_agentd #添加脚本执行权限
chkconfig zabbix_server on #添加开机启动
chkconfig zabbix_agentd on #添加开机启动

vi /etc/rc.d/init.d/zabbix_server #编辑服务端配置文件
BASEDIR=/usr/local/zabbix/ #zabbix安装目录
保存退出

vi /etc/rc.d/init.d/zabbix_agentd #编辑客户端配置文件
BASEDIR=/usr/local/zabbix/ #zabbix安装目录
保存退出

cd /usr/local/src/zabbix-3.0.3

cp -r /usr/local/src/zabbix-3.0.3/frontends/php /usr/local/nginx/html/zabbix

chown nginx.nginx -R /usr/local/nginx/html/zabbix

备注:/usr/local/nginx/html为Nginx默认站点目录 nginx为Nginx运行账户

service zabbix_server start #启动zabbix服务端
service zabbix_agentd start #启动zabbix客户端
启动zabbix
service zabbix_server start
service zabbix_agentd start
重启 zabbix
service zabbix_server restart
停用zabbix
service zabbix_server stop

vi /etc/php.ini #编辑修改
post_max_size =16M
max_execution_time =300
max_input_time =300
保存退出
vi /usr/local/php/etc/php-fpm.conf #编辑修改
request_terminate_timeout = 300
保存退出

service php-fpm reload #重启php-fpm
浏览器中打开
http://10.128.147.147/zabbix/setup.php服务器ip
一路点下去
【错误】在数据库也可能会出问题
同时在/tmp/zabbix_server.log中会有记录。意思是zabbix用户没有查user表的权限
【解决】mysql –u root –p
输入密码后 输入
grant all on zabbix.* to ‘zabbix’@’127.0.0.1’ identified by ‘123456’ with grant option; #允许账户zabbix能从本机连接到数据库zabbix
flush privileges;
重启zabbix
service zabbix_service restart
进入后就没问题了最后成功界面是
这里写图片描述
zabbix登录账户密码
admin
zabbix

0 0
原创粉丝点击