“dockprom”是通过一条命令使用Prometheus、Grafana和cAdvisor进行监控的工具

这篇文章适合那些想要了解Prometheus和Grafana运行情况的人,我们将略过细节部分。

监视、可视化工具

近年来,像Prometheus和Grafana等监控和可视化工具引起了人们的关注。这些工具已被广泛应用于各个企业,我想考虑引入它们的人也很多。但是,由于需要联合多种不同的工具,所以建立起这样的环境是很困难的。

举例来说,虽然Prometheus的启动本身很简单,但如果要与Grafana或cAdvisor进行集成,那么配置项就会变得非常繁琐。
对于想要尝试使用的人来说,学习成本太高了。

这次要介绍的是dockprom.

dockprom是一个在GitHub上的开源项目,提供了用于监控Docker环境的一套Prometheus和Grafana配置。

dockprom可以使用一个docker-compose命令来执行与Prometheus和Grafana等的协作等繁琐的任务。

根据文档,基本上只需要以下命令就能生成一个完全协同的容器集合。

git clone https://github.com/stefanprodan/dockprom
cd dockprom

ADMIN_USER=admin ADMIN_PASSWORD=admin docker-compose up -d

如果要直接使用master分支,需要将docker-compose.yml中的user设为root。

  grafana:
    image: grafana/grafana:5.2.2
    container_name: grafana
    volumes:
      - grafana_data:/var/lib/grafana
      - ./grafana/datasources:/etc/grafana/datasources
      - ./grafana/dashboards:/etc/grafana/dashboards
      - ./grafana/setup.sh:/setup.sh
    entrypoint: /setup.sh
    // 下の一行を追加
    user: root
    environment:
      - GF_SECURITY_ADMIN_USER=${ADMIN_USER:-admin}
      - GF_SECURITY_ADMIN_PASSWORD=${ADMIN_PASSWORD:-admin}
      - GF_USERS_ALLOW_SIGN_UP=false
    restart: unless-stopped
    expose:
      - 3000
    networks:
      - monitor-net
    labels:
      org.label-schema.group: "monitoring"

进入启动后的容器,需要更改权限。

docker exec -it --user root grafana bash

# in the container you just started:
chown -R root:root /etc/grafana && \
chmod -R a+r /etc/grafana && \
chown -R grafana:grafana /var/lib/grafana && \
chown -R grafana:grafana /usr/share/grafana

构建之后

已经准备了几个预设选项,并且可以一目了然地查看Docker容器的信息。

这些图片展示了实际运行的情况。我们能简单地可视化CPU和内存的使用情况以及进程数量等等。因为在大约10分钟左右就完成了构建,所以我认为对于想要尝试使用的人来说,dockprom是一个非常方便的工具。

dockprom.png