目录
案例一:数据收集问题 - Prometheus 无法从某些 exporter 收集数据
案例二:安装问题 - 采用 Docker 进行 Prometheus server 端安装时报错
案例六:K8s 中内置的 Prometheus 异常不断重启
案例一:数据收集问题 - Prometheus 无法从某些 exporter 收集数据
异常信息:
get http://192.168.90.177:9100/metrics: context deadline exceeded
问题原因:
可能是 exporter 未正确安装并运行,或者 Prometheus 配置文件中 exporter 的地址和端口配置错误,也可能是系统端口未开放。
解决办法:
- 确认 exporter 是否已正确安装并运行。
- 检查 Prometheus 配置文件中的
scrape_configs
部分,确保 exporter 的地址和端口配置正确。- 若系统端口未开放,可指定其他端口或者更改防火墙访问策略。例如在 CentOS 系统中,可使用以下命令永久开放 9100 端口:
firewall-cmd --zone=public --add-port=9100/tcp --permanent
,然后重新载入配置使其生效:firewall-cmd --reload
;在 Ubuntu 系统中,可使用命令sudo ufw allow 9100
。
案例二:安装问题 - 采用 Docker 进行 Prometheus server 端安装时报错
异常信息:
在持久化映射目录下没有 prometheus.yml 文件因此会被临时创建一个目录文件导致出错,或者因为持久化的数据目录权限问题,报错信息类似于
level=err ts=2021-04-30t07:50:11.241z caller=query_logger.go:109 component=active_query_tracker msg="failed to create directory for logging active queries"
。解决办法:
在映射的持久化目录下创建 prometheus.yml 文件并进行相应权限配置。例如执行命令
chmod +777 /nfsdisk-31/monitor/prometheus
,然后使用正确的映射启动 Docker 容器,如:docker run -p 9090:9090 -v /tmp/promet