您的位置:新葡亰496net > 电脑系统 > 新葡亰496net:源码安装和配置zabbix,源码安装

新葡亰496net:源码安装和配置zabbix,源码安装

发布时间:2019-11-05 02:33编辑:电脑系统浏览(157)

    Zabbix是什么

    Zabbix 是由Alexei Vladishev创建,目前由Zabbix SIA在持续开发和支持。

    Zabbix 是一个企业级的分布式开源监控方案。

    Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。这些功能使得Zabbix成为容量规划的理想方案。

    Zabbix支持主动轮询和被动捕获。Zabbix所有的报告、统计信息和配置参数都可以通过基于Web的前端页面进行访问。基于Web的前端页面可以确保您从任何方面评估您的网络状态和服务器的健康性。适当的配置后,Zabbix可以在IT基础架构监控方面扮演重要的角色。对于只有少量服务器的小型组织和拥有大量服务器的大型公司也同样如此。

    Zabbix是免费的。Zabbix是根据GPL通用公共许可证第2版编写和发行的。这意味着它的源代码都是免费发行的,可供公众任意使用。

    以上是zabbix官方文档的原文介绍。

    更多zabbix的特性,请参考zabbix的官网。

    官方文档,3.4版本的文档已经有中文版本了。

    下面是CentOS 7 LNMP zabbix 3.0 LST版演示

    为什么我要选择zabbix 3.0 LST这个比较旧的版本,而不是最新版本。因为这个是LST(Long-Term Support)版本,即长期支持版本。相对来说,支持的时间比较长,也比较稳定。现在最新的版本已经是3.4了。

    RedHat 6.2 配置 Zabbix

    Zabbix服务器端安装

    1.搭建本地YUM源。

    # yum -y install httpd php php-mysql mysql-server mysql-client curl curl-devel net-snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath zlib-devel mysql-devel glibc-devel gcc automake libidn-devel openssl-devel net-snmp-devel rpm-devel OpenIPMI-devel php-mbstring

     2.添加用户
    [[email protected] src]# useradd zabbix
     [[email protected] src]# passwd zabbix

     3.配置zabbix的MYSQL数据库
    #service mysqld start
     [[email protected] src]# mysql -u root -p

     mysql> create database zabbix;
     Query OK, 1 row affected (0.02 sec)
     mysql> grant all on zabbix.* to [email protected] identified by 'zabbix';
     Query OK, 0 rows affected (0.08 sec)
     mysql> quit

    解压下的zabbix的源码包
    #tar zxvf zabbix-1.8.13.tar.gz
     #cd zabbix-1.8.13
     #mysql -u root zabbix < create/schema/mysql.sql
     #mysql -u root zabbix < create/data/data.sql
     #mysql -u root zabbix < create/data/images_mysql.sql

     4.安装
    #./configure -prefix=/opt/zabbix --enable-server --with-mysql --with-net-snmp --with-jabber=/usr/local/ --with-libcurl --with-openipmi --enable-agent

    可能会报jabber相关的错误
     解决:安装iksemel。
    #wget
     #tar zxvf iksemel-1.4.tar.gz
     #cd iksemel-1.4
     #./configure
     #make
     #make install

    再次执行
    #./configure -prefix=/opt/zabbix --enable-server --with-mysql --with-net-snmp --with-jabber=/usr/local/ --with-libcurl --with-openipmi --enable-agent

     #make install

    安装成功会有提示

    5.修改/etc/services文件
    # cat >> /etc/services << EOF
     zabbix-trapper 10051/tcp Zabbix Trapper
     zabbix-trapper 10051/udp Zabbix Trapper
     EOF

     6.配置zabbix
     #cd zabbix-1.8.13
     6.1
     #cp misc/init.d/RedHat/zabbix_server_ctl /etc/init.d/zabbix_server
     # mkdir /etc/zabbix
     # cp misc/conf/* /etc/zabbix/
     # vi /etc/zabbix/zabbix_server.conf 
     DBName=zabbix
     DBUser=zabbix
     DBPassword=zabbix

     6.2复制PHP的WEB应用
    # mkdir /var/www/html/zabbix
     # cp -r frontends/php/* /var/www/html/zabbix

     6.3修改/etc/zabbix/zabbix_server.conf的
    PidFile=
    与/etc/init.d/zabbix_server 里的变量
    PIDFILE=
    相互一致,注意保存目录的权限问题,才能生成pid文件,否则不能正常start,stop,restart服务。

    6.4添加到启动服务:
     编辑/etc/init.d/zabbix_server文件,在文件头部的#!/bin/sh行下添加如下两行:
    #chkconfig: 35 95 95
     #description:zabbix server
    执行
     #chkconfig --add zabbix_server

     7.启动 Zabbix Server
     #service zabbix_server start

    启动时可能报错:
    libiksemel.so.3: cannot open shared object file: No such file or directory

    解决:
    #updatedb
     #locate libiksemel.so.3
     #ldd zabbix_server

     8.访问 进行配置页面,一步步走。最后zabbix会给一个配置文件,把配置文件上传zabbix的WEB应用的conf目录。即可。

     可能出现问题。
    php-mbstring 不OK

    解决:安装
    #yum install php-mbstring

     9. 的登录用户名密码是admin/zabbix

     

    客户端的安装
     一、直接下载agent包安装过程
    zabbix_agents_1.8.5.linux2_6.amd64.tar.gz

     1.
     #groupadd zabbix
     #useradd zabbix -g zabbix

     2.
     #mkdir  /usr/local/zabbix/
     #tar -zxvf zabbix_agents_1.8.5.linux2_6.amd64.tar.gz -C /usr/local/zabbix/

    或下载源码包,解压后,执行
    #./configure --prefix=/usr/local/zabbix --enable-agent
     #make
     #make install

     

     3.配置zabbix
     * 服务端口定义:
     编辑 /etc/services,在后面追加:
    #cat >> /etc/services << EOF
     zabbix-agent 10050/tcp Zabbix Agent
     zabbix-agent 10050/udp Zabbix Agent
     EOF

     * 复制配置文件:
    #mkdir /etc/zabbix
    从zabbix Server上拷贝一份zabbix.agentd.conf

     * 安装启动脚本
    #下载并拷贝启动脚本zabbix_agentd到/etc/init.d目录下
    #chmod a x /etc/init.d/zabbix_agentd
     * 修改 /etc/init.d/zabbix_agentd 变量定义:
    BASEDIR=/usr/local/zabbix

     *修改/etc/zabbix/zabbix.agentd.conf的
    PidFile=
    与/etc/init.d/zabbix_agentd 里的变量
    PIDFILE=
    相互一致,注意保存目录的权限问题,才能生成pid文件,否则不能正常start,stop,restart服务。

    * 添加到启动服务:
     编辑/etc/init.d/zabbix_agentd文件,在文件头部的#!/bin/sh行下添加如下两行:
    #chkconfig: 35 95 95
     #description:zabbix Agent server
    执行
     #chkconfig --add zabbix_agentd

     * 启动 Zabbix Agentd
     /etc/init.d/zabbix_agentd start

    一些Zabbix相关教程集合:

    安装部署分布式监控系统Zabbix 2.06

    《安装部署分布式监控系统Zabbix 2.06》

    CentOS 6.3下Zabbix安装部署

    Zabbix分布式监控系统实践

    CentOS 6.3下Zabbix监控apache server-status

    CentOS 6.3下Zabbix监控MySQL数据库参数

    ZABBIX 的详细介绍:请点这里
    ZABBIX 的下载地址:请点这里

    本文永久更新链接地址:

    6.2 配置 Zabbix Zabbix服务器端安装 1.搭建本地YUM源。 # yum -y install httpd php php-mysql mysql-server mysql-client curl curl-devel net-snmp net-snmp-devel per...

    Zabbix监控部署方案

    参考:

    1. Zabbix系统部署及使用
    2. zabbix的配置
    3. [Zabbix专区] 关于zabbix 3.4.1 安装手册 for CentOS 7.4

    0. 环境

    zabbix server端: 192.168.4.243,主机名:L3;一般server端也会安装zabbix agent,因为zabbixe server本身使用的mysql也需要被监控。
    zabbix agent端(被监控的主机): 192.168.4.242,主机名:L2
    zabbix server站点目录:/data/website/zabbix/

    目的:

    1. 前提

    1. 安装
      mysql, php, nginx 或 apache
    2. 关闭iptables 和 selinux

    1. 安装mysql或mariadb

    (略)

    搭建数据中心监控环境

    2. 安装依赖

    • 安装 开发工具包
      yum groupinstall 'Development Tools'
    • 安装 基本依赖包
      yum install net-snmp-devel libssh2-devel OpenIPMI-devel curl-devel
    • 安装 fping
      yum install fping

    2. 安装Nginx

    下载,解压

    cd /usr/local/src
    wget http://nginx.org/download/nginx-1.9.15.tar.gz 
    tar -zxvf nginx-1.9.15.tar.gz 
    

    新葡亰496net:源码安装和配置zabbix,源码安装。安装依赖,编译安装

    yum -y install mysql-devel
    cd nginx-1.9.15
    ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre
    
    make && make install
    

    创建启动脚本,并把附件脚本放到 /etc/init.d/ 下

    vim /etc/init.d/nginx
    
    #!/bin/sh
    #
    # nginx - this script starts and stops the nginx daemin
    #
    # 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
    # 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"
    lockfile=/var/lock/subsys/nginx
    start() {
    [ -x $nginx ] || exit 5
    [ -f $NGINX_CONF_FILE ] || exit 6
    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
    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
    

    修改nginx,支持php

    vim  /usr/local/nginx/conf/nginx.conf
    

    找到并修改以下代码

    location / {
                root   /data/website/zabbix;  #根据网站目录设置
                index  index.php;
            }
    
    location ~ .php$ {
               root           html;
               fastcgi_pass   127.0.0.1:9000;
               fastcgi_index  index.php;
               fastcgi_param  SCRIPT_FILENAME  /data/website/zabbix$fastcgi_script_name;
               include        fastcgi_params;
           }
    

    以上的代码由server {}包含的,要把server及一对{}的注释去掉,注意对应的关系。

    启动

    chmod 777 /etc/init.d/nginx
    chkconfig nginx on
    service nginx start
    

    初始化系统自动话脚本init.sh

    3. 创建用户 和 用户组

    • 创建用户组
      groupadd zabbix
    • 创建用户
      useradd zabbix -g zabbix -s /sbin/nologin

    3. 安装PHP

    安装依赖包

    yum -y install beecrypt beecry-devel curl curl-devel freetype 
    freetype-devel fontconfig fontconfig-devel gettext gettext-devel 
    ImageMagick ImageMagick-devel mingw32-iconv.noarch libmcrypt 
    libmcrypt-devel libpng libpng-devel libxml2 libxml2-devel libxslt 
    libxslt-devel mhash mhash-devel mcrypt zlib zlib-devel gd gd-devel 
    libjpeg libjpeg-devel pcre pcre-devel openldap openldap-devel
    

    下载,解压

    cd /usr/local/src
    wget http://cn2.php.net/distributions/php-7.1.8.tar.bz2
    tar -jxvf php-7.1.8.tar.bz2
    

    编译

    cd php-7.1.8/
    ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc 
    --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd 
    --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local 
    --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring 
    --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib 
    --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --enable-dom --enable-xml 
    --enable-fpm --with-libdir=lib64 --enable-bcmath --with-ldap
    
    make && make install
    

    配置php

    cp /usr/local/src/php-7.1.8/php.ini-production  /usr/local/php/etc/php.ini
    cp /usr/local/php/etc/php-fpm.conf.default   /usr/local/php/etc/php-fpm.conf
    cp /usr/local/php/etc/php-fpm.d/www.conf.default   /usr/local/php/etc/php-fpm.d/www.conf
    

    启动

    cp /usr/local/src/php-7.1.8/sapi/fpm/init.d.php-fpm   /etc/init.d/php-fpm
    chmod 755 /etc/init.d/php-fpm
    chkconfig php-fpm on
    service php-fpm start
    

    创建zabbix server的站点

    mkdir -p /data/website/zabbix
    chmod  w /data/website/zabbix
    vim /data/website/zabbix/index-test.php
    

    内容如下:

    <?php phpinfo();?>
    

    重载nginx

    service nginx reload
    

    这时,在页面上面访问 有PHP相关信息说明配置已搞定。
    也可以/usr/local/php/sbin/php-fpm -t --测试php运行状态

    LAMP环境部署

    4. 安装zabbix-server

    1. 下载源码(from 官网)

      • 3.4.2下载链接(后面可能会失效):
        https://ncu.dl.sourceforge.net/project/zabbix/ZABBIX Latest Stable/3.4.2/zabbix-3.4.2.tar.gz
    2. 安装

      1. 解压并进入源码
        tar -zxvf zabbix-3.4.2.tar.gz && cd zabbix-3.4.2
      2. configure
        • 脚本:
          ./configure --prefix=/opt/zabbix --enable-server --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-libcurl --with-net-snmp --with-openipmi --sysconfdir=/etc/zabbix
        • 说明:
          1. 安装目录在/opt/zabbix
          2. 开启server 和 agent
          3. 设置mysql的位置(此处需要查找本机mysql-config的位置,前提已安装mysql)
          4. 配置文件位置:/etc/zabbix
      3. make 和 make install
        sudo make -j && sudo make install
    3. 配置

      1. 配置数据库
        1. 数据库创建 创建用户 授权
          1. 命令行连上数据库
          2. 创建数据库
            create database zabbix charset=utf8;
          3. 创建数据库用户
            create user zabbix identified by password('zabbix');
          4. 对用户进行授权
            grant all on zabbix.* to zabbix;
          5. 刷新权限
            flush privileges;
        2. 导入zabbix自带的.sql文件
          1. 进入zabbix源码目录
          2. 执行
            mysql -uroot -p zabbix < database/mysql/schema.sql
            mysql -uroot -p zabbix < database/mysql/images.sql
            mysql -uroot -p zabbix < database/mysql/data.sql
      2. 为zabbix添加监听端口

        1. 编辑/etc/services
          sudo vim /etc/services
        2. 添加

          zabbix-trapper 10051/tcp Zabbix Trapper
          zabbix-trapper 10051/udp Zabbix Trapper
          zabbix-agent 10050/tcp Zabbix Agent
          zabbix-agent 10050/udp Zabbix Agent
          
      3. 配置文件

        1. 备份原有配置文件
          cd /etc/zabbix && cp zabbix_server.conf zabbix_server.conf.default
        2. 编辑配置文件

          1. 删除全部内容,并填入下列内容

            # 数据库配置部分
            DBHost=localhost
            DBName=zabbix
            DBUser=zabbix
            DBPassword=zabbixpw
            # 数据库所在的socket文件
            DBSocket=/tmp/mysql.sock
            # 默认配置ok
            StartDBSyncers=12
            SenderFrequency=30
            DebugLevel=2
            Timeout=5
            PidFile=/var/tmp/zabbix_server.pid
            # 日志所在位置
            LogFile=/data/logs/zabbix/zabbix_server.log
            LogFileSize=10
            HistoryCacheSize=20M
            LogSlowQueries=3
            # 其他脚本所在位置
            AlertScriptsPath=/etc/zabbix/alert
            ExternalScripts=/etc/zabbix/externalscripts
            FpingLocation=/usr/sbin/fping
            
        3. 添加zabbix启动管理

          1. 进入/etc/init.d
          2. 编辑文件:
            sudo vim zabbix_server_ctl
          3. 填充内容

            #!/bin/sh
            #chkconfig:2345 90 80 
            #description:Zabbix Server
            
            . /etc/rc.d/init.d/functions
            
            BASEDIR=/opt/zabbix
            PIDFILE=/var/tmp/zabbix_server.pid
            ZABBIX_SERVER=$BASEDIR/sbin/zabbix_server
            RETVAL=0
            
            start()
            {
                echo -n $"Starting Zabbix Server: "
                daemon --pidfile=$PIDFILE $ZABBIX_SERVER
                RETVAL=$?
                echo
                [ $RETVAL = 0 ]
                return $RETVAL
            }
            
            stop()
            {
                echo -n $"Stopping Zabbix Server: "
                killproc zabbix_server
                RETVAL=$?
                echo
                [ $RETVAL = 0 ] && rm -f $PIDFILE
            }
            
            case "$1" in
              start)
                    start
                    ;;
              stop)
                    stop
                    ;;
              status)
                    status -p $PIDFILE $ZABBIX_SERVER
                    RETVAL=$?
                    ;;
              restart)
                    stop
                    start
                    ;;
              *)
                    echo $"Usage: service zabbix_server_ctl {start|stop|restart|status}"
                    exit 1
            esac
            
            exit $RETVAL
            
          4. 添加权限
            sudo chmod a x zabbix_server_ctl

          5. 修改文件夹权限
            sudo chown -R zabbix: /etc/zabbix
            sudo chown -R zabbix: /opt/zabbix
            sudo chown -R zabbix: /data/logs/zabbix
          6. 添加开机启动
            chkconfig --add zabbix_server_ctl
            chkconfig zabbix_server_ctl on
          7. 启动
            sudo service zabbix_server_ctl start
        4. web - frontend - 前端管理页面添加

          1. 进入源码根目录
          2. 拷贝前端代码,并进入拷贝后的源码目录
            sudo cp -rf frontends/php /data/www/zabbix && cd /data/www/zabbix
          3. 修改数据库配置文件
            1. 拷贝配置文件
              sudo cp conf/zabbix.conf.php.example conf/zabbix.conf.php
            2. 修改配置文件中数据库 以及 zabbix_server 相应的配置
          4. 修改文件夹权限
            sudo chown -R zabbix: /data/www/zabbix
          5. 配置nginx

            1. 配置内容参考:

              server {
                  listen 80;
                  server_name zabbix.dev;
                  root '/data/www/zabbix';
                  index index.php index.html index.htm;
              
                  location / {
                                  try_files $uri $uri/ /index.php?$query_string;
                  }
              
                  # 支持php
                  include enable-php.conf;
              }
              
            2. 检查并重启nginx
              sudo nginx -t
              sudo nginx -s reload

            3. 浏览器可访问 zabbix.dev(前提配置了该域名的解析),如若发现
        5. 说明:
          1. 默认管理员用户名、密码
            新葡亰496net:源码安装和配置zabbix,源码安装。admin 123456
          2. 在Status of Zabbix栏里,看到 如下文字即是成功
            Zabbix server is running Yes localhost:10051

    4.安装zabbix server

    官方安装文档:

    下载,解压

    cd /usr/local/src
    wget --no-check-certificate https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX Latest Stable/3.0.10/zabbix-3.0.10.tar.gz
    tar -zxvf zabbix-3.0.10.tar.gz 
    

    编译

    yum install -y net-snmp-devel curl-devel
    cd zabbix-3.0.10
    ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
    
    
    make install
    

    根据官方文档,加了--enable-agent参数,会把zabbix_get和zabbix_sender都安装。
    Command-line utilities zabbix_get and zabbix_sender are compiled if --enable-agent option is used.

    所以如果在被监控主机(客户端)上安装agent编译为:./configure --prefix=/usr/local/zabbix --enable-agent
    客户端安装agent也需要建立zabbix用户组和用户。
    由于server端也要监控,所以192.168.4.243也安装了zabbix agent。

    建立zabbix用户组和用户

    groupadd zabbix
    useradd -g zabbix zabbix
    

    登录mysql账户,创建zabbix数据库

    mysql -uroot -p
    

    官网文档创建数据库时指定了排序规则utf8_bin,这里不使用

    mysql> create database zabbix character set utf8;
    mysql> grant all privileges on zabbix.* to ‘zabbix’@‘localhost’ identified by 'zabbix123';
    mysql> quit
    cd /usr/local/src/zabbix-3.0.10/database/mysql/
    mysql -uzabbix -pzabbix123 -Dzabbix < schema.sql
    mysql -uzabbix -pzabbix123 -Dzabbix < images.sql
    mysql -uzabbix -pzabbix123 -Dzabbix < data.sql
    

    把zabbix server的前端页面复制到zabbix站点下

    cp -rp /usr/local/src/zabbix-3.0.10/frontends/php/*   /data/website/zabbix
    chown -R zabbix:zabbix zabbix/
    

    创建zabbix的data文件夹(与mysql的data文件类似,用来存放log和pid文件)

    mkdir -p  /data/zabbix
    chown -R zabbix:zabbix  /data/zabbix
    

    配置zabbix server

    vim /usr/local/zabbix/etc/zabbix_server.conf
    # 配置以下内容:
    LogFile=/data/zabbix/zabbix_server.log
    PidFile=/data/zabbix/zabbix_server.pid
    DBHost=127.0.0.1
    DBName=zabbix
    DBUser=zabbix
    DBPassword=zabbix123
    DBPort=3306
    Timeout=4
    LogSlowQueries=3000
    

    检查

    egrep -v '^#|^$'  /usr/local/zabbix/etc/zabbix_server.conf
    

    配置zabbix agent

    vim /usr/local/zabbix/etc/zabbix_agentd.conf
    # 配置以下内容:
    PidFile=/data/zabbix/zabbix_agentd.pid
    LogFile=/data/zabbix/zabbix_agentd.log
    Server=127.0.0.1
    ServerActive=127.0.0.1
    Hostname=127.0.0.1
    Timeout=10
    

    检查

    egrep -v '^#|^$'  /usr/local/zabbix/etc/zabbix_agentd.conf
    

    复制启动脚本到/etc/init.d/下

    cp /usr/local/src/zabbix-3.0.10/misc/init.d/tru64/*    /etc/init.d/
    

    修改启动脚本

    vim /etc/init.d/zabbix_server
    

    源码安装需要在 #!/bin/sh 后加入如下两行注释,注意要行前要加“#”,否则chkconfig会显示不支持

    # chkconfig: - 95 95
    # description: Zabbix Server
    DAEMON=/usr/local/zabbix/sbin/zabbix_server 
    
    vim /etc/init.d/zabbix_agentd
    

    源码安装需要在 #!/bin/sh 后加入如下两行注释,注意要行前要加“#”,否则chkconfig会显示不支持

    # chkconfig: - 86 14
    # Description: Zabbix agent
    DAEMON=/usr/local/zabbix/sbin/zabbix_agentd
    

    修改为可执行

    chmod a x /etc/init.d/zabbix_server
    chmod a x /etc/init.d/zabbix_agentd 
    

    启动,server默认端口10051;agent默认端口10050

    service zabbix_server start
    service zabbix_agentd  start
    

    检查
    ps aux | grep zabbix查看有没有进程。
    ls /data/zabbix/查看log和pid文件有没有生成。
    vim /data/zabbix/zabbix_server.pid进程号是否一致。
    检查 tail -f zabbix_server.log 启动日志有没有正常启动或报错。
    同理,检查agent。

    加入开机自启动

    chkconfig --level 2345 zabbix_server on
    chkconfig --level 2345 zabbix_agentd on 
    

    安装编译环境,使用一键安装脚本安装lamp或lnmp

    5. 安装zabbix-agent

    • 说明:
      1. 安装过程参考 zabbix-server
    • 不同点:

      1. 无需配置 网站 和 mysql那部分,只需要配置 zabbix_server那部分
      2. zabbix_server.conf 换成 zabbix_agentd.conf,且内容填充为:

        # 本机ip
        Server=192.168.33.30
        Hostname=centos
        BufferSize=1024
        Timeout=5
        StartAgents=3
        DebugLevel=2
        PidFile=/var/tmp/zabbix_agentd.pid
        LogFile=/data/logs/zabbix/zabbix_agentd.log
        LogFileSize=10
        EnableRemoteCommands=1
        Include=/etc/zabbix/zabbix_command.conf
        
      3. zabbix_server_ctl 换成 zabbix_agentd_ctl,且内容填充为:

        #!/bin/sh
        #chkconfig:2345 90 90
        #description:Zabbix Agentd
        
        . /etc/rc.d/init.d/functions
        
        BASEDIR=/opt/zabbix
        PIDFILE=/var/tmp/zabbix_agentd.pid
        ZABBIX_AGENTD=$BASEDIR/sbin/zabbix_agentd
        RETVAL=0
        
        start()
        {
            echo -n $"Starting Zabbix Agentd: "
            daemon --pidfile=$PIDFILE $ZABBIX_AGENTD
            RETVAL=$?
            echo
            [ $RETVAL = 0 ]
            return $RETVAL
        }
        
        stop()
        {
            echo -n $"Stopping Zabbix Agentd: "
            killproc zabbix_agentd
            RETVAL=$?
            echo
            [ $RETVAL = 0 ] && rm -f $PIDFILE
        }
        
        case "$1" in
          start)
                start
                ;;
          stop)
                stop
                ;;
          status)
                status -p $PIDFILE $ZABBIX_AGENTD
                RETVAL=$?
                ;;
          restart)
                stop
                start
                ;;
          *)
                echo $"Usage: service zabbix_agentd_ctl {start|stop|restart|status}"
                exit 1
        esac
        
        exit $RETVAL
        

    5. 配置zabbix 站点

    修改php.ini的参数

    vim /usr/local/php/etc/php.ini
    max_execution_time = 300
    memory_limit = 128M
    post_max_size = 16M
    upload_max_filesize = 2M
    max_input_time = 300
    always_populate_raw_post_data = -1
    date.timezone = Asia/Shanghai
    

    检查有没有问题(命令不能转行)

    egrep 'max_execution_time|memory_limit|post_max_size|upload_max_filesize|max_input_timealways_populate_raw_post_data|Asia/Shanghai' /usr/local/php/etc/php.ini
    

    重启php服务

    service php-fpm restart
    

    zabbix 站点页面设置
    打开http:/192.168.4.243可看到zabbix web前端的一些验证,如果参数配置有问题,重复第5步修改。最后会一步会生成一个zabbix.conf.php文件, 自动放在zabbix server站点/data/zabbix/conf/目录下。如果提示无权限操作,可下载该文件把指定目录下,也可手动创建该文件。

    #注:脚本使用时要注意软件链接是否失效,以免安装失败。

    6. 登录zabbix server站点

    默认账号是admin,密码是zabbix。注意:在创建数据库时,按照官方的文档是加了collate utf8_bin,会区分大小写。官方文档:

    Lamp安全与优化:

    7. 在agent端(192.168.4.242)

    安装zabbix agent
    在被监控的主机上安装zabbix agent,可以用rpm安装,也可以使用源码安装。如果server端是源码安装的,建议agent端也用编译安装。

    scp /usr/local/src/zabbix-3.0.10.tar.gz  root@192.168.4.242:/usr/local/src/
    yum install -y net-snmp-devel curl-devel
    cd zabbix-3.0.10
    ./configure --prefix=/usr/local/zabbix  --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2
    
    make install
    

    配置zabbix-aget

    mkdir -p  /data/zabbix
    chown -R zabbix:zabbix /data/zabbix
    # Server指允许这个IP来取数据,ServerActive是指主动提交数据的IP。Hostname为被监控的主机名。
    vim /usr/local/zabbix/etc/zabbix_agentd.conf
    PidFile=/data/zabbix/zabbix/zabbix_agentd.pid
    LogFile=/data/zabbix/zabbix/zabbix_agentd.log
    LogFileSize=0
    Server=192.168.2.243
    ServerActive=192.168.4.243:10051
    Hostname=192.168.2.242
    Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/
    

    检查

    egrep -v '^#|^$'  /usr/local/zabbix/etc/zabbix_agentd.conf
    

    建立zabbix用户组和用户

    groupadd zabbix
    useradd -g zabbix zabbix
    

    启动,默认端口为10050
    复制启动脚本到/etc/init.d/下

    cp /usr/local/src/zabbix-3.0.10/misc/init.d/tru64/zabbix_agentd    /etc/init.d/
    

    修改启动脚本

    vim /etc/init.d/zabbix_agentd
    

    源码安装需要在 #!/bin/sh 后加入如下两行注释,注意要行前要加“#”,否则chkconfig会显示不支持

    # chkconfig: - 86 14
    # Description: Zabbix agent
    DAEMON=/usr/local/zabbix/sbin/zabbix_agentd
    

    修改为可执行

    chmod a x /etc/init.d/zabbix_agentd 
    

    加入开机自启动

    chkconfig --level 2345 zabbix_agentd on
    
    编译安装加入到系统开机自动运行的设置
    Nginx开机自动运行实现方法
    http://professor.blog.51cto.com/996189/1579791/
    Zabbix agentd和 Zabbix Server 开机自动运行实现方法
    http://os.51cto.com/art/201006/203193.htm
    
    1. 复制 zabbix 源程序的启动脚本到 /etc/init.d 目录下
    cp /usr/local/src/zabbix-3.xxxx/misc/init.d/tru64/zabbix_server   /etc/init.d/
    
    1. 修改 /etc/init.d/zabbix_service,修改文件路径为make install路径。
    SERVICE="Zabbix server"
    DAEMON=/usr/local/zabbix/sbin/zabbix_server
    PIDFILE=/var/run/zabbix_server.pid
    
    1. 增加可执行的权限
    chmod a x /etc/init.d/zabbix_server 
    
    1. 修改启动脚本使其支持 redhat 的 chkconfig,分别在两个脚本的#!/bin/sh 后加入如下两行注释,注意要行前要加“#”
    vim /etc/init.d/zabbix_server 
    
    # chkconfig: - 95 95
    # description: Zabbix Server
    

    如果是agent

    vim /etc/init.d/zabbix_agentd
    
    # chkconfig: - 86 14
    # Description: Zabbix agent
    
    1. 使用 chkconfig 将其加入 init 的启动服务
    chkconfig --level 2345 zabbix_server on
    
    1. 检查
    chkconfig --list | grep zabbix
    
    1. 重启系统可以验证是否自启动成功
    reboot 后 ps aux | grep zabbix
    

    1.配置disable_function 禁用一些函数

    扩展

    源码安装zabbix server,通过vim /etc/init.d/zabbix_server查看pid文件默认是放在/tmp/zabbix_server.pid的。这个启动/关闭zabbix server的脚本是通过pid文件去找到进程号,然后直接kill进程的。如果pid文件不存在、目录不正常或启动用户对pid文件的操作权限不足,会造成service zabbix_server stop/stop/restart命令无法启动/关闭zabbix server。

    生成log和pid文件由/usr/local/zabbix/etc/zabbix_server.conf文件指定,而启动/关闭去读取 pid文件,则由启动/关闭脚本指定。所以如果要修改log和pid文件的默认/tmp下的路径/data/zabbix,需要修改.conf和启动/关闭脚本文件,显式指定pid的路径,并且保证写入的路径/data/zabbix是有权限的。最好是把/data/zabbix文件夹设置为系统用户zabbix所有。参考mysql的配置也是这样的,会把/data/mysql文件夹设置为系统用户mysql所有。

    log和pid文件放到默认的/tmp文件夹下,虽然说权限没有问题,而且大部分情况下也是正常使用的。但由于/tmp是“公共”文件夹,其他程序或人员有可能把这里的文件“误”删了,会导致一些意外的问题。指定其他文件夹,注意权限问题,必要时,可以切换到运行用户(运行用户一般不能登录Linux,另外再设置可登录)去测试权限是否足够。

    disable_functions = eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close

    2.Mysql配置

    开启每表表空间

    登录:

    #/usr/local/mysql/bin/mysql -S /data/mysql/mysql.sock

    mysql>use mysql;

    mysql> update user set password=password('123456') where user = 'root';

    mysql> flush privileges;

    /usr/local/mysql/bin/mysql -uroot -p123456 -S /data/mysql/mysql.sock

    Zabbix下载地址:

    wget

    创建、导入zabbix数据库 

    mysql> create database zabbix character set utf8;

    grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; #创建zabbix用户

    flush privileges; #再次刷新系统授权表

    use zabbix #进入数据库

    select database();#查看当前数据库

    source /usr/local/src/zabbix-3.0.4/database/mysql/schema.sql #导入脚本文件到zabbix数据库

    source /usr/local/src/zabbix-3.0.4/database/mysql/images.sql #导入脚本文件到zabbix数据库

    source /usr/local/src/zabbix-3.0.4/database/mysql/data.sql #导入脚本文件到zabbix数据库

    注意:请按照以上顺序进行导入,否则会出错。

    安装zabbix

    1、添加用户:

    由于安全zabbix只能使用普通用户运行

    groupadd zabbix #创建用户组zabbix

    useradd -M zabbix -s /sbin/nologin

    useradd zabbix -g zabbix -s /bin/false #创建用户zabbix,并且把用户zabbix加入到用户组zabbix中

    cd /usr/local/src/zabbix-3.0.4/ #进入安装目录

    ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config 

    --enable-java #支持jmx监控java类进程

    make #编译

    make install #安装

    说明:find / -name mysql_config 查找位置,如果没有mysql_config,需要安装yum install mysql-devel

    修改zabbix配置文件

    cd /usr/local/zabbix/etc

    vi etc/zabbix_server.conf

    DBName=zabbix #数据库名称

    DBUser=zabbix #数据库用户名

    DBPassword=123456 #数据库密码

    ListenIP=127.0.0.1 #数据库ip地址

    AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix运行脚本存放目录

    :wq! #保存退出

    vi /home/sxit/zabbix/etc/zabbix_agentd.conf

    Include=/home/sxit/zabbix/etc/zabbix_agentd.conf.d/

    UnsafeUserParameters=1 #启用自定义key

    :wq! #保存退出

    6、添加开机启动脚本

    cp /usr/local/src/zabbix-3.0.4/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server #服务端

    cp /usr/local/src/zabbix-3.0.4/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd #客户端

    chmod x /etc/init.d/zabbix_server #添加脚本执行权限

    chmod x /etc/init.d/zabbix_agentd #添加脚本执行权限

    chkconfig zabbix_server on #添加开机启动

    chkconfig zabbix_agentd on #添加开机启动

    修改zabbix开机启动脚本中的zabbix安装目录

    vi /etc/rc.d/init.d/zabbix_server #编辑服务端配置文件

    BASEDIR=/home/sxit/zabbix/ #zabbix安装目录

    :wq! #保存退出

    vi /etc/init.d/zabbix_agentd #编辑客户端配置文件

    BASEDIR=/home/sxit/zabbix/ #zabbix安装目录

    :wq! #保存退出

    三、配置web站点

    cd /home/sxit/zabbix-3.0.3

    cp -r /usr/local/src/zabbix-3.0.4/frontends/php /usr/local/apache/htdoc/zabbix

    chown daemon.daemon -R /usr/local/apache/htdoc/zabbix

    备注:/home/sxit/apache/htdoc/为apache默认站点目录 daemon为apache运行账户

    service zabbix_server start #启动zabbix服务端

    service zabbix_agentd start #启动zabbix客户端

    四、修改php配置文件参数

    1、vi /etc/php.ini #编辑修改

    post_max_size =16M

    max_execution_time =300

    max_input_time =300

    :wq! #保存退出

    PHP databases supportoffFail

    php databases support off fail 经查询是缺少mysqli 

    安装mysqli

    需要在php源码中编译出模块然后加载

     /usr/local/php/bin/phpize

    ./configure --prefix=/usr/local/php/mysqli

     --with-php-config=/usr/local/php/bin/php-config

    --with-mysqli=/usr/bin/mysql_config

    Make &&make install

    Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

    Installing header files:          /usr/local/php/include/php/

    编辑php.ini

    #vi etc/php.ini

    在最末尾添加一行:

    extension= /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/mysqli.so

    重启http服务

    注:此处可能回报:/usr/local/src/php-5.6.6/ext/mysqli/mysqli_api.c:36:47: error: ext/mysqlnd/mysql_float_to_double.h: No such file or directory

    直接修改:mysqli/mysqli_api.c 文件第36行路径为绝对路径

    include "/usr/local/src/php-5.6.6/ext/mysqlnd/mysql_float_to_double.h"

    PHP gettextoffWarning

    手动编译安装gettext模块

     cd /usr/local/src/php-5.6.6/ext/gettext

    # /usr/local/php/bin/phpize

    #./configure --with-php-config=/usr/local/php/bin/php-config

    #make && make install

    安装之后会生成一个类似于这样的信息提示:

    Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

    编辑php.ini

    #vi etc/php.ini

    在最末尾添加一行:

    extension= /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/gettext.so

    重启http服务

    问题:

    Zabbix server is runningNo10.0.8.153:10051

    Zabbix server is not running:the information displayed may not be current

    1、php.ini文件中查找 allow_url_fopen = On;

    让你的php支持 opensll扩展

    /usr/local/php/bin/phpize

    ./configure --with-openssl --with-php-config=/usr/local/php/bin/php-config

    Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/

    在最末尾添加一行:

    extension= /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/openssl.so

    2、开启fsockopen函数就可以了

    disable_function 去掉pfsockopen

    五、安装web

    在浏览器中打开:

    登录:

    默认用户名:Admin 

    密码:zabbix

    zabbix agent安装:

    ./configure --prefix=/usr/local/zabbix_agent --enable-agent

      make && make install 

     cp /usr/local/src/zabbix-3.0.4/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd #客户端

    chmod x /etc/init.d/zabbix_agentd

    chkconfig zabbix_agentd on

    修改安装目录:vim /etc/init.d/zabbix_agentd

     BASEDIR=/usr/local/zabbix_agent/

    zabbix客户端配置

    配置zabbix_server配置文件,zabbix源码目录下

    # vim /usr/local/zabbix_agent/etc/zabbix_agentd.conf

    Server=127.0.0.1(注意,客户机上面这个需要修改为监控机的IP地址)

    ServerActive=127.0.0.1(注意,客户机上面这个需要修改为监控机的IP地址)

    Hostname=Zabbix server(这里的名字需要和监控机上面配置的一致)

    其中Server和ServerActive都指定zabbixserver的IP地址,不同的是,前者是被动后者是主动。也就是说Server这个配置是用来允许127.0.0.1这个ip来我这取数据。而serverActive的127.0.0.1的意思是,客户端主动提交数据给他。明白了吗?为什么要分主动和被动?后续再来讨论这个问题!

    zabbix agent检测分为主动(agent active)和被动(agent)两种形式,主动与被动的说法均是相对于agent来讨论的。简单说明一下主动与被动的区别如下:

    主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy

    被动:server向agent请求获取监控项的数据,agent返回数据。

    主动配置:监控客户端主动发送数据

    Server 192.168.18.223  监控端ip(服务器端)

    ServerActive  192.168.18.223:10051  监控端ip:端口

    Hostname=Zabbix server(这里的名字需要和监控机上面配置的一致)

    被动配置:监控服务器主动收集数据

    Server 192.168.18.223  监控端ip(服务器端)

    ServerActive  192.168.18.22x:10050  被监控端ip:端口

    Hostname=192.168.18.22x(这里的名字需要和监控机上面配置的一致)

    测试,下面的命令需要在server端执行,其中10.0.8.152是agent的ip

    #/usr/local/zabbix/bin/zabbix_get -s 10.0.8.152 -p10050 -k "system.host"

    11163875

    #/usr/local/zabbix/bin/zabbix_get -s 10.0.8.152 -p10050 -k "system.hostname"

    HOSTNAME

    本文由新葡亰496net发布于电脑系统,转载请注明出处:新葡亰496net:源码安装和配置zabbix,源码安装

    关键词:

上一篇:没有了

下一篇:没有了