爱极客专注分享-好玩的docker应用-源码分享
【好玩的docker应用】企业级网站及机器专业监控-prometheus+grafana

【好玩的docker应用】企业级网站及机器专业监控-prometheus+grafana

【好玩的docker应用】企业级网站及机器专业监控-prometheus+grafana

1. 前言

哈喽大家好,今天跟大家分享普罗米修斯。

我们之前搭建过的一些监控比如哪吒面板,可能只看CPU,内存硬盘的性能,普罗米修斯可以划分到更细致,包括你的CPU是哪些程度的占用。

2. 介绍

随着云计算和微服务架构的普及,监控系统变得越来越复杂。应用和基础设施的动态性要求监控系统能够快速适应、自动化并且能够实时处理大量的数据prometheus(普罗米修斯)正是为满足这些需求而诞生的,它是一款开源的监控和告警系统,尤其适用于云原生环境中的微服务和容器化架构。本文将深入介绍普罗米修斯监控系统的工作原理、特点以及如何在实际生产环境中使用它。

特性:

  • 高维度数据模型
  • 自定义查询语言
  • 可视化数据展示
  • 高效的存储策略
  • 易于运维
  • 提供各种客户端开发库
  • 警告和报警
  • 数据导出

【好玩的docker应用】企业级网站及机器专业监控-prometheus+grafana

【好玩的docker应用】企业级网站及机器专业监控-prometheus+grafana

3. 相关地址

https://github.com/prometheus/prometheus

https://github.com/grafana/grafana

https://github.com/prometheus/node_exporter

4. 搭建环境

5. 搭建方式

5.1创建安装目录

创建一下安装的目录:

sudo -i

mkdir -p /home/docker/monitoring/prometheus
mkdir -p /home/docker/monitoring/grafana
chown -R 472:472 /home/docker/monitoring/grafana

下载prometheus配置文件,机器网络环境不行的可以手工下载上传

cd /home/docker/monitoring/prometheus
curl -o prometheus.yml https://raw.githubusercontent.com/kejilion/config/refs/heads/main/prometheus/prometheus.yml

接着我们来编辑下 docker-compose.yml​

cd /home/docker/monitoring

vim docker-compose.yml

services:
  node-exporter:
    image: prom/node-exporter
    container_name: node-exporter
    networks:
      - monitoring_network
    restart: unless-stopped

  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    volumes:
      - /home/docker/monitoring/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
      - /home/docker/monitoring/prometheus/data:/prometheus
    networks:
      - monitoring_network
    restart: unless-stopped
    user: 0:0

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    ports:
      - 8047:3000
    volumes:
      - /home/docker/monitoring/grafana:/var/lib/grafana
    networks:
      - monitoring_network
    restart: unless-stopped

networks:
  monitoring_network:
    name: monitoring

修改完成之后,可以在英文输入法下,按 i​ 修改,完成之后,按一下 esc​,然后 :wq​ 保存退出。

5.2 打开服务器防火墙(非必需)并访问网页

放行8047端口,这里不赘述了,注意服务器商如果有防火墙,也需要放行。

5.3 启动prometheus

cd /home/docker/monitoring

docker compose up -d

等待拉取好镜像,出现 done​ 的字样之后,

理论上我们就可以输入 http://ip:8047​ 访问了。

6. 如何使用

6.1 登录grafana

输入 http://ip:8047​ 输入用户名密码登录,初始用户名密码都为 admin,自行修改密码

【好玩的docker应用】企业级网站及机器专业监控-prometheus+grafana

6.2 配置数据源

配置数据源让普罗米修斯数据源接入到grafana

【好玩的docker应用】企业级网站及机器专业监控-prometheus+grafana

添加普罗米修斯数据源

【好玩的docker应用】企业级网站及机器专业监控-prometheus+grafana

对接地址直接这样填,因为他们都是在同一个docker网络,所以不对外暴露端口内部端口通信更安全。

​http://prometheus:9090​

【好玩的docker应用】企业级网站及机器专业监控-prometheus+grafana

直接保存即可,它会自动对接。

【好玩的docker应用】企业级网站及机器专业监控-prometheus+grafana

接下来直接加仪表板看数据了!

【好玩的docker应用】企业级网站及机器专业监控-prometheus+grafana

输入模板编号

推荐1860 12633 16098 这三个编号的模板都还不错,

【好玩的docker应用】企业级网站及机器专业监控-prometheus+grafana

导入后选在普罗米修斯数据源即可

【好玩的docker应用】企业级网站及机器专业监控-prometheus+grafana

你也可以到模板市场直接找拷贝编号出来。

https://grafana.com/grafana/dashboards

【好玩的docker应用】企业级网站及机器专业监控-prometheus+grafana

效果来了!硬件指标超级多,慢慢学习与研究。

【好玩的docker应用】企业级网站及机器专业监控-prometheus+grafana

7. 添加多台被监控主机

7.1 被控主机安装node-exporter

ssh进入被控主机,运行以下docker命令

docker run -d --name=node-exporter -p 8048:9100 --restart unless-stopped prom/node-exporter

注意放行8048端口,为了安全考虑,可以使用nginx反代成域名,如何反代查看我往期docker教程

7.2 主控端添加配置文件

vim /home/docker/monitoring/prometheus/prometheus.yml
global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'node-exporter'
    static_configs:
      - targets: ['node-exporter:9100','被控主机ip:8048','域名']

【好玩的docker应用】企业级网站及机器专业监控-prometheus+grafana

7.3 重启prometheus

刷新frafana,好了,你可以尽情的玩耍了

© 版权声明
THE END
喜欢就支持一下吧
点赞8赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容