环境说明
1
2
3
4
|
[root@centos ~]
# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@centos ~]
# uname -a
Linux lb02 2.6.32-696.el6.x86_64
#1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
|
服务端配置
第一个里程碑:在m01上部署LNP架构
cd
/server/scripts
sh nginx_install.sh
sh php_install.sh
#!/bin/bash
# base setting
mkdir -p /server/tools
## install nginx
killall nginx
yum install -y pcre-devel openssl-devel
useradd -M -s /sbin/nologin www -u 501
cd /server/tools/
\rm -rf /application/nginx-1.10.2
wget http://nginx.org/download/nginx-1.10.2.tar.gz
tar xf nginx-1.10.2.tar.gz
cd /server/tools/nginx-1.10.2
./configure --prefix=/application/nginx-1.10.2 --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
make
make install
ln -sf /application/nginx-1.10.2 /application/nginx
cd /application/nginx/conf/
egrep -v "#|^$" nginx.conf.default >nginx.conf
/application/nginx/sbin/nginx
#!/bin/bash
killall php-fpm
killall php-fpm
# devel anzhuang
yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel -y
yum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel
# libiconv INSTALL
cd /server/tools
http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz
tar zxf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make
make install
# by epel yum
yum -y install libmcrypt-devel mhash mcrypt
\rm -rf /application/php-5.5.32
##### install php
cd /server/tools/
wget http://mirrors.sohu.com/php/php-5.5.32.tar.gz
tar xf php-5.5.32.tar.gz
cd /server/tools/php-5.5.32
# set php config ##########################
./configure \
--prefix=/application/php-5.5.32 \
--with-mysql=mysqlnd \
--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 \
--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=www \
--with-fpm-group=www \
--enable-ftp \
--enable-opcache=no \
--with-gettext
# fangchuo
#ln -s /application/mysql/lib/libmysqlclient.so.18 /usr/lib64/
touch ext/phar/phar.phar
make && make install
ln -sf /application/php-5.5.32 /application/php
cd /server/tools/php-5.5.32
\cp php.ini-production /application/php/lib/php.ini
cd /application/php/etc/
\cp php-fpm.conf.default php-fpm.conf
/application/php/sbin/php-fpm
第二个里程碑:创建zabbix运行所需的用户
1
|
useradd
zabbix -M -s
/sbin/nologin
-u 1010
|
第三个里程碑:创建所需数据库和授权用户
数据库分离,zabbix与数据库不再同一台主机,数据库的安装方式,请参考我的博文。
1
2
3
|
mysql> create database zabbix character
set
utf8;
mysql> grant all on zabbix.* to zabbix@
'172.16.1.0/255.255.255.0'
identified by
'oldboy123'
;
mysql> flush privileges;
|
第四个里程碑:下载zabbix源码包编译安装
# 安装依赖关系
1
|
yum
install
libdbi-dbd-mysql mysql-devel net-snmp-devel -y
|
#安装zabbix
1
2
3
4
5
6
|
wget https:
//jaist
.dl.sourceforge.net
/project/zabbix/ZABBIX
%20Latest%20Stable
/2
.2.20
/zabbix-2
.2.20.
tar
.gz
tar
zxf zabbix-2.2.20.
tar
.gz
cd
zabbix-2.2.20
.
/configure
--prefix=
/application/zabbix-2
.2.20 --
enable
-server --
enable
-agent --with-net-snmp --with-libcurl --with-mysqli=mysqlnd --with-mysql=mysqlnd
make
&&
make
install
|
第五个里程碑:创建软连接
1
|
ln
-sf
/application/zabbix-2
.2.20
/application/zabbix
|
第六个里程碑:将导入数据导入数据库
1
2
3
4
|
cd
/server/tools/zabbix-2
.0.6
/database/mysql/
mysql -uzabbix -poldboy123 zabbix -h 10.0.0.51 < schema.sql
mysql -uzabbix -poldboy123 zabbix -h 10.0.0.51 < images.sql
mysql -uzabbix -poldboy123 zabbix -h 10.0.0.51 < data.sql
|
第七个里程碑:定义服务端口
1
2
3
4
5
6
|
vim
/etc/services
##末尾添加以下内容
zabbix-agent 10050
/tcp
# Zabbix Agent
zabbix-agent 10050
/udp
# Zabbix Agent
zabbix-trapper 10051
/udp
# Zabbix Trapper
zabbix-trapper 10051
/tcp
# Zabbix Trapper
|
第八个里程碑:修改配置文件
1
2
3
4
5
6
7
8
9
|
#vim /application/zabbix/etc/zabbix_server.conf
#egrep -v "#|^$" /application/zabbix/etc/zabbix_server.conf
LogFile=
/tmp/zabbix_server
.log
PidFile=
/tmp/zabbix_server
.pid
DBHost=172.16.1.51
DBName=zabbix
DBUser=zabbix
DBPassword=oldboy123
|
第九个里程碑:复制启动脚本
1
2
|
cd
/server/tools/zabbix-2
.2.20
cp
-a misc
/init
.d
/fedora/core/zabbix_server
/etc/init
.d
/zabbix
|
第十个里程碑:修改启动脚本
1
2
3
|
vim
/etc/init
.d
/zabbix_server
BASEDIR=
/application/zabbix
//zabbix
的安装位置
CONFILE=$BASEDIR
/etc/zabbix_server
.conf
//
定义zabbix配置文件位置
|
##搜索 start这一项,修改启动选项
1
2
3
4
5
6
7
8
9
10
|
# functions
start() {
if
[ $RUNNING -
eq
1 ]
then
echo
"$0 $ARG: $BINARY_NAME (pid $PID) already running"
else
action $
"Starting $BINARY_NAME: "
$FULLPATH -c $CONFILE
//
这一行添加-c $CONFILE
touch
/var/lock/subsys/
$BINARY_NAME
fi
}
|
# 将服务写入开机自启动
1
|
echo
"/etc/init.d/zabbix start"
>>
/etc/rc
.
local
|
第十一个里程碑:复制web代码到站点目录
1
|
rsync
-az
/server/tools/zabbix-2
.2.20
/frontends/php/
/application/nginx/html/zabbix/
|
注意修改站点目录的属组,否则安装的时候会有问题
1
|
chown
-R www.www
/application/nginx/html/
|
第十二个里程碑:启动服务
1
2
|
[root@m01 init.d]
# /etc/init.d/zabbix start
Starting zabbix_server: [ OK ]
|
第十三个里程碑:修改php配置文件
1
2
3
4
5
6
7
8
9
10
|
cd
/application/php/lib/
sed
-i
'/^;default_charset/a\default_charset = "UTF-8"'
php.ini
sed
-i
'/^expose_php/cexpose_php = Off'
/etc/php
.ini
sed
-i
'/^max_execution_time/cmax_execution_time = 300'
php.ini
sed
-i
'/^max_input_time/cmax_input_time = 300'
php.ini
sed
-i
'/^memory_limit/cmemory_limit = 256M'
php.ini
sed
-i
'/^post_max_size/cpost_max_size = 32M'
php.ini
sed
-i
'/^upload_max_filesize/cupload_max_filesize = 300M'
php.ini
sed
-i
'/^max_file_uploads/cmax_file_uploads = 30'
php.ini
sed
-i
'/^;date.timezone/cdate.timezone = "PRC"'
php.ini
|
修改网php配置文件后,重启php服务。
第十四个里程碑:进行软件配置配置
1)使用浏览器访问,配置好的web站点
2)检查php相关配置是否正确
3)输入数据库的相关信息
4)设置本地的相关信息
5)确认相关信息
6)zabbix服务器安装完成
7)修改模式显示为中文。
8)选择Chinese即可
服务端配置到此结束。
客户端配置
第一个里程碑:下载客户端,并进行安装
1
2
3
4
|
mkdir
-p
/application/zabbix_agents
/server/tools
cd
/server/tools
wget http:
//www
.zabbix.com
/downloads/2
.0.6
/zabbix_agents_2
.0.6.linux2_6.amd64.
tar
.gz
tar
xf zabbix_agents_2.0.6.linux2_6.amd64.
tar
.gz -C
/application/zabbix_agents/
|
第二个里程碑:修改客户端配置文件
1
2
3
4
5
|
[root@web03 conf]
# tail -4 /application/zabbix_agents/conf/zabbix_agentd.conf
LogFile=
/tmp/zabbix_agentd
.log
Server=172.16.1.61
#管理主机地址
ServerActive=172.16.1.61
#主动管理主机地址
Hostname=172.16.1.9
#客户机地址
|
第三个里程碑:将启动脚本推送到被管理端
1
2
3
4
5
6
|
[root@m01 scripts]
# rsync -avz /server/tools/zabbix-2.2.20/misc/init.d/fedora/core/zabbix_agentd 172.16.1.9:/etc/init.d/zabbix_agentd
sending incremental
file
list
zabbix_agentd
sent 1139 bytes received 31 bytes 780.00 bytes
/sec
total size is 2170 speedup is 1.85
|
修改启动脚本中的内容
1
2
3
4
5
|
# Zabbix-Directory
BASEDIR=
/application/zabbix_agents
CONFILE=$BASEDIR
/conf/zabbix_agentd
.conf
|
##搜索 start这一项,修改启动选项
1
2
3
4
5
6
7
8
9
10
|
# functions
start() {
if
[ $RUNNING -
eq
1 ]
then
echo
"$0 $ARG: $BINARY_NAME (pid $PID) already running"
else
action $
"Starting $BINARY_NAME: "
$FULLPATH -c $CONFILE
//
这一行添加-c $CONFILE
touch
/var/lock/subsys/
$BINARY_NAME
fi
}
|
第四个里程碑:启动服务
在启动服务之前,需要创建一个zabbix用户,不然会提示没有zabbix用户是启动不起来的
1
|
useradd
zabbix -M -s
/sbin/nologin
-u 1010
|
启动服务,并写入开机自启动
1
2
|
/etc/init
.d
/zabbix_agentd
start
echo
'/etc/init.d/zabbix_agentd start'
>>
/etc/rc
.
local
|
客户端配置到此结束。
web管理配置
第一个里程碑:添加主机
第二个里程碑:全克隆主机模板,快速添加新的主机。
web界面的更多配置可以参照官网。https://www.zabbix.com/documentation/3.4/zh/start
问题:
改为中文界面后发现图像中的中文
原因是由于zabbix的web前端没有中文字体,所以需要给他添加一个中文字符集。
解决办法:
1)在windwos中找到提取一共中文字体集
在windows的资源管理器地址栏中输入 C:\Windows\Fonts
2)选择一个喜欢的中文字体,复制。保存一下,然后上传到服务器的zabbix站点目录下的fonts 目录中。
1
2
3
4
|
[root@m01 ~]
# cd /application/nginx/html/zabbix/fonts/
[root@m01 fonts]
# ls
DejaVuSans.ttf
|
3)将上传的字体文件改名为DejaVuSans.ttf(注意原文件备份)
1
|
[root@m01 fonts]
# mv xxx.ttf DejaVuSans.ttf
|
4)然后刷新浏览器即可。