可观测学堂

可观测问答

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

Node.js 把日志存在哪里? cover
概念指南

Node.js 把日志存在哪里?

Node.js 本身不写日志文件,console.log 输出到 stdout、错误到 stderr;可用 shell 重定向落盘,或用 Winston/Pino 等日志库管理,生产建议输出到 stdout 由采集器接管。

Nginx + FastCGI + Django 架构下错误日志在哪里找? cover
概念指南

Nginx + FastCGI + Django 架构下错误日志在哪里找?

Nginx 错误日志默认在 /var/log/nginx/error.log,Django 应用日志取决于 settings.py 的 LOGGING 配置与进程管理方式。本文给出三层日志的定位方法与配置示例。

Serilog 发送日志到 Logstash 应该用哪个 Sink? cover
概念指南

Serilog 发送日志到 Logstash 应该用哪个 Sink?

推荐 Serilog.Sinks.Network 的 TCP sink 配合 JSON 格式化器发送到 Logstash 的 tcp 输入;也可用 HTTP sink 或先写文件再由采集器转发。本文给出配置示例。

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