多种工具协同创建一个基于CentOS,包含最新版本sysstat的镜像

2024-02-21 03:59

本文主要是介绍多种工具协同创建一个基于CentOS,包含最新版本sysstat的镜像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

服务器上部署了sysstat,通过sar可以保留系统监控记录,从服务器下载数据在别处分析时,不是很方便,因此考虑构建一个方便使用的Docker镜像辅助工作。

sysstat: https://github.com/sysstat/sysstat

1. Bing AI 创建 Dockerfile

直接让 AI 帮忙写 Dockerfile
在这里插入图片描述
内容复制如下:

# 基于CentOS7镜像
FROM centos:7# 安装git和编译工具
RUN yum install -y git gcc make# 通过git克隆sysstat仓库
RUN git clone https://github.com/sysstat/sysstat.git# 进入sysstat目录,编译并安装
WORKDIR /sysstat
RUN ./configure && make && make install# 清理缓存数据和源码
RUN yum clean all && rm -rf /sysstat

创建完成后在我本地构建过程中,git clone 下载不了,换一种方式构建。

2. GitHub Codespaces

2.1 打开 sysstat 的页面,创建一个运行环境

在这里插入图片描述

2.2 检查一下是否支持 docker 环境

@abel533 ➜ /workspaces/sysstat (master) $ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

2.3 创建 Dockerfile

没有问题,从左侧资源管理器创建 Dockerfile,输入上面的内容。
在这里插入图片描述

为了方便我本地使用,把CentOS镜像版本从7改成了具体的7.6.1810

2.4 执行命令构建

@abel533 ➜ /workspaces/sysstat (master) $ docker build -t sysstat:23-0323 .
[+] Building 79.1s (11/11) FINISHED                                                                                                                                                                                => [internal] load build definition from Dockerfile                                                                                                                                                          0.5s=> => transferring dockerfile: 398B                                                                                                                                                                          0.0s=> [internal] load .dockerignore                                                                                                                                                                             0.4s=> => transferring context: 2B                                                                                                                                                                               0.1s=> [internal] load metadata for docker.io/library/centos:7.6.1810                                                                                                                                            3.0s=> [auth] library/centos:pull token for registry-1.docker.io                                                                                                                                                 0.0s=> [1/6] FROM docker.io/library/centos:7.6.1810@sha256:62d9e1c2daa91166139b51577fe4f4f6b4cc41a3a2c7fc36bd895e2a17a3e4e6                                                                                      4.9s=> => resolve docker.io/library/centos:7.6.1810@sha256:62d9e1c2daa91166139b51577fe4f4f6b4cc41a3a2c7fc36bd895e2a17a3e4e6                                                                                      0.1s=> => sha256:62d9e1c2daa91166139b51577fe4f4f6b4cc41a3a2c7fc36bd895e2a17a3e4e6 534B / 534B                                                                                                                    0.0s=> => sha256:747b2de199b6197a26eb1a24d69740d25483995842b2d2f75824095e9d1d19eb 529B / 529B                                                                                                                    0.0s=> => sha256:f1cb7c7d58b73eac859c395882eec49d50651244e342cd6c68a5c7809785f427 2.18kB / 2.18kB                                                                                                                0.0s=> => sha256:ac9208207adaac3a48e54a4dc6b49c69e78c3072d2b3add7efdabf814db2133b 75.16MB / 75.16MB                                                                                                              0.9s=> => extracting sha256:ac9208207adaac3a48e54a4dc6b49c69e78c3072d2b3add7efdabf814db2133b                                                                                                                     3.0s=> [2/6] RUN yum install -y git gcc make                                                                                                                                                                    46.6s=> [3/6] RUN git clone https://github.com/sysstat/sysstat.git                                                                                                                                                3.7s=> [4/6] WORKDIR /sysstat                                                                                                                                                                                    0.3s => [5/6] RUN ./configure && make && make install                                                                                                                                                            13.0s => [6/6] RUN yum clean all && rm -rf /sysstat                                                                                                                                                                1.5s => exporting to image                                                                                                                                                                                        5.2s => => exporting layers                                                                                                                                                                                       5.2s => => writing image sha256:03d82c85a1f5df4f21558e8d43a9632a1119b6a4d52456ed3139bf76fb72c349                                                                                                                  0.0s => => naming to docker.io/library/sysstat:23-0323               

