Zabbix:部署Zabbix 5.0 LTS


写在前面

zabbix部署

  1. 当前环境。

      0 16:22:06 root@zabbix,172.16.2.10:~ # cat /etc/redhat-release 
    CentOS Linux release 7.9.2009 (Core)
    
  2. 添加zabbix仓库源,并激活。

      0 17:09:58 root@zabbix,172.16.2.10:~ # rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
      0 17:11:42 root@zabbix,172.16.2.10:~ # yum clean all
      0 17:12:17 root@zabbix,172.16.2.10:~ # vim /etc/yum.repos.d/zabbix.repo
    [zabbix-frontend]
    ...
    enabled=1
    ...
    
  3. 安装zabbix组件。

      0 17:12:17 root@zabbix,172.16.2.10:~ # yum -y install zabbix-server-mysql zabbix-agent centos-release-scl
      0 17:14:03 root@zabbix,172.16.2.10:~ # yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl
    
  4. 部署mysql,并创建对应zabbix库。

      0 17:16:42 root@mysql-public,172.16.2.4:~ # mysql -uroot -p -S /server/data/mysql_3310/mysql.sock
    mysql> create database zabbix character set utf8 collate utf8_bin;
    mysql> grant all privileges on zabbix.* to 'zabbix'@'172.16.%' identified by 'password';
    mysql> flush privileges;
    mysql> \q
    
  5. 导入sql文件。

    # 默认sql文件在zabbix安装主机的/usr/share/doc/zabbix-server-mysql*/路径下,如果mysql是单独部署,则需要将sql文件拷贝到mysql主机再做导入。
      0 17:30:32 root@mysql-public,172.16.2.4:~ # zcat create.sql.gz | mysql -uzabbix -p -h 172.16.2.4 -P 3310 zabbix
    
  6. 配置zabbix。

    # 创建对应目录及文件。(/server是我数据盘)
      0 14:06:30 root@zabbix,172.16.2.10:~ # mkdir -p /server/log/zabbix
      0 14:06:40 root@zabbix,172.16.2.10:~ # touch /server/log/zabbix/zabbix_server.log
      0 14:06:44 root@zabbix,172.16.2.10:~ # touch /server/log/zabbix/zabbix_agent.log
      0 14:06:52 root@zabbix,172.16.2.10:~ # chown -R zabbix. /server/log/zabbix
    # 修改zabbix-server的配置
      0 14:07:10 root@zabbix,172.16.2.10:~ # cp /etc/zabbix/zabbix_server.conf{,.bak}
      0 14:07:18 root@zabbix,172.16.2.10:~ # vim /etc/zabbix/zabbix_server.conf
    # ListenPort=10051                                    # 监听端口,保持默认即可
    # SourceIP=                                           # 当server端有多个IP地址时,我们可以此选项指定服务端使用固定的IP与agent端进行通讯。
    # LogType=file                                        # 执行使用哪种方式记录日志,有三种方式:'system'表示将日志发往syslog,'file'表示使用指定的文件作为日志文件,'console'表示将日志发往控制台,默认为file。
    LogFile=/server/log/zabbix/zabbix_server.log          # 执行日志文件的位置
    LogFileSize=200                                       # 指定日志文件达到多大时自动切割,单位为MB,设置为0代表不切割,所有日志保存在一个文件中。
    # DebugLevel=3                                        # 指定日志级别,配置文件中有针对级别的说明,默认为3
    PidFile=/var/run/zabbix/zabbix_server.pid             # 指定PID文件的位置,此处指定PID文件后,手动将zabbix-server.service文件中的PID配置删除掉。
    SocketDir=/var/run/zabbix                             # 指定存储socket的目录,从zabbix 3.4.0之后开始支持该参数。
    DBHost=172.16.2.4                                     # 默认为localhost,当DB跟zabbix-server不在同一主机时,需要指定DB主机。
    DBName=zabbix                                         # 指定zabbix-server使用的DB库名
    DBUser=zabbix                                         # DB用户名
    DBPassword=xxxxxxx                                    # DB密码
    DBPort=3310                                           # DB端口
    # StartPollers=5                                      # 指定初始化时轮询的进程数量,启动的进程数越多,则服务端吞吐能力越强,对系统资源消耗越大。
    Timeout=4                                             # 与agent,、SNMP设备或其它外部设备通信的超时时长(单位为秒)。根据网络和客户端具体状况调整此值,调大此值时,应考虑StartPollers参数是否也需要调大。
    AlertScriptsPath=/usr/lib/zabbix/alertscripts         # 自定义告警脚本的存放位置。
    ExternalScripts=/usr/lib/zabbix/externalscripts       # 外部脚本的存放位置
    LogSlowQueries=3000                                   # 指定zabbix-server查询数据库所消耗的时间,单位是毫秒,1毫秒=0.001秒;超过该时间会记入日志。
    StatsAllowedIP=172.16.0.0/20                          # 指定允许访问zabbix-server的地址
    # 修改时区为亚洲上海。
      0 15:42:08 root@zabbix,172.16.2.10:~ # cp /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf{,.bak}
      0 15:42:17 root@zabbix,172.16.2.10:~ # vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
    listen.acl_users = apache,nginx
    php_value[date.timezone] = Asia/Shanghai
    # 修改nginx主配置文件。
     0 14:22:35 root@zabbix,172.16.2.10:~ # vim /etc/opt/rh/rh-nginx116/nginx/nginx.conf
    user nginx;
    worker_processes auto;
    error_log /var/opt/rh/rh-nginx116/log/nginx/error.log;
    pid /var/opt/rh/rh-nginx116/run/nginx/nginx.pid;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       /etc/opt/rh/rh-nginx116/nginx/mime.types;
        default_type  application/octet-stream;
    
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log    /var/opt/rh/rh-nginx116/log/nginx/access.log  main;
        sendfile      on;
        tcp_nopush    on;
        tcp_nodelay   on;
        keepalive_timeout   65;
        types_hash_max_size 2048;
        include /etc/opt/rh/rh-nginx116/nginx/conf.d/*.conf;
    }
    # 修改nginx-zabbix配置文件,只修改如下部分。
      0 14:23:15 root@zabbix,172.16.2.10:~ # vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf
        listen          8000;
        server_name     172.16.2.10;
            fastcgi_pass    unix:/var/opt/rh/rh-php72/run/php-fpm/zabbix.sock;
            #fastcgi_pass     127.0.0.1:9000;    # 也可以使用代理到9000端口的方式,看个人。
    
  7. 启动zabbix。

      0 14:26:37 root@zabbix,172.16.2.10:~ # systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
      0 14:26:45 root@zabbix,172.16.2.10:~ # systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
    
  8. 图形化配置,浏览器输入http://IP:Port。如http://172.16.2.10:8000。

  1. 登录,默认用户Admin(大写A),默认密码:zabbix



写作不易,转载请注明出处,谢谢~~

posted @ 2021-05-17 10:10  loosenc  阅读(625)  评论(0编辑  收藏  举报