zoukankan      html  css  js  c++  java
  • Zabbix与Zabbix-agent2部署

    部署zabbix

    1.数据库准备

    1. 下载SQL脚本http://coldsmog.cn:9000/blog/create.sql.gz
    2. 创建mysql数据库zabbix. 并创建授权用户zabbix,密码zabbix,
    # 注意编码格式
    create database zabbix character set utf8 collate utf8_bin;
    CREATE USER 'zabbix'@'%' IDENTIFIED BY 'zabbix';
    GRANT all ON zabbix.* TO 'zabbix'@'%';
    FLUSH PRIVILEGES;
    
    1. 数据库的服务器bash执行
    zcat create.sql.gz | mysql -uzabbix -p zabbix
    

    系统将提示您输入新创建的数据库密码

    2.安装主控程序 zabbix-server

    要求1:内存大于2G,硬盘大于2G
    要求2:能访问被监控服务器的10050端口
    要求3:服务器对外暴露自身的80、8443、10051端口
    账密:Admin/zabbix

    # docker-compose.yml
    version: '3'
    services:
      zabbix-server:
        image: 'zabbix/zabbix-server-mysql:centos-5.2-latest'
        restart: always
        container_name: zabbix-server-mysql
        environment:
          - DB_SERVER_HOST=101.201.XX.XX
          - MYSQL_USER=zabbix
          - MYSQL_PASSWORD=zabbix
          - ZBX_DEBUGLEVEL=2
        ports:
          - '10051:10051'
        volumes:
          - /var/lib/zabbix:/var/lib/zabbix
    
      zabbix-web:
        image: 'zabbix/zabbix-web-nginx-mysql:centos-5.2-latest'
        restart: always
        container_name: zabbix-web
        links:
          - zabbix-server
        environment:
          - DB_SERVER_HOST=101.201.XX.XX
          - MYSQL_USER=zabbix
          - MYSQL_PASSWORD=zabbix
          - ZBX_SERVER_HOST=101.201.XX.XX
          - PHP_TZ=Asia/Shanghai
        ports:
          - '80:8080'
    

    zabbix5.0中文乱码问题

    zabbinx的web组件 使用了自己的字体,故部分中文会显示为吅。
    字体为/usr/share/zabbix/assets/fonts/DejaVuSans.ttf

    解决方案:

    1. 从window系统C:WindowsFonts目录下挑选自己喜欢的字体

    2. 将字体上传至服务器,此处使用了免费商用字体:阿里普惠体 Alibaba.ttf

    3. 使用docker cp 覆盖原字体,参考如下

       # 备份原字体
       docker cp 52fcd1fc30a1:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf DejaVuSans.ttf.bak
       # 覆盖字体
       docker cp Alibaba.ttf 52fcd1fc30a1:/usr/share/zabbix/assets/fonts/DejaVuSans.ttf
      
    4. 重启docker镜像

    docker restart 52fcd1fc30a1
    

    3.安装监控子程序

    要求1: 内存大于500m,硬盘大于1G
    要求2:服务器对外暴露自身的80、8443、10050端口

    从二进制包安装agent2

    # 前往http://repo.zabbix.com/zabbix/ 选择平台和版本的.noarch.rpm文件
    # 安装软件仓库配置包,这个包包含了 yum(软件包管理器)的配置文件
    rpm -ivh http://repo.zabbix.com/zabbix/5.2/rhel/7/x86_64/zabbix-release-5.2-1.el7.noarch.rpm
    # 国内用户可以直接下载阿里的zabbix镜像
    # yum localinstall -y https://mirrors.aliyun.com/zabbix/zabbix/5.2/rhel/7/x86_64/zabbix-agent2-5.2.6-1.el7.x86_64.rpm
    # 安装agent监控子程序
    yum install zabbix-agent2
    # 启动agent
    systemctl start zabbix-agent2 
    # 修改配置 其中172.16.19.XX为server服务器的IP,自行修改
    sed -i '/^Server=/cServer=172.16.19.XX'  /etc/zabbix/zabbix_agent2.conf
    sed -i '/^ServerActive=/cServerActive=172.16.19.XX'  /etc/zabbix/zabbix_agent2.conf
    sed -i '/^Hostname=/cHostname='$(hostname) /etc/zabbix/zabbix_agent2.conf
    sed -i '/^LogFileSize=/cLogFileSize=5'  /etc/zabbix/zabbix_agent2.conf
    # 重启agent 并放开端口
    systemctl restart zabbix-agent2
    systemctl enable  zabbix-agent2
    firewall-cmd --zone=public --add-port=10050/tcp --permanent
    firewall-cmd --reload
    

    从docker安装agent2

    version: '3'
    services:
      zabbix-agent:
        image: 'zabbix/zabbix-agent2:alpine-5.2-latest'
        restart: always
        container_name: zabbix-agent2
        privileged: true # 因为是监控软件,需要开启特权
        environment:
          - ZBX_HOSTNAME=zabbix_hostname
          - ZBX_METADATAITEM=system.uname
          - ZBX_SERVER_HOST=172.16.19.162
        ports:
          - '10050:10050'
        volumes:
          - /etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d
          - /var/lib/zabbix/enc:/var/lib/zabbix/enc
          - /var/lib/zabbix/modules:/var/lib/zabbix/modules
    

    这个是自行编写的一键脚本,可以参考

    mkdir -p /usr/local/zabbix-agent
    cd /usr/local/zabbix-agent
    # 可以用自己的docker-compose.yml替换
    curl -o docker-compose.yml http://coldsmog.cn:9000/xindeco/zabbix-agent2.yml 
    
    sed -i 's/zabbix_hostname/'$(hostname)'/' docker-compose.yml
    docker-compose up -d
    
    firewall-cmd --zone=public --add-port=10050/tcp --permanent
    firewall-cmd --reload
    # wget http://coldsmog.cn:9000/xindeco/installZabbixAgent.sh
    # chmod u+x installZabbixAgent.sh
    

    注意:agent2没有oracle的客户端支持,需要自己改造,我写了一个发布在dockerhub上

    version: '3'
    services:
      zabbix-agent:
        image: 'coldsmog/zabbix-agent2-oracle:latest'
        restart: always
        container_name: zabbix-agent2
        privileged: true # 因为是监控软件,需要开启特权
        environment:
          - ZBX_HOSTNAME=zabbix_hostname
          - ZBX_METADATAITEM=system.uname
          - ZBX_SERVER_HOST=172.16.19.162
        ports:
          - '10050:10050'
        volumes:
          - /etc/zabbix/zabbix_agentd.d:/etc/zabbix/zabbix_agentd.d
          - /var/lib/zabbix/enc:/var/lib/zabbix/enc
          - /var/lib/zabbix/modules:/var/lib/zabbix/modules
    
  • 相关阅读:
    CentOS重置Mysql密码
    2017年2月21日20:35:46
    UEFI+GPT安装windows
    CentOS 7.0 使用 yum 安装 MariaDB 与 MariaDB 的简单配置
    CentOS利用nginx和php-fpm搭建owncloud私有云
    Docker安装CentOS
    CoreOS和Docker入门
    Docker命令学习
    CentOS安装Redis详细教程
    Redis的三种启动方式
  • 原文地址:https://www.cnblogs.com/hyry/p/14820853.html
Copyright © 2011-2022 走看看