美文网首页非JAVA开发者 - JAVA
2.2.运维 - zabbix - 源码安装(Centos)

2.2.运维 - zabbix - 源码安装(Centos)

作者: 风云雄霸天下123456 | 来源:发表于2017-09-28 15:34 被阅读94次

    参考:

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

    1. 前提

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

    2. 安装依赖

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

    3. 创建用户 和 用户组

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

    4. 安装zabbix-server

    1. 下载源码(from 官网)

    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. 默认管理员用户名、密码
            admin 123456
          2. 在Status of Zabbix栏里,看到 如下文字即是成功
            Zabbix server is running Yes localhost:10051

    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
        

    相关文章

      网友评论

        本文标题:2.2.运维 - zabbix - 源码安装(Centos)

        本文链接:https://www.haomeiwen.com/subject/fhzmextx.html