可观测学堂

可观测问答

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

Python 中如何随机选取列表中的一个元素? cover
概念指南

Python 中如何随机选取列表中的一个元素?

Python 随机选列表元素用 random.choice(list);随机选多个不重复用 random.sample(list, n);打乱顺序用 random.shuffle。本文介绍各种随机选取方法。

Python 中如何按下标(索引)删除列表元素? cover
概念指南

Python 中如何按下标(索引)删除列表元素?

Python 按下标删列表元素:del list[i] 直接删除;list.pop(i) 删除并返回该元素;切片删除多个。本文对比各种方式及遍历时删除的坑。

Python 中如何把文件的每一行读入一个列表? cover
概念指南

Python 中如何把文件的每一行读入一个列表?

Python 把文件读成行列表:f.readlines() 一次性读入(含换行符),或列表推导式 [line.rstrip() for line in f]。大文件建议迭代处理。本文对比各方法。

Python requests 请求报 SSLError 怎么解决? cover
概念指南

Python requests 请求报 SSLError 怎么解决?

requests 报 SSLError 的常见原因:证书验证失败、证书链不完整、本地 CA 过期、代理拦截。解决方案:更新 certifi、指定 CA 包、verify=False 临时跳过(有安全风险)。本文逐一排查。

Python matplotlib 如何把图表保存为图片文件(不弹窗显示)? cover
概念指南

Python matplotlib 如何把图表保存为图片文件(不弹窗显示)?

matplotlib 保存图表用 plt.savefig('plot.png'),支持 dpi、transparent 等参数。服务器无显示环境需切换 Agg 后端。本文介绍完整用法。

Python 中如何生成随机字符串(大写字母+数字)? cover
概念指南

Python 中如何生成随机字符串(大写字母+数字)?

Python 生成随机字符串:random.choices(string.ascii_uppercase + string.digits, k=n);安全场景用 secrets 模块。本文介绍各种字符集组合与安全注意事项。

macOS 中如何查看系统日志(syslog)? cover
概念指南

macOS 中如何查看系统日志(syslog)?

macOS 系统日志位于 /var/log/system.log(新版在 /private/var/log/),可用 tail -f 跟踪;现代 macOS 推荐用 log show/log stream 命令查看统一日志。

Logstash 与 Elasticsearch 之间的消息缓冲层选 Redis 还是 RabbitMQ? cover
概念指南

Logstash 与 Elasticsearch 之间的消息缓冲层选 Redis 还是 RabbitMQ?

Redis 轻量高吞吐但不保证消息持久化,适合可容忍丢失的日志缓冲;RabbitMQ 有完整的队列持久化和确认机制,适合不允许丢失的场景。本文详细对比。

rsyslog 的 repeatedmsgreduction(重复消息压缩)怎么用? cover
概念指南

rsyslog 的 repeatedmsgreduction(重复消息压缩)怎么用?

rsyslog 的 $RepeatedMsgReduction 会把连续重复的消息压缩为"last message repeated N times"。配置位置、开关方式及注意事项本文详解。

Docker 容器内运行 rsyslog 报 "rsyslogd is not running... failed" 怎么办? cover
概念指南

Docker 容器内运行 rsyslog 报 "rsyslogd is not running... failed" 怎么办?

Docker 容器中 rsyslog 起不来的常见原因:没有 init 系统、缺少 /dev/log 套接字、前台运行配置错误。本文给出 Dockerfile 示例及排错步骤,并说明更推荐的容器日志方案。

rsyslog 如何把日志通过 TCP 转发到本地 syslog 主机的指定端口(如 5000)? cover
概念指南

rsyslog 如何把日志通过 TCP 转发到本地 syslog 主机的指定端口(如 5000)?

rsyslog 通过 TCP 转发日志到指定主机端口:发送端用 @@host:port 配置,接收端开启 imtcp 模块监听对应端口。本文给出发送端和接收端的完整配置。

Elasticsearch 报 "SearchPhaseExecutionException: all shards failed" 怎么解决? cover
概念指南

Elasticsearch 报 "SearchPhaseExecutionException: all shards failed" 怎么解决?

ES 报 all shards failed 通常因为字段类型不匹配(text 上做聚合/排序)、分片分配失败或查询语法错误。本文给出常见原因和排查步骤。