文章目录
- 说明
- MinIO简介
- MinIO 容器化部署
- Prometheus服务地址配置
- 方法一:先部署后修改
- 方法二:部署时修改compose文件(未验证)
- MinIO Access Key配置
- Prometheus 容器化部署
- MinIO 生成抓取配置
- 修改Prometheus配置文件
- Grafana 容器化部署
- 添加Prometheus数据源
- 添加面板
- 最终效果
- MInIO控制台操作
说明
- 本文产生于实践,同时部分操作,理论同效果,作者精力有限没有验证!希望各位,有能力实践时,有问题,联系作者完善本文。谢谢大家。
MinIO简介
- MinIO是一个高性能的分布式对象存储服务,它使用标准的服务器硬件进行搭建。它兼容Amazon S3云存储服务的API,是一个开源项目,可以用于构建私有云存储系统。因为其设计简单、易于部署且高度可扩展,MinIO在私有云和混合云环境中非常受欢迎。
- MinIO中文指导文档地址
- MinIO原官网指导文档
MinIO的主要特点包括:
- 高性能 - MinIO支持高速读写操作,适用于大规模数据处理。
- 可扩展性 - 可以水平扩展到数百个服务器,管理数百PB级别的数据。
- 简单性 - MinIO的部署和管理非常简单,可以在各种环境中轻松搭建对象存储。
- S3兼容性 - 与Amazon S3 API兼容,可以轻松迁移或使用现有的S3集成工具和库。
- 安全性 - 支持各种数据加密和安全性标准,确保存储的数据安全。
- 开源 - MinIO是一个以Apache License v2.0授权的开源项目,可以免费使用和修改。
- MinIO特别适合需要存储大量非结构化数据的用例,例如备份存储、媒体存储、机器学习数据等,经常用作Kubernetes和其他容器化环境的持久化存储解决方案。
MinIO 容器化部署
- 这里使用1panel面板进行MinoIO 容器化环境部署
- 点击安装,配置内容如下
- 关于MINIO_PROMETHEUS_URL的配置,这里提供两种思路
Prometheus服务地址配置
方法一:先部署后修改
- 打开编辑在底部修改环境变量,添加
MINIO_PROMETHEUS_URL
参数
MINIO_PROMETHEUS_URL="http://服务器IP:9090"
- 然后点击保存,重启容器
方法二:部署时修改compose文件(未验证)
- 修改compose文件的方式,作者在win11 ubuntu20 WSL的环境中,继续进行测试时,容器启动成功但是没有办法访问!应该是wsl的原因
- 该操作方法,理论上和方法一同效果
- 最后访问
服务器ip::9001
即可进入MinIO的Web控制台
MinIO Access Key配置
- 这里配置的Access Keys用于Prometheus 监控配置
Prometheus 容器化部署
MinIO 生成抓取配置
- 进入MinIO容器终端
- 配置 MinIO 客户端工具 mc 的别名,使其可以连接到一个指定的 MinIO 服务器
- mc 是一个用于管理 MinIO 和兼容 Amazon S3 API 的对象存储的命令行工具
mc alias set <your_minio> http://<服务器IP地址>:9000 <Access Key> <Secret Key>
# 例子 your_minio 可以灵活设置,这里演示使用minio
ash-5.1# mc alias set minio http://192.168.28.122:9000 YLmvplSkaaRirm2DZE9u bH8t6gOOB46l9uPqZJKr0mxESvW3lBAJ4GqktfBP
mc: Configuration written to `/tmp/.mc/config.json`. Please update your access credentials.
mc: Successfully created `/tmp/.mc/share`.
mc: Initialized share uploads `/tmp/.mc/share/uploads.json` file.
mc: Initialized share downloads `/tmp/.mc/share/downloads.json` file.
Added `minio` successfully.
- 查看桶
bash-5.1# mc ls minio
[2024-04-16 03:44:26 UTC] 0B test/
- 生成抓取配置
#这里minio是作者设置的别名,可自定义 mc admin prometheus generate miniomc admin prometheus generate minio bucketmc admin prometheus generate minio resourcemc admin prometheus generate minio node
- 例如
bash-5.1# mc admin prometheus generate minio
scrape_configs:
- job_name: minio-jobbearer_token: eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJwcm9tZXRoZXVzIiwic3ViIjoiUVAyTEN0bTVTOEEzUFZEVlk1dnkiLCJleHAiOjQ4NjY4Mjk3MjN9._Wu2HwmB_Fypy1sGQRkBN1APUN4N8Qhw_T6E1JeYYxklTgdnIKj5rhAgiHKQUNjmzo9Ql3mcWoXVZu7A4mB5aAmetrics_path: /minio/v2/metrics/clusterscheme: httpstatic_configs:- targets: ['192.168.28.122:9000']
修改Prometheus配置文件
- 然后复制输出的内容到Prometheus配置文件内容,注意yml文件的缩进
- 这里给出在1panel中的操作步骤
- 然后再容器面板,选择重启Prometheus,进入
IP:9090
查看连接情况,如果没有全部UP,请稍等一下
Grafana 容器化部署
- 1panel中部署grafana
- grafana初始化配置
- 访问
IP:3000
登录,默认用户admin和密码admin登录,然后重新设置密码(也可以是admin)
- 访问
添加Prometheus数据源
- 打开连接,搜索Prometheus
- 配置Prometheus地址和端口
- 然后点击保存和测试
添加面板
- 打开Dashboards,添加面板,选择导入面板
- 这里推荐19237(监控Bucket),15305(监控Cluster),13502(监控Server)
最终效果
- MinlO Dashboard
- MinlO Bucket Dashboard
- MinlO Replication Dashboard
MInIO控制台操作
- 创建桶操作
- 上传文件,图片、视频、音乐都可以
- 点击预览,即可查看文件内容(视频、音乐、图片、文件)
- 最终,这些操作都会被监控到