2.5 运行镜像验证一下功能

@abel533 ➜ /workspaces/sysstat (master) $ docker run -it --rm sysstat:23-0323 /bin/bash
[root@38451f6af593 sysstat]# sar 1 10
Linux 5.4.0-1104-azure (38451f6af593)   03/23/23        _x86_64_        (2 CPU)02:17:43        CPU     %user     %nice   %system   %iowait    %steal     %idle
02:17:44        all      3.54      0.00      5.05      0.00      0.00     91.41
02:17:45        all      0.51      0.00      1.02      0.00      0.00     98.47
02:17:46        all      1.51      0.00      4.02      0.50      0.00     93.97
02:17:47        all      7.69      0.00      6.67      0.00      0.00     85.64
02:17:48        all     16.24      0.00      6.09      0.00      0.00     77.66
02:17:49        all      3.54      0.00      2.02      0.00      0.00     94.44
02:17:50        all      2.02      0.00      3.03      0.00      0.00     94.95
02:17:51        all      1.02      0.00      1.02      0.00      0.00     97.97
02:17:52        all      2.54      0.00      3.55      0.00      0.00     93.91
02:17:53        all      2.01      0.00      2.51      0.00      0.00     95.48
Average:        all      4.05      0.00      3.50      0.05      0.00     92.40

2.6 推送镜像

在DockerHub创建一个公开的镜像,重新命名tag:

docker tag sysstat:23-0323 abel533/sysstat:23.03.23

登录Docker

docker login -u用户名 -p密码

推送镜像

@abel533 ➜ /workspaces/sysstat (master) $ docker push abel533/sysstat:23.03.23
The push refers to repository [docker.io/abel533/sysstat]
68867ac04a78: Pushed 
574e22f85afb: Pushed 
5f70bf18a086: Pushed 
b5e26a4e7785: Pushed 
6a7f717fb326: Pushed 
89169d87dbe2: Pushed 
23.03.23: digest: sha256:e5fdcb8c11f34a43e96e25ffef4572cc71113a47691980655f47871ef981346d size: 1581

至此完成了一个最新版本的 sysstat 镜像。

3. 镜像地址

如果有需要,你可以直接下载该镜像使用:

https://hub.docker.com/r/abel533/sysstat/tags

在这里插入图片描述

4. 特别注意

在Windows上使用时,如果挂载本地目录到容器使用时,WSL2 在容器和宿主机操作文件非常的慢(几乎没有反应),建议把文件拷到容器其他目录进行操作,输出到容器目录(速度特别快),然后在拷贝到挂载的本地目录中。

想要将sar导出为svg图表时,可以参考下面的命令使用:

# 设置起止时间
sadf -s 8:30:00 -e 17:30:00 -t -g sa27 -- -A > sa27.svg# 不设置时间
sadf -t -g sa27 -- -A > sa27.svg# 不同系统的时间不一样,如果使用 -t 起至时间不是0时,可以改成 -T 试试

产生的图表示例如下:
在这里插入图片描述
上面 -- -A 包含了所有的监控数据,上图有缩放,下图是一个没缩放的系统负载图:
在这里插入图片描述

这篇关于多种工具协同创建一个基于CentOS,包含最新版本sysstat的镜像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/730503

相关文章

深入探索协同过滤:从原理到推荐模块案例

文章目录 前言一、协同过滤1. 基于用户的协同过滤(UserCF)2. 基于物品的协同过滤(ItemCF)3. 相似度计算方法 二、相似度计算方法1. 欧氏距离2. 皮尔逊相关系数3. 杰卡德相似系数4. 余弦相似度 三、推荐模块案例1.基于文章的协同过滤推荐功能2.基于用户的协同过滤推荐功能 前言     在信息过载的时代,推荐系统成为连接用户与内容的桥梁。本文聚焦于

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

秋招最新大模型算法面试,熬夜都要肝完它

💥大家在面试大模型LLM这个板块的时候,不知道面试完会不会复盘、总结,做笔记的习惯,这份大模型算法岗面试八股笔记也帮助不少人拿到过offer ✨对于面试大模型算法工程师会有一定的帮助,都附有完整答案,熬夜也要看完,祝大家一臂之力 这份《大模型算法工程师面试题》已经上传CSDN,还有完整版的大模型 AI 学习资料,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念