Zabbix3.0界面焕然一新,一改10多年的老面孔,alpha4的更新具体记录下:http://www.zabbix.com/rn3.0.0alpha4.php
What’s New in 3.0.0alpha4
Zabbix 3.0安装过程与2.x的变化类似,但又少许需要注意的坑(以下标红的),否则会坑的不行。。。
基础环境:
CentOS 6.6 X64
Nginx:1.9.7
Mysql:5.5.32
PHP:5.5.30( zabbix_3.0 要求php版本至少在5.4以上 )
一些Zabbix相关教程集合:
CentOS 7.2 安装部署 Zabbix 3.0.4 详解 http://www.linuxidc.com/Linux/2016-11/137671.htm
Ubuntu 14.04下Zabbix2.4.5 源码编译安装 http://www.linuxidc.com/Linux/2015-05/117657.htm
安装部署分布式监控系统Zabbix 2.06 http://www.linuxidc.com/Linux/2013-07/86942.htm
Zabbix基本配置及监控主机 http://www.linuxidc.com/Linux/2016-12/138504.htm
CentOS 7.0 x64下Zabbix 3.0 安装笔记 http://www.linuxidc.com/Linux/2016-11/137044.htm
CentOS下Zabbix 3.0.4安装部署 http://www.linuxidc.com/Linux/2017-01/139087.htm
CentOS 6.3下Zabbix监控MySQL数据库参数 http://www.linuxidc.com/Linux/2013-05/84800.htm
64位CentOS 6.2下安装Zabbix 2.0.6 http://www.linuxidc.com/Linux/2014-11/109541.htm
一、Nginx安装:
1.rpm -qa pcre pcre-devel
2.yum install pcre pcre-devel openssl openssl-devel -y
3.mkdir -p /usr/local/nginx-1.9.7
4.useradd nginx -s /sbin/nologin -M
5../configure –user=nginx –group=nginx –prefix=/usr/local/nginx-1.9.7 –with-http_stub_status_module –with-http_ssl_module
make && make install
ln -s /usr/local/nginx-1.9.7 /usr/local/nginx
6.ls -l /usr/local/
7./usr/local/nginx/sbin/nginx
8.ps -ef|grep nginx
9.ss -lntup|grep nginx
[root@zabbix_3.0 conf]# egrep -v “#|^$” nginx.conf.default > nginx.conf
[root@zabbix_3.0 conf]# vim /usr/local/nginx/conf/nginx.conf
worker_processes 1;
error_log /usr/local/nginx/logs/error.log; –新增一行
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
gzip on; –新增一行
server {
listen 80;
server_name localhost;
access_log /usr/local/nginx/logs/access.log; –新增一行
root /usr/local/nginx/html; –更改为/usr/local/nginx/html,原来的值为html;
index index.php index.html index.htm; –加一个index.php
error_page 500 502 503 504 /50x.html;
location = /50x.html { –删除这行
root html; –删除这行
} –删除这行
–下面这部分新增加的内容
location ~ \.(php|php5)?$ {
#root /usr/local/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
}
}
10.为nginx提供 init脚本,新建文件/etc/rc.d/init.d/nginx,把以下内容复制到刚建的nginx文件下:
#!/bin/sh
#nx – this script starts and stops the nginx daemon
#
# chkconfig: – 85 15
# description: Nginx is an HTTP(S) server, HTTP(S) reverse \
# proxy and IMAP/POP3 proxy server
# processname: nginx
# config: /usr/local/nginx/conf/nginx.conf
# config: /etc/sysconfig/nginx
# pidfile: /usr/local/nginx/logs/nginx.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ “$NETWORKING” = “no” ] && exit 0
nginx=”/usr/local/nginx/sbin/nginx”
prog=$(basename $nginx)
NGINX_CONF_FILE=”/usr/local/nginx/conf/nginx.conf”
[ -f /usr/local/nginx ] && . /usr/local/nginx
lockfile=/var/lock/subsys/nginx
make_dirs() {
# make required directories
user=`nginx -V 2>&1 | grep “configure arguments:” | sed ‘s/[^*]*–user=\([^ ]*\).*/\1/g’ -`
options=`$nginx -V 2>&1 | grep ‘configure arguments:’`
for opt in $options; do
if [ `echo $opt | grep ‘.*-temp-path’` ]; then
value=`echo $opt | cut -d “=” -f 2`
if [ ! -d “$value” ]; then
# echo “creating” $value
mkdir -p $value && chown -R $user $value
fi
fi
done
}
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $”Starting $prog: “
daemon $nginx -c $NGINX_CONF_FILE
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $”Stopping $prog: “
killproc $prog -QUIT
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
sleep 1
start
}
reload() {
configtest || return $?
echo -n $”Reloading $prog: “
killproc $nginx -HUP
RETVAL=$?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case “$1” in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $”Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}”
exit 2
esac
11.添加启动项并做成服务:
[root@localhost nginx-1.9.7]chmod +x /etc/rc.d/init.d/nginx
[root@localhost nginx-1.9.7]chkconfig –add nginx
[root@localhost nginx-1.9.7]chkconfig nginx on
[root@localhost php]# ps -A|grep nginx
62878 ? 00:00:00 nginx
62879 ? 00:00:00 nginx
二、MySql安装:二进制软件包(170多M)
# yum install tree nmap lrzsz dos2unix -y
# mkdir -p /usr/local/mysql-5.5.32
[root@zabbix_3.0]# tar -zxvf mysql-5.5.32-linux2.6-x86_64.tar.gz
[root@zabbix_3.0]# mv mysql-5.5.32-linux2.6-x86_64 /usr/local/mysql-5.5.32
[root@zabbix_3.0]# ln -s /usr/local/mysql-5.5.32/ /usr/local/mysql
[root@zabbix_3.0]# useradd mysql -s /sbin/nologin -M
[root@zabbix_3.0]# chown -R mysql.mysql /usr/local/mysql
[root@zabbix_3.0]# cd /usr/local/mysql
[root@zabbix_3.0 mysql]
— 创建系统表
# ./scripts/mysql_install_db –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data/ –user=mysql
cp support-files/mysql.server /etc/init.d/mysqld
–这步不用做sed -i ‘s#/usr/local/mysql#/application/mysql#g’ /application/mysql/bin/mysqld_safe /etc/init.d/mysqld
cp support-files/my-small.cnf /etc/my.cnf
cp:是否覆盖”/etc/my.cnf”? y
echo ‘export PATH=/usr/local/mysql/bin:$PATH’ >>/etc/profile
# source /etc/profile
[root@zabbix_3.0]# echo $PATH
/usr/local/mysql/bin:/usr/lib64/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@zabbix_3.0 application]# cp -a /application/mysql/bin/* /usr/local/sbin
[root@zabbix_3.0 application]#service mysqld start
[root@zabbix_3.0 application]#chkconfig mysqld on
[root@zabbix_3.0 application]#mysqladmin -uroot password 123456
三、PHP安装:
1.yum -y install zlib-devel libxml2-devel libjpeg-devel libiconv-devel freetype-devel libpng-devel gd-devel curl-devel libxslt-devel
2.wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
mkdir -p /usr/local/libiconv
cd libiconv-1.14
./configure –prefix=/usr/local/libiconv
make && make install
cd ../
3.yum -y install libmcrypt-devel mhash mcrypt –这3个rpm包必须安装,CentOS6.6系统的标准YUM源里没有, 需要从EPEL源上找到下载安装
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/
php 5.5.30:( –with-mysqli=mysqlnd和–with-gettext一定要加上,否则前者不装时安装 zabbix时database type没有选项 默认出来的数据库是SqLite 3,且不能切换 ,后者不装时,会报PHP gettext warning)
mkdir -p /usr/local/php-5.5.30
tar -zxvf php-5.5.30.tar.gz
cd php-5.5.30
./configure \
–prefix=/usr/local/php-5.5.30 \
–with-mysql=/usr/local/mysql/ \
–with-mysqli=mysqlnd \
–with-pdo-mysql=mysqlnd \
–with-iconv-dir=/usr/local/libiconv \
–with-freetype-dir \
–with-jpeg-dir \
–with-png-dir \
–with-zlib \
–with-libxml-dir=/usr \
–with-gettext \
–enable-xml \
–disable-rpath \
–enable-bcmath \
–enable-shmop \
–enable-sysvsem \
–enable-inline-optimization \
–with-curl \
–enable-mbregex \
–enable-fpm \
–enable-mbstring \
–with-mcrypt \
–with-gd \
–enable-gd-native-ttf \
–with-openssl \
–with-mhash \
–enable-pcntl \
–enable-sockets \
–with-xmlrpc \
–enable-soap \
–enable-short-tags \
–enable-static \
–with-xsl \
–with-fpm-user=nginx \
–with-fpm-group=nginx \
–enable-ftp \
–enable-opcache=no回车
+———————————————————————————–+
| License: |
| This software is subject to the PHP License, available in this |
| distribution in the file LICENSE. By continuing this installation |
| process, you are bound by the terms of this license agreement. |
| If you do not agree with the terms of this license, you must abort |
| the installation process at this point. |
+———————————————————————————–+
Thank you for using PHP.
config.status: creating php5.spec
config.status: creating main/build-defs.h
config.status: creating scripts/phpize
config.status: creating scripts/man1/phpize.1
config.status: creating scripts/php-config
config.status: creating scripts/man1/php-config.1
config.status: creating sapi/cli/php.1
config.status: creating sapi/fpm/php-fpm.conf
config.status: creating sapi/fpm/init.d.php-fpm
config.status: creating sapi/fpm/php-fpm.service
config.status: creating sapi/fpm/php-fpm.8
config.status: creating sapi/fpm/status.html
config.status: creating sapi/cgi/php-cgi.1
config.status: creating ext/phar/phar.1
config.status: creating ext/phar/phar.phar.1
config.status: creating main/php_config.h
config.status: executing default commands
#make && make install
Generating phar.php
Generating phar.phar
PEAR package PHP_Archive not installed: generated phar will require PHP’s phar extension be enabled.
directorytreeiterator.inc
directorygraphiterator.inc
invertedregexiterator.inc
clicommand.inc
pharcommand.inc
phar.inc
Build complete.
Don’t forget to run ‘make test’.
Installing PHP CLI binary: /usr/local/php-5.5.30/bin/
Installing PHP CLI man page: /usr/local/php-5.5.30/php/man/man1/
Installing PHP FPM binary: /usr/local/php-5.5.30/sbin/
Installing PHP FPM config: /usr/local/php-5.5.30/etc/
Installing PHP FPM man page: /usr/local/php-5.5.30/php/man/man8/
Installing PHP FPM status page: /usr/local/php-5.5.30/php/php/fpm/
Installing PHP CGI binary: /usr/local/php-5.5.30/bin/
Installing PHP CGI man page: /usr/local/php-5.5.30/php/man/man1/
Installing build environment: /usr/local/php-5.5.30/lib/php/build/
Installing header files: /usr/local/php-5.5.30/include/php/
Installing helper programs: /usr/local/php-5.5.30/bin/
program: phpize
program: php-config
Installing man pages: /usr/local/php-5.5.30/php/man/man1/
page: phpize.1
page: php-config.1
Installing PEAR environment: /usr/local/php-5.5.30/lib/php/
[PEAR] Archive_Tar – installed: 1.3.12
[PEAR] Console_Getopt – installed: 1.3.1
[PEAR] Structures_Graph- installed: 1.0.4
[PEAR] XML_Util – installed: 1.2.3
[PEAR] PEAR – installed: 1.9.5
Wrote PEAR system config file at: /usr/local/php-5.5.30/etc/pear.conf
You may want to add: /usr/local/php-5.5.30/lib/php to your php.ini include_path
/root/software/php-5.5.30/build/shtool install -c ext/phar/phar.phar /usr/local/php-5.5.30/bin
ln -s -f phar.phar /usr/local/php-5.5.30/bin/phar
Installing PDO headers: /usr/local/php-5.5.30/include/php/ext/pdo/
[root@zabbix_3.0 php-5.5.30]# make test –此步可不做,是进行测试
[root@zabbix_3.0 php-5.5.30]# ln -s /usr/local/php-5.5.30/ /usr/local/php
生成配置php配置文件
[root@zabbix_3.0 php-5.5.30]# pwd
/root/software/php-5.5.30
[root@zabbix_3.0 php-5.5.30]# cp php.ini-production /usr/local/php/lib/php.ini
[root@zabbix_3.0 php-5.5.30]# cd /usr/local/php/etc/
[root@zabbix_3.0 etc]# pwd
/usr/local/php/etc
[root@zabbix_3.0 etc]# cp php-fpm.conf.default php-fpm.conf
php启动测试
[root@zabbix_3.0 etc]# /usr/local/php/sbin/php-fpm
验证是否成功启动
[root@zabbix_3.0 etc]# netstat -lntup|grep php-fpm
验证LNMP安装是否成功。
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2017-02/140596p2.htm
四、Zabbix安装:
[root@zabbix_3.0 ~]# tar -zxvf zabbix-3.0.0.tar.gz
[root@zabbix_3.0 ~]# groupadd zabbix
[root@zabbix_3.0 ~]# useradd -g zabbix zabbix
[root@zabbix_3.0 ~]# ln -s /usr/local/libiconv/lib/libiconv.so.2 /usr/lib/libiconv.so.2 #添加软连接
[root@zabbix_3.0 ~]# /sbin/ldconfig #使配置立即生效
[root@zabbix_3.0 ~]# mkdir -p /usr/local/zabbix
[root@zabbix_3.0 ~]# cd software/zabbix-3.0.0
[root@oldboy zabbix-3.0.0]# ./configure –prefix=/usr/local/zabbix –enable-server –enable-agent –with-mysql –enable-ipv6 –with-net-snmp –with-libcurl –with-libxml2
参数说明
―prefix=/usr/local/zabbix 为指定安装目录为/usr/local/zabbix
―enable-server 为安装zabbix服务端程序
―enable-agent 为安装agent程序
―with-mysql 为使用mysql数据库
―enable-ipv6 为启用ipv6支持
―with-net-snmp 为启用snmp支持
―with-libcurl 为启用curl
―with-libxml2 编译xml模块,主要用于监控vm虚拟机
报错
checking for net-snmp-config… no
configure: error: Invalid Net-SNMP directory – unable to find net-snmp-config
[root@zabbix zabbix-3.0.0]# rpm -qa | grep net-snmp-devel –发现没有该软件包,进行YUM安装
[root@zabbix zabbix-3.0.0]# yum install net-snmp-devel
已加载插件:fastestmirror, refresh-packagekit, security
设置安装进程
Loading mirror speeds from cached hostfile
解决依赖关系
–> 执行事务检查
—> Package net-snmp-devel.x86_64 1:5.5-49.el6_5.3 will be 安装
–> 处理依赖关系 tcp_wrappers-devel,它被软件包 1:net-snmp-devel-5.5-49.el6_5.3.x86_64 需要
–> 处理依赖关系 rpm-devel,它被软件包 1:net-snmp-devel-5.5-49.el6_5.3.x86_64 需要
–> 处理依赖关系 lm_sensors-devel,它被软件包 1:net-snmp-devel-5.5-49.el6_5.3.x86_64 需要
–> 处理依赖关系 elfutils-devel,它被软件包 1:net-snmp-devel-5.5-49.el6_5.3.x86_64 需要
–> 执行事务检查
—> Package elfutils-devel.x86_64 0:0.158-3.2.el6 will be 安装
—> Package lm_sensors-devel.x86_64 0:3.1.1-17.el6 will be 安装
—> Package rpm-devel.x86_64 0:4.8.0-37.el6 will be 安装
–> 处理依赖关系 popt-devel(x86-64),它被软件包 rpm-devel-4.8.0-37.el6.x86_64 需要
–> 处理依赖关系 file-devel(x86-64),它被软件包 rpm-devel-4.8.0-37.el6.x86_64 需要
—> Package tcp_wrappers-devel.x86_64 0:7.6-57.el6 will be 安装
–> 执行事务检查
—> Package file-devel.x86_64 0:5.04-21.el6 will be 安装
—> Package popt-devel.x86_64 0:1.13-7.el6 will be 安装
–> 完成依赖关系计算
依赖关系解决
=============================================================================================
软件包 架构 版本 仓库 大小
=============================================================================================
正在安装:
net-snmp-devel x86_64 1:5.5-49.el6_5.3 c6-media 304 k
为依赖而安装:
elfutils-devel x86_64 0.158-3.2.el6 c6-media 74 k
file-devel x86_64 5.04-21.el6 c6-media 26 k
lm_sensors-devel x86_64 3.1.1-17.el6 c6-media 22 k
popt-devel x86_64 1.13-7.el6 c6-media 21 k
rpm-devel x86_64 4.8.0-37.el6 c6-media 93 k
tcp_wrappers-devel x86_64 7.6-57.el6 c6-media 15 k
事务概要
=============================================================================================
Install 7 Package(s)
总下载量:555 k
Installed size: 1.3 M
确定吗?[y/N]输入y回车
–再次执行configure,编译通过
[root@oldboy zabbix-3.0.0]# make && make install
[root@zabbix_3.0 ~]# chown -R zabbix:zabbix /usr/local/zabbix/
[root@zabbix_3.0 ~]# mkdir -p /var/log/zabbix-server
[root@zabbix_3.0 ~]# mkdir -p /var/log/zabbix-agentd
[root@zabbix_3.0 ~]# chown -R zabbix:zabbix /var/log/zabbix-server/
[root@zabbix_3.0 ~]# chown -R zabbix:zabbix /var/log/zabbix-agentd/
[root@oldboy zabbix-3.0.0]# mysql -uroot -p<password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ‘zabbix’;
mysql> flush privileges;
mysql> quit;
按照SQL语句顺序导入SQL:
shell> mysql -uzabbix -p<password> zabbix < database/mysql/schema.sql
# stop here if you are creating database for Zabbix proxy
shell> mysql -uzabbix -p<password> zabbix < database/mysql/images.sql
shell> mysql -uzabbix -p<password> zabbix < database/mysql/data.sql
1.修改zabbix.conf:
[root@oldboy zabbix-3.0.0]# vim /usr/local/zabbix/etc/zabbix_server.conf
增加:
DBName=zabbix #数据库名称
DBUser=zabbix #数据库用户名
DBPassword=zabbix #数据库密码
ListenIP=localhost #数据库ip地址 (–根据实际情况更改)
AlertScriptsPath=****/zabbix/alertscripts #zabbix运行脚本存放目录
LogFile=/var/log/zabbix-server/zabbix_server.log –更改Logfile的值为/var/log/zabbix-server/zabbix_server.log,原来的默认值为/tmp/zabbix_server.log
[root@oldboy zabbix-3.0.0]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
LogFile=/var/log/zabbix-agentd/zabbix_agentd.log –更改Logfile的值为/var/log/zabbix-agentd/zabbix_agentd.log,原来的默认值为/tmp/zabbix_agentd.log
Hostname=test202
2.zabbix 3.0启动方式:
[root@oldboy zabbix-3.0.0]# cp /root/software /zabbix-3.0.0/misc/init.d/Fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server #服务端
[root@oldboy zabbix-3.0.0]# cp /root/software/zabbix-3.0.0/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd #客户端
[root@oldboy zabbix-3.0.0]# vi /etc/rc.d/init.d/zabbix_server
# Zabbix-Directory
BASEDIR=/usr/local/zabbix –更改BASEDIR的值为/usr/local/zabbix,原来的值为/usr/local,如果安装时不指定–prefix,就默认安装在/usr/local,因为我安装zabbix在/usr/local/zabbix
同理,也把zabbix_agentd的BASEDIR的值改为/usr/local/zabbix
shell> zabbix_server
zabbix_server [15644]: cannot open “/var/log/zabbix-server/zabbix_server.log”: [13] Permission denied
报错是权限的问题,将var/log/zabbix-server的目录及其下所有文件都设为zabbix用户和zabbix所属组即可
3.将/usr/local/zabbix/sbin目录、/usr/local/nginx/sbin目录、/usr/local/php/sbin目录也写入/etc/profile的环境变量PATH当中
# vi /etc/profile
export PATH=/usr/local/zabbix/sbin:/usr/local/nginx/sbin:/usr/local/php/sbin:/usr/local/mysql/bin:$PATH’
# source /etc/profile
4.然后启动php
[root@oldboy zabbix-3.0.0]# /usr/local/php/sbin/php-fpm
5.配置web环境:
[root@oldboy zabbix-3.0.0]# cd /root/software/zabbix-3.0.0/frontends
[root@oldboy zabbix-3.0.0]# cp -rf php /usr/local/nginx/html/zabbix
6.在浏览器里输入http://10.101.0.15/zabbix 回车
7.修改php.ini:(php5.5默认值较小)
vim /usr/local/php/lib/php.ini 主要为下面几个参数
–在vi里查找出上面的参数,再修改其值
PHP option post_max_size 16M –更改值为16M,原来的值为8M
PHP option max_execution_time 300 –更改值为300,原来的值为60
PHP option max_input_time 300 –更改值为300,原来的值为30
PHP time zone Asia/Shanghai –添加值为Asia/Shanghai,原来的值为空,并把前面的;去掉,使其生效
😡
8.这里修不修改端口都可,如果编译php时你没有带上 –with-mysqli=mysqlnd 你会悲剧的发现这里默认出现的是SQLite3,且无法更换。。。
9.需要给此目录下/usr/local/nginx/html/zabbix/conf的zabbix.conf.php w+x权限,否则install之前会报错需要下载conf,且赋权。
10.安装至此完毕。界面如下(是比以前好看了。。)
ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-02/140596.htm