zoukankan      html  css  js  c++  java
  • docker 一键安装zabbix server、zabbix agent

    基本原理、须知:
    1、zabbix 分为zabbix server和zabbix agent,其中zabbix server需要web环境,并且其数据存储在独立的数据库中;
    2、docker是一种容器服务,它是基于操作系统的虚拟化,可以减少应用对操作系统环境的依赖,并且它鼓励使用者单个应用使用独立的容器
    3、各大应用均制作了官方的docker镜像,保存在docker hub中,地址:hub.docker.com,官方镜像的使用说明也可以在这个地址找
    4、本文我们采用lnmp的web环境,并且完全使用官方的docker镜像,分别如下:
    web环境:zabbix/zabbix-web-nginx-mysql
    zabbix server:zabbix/zabbix-server-mysql
    zabbix agent:zabbix/zabbix-agent
    mysql:mysql

    步骤:
    1、docker的安装省略
    server docker start
    2、安装mysql
    docker pull mysql
    docker run --name mysql -e MYSQL_ROOT_PASSWORD=secret -d mysql
    docker logs ID查看一下日志有无报错,没有的话继续下一步,这时候ps -ef| grep mysql应该已经启动
    3、安装web环境
    docker pull zabbix-web-nginx-mysql
    docker run --name zabbix-web-nginx-mysql --link mysql:mysql -e DB_SERVER_HOST=mysql -e MYSQL_USER=root -e MYSQL_PASSWORD=secret -e ZBX_SERVER_HOST=zabbix-server -e PHP_TZ=Asia/Shanghai -p 80:80 -d zabbix/zabbix-web-nginx-mysql
    docker logs ID查看一下日志有无报错,没有的话继续下一步,这时候访问IP:80应该能打开zabbix的报错界面,且ps -ef | grep nginx|php-fpm均已启动
    4、安装zabbix server
    docker pull zabbix/zabbix-server-mysql
    docker run --name zabbix-server-mysql --link mysql:mysql -e DB_SERVER_HOST=mysql -e MYSQL_USER=root -e MYSQL_PASSWORD=secret -p 10051:10051 -d zabbix/zabbix-server-mysql
    docker logs ID查看一下日志有无报错,没有的话继续下一步,这时候访问IP:80应该能打开zabbix的登录页面,账号密码分别是Admin:zabbix
    5、安装zabbix agent
    docker pull zabbix/zabbix-agent
    docker run --name zabbix-agent -e ZBX_HOSTNAME=zabbix-agent -e ZBX_SERVER_HOST=zabbix-server -d zabbix/zabbix-agent
    docker logs ID查看一下日志有无报错,这时候进zabbix server的最近数据里应该有数据(这里的agent是主被动混合模式,zbx的图标不会变绿,并且server中需要手动enable agent)
    如果没有数据,可能是server和agent用的不是同一个network
    6、一键部署zabbix server
    1)安装docker compose
    curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    chmod +x /usr/local/bin/docker-compose
    docker-compose version
    2)配置docker-compose.yml
    在任意路径创建docker-compose.yml,内容如下:

    version: '2'
    services:
    mysql:
    image: mysql
    container_name: mysql
    environment:
    - MYSQL_ROOT_PASSWORD=secret
    networks:
    - zbx-net
    web:
    image: zabbix/zabbix-web-nginx-mysql
    container_name: zabbix-web-nginx-mysql
    environment:
    - DB_SERVER_HOST=mysql
    - MYSQL_USER=root
    - MYSQL_PASSWORD=secret
    - ZBX_SERVER_HOST=zabbix-server
    - PHP_TZ=Asia/Shanghai
    ports:
    - '80:80'
    links:
    - mysql
    - zabbix-server
    depends_on:
    - mysql
    networks:
    - zbx-net
    zabbix-server:
    image: zabbix/zabbix-server-mysql
    container_name: zabbix-server-mysql
    environment:
    - DB_SERVER_HOST=mysql
    - MYSQL_USER=root
    - MYSQL_PASSWORD=secret
    ports:
    - '10051:10051'
    links:
    - mysql
    depends_on:
    - mysql
    networks:
    - zbx-net
    networks:
    zbx-net:

    启动docker-compose: docker-compose up
    启动zabbix agent:
    docker run --name zabbix-agent -e ZBX_HOSTNAME='Zabbix server' -e ZBX_SERVER_HOST=zabbix-server --network root_zbx-net -d zabbix/zabbix-agent

    PS: 在实际应用的中还需要增加挂载等

  • 相关阅读:
    Linux服务器远程ssh为centos7安装MySQL
    MyBatis配置文件模版
    强烈推荐Spring MVC初学好文章
    Servlet生成验证码
    Mac OS 配置环境变量
    Spring MVC pom.xml
    Manve阿里云仓库
    CentOS7.X怎样更新yum源
    django 登录
    django 接收 post请求
  • 原文地址:https://www.cnblogs.com/nat-zhu/p/8042210.html
Copyright © 2011-2022 走看看