文章目录
- 前言
- 一、level=error component=activeQueryTracker msg="Error opening query log file" file=/prometheus/queries.active err="open /prometheus/queries.active: permission denied"
- 二、配置多个告警邮箱的方式
- 三、level=error component="rule manager" msg="loading groups failed" err="/etc/prometheus/alert-rules.yml: yaml: unmarshal errors:\n line 55: cannot unmarshal !!str `status:...` into map[string]string"
前言
记录一下prometheus相关的问题及解决方式
一、level=error component=activeQueryTracker msg=“Error opening query log file” file=/prometheus/queries.active err=“open /prometheus/queries.active: permission denied”
问题截图:
问题分析:权限问题,毕竟是监控节点,放置重要数据的可能性较小,直接使用root用户运行即可。
处理方式:
(1)docker-compose启动形式下,增加user: root的配置
# e.g.
prometheus:
depends_on:
- alertmanager
image: prom/prometheus:latest
container_name: prometheus
user: root
(2)k8s形式下,在securityContext下增加runAsUser: 0
spec:
securityContext:
runAsUser: 0 #以root运行
二、配置多个告警邮箱的方式
多个邮箱名称中间使用逗号进行分割就可以达到将告警邮件发送到多个告警邮箱的效果
receivers:
- name: 'default'
email_configs:
- to: 'receiver1@163.com,receiver2@163.com'
send_resolved: true
三、level=error component=“rule manager” msg=“loading groups failed” err=“/etc/prometheus/alert-rules.yml: yaml: unmarshal errors:\n line 55: cannot unmarshal !!str status:...
into map[string]string”
问题分析:冒号后少了一个空格。异常规则的截图如下
处理方式:校正对应规则的格式即可