环境说明
[root@centos ~]# cat /etc/redhat-release CentOS release 6.9 (Final)[root@centos ~]# uname -aLinux 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/scriptssh nginx_install.shsh php_install.sh
nginx_install.sh 脚本内容
#!/bin/bash# base settingmkdir -p /server/tools## install nginxkillall nginxyum install -y pcre-devel openssl-develuseradd -M -s /sbin/nologin www -u 501cd /server/tools/\rm -rf /application/nginx-1.10.2wget http://nginx.org/download/nginx-1.10.2.tar.gztar xf nginx-1.10.2.tar.gzcd /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_modulemakemake installln -sf /application/nginx-1.10.2 /application/nginxcd /application/nginx/conf/egrep -v "#|^$" nginx.conf.default >nginx.conf/application/nginx/sbin/nginx
php_install.sh 脚本内容
#!/bin/bashkillall php-fpmkillall php-fpm# devel anzhuangyum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel -yyum install -y zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libiconv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel# libiconv INSTALLcd /server/toolshttp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gztar zxf libiconv-1.14.tar.gzcd libiconv-1.14./configure --prefix=/usr/local/libiconvmakemake install# by epel yumyum -y install libmcrypt-devel mhash mcrypt\rm -rf /application/php-5.5.32##### install phpcd /server/tools/# wget http://10.0.0.250/tools/php-5.5.32.tar.gz tar xf php-5.5.32.tar.gzcd /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.pharmake && make installln -sf /application/php-5.5.32 /application/phpcd /server/tools/php-5.5.32\cp php.ini-production /application/php/lib/php.inicd /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' identified by 'oldboy123';mysql> flush privileges;
第四个里程碑:下载zabbix源码包编译安装
# 安装依赖关系
yum install libdbi-dbd-mysql mysql-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.gztar zxf zabbix-2.2.20.tar.gzcd 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=mysqlndmake && 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.sqlmysql -uzabbix -poldboy123 zabbix -h 10.0.0.51 < images.sqlmysql -uzabbix -poldboy123 zabbix -h 10.0.0.51 < data.sql
第七个里程碑:定义服务端口
vim /etc/services ##末尾添加以下内容zabbix-agent 10050/tcp # Zabbix Agentzabbix-agent 10050/udp # Zabbix Agentzabbix-trapper 10051/udp # Zabbix Trapperzabbix-trapper 10051/tcp # Zabbix Trapper
第八个里程碑:修改配置文件
#vim /application/zabbix/etc/zabbix_server.conf#egrep -v "#|^$" /application/zabbix/etc/zabbix_server.confLogFile=/tmp/zabbix_server.logPidFile=/tmp/zabbix_server.pidDBHost=172.16.1.51DBName=zabbixDBUser=zabbixDBPassword=oldboy123
第九个里程碑:复制启动脚本
cd /server/tools/zabbix-2.2.20cp -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这一项,修改启动选项
# functionsstart() { 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/
第十二个里程碑:启动服务
[root@m01 init.d]# /etc/init.d/zabbix startStarting zabbix_server: [ OK ]
第十三个里程碑:修改php配置文件
cd /application/php/lib/sed -i '/^;default_charset/a\default_charset = "UTF-8"' php.inised -i '/^expose_php/cexpose_php = Off' /etc/php.inised -i '/^max_execution_time/cmax_execution_time = 300' php.inised -i '/^max_input_time/cmax_input_time = 300' php.inised -i '/^memory_limit/cmemory_limit = 256M' php.inised -i '/^post_max_size/cpost_max_size = 32M' php.inised -i '/^upload_max_filesize/cupload_max_filesize = 300M' php.inised -i '/^max_file_uploads/cmax_file_uploads = 30' php.inised -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/toolscd /server/toolswget http://www.zabbix.com/downloads/2.0.6/zabbix_agents_2.0.6.linux2_6.amd64.tar.gztar xf zabbix_agents_2.0.6.linux2_6.amd64.tar.gz -C /application/zabbix_agents/
第二个里程碑:修改客户端配置文件
[root@web03 conf]# tail -4 /application/zabbix_agents/conf/zabbix_agentd.confLogFile=/tmp/zabbix_agentd.logServer=172.16.1.61 #管理主机地址ServerActive=172.16.1.61 #主动管理主机地址Hostname=172.16.1.9 #客户机地址
第三个里程碑:将启动脚本推送到被管理端
[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_agentdsending incremental file listzabbix_agentdsent 1139 bytes received 31 bytes 780.00 bytes/sectotal size is 2170 speedup is 1.85
修改启动脚本中的内容
# Zabbix-Directory BASEDIR=/application/zabbix_agents CONFILE=$BASEDIR/conf/zabbix_agentd.conf
##搜索 start这一项,修改启动选项
# functionsstart() { 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 startecho '/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 目录中。
[root@m01 ~]# cd /application/nginx/html/zabbix/fonts/[root@m01 fonts]# lsDejaVuSans.ttf
3)将上传的字体文件改名为DejaVuSans.ttf(注意原文件备份)
[root@m01 fonts]# mv xxx.ttf DejaVuSans.ttf
4)然后刷新浏览器即可。