“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是一个非常方便的工具。