# prometheus_study **Repository Path**: mikiweng/prometheus_study ## Basic Information - **Project Name**: prometheus_study - **Description**: mac下docker-compose安装prometheus监控系统 - **Primary Language**: Docker - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-03-09 - **Last Updated**: 2024-03-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## mac下docker-compose安装prometheus监控系统 - 概况 - Prometheus 的架构及其一些生态系统组件(详细请仔细阅读[Prometheus官网](https://prometheus.io/docs/introduction/overview/)): ![Prometheus框架](https://prometheus.io/assets/architecture.png) - 本项目搭建的监控系统包括以下软件: - prometheus:负责收集和存储时间序列数据 - node-exporter:负责上报主机 metrics 数据给 prometheus (官方不建议node-exporter使用docker安装,所以这边在启两个centos docker来分别跑两个node-exporter)。node-exporter会自动采集容器系统的各个数据,prometheus会自动去拉数据。 - grafana:负责展示数据 - PushGateway:通过API方式Push数据到PushGateway,prometheus再去prometheus上面拉数据 - 一键启动容器(promethus+grafana+2*node_exporter+pushgateway) - 第一次运行执行:`make init_start_docker_all` (后续运行执行:`make start_docker_all`) - ps: 第一次执行需要下载镜像,请耐心等待。如果node-exporter还没up可能会导致prometheus起不来,可以命令多执行几次。 ``` $ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 53e465d0f9bc grafana/grafana "/run.sh" 20 hours ago Up 55 minutes 0.0.0.0:3000->3000/tcp grafana f9483212f8e7 centos "/root/node_exporter…" 20 hours ago Up 55 minutes 0.0.0.0:9101->9100/tcp centos1 c9bfce5de576 prom/prometheus "/bin/prometheus --c…" 20 hours ago Up 55 minutes 0.0.0.0:9090->9090/tcp prometheus 55891f8a593e prom/pushgateway "/bin/pushgateway" 20 hours ago Up 55 minutes 0.0.0.0:9091->9091/tcp pushgateway d9b68fe325dc centos "/root/node_exporter…" 20 hours ago Up 55 minutes 0.0.0.0:9102->9100/tcp centos2 ``` - 查看promethus状态:http://127.0.0.1:9090/targets - 查看grafana:http://127.0.0.1:3000 - Grafana的默认账户和密码为admin/admin - 先添加数据源:connect->Data source->Add Data source(选择prometheus) - 注意输入的 prometheus 地址为 http://prometheus:9090 - 添加完数据源后,可以在export中查看metrics数据,或者创建databoard。 - 如何上报数据Push数据到PushGateway(测试): - 查看PushGateway状态:http://127.0.0.1:9091/metrics - 本地执行:echo "my_test_metric 3.14" | curl --data-binary @- http://127.0.0.1:9091/metrics/job/my_test_job/job2/1234 - 再去grafana中的,export中选择data source为上面添加的prometheus,过滤其中的Metric(刚刚上报的my_test_metric),再执行Run Query可以看到上报的数据的图标展示。 - 参考来源: - https://leehao.me/%E4%BD%BF%E7%94%A8-docker-compose-%E6%90%AD%E5%BB%BA-prometheus-%E7%9B%91%E6%8E%A7%E7%B3%BB%E7%BB%9F/ - https://cloud.tencent.com/developer/article/1531821 - https://www.jianshu.com/p/4fb3c8e4ef13