美文网首页
部署Zabbix 4.0服务

部署Zabbix 4.0服务

作者: DGFM | 来源:发表于2023-06-05 19:33 被阅读0次

    部署Zabbix4.0服务

    简介

    测试部署zabbix 4.0,zabbix服务需要用到zabbix-server,zabbix-proxy,zabbix-agent,zabbix-web组件和mysql数据库;

    参考链接:1 Red Hat Enterprise Linux/CentOS (zabbix.com)

    环境

    主机名 系统 IP 功能 备注
    test CentOS7.9 172.17.91.179 zabbix服务器
    Harbor CentOS7.9 172.17.80.82 zabbix测试用客户端

    部署并配置mariadb

    使用mariadb为zabbix提供数据存储服务,yum方式安装;

    安装

    yum -y install mariadb-server mariadb-client
    

    创建数存储目录并配置权限

    mkdir -p /mnt/mariadb_data
    chown -R mysql:mysql /mnt/mariadb_data
    

    编辑配置文件

    vim /etc/my.cnf
    
    [mysqld]
    # datadir=/var/lib/mysql
    datadir=/mnt/mariadb_data       # 修改默认的数据存储路径,已保证存储空间足够;
    socket=/var/lib/mysql/mysql.sock
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    # Settings user and group are ignored when systemd is used.
    # If you need to run mysqld under a different user or group,
    # customize your systemd unit file for mariadb according to the
    # instructions in http://fedoraproject.org/wiki/Systemd
    
    collation-server = utf8_bin
    init-connect='SET NAMES utf8'
    character-set-server = utf8
    
    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    
    [mysqld_safe]
    log-error=/var/log/mariadb/mariadb.log
    pid-file=/var/run/mariadb/mariadb.pid
    
    #
    # include all files from the config directory
    #
    !includedir /etc/my.cnf.d
    

    注意以下配置,目的是保证新建的数据库编码格式为“utf8”,并且collation-server要为utf8_bin,因为zabbix前端安装时有编码格式要求;

    .
    .
    collation-server = utf8_bin
    init-connect='SET NAMES utf8'
    character-set-server = utf8
    
    [client]
    default-character-set=utf8
    
    [mysql]
    default-character-set=utf8
    .
    .
    

    启动服务测试并确认服务状态

    systemctl start mariadb
    
    [root@test ~]# systemctl status mariadb
    ● mariadb.service - MariaDB database server
       Loaded: loaded (/usr/lib/systemd/system/mariadb.service; disabled; vendor preset: disabled)
       Active: active (running) since Tue 2023-06-06 09:35:18 CST; 4h 14min ago
      Process: 1943 ExecStartPost=/usr/libexec/mariadb-wait-ready $MAINPID (code=exited, status=0/SUCCESS)
      Process: 1858 ExecStartPre=/usr/libexec/mariadb-prepare-db-dir %n (code=exited, status=0/SUCCESS)
     Main PID: 1942 (mysqld_safe)
        Tasks: 20
       Memory: 110.7M
       CGroup: /system.slice/mariadb.service
               ├─1942 /bin/sh /usr/bin/mysqld_safe --basedir=/usr
               └─2167 /usr/libexec/mysqld --basedir=/usr --datadir=/mnt/mariadb_data --plugin-dir=/usr/lib64/mysql/plugin --log-error=/var/log/mariadb/mar...
    
    Jun 06 09:35:15 test mariadb-prepare-db-dir[1858]: MySQL manual for more instructions.
    Jun 06 09:35:15 test mariadb-prepare-db-dir[1858]: Please report any problems at http://mariadb.org/jira
    Jun 06 09:35:15 test mariadb-prepare-db-dir[1858]: The latest information about MariaDB is available at http://mariadb.org/.
    Jun 06 09:35:15 test mariadb-prepare-db-dir[1858]: You can find additional information about the MySQL part at:
    Jun 06 09:35:15 test mariadb-prepare-db-dir[1858]: http://dev.mysql.com
    Jun 06 09:35:15 test mariadb-prepare-db-dir[1858]: Consider joining MariaDB's strong and vibrant community:
    Jun 06 09:35:15 test mariadb-prepare-db-dir[1858]: https://mariadb.org/get-involved/
    Jun 06 09:35:16 test mysqld_safe[1942]: 230606 09:35:16 mysqld_safe Logging to '/var/log/mariadb/mariadb.log'.
    Jun 06 09:35:16 test mysqld_safe[1942]: 230606 09:35:16 mysqld_safe Starting mysqld daemon with databases from /mnt/mariadb_data
    Jun 06 09:35:18 test systemd[1]: Started MariaDB database server.
    

    初始化数据库

    运行mysql_secure_installation来进行数据库初始化,以下截取网上的相关介绍;

    .
    .
    Enter current password for root (enter for none):    # 初次运行直接回车
    .
    Set root password? [Y/n]    # 是否设置root用户密码,输入y并回车或直接回车
    New password:               # 设置root用户的密码
    Re-enter new password:      # 再输入一次你设置的密码
    .
    Remove anonymous users? [Y/n]   # 是否删除匿名用户,生产环境建议删除,所以直接回车
    .
    Disallow root login remotely? [Y/n] # 是否禁止root远程登录,根据自己的需求选择Y/n并回车,建议禁止
    .
    Remove test database and access to it? [Y/n] # 是否删除test数据库,直接回车
    .
    .
    

    登录测试

    mysql -u root -p
    

    创建zabbix数据库用户,并赋权

    不保证语句书写完全无误,请自行确认。并且zabbix-server配置文件中不支持带特殊符号的数据库密码,所以在创建zabbix用户密码时需要注意;

    MariaDB [(none)]> CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbix123';
    MariaDB [(none)]> GRANT ALL ON *.* TO 'zabbix'@'localhost';
    MariaDB [(none)]> FLUSH PRIVILEGES;
    

    登录测试

    mysql -u zabbix -p
    

    为zabbix服务创建数据库

    需要保证zabbix-server和zabbix-proxy使用单独数据库;

    MariaDB [(none)]> CREATE DATABASE zabbix_server;
    MariaDB [(none)]> CREATE DATABASE zabbix_proxy;
    MariaDB [(none)]> SHOW DATABASES;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | zabbix_proxy       |
    | zabbix_server      |
    +--------------------+
    5 rows in set (0.00 sec)
    

    查询数据库编码格式

    MariaDB [(none)]> USE zabbix_server
    Database changed
    MariaDB [zabbix_server]> show variables like "%character%";
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | utf8                       |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | utf8                       |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)
    
    MariaDB [zabbix_server]> USE zabbix_proxy;
    Database changed
    MariaDB [zabbix_proxy]> show variables like "%character%";
    +--------------------------+----------------------------+
    | Variable_name            | Value                      |
    +--------------------------+----------------------------+
    | character_set_client     | utf8                       |
    | character_set_connection | utf8                       |
    | character_set_database   | utf8                       |
    | character_set_filesystem | binary                     |
    | character_set_results    | utf8                       |
    | character_set_server     | utf8                       |
    | character_set_system     | utf8                       |
    | character_sets_dir       | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.00 sec)
    

    部署zabbix 4.0服务端

    配置yum源

    rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
    yum-config-manager --enable rhel-7-server-optional-rpms
    yum clean all
    

    安装 Zabbix Server/proxy/前端

    yum -y install zabbix-server-mysql
    yum -y install zabbix-proxy-mysql
    yum -y install zabbix-web-mysql
    

    导入数据库

    导入zabbix-server数据库

    zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -u zabbix -p zabbix_server
    

    导入zabbix-proxy数据库

    zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -u zabbix -p zabbix_proxy
    

    编辑zabbix_server.conf

    vim /etc/zabbix/zabbix_server.conf
    
    .
    .
    DBName=zabbix_server    # zabbix-server所用数据库名称;
    .
    DBUser=zabbix   # 登录数据库用户;
    .
    DBPassword=zabbix123    # 登录数据库密码;
    .
    ExportDir=/mnt/zabbix_data
    .
    .
    

    编辑zabbix_proxy.conf

    注意:可以不适用proxy代理直接启用server,涉及字段与zabbix_server.conf配置基本相同;

    zabbix-server/proxy启动测试

    systemctl start zabbix-server
    systemctl start zabbix-proxy
    

    安装zabbix前端

    vim /etc/httpd/conf.d/zabbix.conf
    .
    .
            php_value max_execution_time 300
            php_value memory_limit 128M
            php_value post_max_size 16M
            php_value upload_max_filesize 2M
            php_value max_input_time 300
            php_value max_input_vars 10000
            php_value always_populate_raw_post_data -1
            # php_value date.timezone Europe/Riga
            php_value date.timezone Asia/Shanghai       # 主要修改这行,配置时区;
    .
    .
    

    修改配置文件后,访问:http://172.17.91.179/zabbix会跳转到安装界面(具体步骤后续补全);

    部署zabbix-agent客户端

    zabbix-agent启用在被监控设备上,用来和服务进行通信并获取数据;

    配置yum源

    rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
    yum-config-manager --enable rhel-7-server-optional-rpms
    yum clean all
    

    安装客户端文件

    yum -y install zabbix-agent
    

    编辑配置文件

    vim /etc/zabbix/zabbix_agentd.conf
    .
    .
    SourceIP=172.17.80.82       # 填写本机IP地址;
    .
    Server=172.17.91.179        # 指定Server或proxy的ip(主备指定VIP),公网访问需要指定公网ip和对应端口;
    .
    ServerActive=172.17.91.179      # 主动模式 同Server=ip保持一致;
    .
    Hostname=harbor     # 填写本机主机名即可;
    .
    .
    

    启动agent服务

    systemctl start zabbix-agent
    

    服务启动后默认通信端口为10050,如果开启防火墙需要开放端口;

    访问测试

    链接地址:http://172.17.91.179/

    默认用户:Admin

    默认密码:zabbix

    相关文章

      网友评论

          本文标题:部署Zabbix 4.0服务

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