• zabbix 2.2.20 安装详解(Centos6.9)


    环境说明

    [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

    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/
    
    m  -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
    
    m -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'  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.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-trapper  10051/udp               # Zabbix Trapper
    zabbix-trapper  10051/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/

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

    [root@m01 init.d]# /etc/init.d/zabbix start
    Starting zabbix_server:                                    [  OK  ]

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

    cd /application/php/lib/
    sed -i '/^;default_charset/adefault_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/

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

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

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

    [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

    修改启动脚本中的内容

       

         # 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:WindowsFonts

     

     2)选择一个喜欢的中文字体,复制。保存一下,然后上传到服务器的zabbix站点目录下的fonts 目录中。

    [root@m01 ~]# cd  /application/nginx/html/zabbix/fonts/
    
    [root@m01 fonts]# ls
    DejaVuSans.ttf

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

    [root@m01 fonts]# mv   xxx.ttf  DejaVuSans.ttf

     4)然后刷新浏览器即可。

     

  • 相关阅读:
    20200318
    20200317
    Thinkphp 操作多个数据库
    base格式图片转文件存储
    Thinkphp POST 和 GET 传值
    Thinkphp调用微信扫一扫实例,学会再也不怕客户在微信提的奇葩要求了
    centos 安装ngnix mysql php
    PHP 区分微信、支付宝、QQ扫码
    PHP秒数计算时分秒
    Thinkphp 获取访问者的ip
  • 原文地址:https://www.cnblogs.com/clsn/p/7788775.html
Copyright © 2020-2023  润新知