• 【zabbix Java开发教程】docker部署zabbix及api获取实战教程


    Docker安装

    移除旧版本的docker环境

    yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-selinux \
                      docker-engine-selinux \
                      docker-engine
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    安装必要系统工具

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    
    • 1

    添加源信息

    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    • 1

    更新yum缓存

    sudo yum makecache fast
    
    • 1

    安装Docker-ce

    sudo yum -y install docker-ce
    
    • 1

    启动Docker

    sudo systemctl start docker
    
    • 1

    测试运行hello-world

    docker run hello-world
    
    • 1

    修改源

    修改或新增 /etc/docker/daemon.json

    vi /etc/docker/daemon.json systemctl restart docker.service

    {
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }
    
    • 1
    • 2
    • 3

    Docker部署zabbix

    创建zabbix的MySQL

    mkdir -p /data/zabbix/mysql
    chown -R mysql.mysql  /data/zabbix/mysql
    
    docker run -p 3306:3306 --name mysql-server \
     --restart always -v /etc/localtime:/etc/localtime \
    -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs \
    -v $PWD/data:/var/zabbix/mysql -e MYSQL_DATABASE=zabbix \
    -e MYSQL_USER=zabbix -e MYSQL_PASSWORD=zabbix -e MYSQL_ROOT_PASSWORD=root \
    -d mysql:5.7 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    
    docker cp ./my.cnf [容器id]:/etc/mysql/mysql.conf.d
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    运行zabbix-java-gateway

    docker run --name  zabbix-java-gateway \
    --restart always -t -d zabbix/zabbix-java-gateway:latest
    
    docker run --name zabbix-server-mysql --restart always -t \
    -e DB_SERVER_HOST="mysql-server" \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix" \
    -e MYSQL_ROOT_PASSWORD="root" \
    -e PHP_TZ="Asia/Shanghai" \
    -v /etc/timezone:/etc/timezone \
    -v /etc/localtime:/etc/localtime \
    --link mysql-server:mysql \
    -p 10051:10051 \
    -d zabbix/zabbix-server-mysql:centos-4.2.0
    >>>>>一下为可选参数
    >>>>> -e ZBX_JAVAGATEWAY="zabbix-java-gateway" \
    >>>>> --link zabbix-java-gateway:zabbix-java-gateway \
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    运行zabbix的web端

    docker run --name zabbix-web-nginx-mysql --restart always -t \
    -e DB_SERVER_HOST="mysql-server" \
    -e MYSQL_DATABASE="zabbix" \
    -e MYSQL_USER="zabbix" \
    -e MYSQL_PASSWORD="zabbix" \
    -e MYSQL_ROOT_PASSWORD="root" \
    -e PHP_TZ="Asia/Shanghai" \
    -v /etc/timezone:/etc/timezone \
    -v /etc/localtime:/etc/localtime \
    --link mysql-server:mysql \
    --link zabbix-server-mysql:zabbix-server \
    -p 80:80 \
    -d zabbix/zabbix-web-nginx-mysql:centos-4.2.0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    运行zabbix客户端

    这里主要是监控Linux服务器

    docker run --name zabbix-agent \
    -e ZBX_HOSTNAME="Zabbix server" \
     --restart always -e ZBX_SERVER_HOST="zabbix-server-mysql"\
     --link zabbix-server-mysql:zabbix-server -p 10050:10050\
     -d zabbix/zabbix-agent:latest
    
    • 1
    • 2
    • 3
    • 4
    • 5

    获取api

    获取api远程地址

    #192.168.17.130需要替换成自己的服务器地址
    curl -s -XPOST -H "Content-Type: application/json-rpc" -d '{    "jsonrpc": "2.0",    "method": "user.login",    "params": {        "user": "Admin",        "password": "zabbix"    },      "id": 1,    "auth": null}' 
    http://192.168.17.130/zabbix/api_jsonrpc.php​
    # 上面官网的地址是有问题的
    # 要去掉zabbix这个名字
    curl -s -XPOST -H "Content-Type: application/json-rpc" -d '{    "jsonrpc": "2.0",    "method": "user.login",    "params": {        "user": "Admin",        "password": "zabbix"    },      "id": 1,    "auth": null}' http://192.168.17.130/api_jsonrpc.php
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    Tuxera NTFS2023Mac读写ntfs磁盘工具
    C#学习记录——基本图形绘制
    计算属性的复杂操作
    AOT和单文件发布对程序性能的影响
    ELK 企业级日志分析系统
    深浅拷贝小整理(对象赋值请注意)
    LGBM 模型结果 图形展示
    (2022版)一套教程搞定k8s安装到实战 | ConfiMap
    堆的使用(堆排序和Top-K问题)
    第03篇: 手写JavaRPC框架之搞定序列化
  • 原文地址:https://blog.csdn.net/songguangfan/article/details/128207835