zoukankan      html  css  js  c++  java
  • zabbix4.4 (server,proxy,agent)安装部署实战

    一. 部署架构图

    二. 安装环境及版本信息

    操作系统:centos7

    zabbix版本: 4.4

    mysql: 5.7.28

    三.zabbix server安装(192.168.182.132)

    rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
    yum-config-manager --enable rhel-7-server-optional-rpms
    yum install epel-release  numactl
    yum install zabbix-server-mysql zabbix-web-mysql zabbix-nginx-conf  -y 

    注意:如果出现yum安装不了,则可以修改/etc/yum.repos.d/zabbix.repo

    [zabbix]
    name=Zabbix Official Repository - $basearch
    #baseurl=http://repo.zabbix.com/zabbix/4.4/rhel/7/$basearch/
    baseurl=https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/4.4/rhel/7/$basearch
    enabled=1
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
    skip_if_unavailable = 1
    keepcache = 0
    
    [zabbix-debuginfo]
    name=Zabbix Official Repository debuginfo - $basearch
    baseurl=http://repo.zabbix.com/zabbix/4.4/rhel/7/$basearch/debuginfo/
    enabled=0
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
    gpgcheck=1

    四. mysql安装(192.168.182.132)

    wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz
    tar -xzvf mysql-5.7.28-linux-glibc2.12-x86_64.tar.gz -C /app/
    cd /app/
    mv mysql-5.7.28-linux-glibc2.12-x86_64 mysql
    mkdir /app/mysql/{data,logs}
    groupadd mysql
    useradd -g  mysql mysql
    chown mysql:mysql /app/mysql -R
    
    1、配置mysql 配置文件:
    [client]
    port = 3306
    socket = /tmp/mysql.sock
    default-character-set = utf8
    
    # 配置账号密码、ip;实现命令行直接"免密码"登录 [mysql]
    host=192.168.182.132
    user=zabbix
    password=zabbix

    [mysqladmin]
    host=192.168.182.132
    user=zabbix
    password=zabbix [mysqld] port
    = 3306 socket = /tmp/mysql.sock basedir = /app/mysql datadir = /app/mysql/data pid-file = /app/mysql/mysql.pid user = mysql bind-address = 0.0.0.0 server-id = 1 init-connect = 'SET NAMES utf8' character-set-server = utf8 log_timestamps=SYSTEM skip-name-resolve back_log = 300 max_connections = 613 max_connect_errors = 6000 open_files_limit = 65535 table_open_cache = 256 max_allowed_packet = 500M binlog_cache_size = 1M max_heap_table_size = 8M tmp_table_size = 32M read_buffer_size = 2M read_rnd_buffer_size = 8M sort_buffer_size = 8M join_buffer_size = 8M key_buffer_size = 16M thread_cache_size = 16 query_cache_type = 1 query_cache_size = 16M query_cache_limit = 2M ft_min_word_len = 4 log_bin = mysql-bin binlog_format = mixed expire_logs_days = 7 log_error = /app/mysql/logs/mysql-error.log slow_query_log = 1 long_query_time = 1 slow_query_log_file = /app/mysql/logs/mysql-slow.log performance_schema = 0 explicit_defaults_for_timestamp skip-external-locking default_storage_engine = InnoDB innodb_file_per_table = 1 innodb_open_files = 500 innodb_buffer_pool_size = 128M innodb_write_io_threads = 4 innodb_read_io_threads = 4 innodb_thread_concurrency = 0 innodb_purge_threads = 1 innodb_flush_log_at_trx_commit = 2 innodb_log_buffer_size = 2M innodb_log_file_size = 32M innodb_log_files_in_group = 3 innodb_max_dirty_pages_pct = 90 innodb_lock_wait_timeout = 120 bulk_insert_buffer_size = 8M myisam_sort_buffer_size = 16M myisam_max_sort_file_size = 10G myisam_repair_threads = 1 interactive_timeout = 28800 wait_timeout = 28800 [mysqldump] quick max_allowed_packet = 500M [myisamchk] key_buffer_size = 16M sort_buffer_size = 8M read_buffer = 4M write_buffer = 4M
    2、数据库初始化:
    cd /app/mysql/
    bin/mysqld --initialize --user=mysql --basedir=/app/mysql --datadir=/app/mysql/data --innodb_undo_tablespaces=3 --explicit_defaults_for_timestamp
    
    登录的临时密码在error文件中(/app/mysql/logs/mysql-error.log)
    ##
    porary password is generated for root@localhost: Jm=%mM7w)UBq
    ##
    
    cp -a /app/mysql/support-files/mysql.server /etc/init.d/mysql
    echo "export PATH=/app/mysql/bin:$PATH" >> /etc/profile
    source /etc/profile
    
    # 启动mysql
    /etc/init.d/mysql start
    
    # 使用日志中的临时密码(Jm=%mM7w)UBq)登录mysql
    mysql -u root -p
    
    # 设置root密码:
    mysql>set password for root@localhost = password('root');
    
    # 创建zabbix库:
    create database zabbix character set utf8 collate utf8_bin;
    # 授权:
    grant all privileges on *.* to zabbix@'%' identified by 'zabbix';
    # 刷新权限 flush privileges; # 导入数据到zabbix zcat
    /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uroot -p zabbix

    五.配置zabbix_server

    1、修改配置
    # vi /etc/zabbix/zabbix_server.conf
    LogFile=/app/zabbix/logs/zabbix_server.log
    LogFileSize=0
    PidFile=/var/run/zabbix/zabbix_server.pid
    SocketDir=/var/run/zabbix
    DBHost=192.168.182.132
    DBName=zabbix
    DBUser=zabbix
    DBPassword=zabbix
    DBSocket=/tmp/mysql.sock
    SNMPTrapperFile=/app/zabbix/logs/snmptrap/snmptrap.log
    Timeout=4
    AlertScriptsPath=/app/zabbix/alertscripts
    ExternalScripts=/app/zabbix/externalscripts
    LogSlowQueries=3000
    StatsAllowedIP=127.0.0.1
    2、创建相关目录:
    mkdir -p /app/zabbix/logs/snmptrap
    mkdir /app/zabbix/{alertscripts,externalscripts}
    chown zabbix:zabbix /app/zabbix/ -R
    
    3、修改时区:
    # vim /etc/httpd/conf.d/zabbix.conf
    # 添加/修改配置:
    php_value date.timezone Asia/Shanghai
    
    4、启动apache
    systemctl start httpd.service
    5、启动php
    systemctl start php-fpm.service
    6、启动zabbix server
    systemctl start zabbix-server.service
    
    访问: http:ip/zabbix  
    
    注意:第一次登录填写mysql连接信息时候地址需要填0.0.0.0

    六. 修改字体

    # 上传windows中的字体MSYH.TTC(微软雅黑) 到/home/wwwroot/default/zabbix/fonts目录
    ln -s /home/wwwroot/default/zabbix/fonts/MSYH.TTC /etc/alternatives/zabbix-web-font

    七.安装graphtree插件(选)

    graphtree是一个图形展示插件
    wget https://raw.githubusercontent.com/OneOaaS/graphtrees/master/graphtree3.0.4.patch
    yum install -y patch
    cp -a /usr/share/zabbix /usr/share/zabbix.bak
    mv graphtree3.0.4.patch /usr/share/zabbix/
    cd /usr/share/zabbix
    patch  -Np0 <graphtree3.0.4.patch
    chown apache:apache oneoaas -R
    添加配置:vim /etc/httpd/conf.d/zabbix.conf
        Alias /oneoaas /usr/share/zabbix/oneoaas
    systemctl restart httpd.service zabbix-server.service

    八.zabbix proxy(192.168.182.130) 部署:

    8.1、yum安装

    rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
    yum clean all
    # 先查找zabbix-proxy,yum search zabbix-proxy
    yum install zabbix-proxy-mysql.x86_64 zabbix-agent.x86_64
    # 如果出现如下错误
    Error: Package: zabbix-proxy-mysql-4.4.3-1.el7.x86_64 (zabbix)
               Requires: fping
     You could try using --skip-broken to work around the problem
     You could try running: rpm -Va --nofiles --nodigest
    # 解决方案:

          # 根据错误提示,需要安装fping命令这个依赖,在进行yum安装之后显示该安装包不存在,因此进行推测应该是epel源配置出现问题,因此在阿里源中配置epel源

    curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    yum clean all
    yum makecache
    # 再执行
    yum install zabbix-proxy-mysql.x86_64 zabbix-agent.x86_64
    
    
    # 创建zabbix库:
    create database zabbix_proxy character set utf8 collate utf8_bin;
    # 授权:
    grant all privileges on zabbix_proxy.* to zabbix@'%' identified by 'zabbix';
    # 刷新权限 flush privileges;
    # 部署mysql 步骤和在zabbix server中部署一样,区别在导入数据时候不一样:
    # zcat /usr/share/doc/zabbix-proxy-mysql*/schema.sql.gz | mysql -uroot -p zabbix_proxy
    
    # 修改zabbix-proxy配置:vim /etc/zabbix/zabbix_proxy.conf
    Server=192.168.182.132            # 真正的服务端(zabbix server)
    ServerPort=10051                  # 根据个人需要修改,一般可以不改,默认端口是10051,要实现转发的话使用这个选项(zabbix server)
    ListenPort=10051                  # zabbix-proxy服务监听的端口,默认就好
    Hostname
    =Zabbix proxy # proxy的hostname,在web端网页配置时需要用到 DBHost=192.168.182.130 # 数据库,使用本地,也可以使用ip,我喜欢使用localhost,因为我授权就是本地,也因为配置ip失败踩过坑 DBName=zabbix_proxy # 数据库名称,创建zabbix-proxy的mysql的数据库名称 DBUser=zabbix # 用户 DBPassword=zabbix # 密码 DBPort=3306 # 当DBHost填写localhost时,默认是使用socket通信的,这里配置一下也无碍 #HeartbeatFrequency=60 # 心跳线(具体作用网了,看配置文件吧,这个默认就是60) ConfigFrequency=600 # 这个好像是同步配置文件的时间 DataSenderFrequency=1 # 这个是proxy端向server端发送数据的时间,单位是秒,几乎等于实时同步
    # 启动zabbix-proxy 
    systemctl start zabbix-proxy.service

    8.2 、源码安装

    yum -y install curl-devel libevent-devel   libevent curl  libxml2-devel libxml2  pcre pcre-devel
    yum install mysql-devel  -y
    yum install -y net-snmp-devel
    
    # 编译安装zabbix proxy:
    wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.4.0/zabbix-4.4.0.tar.gz
    tar -xzvf zabbix-4.4.0.tar.gz
    cd zabbix-4.4.0
    
    # proxy:
     ./configure --prefix=/app/zabbix_proxy_4.4   --enable-proxy  --with-mysql   --with-libcurl --with-libxml2  --enable-ipv6 --with-net-snmp --with-openssl
    ln -s /app/mysql/lib/libmysqlclient.so.20 /usr/lib64/libmysqlclient.so.20
    # 启动:
    /app/zabbix_proxy_4.4/sbin/zabbix_proxy -c /app/zabbix_proxy_4.4/etc/zabbix_proxy.conf

    8.2 、web端配置代理

    8.2.1、web配置zabbix代理

     

    添加主机时选择代理

    如果出现如下图,则zabbix server不能与zabbix proxy正常通信

     正常通信如图:

    九.zabbix客户端安装

    9.1、yum安装

    # 添加yum源
    rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm # 安装
    yum install zabbix-agent
    # 启动 service zabbix
    -agent start

    9.2、源码安装

    yum -y install curl-devel libevent-devel   libevent curl  libxml2-devel libxml2  pcre pcre-devel
    yum install mysql-devel  -y
    yum install -y net-snmp-devel
    
    # 编译安装zabbix客户端:
    wget https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/4.4.0/zabbix-4.4.0.tar.gz
    tar -xzvf zabbix-4.4.0.tar.gz
    cd zabbix-4.4.0
    
    # agent:
     ./configure --prefix=/app/zabbix_agent_4.4   --enable-agent  --enable-ipv6 --with-net-snmp --with-openssl
    
    # 启动:
    /app/zabbix_agent_4.4/sbin/zabbix_agentd -c /app/zabbix_agent_4.4/etc/zabbix_agentd.conf

    9.3、修改配置(/etc/zabbix/zabbix_agentd.conf)

    Server=[zabbix server/zabbix proxy ip]
    ServerActive=[zabbix server/zabbix proxy ip]
    Hostname=[ Hostname of client system ]
    # 例:
    Server=192.168.182.130
    ServerActive=192.168.182.130
    Hostname=192.168.182.129

    9.4、安装zabbix-get,并测试agent端是否server端连通

    # 安装
    yum install -y zabbix-get
    # 在服务端测试(192.168.182.132),-s --host:agent端ip;-p,--port:端口;-k,--key:监控项key
    zabbix_get -s 192.168.182.130 -p 10050 -k system.hostname

    十. 常用命令

    zabbix server与zabbix proxy的配置的同步是有延时的,如果需要立即同步可以手动执行命令:
    zabbix_proxy -c /etc/zabbix/zabbix_proxy.conf  -R config_cache_reload
  • 相关阅读:
    使用QQ邮箱发送邮件,QQ邮箱的smtp设置
    Linux常用命令
    Pycharm批量查找替换功能
    HTML/CSS学习笔记
    什么样的人适合做自动化测试
    如何测试一个WEB的输入框?
    我收集的学习网站
    SQL查询练习(一)
    linux消息队列应用编程
    linux共享内存简单介绍以及编码演示
  • 原文地址:https://www.cnblogs.com/liugp/p/12005551.html
Copyright © 2011-2022 走看看