在管理和监控网络性能时,查看网络接口的带宽使用情况是一个基本且重要的任务。Linux 提供了一些强大的工具来帮助我们完成这项任务,例如 dstat、iftop、vnstat、nload 和 iptraf-ng。本文将介绍如何使用这些工具来检查和监控网络接口的带宽使用情况。 使用 dstat 监控带宽 dstat 是一个强大的系统资源统计工具,它可以同时显示 CPU、内存、磁盘、网络等多个系统资源的实时使用情况。使用 dstat,你可以详细了解每个网络接口的带宽使用情况。 安装 dstat 如果你的系统尚未安装 dstat,可以使用以下命令来安装: 对于 Debian/Ubuntu 系统: 1sudo apt-get install …
阅读更多在 Kubernetes 管理中,有时需要深入到容器的网络命名空间进行网络调试或排查问题。但如果容器内没有相关命令工具,也无法安装,则需要再宿主机进行网络调试。本文将介绍一种通过 kubectl exec 命令结合 Docker 命令链来获取容器的网络命名空间的方法。 步骤一:获取 Pod 的容器 ID 首先,我们需要获取目标 Pod 中的容器 ID。可以通过 kubectl 命令获取指定 Pod 的容器 ID。 1kubectl get pod <POD_NAME> -n <namespace> -o …
阅读更多docker 日志文件存放哪些日志 Docker容器的标准输出(stdout)和标准错误输出(stderr)被发送到容器的日志驱动程序,这些日志可以通过 docker logs 命令来访问。默认情况下,Docker将这些日志存储在宿主机上的 /var/lib/docker/containers// 目录中,每个容器都有一个单独的目录。 如何清理 docker 日志文件 清理Docker日志文件的方法通常包括手动清理以及使用工具自动清理; 业务控制 减少业务的输出,可以控制日志量,但这并不是一个好的方法。 临时清理 可以通过以下命令临时清理,但这只是临时的方法,不能根治。 1logs=$(find …
阅读更多在程序开发中,错误处理是一个必不可少的环节。正确处理错误可以提高程序的稳定性、可靠性和安全性,同时提高用户体验,避免数据丢失和程序崩溃等问题。而在 Golang 开发中,错误处理是一个非常重要的主题,因为 Golang 本身就是一门以错误处理为基础的语言。 当前我们在开发中大多使用框架,这些框架或者库已经定义了错误定义的目录,以帮助开发者更好地管理错误。在本文中,我们将探讨 Golang 中的错误处理机制其实也不限于golang,包括如何定义错误、如何处理错误、以及如何在不同层级之间转换错误。我们将以实例为基础,介绍 Golang 中错误处理的最佳实践,帮助读者更好地理解和应用 Golang 中的错误处理机制。 …
阅读更多背景 有时我们需要基于设备的硬件信息来生成唯一的序列号,本文从物理机和容器两个角度描述获取硬件信息的几种方式。 硬件信息 主要包括 cpu id, 主板序列号, CPU ID 在2006年,Intel决定取消将唯一标识符(Unique Identifier,UID)分配给每个CPU的计划。在取消该计划后,没有任何一款Intel CPU具有可用的UID或类似的标识符。 dmidecode -t processor | grep ID 命令获取的是处理器的ID号码,而不是CPU序列号。在过去,Intel的处理器ID号码与CPU序列号是相关的。但是,自从Intel取消了CPU序列号计划后,处理器ID号码已经成为处理器的唯一标识符。但是需要 …
阅读更多- Image not found
網站鏈接: https://www.geekgame.site/images/path/thumbnail.png
鏈接到文件: /static//images/path/thumbnail.png
使用 Page Bundles: false
简介 iptables 是一个命令行工具,用来配置包过滤的规则的,而真正实现这些规则的程序位于内核层,叫做 netfilter, 可以讲iptables理解为netfilter的客户端,iptables 与 netfilter 共同组成了包过滤软件。 平常工作交流中 iptables 也经常代指该内核级防火墙,iptables 用于 ipv4, 相应的 ip6tables 用于 IPv6。 概念介绍 (图片引用) hook iptables 在内核是对数据包做修改、转发、丢弃等操作的,而这些操作都是在一个个 hook 上完成的,hook 就是注册数据包处理函数的地方。hook点都是预定义好的,一共划分了五个hook点,分别为: …
阅读更多 什么是事务 事务是数据库中的执行单元,包含一个或者多个操作,事务主要有以下几个主要作用: 所有操作要么一起成功,要么一起失败(all-or-nothing); 可以从失败即使是系统故障中正确恢复并保持数据库的一致性; 提供数据隔离保障可以正确地并发访问数据库; 事务的属性可以使用ACID来描述: A(Atomicity,原子性): 一个事务的所有操作要么成功,要么失败,没有中间状态,如果失败则会回滚到事务开始之前的状态。 I(Isolation, 隔离性): 当数据库有多个事务并发读写数据时,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务隔离分为不同级别,分为未提交读(Read uncommitted)、提交 …
阅读更多(图片拍摄于千灵山风景区,云山相印,云彩仿佛是山的倒影,让人心旷神怡。) 两者对比 mongodb vs es 对比 mongodb es 定位 解决关系数据库强 schema 约束的问题 解决关系数据库的全文搜索性能问题 schema 无 无 事务 4.0之后支持 不支持 索引 B树 LSM 倒排索引 时效性 高 有延迟(秒级) 可靠性 高 有丢数据风险 性能 读写均衡 性能较低 可扩展性 方便 非常方便 mongodb和es 虽然都是文档数据存储,但是两者的定位确是不同: mongodb 主要定位是文档数据库,提供数据存储, 倾向与OLTP; es 主要定位是文档搜索引擎,提供搜索服务, 倾向于OLAP; 所以mongodb 主 …
阅读更多现象 最近有一台设备上部署的容器服务无法从宿主机之外的节点进行访问。 分析 要定位该问题首先要确认以下几个事情: 1. 服务是否正常启动 2. 确认容器的网络模式 3. 容器如何与外面的节点通讯 4. 数据包在设备上实际流转 定位过程 确认服务是否正常 查看容器运行是否正常: 1 2CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3cfde73945bf6 ***:1.0.7 "/bin/sh -c /opt/boo…" 27 hours ago Up 27 hours 0.0.0.0:7788->7788/tcp *** 4 查看服务运行是否正常: …
阅读更多find find 多个条件 AND 使用多个条件查找,默认是 AND 操作 1$ find . -name "*.bash" -mtime +180 -size +2K -exec ls -l {} \; 在上面的命令中,我们告诉 find 搜索名称中带有字符串 .bash 的文件/目录,它们应该超过 180 天并且大小应该大于 2KB。 最后,我们使用 -exec 选项对 find 命令产生的结果执行 ls -l 命令。 find 多个条件 OR 让我们考虑一个场景,我们需要修改我们之前使用的示例并获取带有字符串 .bash 和 .txt 的文件。要满足此要求,请在 find 命令中使用 -o …
阅读更多