可观测学堂

可观测问答

聚焦概念、架构、排障、价格与选型,一篇解决一个明确问题。

rsyslogd 报错找不到 libgcc_s.so.1 怎么办? cover
概念指南

rsyslogd 报错找不到 libgcc_s.so.1 怎么办?

rsyslog 找不到 libgcc_s.so.1 是动态链接器搜索路径问题:确认库文件存在、把它所在目录加入 ld.so.conf 并运行 ldconfig,或安装 libgcc 包。本文给出完整排查步骤。

Python 中定义类为什么要继承 object? cover
概念指南

Python 中定义类为什么要继承 object?

Python 3 中所有类默认继承 object,显式写出只是历史习惯(Python 2 新式类与旧式类之分)。本文解释这段历史与 object 提供的通用方法。

既然能用 REST 直接写 Elasticsearch,为什么还要装 Logstash? cover
概念指南

既然能用 REST 直接写 Elasticsearch,为什么还要装 Logstash?

直连 REST 只能原样写数据,Logstash 提供解析加工、多源采集、缓冲削峰与路由分发能力。数据简单量小可直连,需要清洗与可靠性则应引入中间层。本文对比两种架构。

为什么不推荐使用 java.util.logging? cover
概念指南

为什么不推荐使用 java.util.logging?

java.util.logging(JUL)配置繁琐、功能有限、生态薄弱、性能一般,主流项目普遍选 Logback 或 Log4j2 并通过 SLF4J 门面编程。本文详解原因与替代方案。

如何用 Log4j 把日志写入 syslog? cover
概念指南

如何用 Log4j 把日志写入 syslog?

Log4j2 通过 SyslogAppender 把日志发到本地或远程 syslog:在 log4j2.xml 中配置 Syslog appender 指定 host、port、protocol 与格式。本文给出完整配置与注意事项。

如何在 Android 设备上运行 Python 代码? cover
概念指南

如何在 Android 设备上运行 Python 代码?

在 Android 上跑 Python 有四种途径:专用 App(Pydroid 3、QPython)、Termux 终端环境、远程连接电脑执行、或把 Python 打包进 Android 应用(Chaquopy/BeeWare)。

如何从 Docker 容器内部访问宿主机的 localhost? cover
概念指南

如何从 Docker 容器内部访问宿主机的 localhost?

容器内的 localhost 指容器自身。访问宿主机服务:Mac/Windows 用 host.docker.internal;Linux 加 --add-host host.docker.internal:host-gateway…

不用镜像仓库,如何在两台主机之间复制 Docker 镜像? cover
概念指南

不用镜像仓库,如何在两台主机之间复制 Docker 镜像?

用 docker save 把镜像导出为 tar 文件,scp/rsync 传到目标机后 docker load 导入,全程无需镜像仓库。本文给出命令与批量迁移技巧。

如何把文件从 Docker 容器复制到宿主机? cover
概念指南

如何把文件从 Docker 容器复制到宿主机?

用 docker cp 容器名:容器内路径 宿主机路径 即可把容器内文件拷到宿主机,运行中与已停止的容器都支持;批量目录用挂载卷更方便。本文给出用法与限制。

如何把文件从宿主机复制到 Docker 容器? cover
概念指南

如何把文件从宿主机复制到 Docker 容器?

docker cp 宿主机路径 容器名:容器内路径 即可把文件拷入运行中的容器;目录整体拷贝用 源目录/. 写法;调试后可 docker commit 固化。本文给出用法与最佳实践。

如何一次性删除本地所有 Docker 镜像? cover
概念指南

如何一次性删除本地所有 Docker 镜像?

先删全部容器 docker rm -vf $(docker ps -aq),再删全部镜像 docker rmi -f $(docker images -aq);或一条 docker system prune -a 清掉未使用资源。

Dockerfile 中 CMD 和 ENTRYPOINT 有什么区别? cover
概念指南

Dockerfile 中 CMD 和 ENTRYPOINT 有什么区别?

ENTRYPOINT 定义容器的固定主程序,CMD 提供默认参数(可被 docker run 覆盖);二者常搭配使用:ENTRYPOINT 定命令、CMD 定默认参数。本文用实例讲透。