ZABBIX5.0监控安装手册


该教程是以官网的安装教程为基础进行了的优化,全部提供内容均为笔者验证可用。php

提供安装方式有两种分别为:二进制安装、Docker容器安装(推荐)前端


什么是ZABBIX

zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。java

zabbix能监视各类网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各类问题。mysql

zabbix由2部分构成,zabbix server与可选组件zabbix agent。linux

zabbix server能够经过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它能够运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。nginx


准备工做

系统准备(建议|可选)

能够根据自身系统的要求选择性的参照此章节,若是是新安装的CentOS7操做系统建议执行该章节内容。web

  • 备份镜像源sql

    # 备份源
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  • 替换镜像源docker

    # 下载阿里云CentOS.repo
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • 关闭防火墙shell

    # 关闭防火墙
    systemctl stop firewalld.service
    
    # 撤销开机启动
    systemctl disable firewalld.service
  • 关闭安全加强

    # 设置SELinux的运行模式
    setenforce 0
    
    # 设置SELINUX=disabled
    sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
  • 安装EPEL源

    yum install -y epel-release
  • 安装开发组件

    # 经常使用开发组件
    yum groups install -y "Development Tools"
  • 重启系统

    reboot

数据库安装(可选)

使用MYSQL或者MariaDB数据库,若是已有现成数据库则能够跳过该步骤。

注:Oracle公司收购了MySQL后,有将MySQL闭源的潜在风险。社区采用分支的方式来避开这个风险,所以诞生了MariaDB。部分大型互联网用户以及Linux发行商纷纷抛弃MySQL,转投MariaDB阵营。MariaDB是目前最受关注的MySQL数据库衍生版,也被视为开源数据库MySQL的替代品。

若是打算Docker安装(推荐)也建议跳过此步骤,Docker有提供容器数据库安装。

  • 安装MariaDB

    yum install -y mariadb-server
  • 启动MariaDB

    # 启动MariaDB
    systemctl start mariadb.service
    
    # 设置为开启启动
    systemctl enable mariadb.service
  • 初始化数据库

    mysql_secure_installation

数据库安装并初始化完成。


ZABBIX安装

本文提供安装方式有两种分别为:二进制安装、容器安装(强烈推荐)

系统环境——

  • 发行版本:CentOS7.5 +
  • 内核版本:3.10 +

二进制安装

  • 安装zabbix5.0镜像源

    # 安装Zabbix镜像源
    rpm -ivh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
    
    yum clean all
  • 安装zabbix-server-mysql与zabbix-agent

    yum install -y zabbix-server-mysql zabbix-agent
  • 安装zabbix-frontend

    开启Red Hat软件集合

    yum install -y centos-release-scl

    编辑/etc/yum.repos.d/zabbix.repo文件

    [zabbix-frontend]
    ...
    enabled=1
    ...
    yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
  • 配置zabbix数据库

    # 使用root用户登陆(密码自行修改)
    mysql -uroot -proot
    
    # 新建zabbix用户与数据库
    MariaDB> create database zabbix character set utf8 collate utf8_bin;
    MariaDB> create user `zabbix`@`%` identified by 'Zabbix@Password';
    MariaDB> grant all privileges on zabbix.* to `zabbix`@`%`;
  • 初始化数据

    zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -pZabbix@Password zabbix
  • Zabbix server配置数据库

    编辑配置文件/etc/zabbix/zabbix_server.conf

    DB开头的参数均为数据库参数,根据Mysql|MariaDB的配置修复便可。以下所示——

    ...
    DBHost=localhost
    ...
    DBPassword=Zabbix@Password
    ...
  • Zabbix前端配置PHP

    编辑配置文件/etc/opt/rh/rh-php72/php.ini

    ...
    max_execution_time = 300
    ...
    post_max_size = 16M
    ...
    date.timezone = Asia/Shanghai
    ...

    编辑配置文件/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf

    ...
    listen.acl_users = apache,nginx
    ...
    ; php_value[date.timezone] = Asia/Shanghai
    ...

    编辑配置文件/etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf

    # port
    listen 80;
    
    # server_ip_or_name
    server_name 192.168.1.100;
  • 启动Zabbix server和agent进程

    启动Zabbix server和agent进程,并为它们设置开机自启。

    # 启动
    systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
    
    # 开机自启
    systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
  • 进入UI安装界面

    输入nginx配置的host跟port,例如http://192.168.1.100进入后须要安装。

    点击下一步。

    这里是验证是否知足安装条件,咱们以前修复改配置所以所有OK,直接下一步。

    输入数据库信息,以前笔者配置的密码是Zabbix@Password

    这里要注意Zabbix server须要与配置保持一致。

    确认无误以后直接下一步。

    完成安装。

  • 登陆zabbix

    帐号/密码为Admin/zabbix

    成功登陆后进入zabbix监控页面。


