Docker下实战zabbix三部曲之二:监控其余机器

在上一章《Docker下实战zabbix三部曲之一:极速体验》中,咱们快速安装了zabbix server,并登陆管理页面查看了zabbix server所在机器的监控信息,可是在实际场景中,应该是对应用服务器作监控,因此今天咱们来实战将应用服务器的监控加入到zabbix server中。mysql

全系列文章连接:

  1. 《Docker下实战zabbix三部曲之一:极速体验》
  2. 《Docker下实战zabbix三部曲之二:监控其余机器》
  3. 《Docker下实战zabbix三部曲之三:自定义监控项》

部署状况

假设实际项目中咱们有两台应用服务器,为了监控它们,咱们要在上面分别安装zabbix-agent服务,而后经过配置让它们与zabbix server链接,全部监控数据和监控配置数据都被zabbix server保存在mysql中,部署状况以下图:linux

这里写图片描述

真实场景中是在应用服务器上安装zabbix agent服务,可是安装agent的过程和步骤不是本次实践的重点,为了快速体验服务本文使用了zabbix官方的agent镜像,这个镜像实际上就是在ubuntu14上安装了zabbix agent(在服务器上安装zabbix agent的过程就不在本文中详述了,对安装有兴趣的读者们能够去网上搜索相关资料)sql

docker-compose.yml文件

按照前面图片所示的部署状况,咱们的docker-compose.yml内容以下,mysql和zabbix server是必须的,再新增了两个zabbix agent容器,名称分别是zabbix-agent-a和zabbix-agent-b:docker

version: '2'
services:
  zabbix-mysql-service: 
    image: daocloud.io/library/mysql:8
    container_name: zabbix-mysql-service
    environment:
      - MYSQL_ROOT_PASSWORD=888888
    restart: always
  zabbix-server-service:
    image: monitoringartist/zabbix-xxl:3.2.6
    links: 
      - zabbix-mysql-service:mysqlhost
    container_name: zabbix-server-service
    restart: always
    depends_on:
      - zabbix-mysql-service
    ports:
      - "8888:80"
    environment:
      - ZS_DBHost=mysqlhost
      - ZS_DBUser=root
      - ZS_DBPassword=888888
  zabbix-agent-a:
    image: zabbix/zabbix-agent:ubuntu-3.2.6
    links: 
      - zabbix-server-service:zabbixserverhost
    container_name: zabbix-agent-a
    restart: always
    depends_on:
      - zabbix-server-service
    environment:
      - ZBX_HOSTNAME=zabbix-agent-service-a
      - ZBX_SERVER_HOST=zabbixserverhost
  zabbix-agent-b:
    image: zabbix/zabbix-agent:ubuntu-3.2.6
    links: 
      - zabbix-server-service:zabbixserverhost
    container_name: zabbix-agent-b
    restart: always
    depends_on:
      - zabbix-server-service
    environment:
      - ZBX_HOSTNAME=zabbix-agent-service-b
      - ZBX_SERVER_HOST=zabbixserverhost

如上所示,zabbix agent在配置过程当中要用到zabbix server的ip信息,这里咱们经过links参数,在zabbix agent的host文件中加入了zabbix server的ip信息,host name是zabbixserverhost;ubuntu

另外,ZBX_HOSTNAME和ZBX_SERVER_HOST这两个环境变量,在zabbix agent镜像的官方文档中已经说明,以下图,ZBX_HOSTNAME用来表示本身的身份,ZBX_SERVER_HOST是用来标明zabbix server的ip信息的,这里直接用link参数中的alias来表示,就能经过host直接找到zabbix server的ip了:服务器

这里写图片描述

启动docker 容器

打开控制台,在docker-compose.yml文件所在的目录下执行命令<font color="red">docker-compose up -d</font>,如图:ide

这里写图片描述

进入控制台

等待大约1分钟,让zabbix server完成初始化,而后就能登陆管理页面了,详情请参照《Docker下实战zabbix三部曲之一:极速体验》一文,登陆后进入hosts页面,以下图:.net

这里写图片描述

获取监控机器ip

按照前面的部署描述图上的部署,有两台机器装了zabbix agent服务,而后想要加入监控,第一步咱们要把机器的ip肯定下来,在控制台执行<font color="red">docker exec -it zabbix-agent-a ip addr</font>命令,能够看到以下输出,第一台机器的ip是172.31.0.4:3d

这里写图片描述

在控制台执行<font color="red">docker exec -it zabbix-agent-b ip addr</font>命令,能够看到如第二台机器的ip是172.31.0.5;rest

添加机器监控

点击hosts页面右上角的<font color="red">Create host</font>按钮,能够添加监控机器,以下图:

这里写图片描述

在添加机器的页面,主要参数填写以下: a. Host name :机器的环境变量ZBX_HOSTNAME的值:zabbix-agent-service-a; b. Visible name :和Host name的值相同; c. Groups : 机器分组,这里选择Linux servers; d. Agent interfaces:这里面只须要填写IP address,就是刚才咱们经过命令<font color="red">docker exec -it zabbix-agent-a ip addr</font>获得的ip:172.31.0.4; 这个页面只须要填写以上四点内容,其余的都保持默认值,填写完毕后点击底部的"Add"按钮,以下图:

这里写图片描述

增长成功后,在列表中能够看到新增的机器,以下图:

这里写图片描述

添加监控项

在机器列表页面中,点击机器名称,以下图红框中位置:

这里写图片描述

在打开的页面点击"Templates",以下图红框所示:

这里写图片描述

再点击"Select"按钮,以下图红框所示:

这里写图片描述

在弹出的页面中,勾选“Template OS Linux”,而后再点击底部的“Select”按钮,这样就把linux服务的经常使用监控项给批量添加了,以下图:

这里写图片描述

注意,返回的页面中,<font color="red">必定要点击“Add”才能让把刚才的选择加上</font>,以下图:

这里写图片描述

而后点击“Update”,完成监控项的批量添加,以下图:

这里写图片描述

按照一样的方法把另外一台机器的监控也加上;

等待大约1-2分钟后,再刷新hosts页面,就能看到列表中的"ZBX"图标已经变为绿色,表示监控已经生效;

查看监控信息

咱们来看看监控曲线图吧,点击下图红框中的“Graphs”:

这里写图片描述

能够看到有5个曲线图能够查看,以下图,咱们看一下cpu load: 这里写图片描述

在跳转的页面中,点击“Previdew”,就能看到cpu load的曲线图了,以下图:

这里写图片描述

至此,咱们添加监控机器的实战已经完成了,可是在真实场景中,咱们除了cpu、磁盘等基础信息的监控,还要监控一些业务有关的数据,例如某个http服务每分钟的访问量,在下一章《Docker下实战zabbix三部曲之三:自定义监控项》,咱们一块儿实战开发一个自定义监控。

欢迎关注个人公众号

在这里插入图片描述

相关文章
相关标签/搜索