可观测学堂

可观测问答

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

Python 中如何获取一个实例的类名? cover
概念指南

Python 中如何获取一个实例的类名?

获取实例类名的两种方式:type(obj).__name__ 或 obj.__class__.__name__,两者等价。如需完整限定名用 __qualname__ 或 __module__ + __name__。

Python 中如何获取当前时间? cover
概念指南

Python 中如何获取当前时间?

Python 获取当前时间的两种主要方式:datetime.now()(推荐,功能全)和 time 模块。本文介绍格式化输出、时间戳获取和时区处理。

如何让 Filebeat 忽略某些容器的日志? cover
概念指南

如何让 Filebeat 忽略某些容器的日志?

Filebeat 忽略特定容器日志的方法:exclude_files 按文件名排除、drop_event 按内容过滤、autodiscover 条件排除。本文对比三种方案,并介绍观测云 DataKit 的容器日志过滤。

Python 中如何获取列表的最后一个元素? cover
概念指南

Python 中如何获取列表的最后一个元素?

Python 获取列表最后一个元素用负索引 my_list[-1],最简洁。注意空列表会抛 IndexError,可用切片 my_list[-1:] 或先判断。

Python 中如何获取列表的长度(元素个数)? cover
概念指南

Python 中如何获取列表的长度(元素个数)?

获取 Python 列表长度用内置函数 len()。本文介绍 len 的用法、复杂度及在其他数据类型上的应用。

Python 中如何截取字符串的子串? cover
概念指南

Python 中如何截取字符串的子串?

Python 截取子串用切片语法 s[start:end],支持负索引和步长。本文介绍切片的各种用法、常见示例及注意事项。

Python 中如何测量程序(或代码段)的执行时间? cover
概念指南

Python 中如何测量程序(或代码段)的执行时间?

测量 Python 代码执行时间:time.perf_counter() 最适合精确计时,time.time() 简单通用,timeit 模块适合小段代码的基准测试。

Logstash 如何同时处理多个不同来源的输入? cover
概念指南

Logstash 如何同时处理多个不同来源的输入?

Logstash 处理多种异构输入的方法:给每个 input 打 type 标签,filter 和 output 阶段用 if [type] == 条件分别处理。本文给出完整配置示例。

Logstash 中 grok 模式匹配失败时如何处理? cover
概念指南

Logstash 中 grok 模式匹配失败时如何处理?

Logstash grok 匹配失败会打上 _grokparsefailure 标签。应对策略:配置多个备选模式、用条件判断处理失败事件、tag_on_failure 自定义标签或禁用。

Python 中如何根据名字(或路径)动态导入模块? cover
概念指南

Python 中如何根据名字(或路径)动态导入模块?

Python 动态导入模块用 importlib.import_module("模块名");按文件路径导入用 importlib.util.spec_from_file_location。本文介绍各种动态导入方式。

Python 中如何用 for 循环遍历字典? cover
概念指南

Python 中如何用 for 循环遍历字典?

Python 遍历字典的三种方式:直接遍历(得到键)、.items() 同时取键值(最常用)、.values() 只取值。Python 3.7+ 保持插入顺序。

Docker 守护进程(dockerd)的日志在哪里查看? cover
概念指南

Docker 守护进程(dockerd)的日志在哪里查看?

Docker 守护进程日志位置因系统而异:systemd 系统用 journalctl -u docker.service;非 systemd 查看 /var/log/docker.log 或 /var/log/messages。