docker安装

推荐使用容器化安装zabbix。

  • 安装mysql

    docker run -it --rm \
    --privileged=true \
    --name mysql-server \
    -p 3306:3306 \
    -v /opt/docker/zabbix/zabbix-mysql/log:/var/log/mysql \
    -v /opt/docker/zabbix/zabbix-mysql/data:/var/lib/mysql \
    -v /opt/docker/zabbix/zabbix-mysql/conf:/etc/mysql \
    -e MYSQL_ROOT_PASSWORD="root" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="Zabbix@Password" \
    -e TZ="Asia/Shanghai" \
    -d mysql:5.7 \
    --character-set-server=utf8mb4 \
    --collation-server=utf8mb4_bin \
    --lower_case_table_names=1
  • 安装zabbix-java-gateway

    docker run -it --rm \
    --privileged=true \
    --name zabbix-java-gateway \
    -d zabbix/zabbix-java-gateway:latest
  • 安装zabbix-server

    docker run -it --rm \
    --privileged=true \
    --name zabbix-server-mysql \
    -e DB_SERVER_HOST="mysql-server" \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="Zabbix@Password" \
    -e MYSQL_ROOT_PASSWORD="root" \
    -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
    --link mysql-server:mysql \
    --link zabbix-java-gateway:zabbix-java-gateway \
    -p 10051:10051 \
    -d zabbix/zabbix-server-mysql:latest
  • 安装zabbix-web

    docker run -it --rm \
    --privileged=true \
    --name zabbix-web-nginx-mysql \
    -e DB_SERVER_HOST="mysql-server" \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="Zabbix@Password" \
    -e MYSQL_ROOT_PASSWORD="root" \
    -e ZBX_SERVER_HOST="zabbix-server-mysql" \
    -e ZBX_SERVER_PORT=10051 \
    -e ZBX_POSTMAXSIZE=1024M \
    -e PHP_TZ="Asia/Shanghai" \
    --link mysql-server:mysql \
    --link zabbix-server-mysql:zabbix-server \
    -p 18080:8080 \
    -p 18443:8443 \
    -p 10080:80 \
    -d zabbix/zabbix-web-nginx-mysql:latest
  • 安装zabbix-agent

    docker run -it --rm \
    --privileged=true \
    --name zabbix-agent \
    -e ZBX_HOSTNAME="Zabbix server" \
    -e ZBX_SERVER_HOST="zabbix-server-mysql" \
    -p 10050:10050 \
    --link zabbix-server-mysql:zabbix-server \
    -d zabbix/zabbix-agent:latest
  • 修改host地址

    注意由于agent是使用容器,所以这里须要配置容器IP。

    # 获取zabbix-agent的IP地址
    docker inspect --format='{{.NetworkSettings.IPAddress}}' zabbix-agent

尾声

以上就是ZABBIX5.0的安装流程,后续笔者会介绍ZABBIX的功能模块与实践。

相关文章
相关标签/搜索