在 Mesos Marathon 上部署 cAdvisor + InfluxDB + Grafana Docker监控

关于 Docker 容器的监控,google cAdvisor 是个很好的工具,但是它默认只显示实时数据,不储存历史数据。为了存储和显示历史数据、自定义展示图,可以把将cAdvisor与InfluxDB、Grafana 集成起来,国外的专家 Brian Christner 写了一篇文章 ”How to setup Docker Monitoring“,描述了部署方法。

docker

Brian 的方法是手动运行 docker run 命令进行部署,为了能在 Mesos Marathon 平台上自动部署,我对他的方法进行了一些修改,下面我的部署过程。

注:

读者需要提前了解 mesos、marathon、InfluxDB 特别是 Grafana 的基本操作。

1. 设置共享存储

为了实现 InfluxDB 数据库和 Grafana 配置的持久化存储,使他们重新部署后不会丢失历史数据,我启用了 nfs4作为共享存储,把 InfluxDB 容器里的 /data 目录、Grafana 容器的 /var/lib/grafana 目录映射到 nfs4共享存储上。

1.1 nfs4 server:

/var/nfsshare 172.31.17.0/24(rw,sync,no_root_squash,no_all_squash)

1.2 mesos slaves

172.31.17.74:/var/nfsshare/ /var/nfsshare/ nfs defaults 0 0

2. 拉取镜像文件

在每个mesos slave上拉取下述几个images:

tutum/influxdb

google/cadvisor

grafana/grafana

3. 设置DNS或hosts

172.31.17.34 influxdb.gkkxd.com
172.31.17.34 cadvisor-1.gkkxd.com
172.31.17.34 cadvisor-2.gkkxd.com
172.31.17.34 cadvisor-3.gkkxd.com
172.31.17.34 grafana.gkkxd.com

4. 部署 InfluxDB

  • InfluxDB只需要一个实例;
  • UI 通过 marathon-lb 的虚拟主机发布;
  • 数据端口 8086 通过 servicePort 发布到 marathon-lb所在的slaves;
  • servicePort需要设置为固定值,比如:28086,以便于cAdvisor和Grafana连接;
  • 数据目录 /data 映射到 nfs4共享目录;
{
  "id": "influxdb",
  "instances": 1,
  "cpus": 0.5,
  "mem": 128,
  "constraints": [["hostname", "LIKE", "slave[1-3]"]],
  "labels": {
    "HAPROXY_GROUP":"external",
    "HAPROXY_0_VHOST":"influxdb.gkkxd.com"
  },
  "container": {
    "type": "DOCKER",
    "docker": {
      "image": "172.31.17.36:5000/influxdb:latest",
      "network": "BRIDGE",
      "portMappings": [
        { "containerPort": 8083, "hostPort": 0, "servicePort": 0, "protocol": "tcp" },
        { "containerPort": 8086, "hostPort": 0, "servicePort": 28086, "protocol": "tcp" }
      ]
    },
    "volumes": [
      {
        "containerPath": "/etc/localtime",
        "hostPath": "/etc/localtime",
        "mode": "RO"
      },
      {
        "containerPath": "/data",
        "hostPath": "/var/nfsshare/influxdb",
        "mode": "RW"
      }
    ]
  }
}
docker
您的回应...

相关话题

查看全部

也许你感兴趣

换一批

热门标签

更多