舒畅 发表于 2018-1-1 14:38:41

zabbix 2.2.20 安装详解(Centos6.9)

环境说明
  

# cat /etc/redhat-release
  
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
  

  nginx_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
  

  php_install.sh 脚本内容
  

#!/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://10.0.0.250/tools/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运行所需的用户
  

useradd zabbix -M -s /sbin/nologin-u 1010  

  第三个里程碑:创建所需数据库和授权用户
  数据库分离,zabbix与数据库不再同一台主机,数据库的安装方式,请参考我的博文。
  

mysql> create database zabbix character set utf8;
  
mysql> grant all on zabbix.* to zabbix@'172.16.1.0/255.255.255.0' >  
mysql> flush privileges;
  

  第四个里程碑:下载zabbix源码包编译安装
  # 安装依赖关系
  

yum install libdbi-dbd-mysqlmysql-devel net-snmp-devel -y   

  #安装zabbix
  

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
  

  第五个里程碑:创建软连接
  

ln -sf /application/zabbix-2.2.20 /application/zabbix  

  第六个里程碑:将导入数据导入数据库
  

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
  

  第七个里程碑:定义服务端口
  

vim /etc/services      ##末尾添加以下内容  

  
zabbix-agent    10050/tcp               # Zabbix Agent
  
zabbix-agent    10050/udp               # Zabbix Agent
  
zabbix-trapper10051/udp               # Zabbix Trapper
  
zabbix-trapper10051/tcp               # Zabbix Trapper
  

  第八个里程碑:修改配置文件
  

#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
  

  第九个里程碑:复制启动脚本
  

cd /server/tools/zabbix-2.2.20  
cp -a misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix
  

  第十个里程碑:修改启动脚本
  

vim /etc/init.d/zabbix_server  
BASEDIR=/application/zabbix   //zabbix的安装位置
  
CONFILE=$BASEDIR/etc/zabbix_server.conf //定义zabbix配置文件位置
  

  ##搜索 start这一项,修改启动选项
  

# 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
  
}
  

  # 将服务写入开机自启动
  

echo "/etc/init.d/zabbix start" >> /etc/rc.local  

  第十一个里程碑:复制web代码到站点目录
  

rsync -az /server/tools/zabbix-2.2.20/frontends/php//application/nginx/html/zabbix/  

  注意修改站点目录的属组,否则安装的时候会有问题
  

chown-R www.www /application/nginx/html/  

  第十二个里程碑:启动服务
  

# /etc/init.d/zabbix start  
Starting zabbix_server:                                    
  

  第十三个里程碑:修改php配置文件
  

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即可

  服务端配置到此结束。
  客户端配置
  第一个里程碑:下载客户端,并进行安装
  

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/
  

  第二个里程碑:修改客户端配置文件
  

# 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   #客户机地址
  

  第三个里程碑:将启动脚本推送到被管理端
  

# rsync -avz/server/tools/zabbix-2.2.20/misc/init.d/fedora/core/zabbix_agentd172.16.1.9:/etc/init.d/zabbix_agentd  
sending incremental file list
  
zabbix_agentd
  

  
sent 1139 bytesreceived 31 bytes780.00 bytes/sec

  
total>  

  修改启动脚本中的内容
  

   # Zabbix-Directory  

  
BASEDIR=/application/zabbix_agents
  

  
CONFILE=$BASEDIR/conf/zabbix_agentd.conf
  

  ##搜索 start这一项,修改启动选项
  

# 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用户是启动不起来的
  

useradd zabbix -M -s /sbin/nologin-u 1010  

  启动服务,并写入开机自启动
  

/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 目录中。
  

# cd/application/nginx/html/zabbix/fonts/  

  
# ls
  
DejaVuSans.ttf
  

  3)将上传的字体文件改名为DejaVuSans.ttf(注意原文件备份)
  

# mv   xxx.ttfDejaVuSans.ttf  

  4)然后刷新浏览器即可。
页: [1]
查看完整版本: zabbix 2.2.20 安装详解(Centos6.9)