prometheus是怎么发送告警的,alertmanager是怎么配置的?grafana是怎么权限控制的
- Prometheus 发送告警的方式
Prometheus 通过 Alertmanager 发送告警。当 Prometheus 规则文件中定义的条件被触发时,Prometheus 将生成告警并将其发送到 Alertmanager。Alertmanager 会将所有同类告警汇总并进行去重、分组和路由,最终发送到相应的接收端,如邮箱、Slack、PagerDuty 等。Alertmanager 的配置在 alertmanager.yml 文件中进行。
- Alertmanager 的配置
Alertmanager 的配置主要包括路由、接收者和模板:
- 路由:在 Alertmanager 中定义路由规则来将不同类型的告警发送到合适的接收者。
- 接收者:在 Alertmanager 中定义接收者来指定接收告警的方式,如电子邮件、Slack 等。
- 模板:在 Alertmanager 中定义模板,以便对告警的格式进行自定义。
以下是一个 Alertmanager 配置文件 alertmanager.yml 的示例:
global:
resolve_timeout: 5m
smtp_smarthost: 'smtp.example.com:587'
smtp_from: 'alertmanager@example.com'
smtp_auth_username: 'alertmanager@example.com'
smtp_auth_password: 'your-password'
smtp_require_tls: true
route:
receiver: 'team-X-mails'
group_by: ['alertname', 'severity']
receivers:
- name: 'team-X-mails'
email_configs:
- to: 'team-X@example.com'
headers:
X-Custom-Header: "Hello World"
slack_configs:
- api_url: 'https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX'
channel: '#team-X-alerts'
username: 'Prometheus Alertmanager'
title: 'Prometheus Alert'
text: '{{ range .Alerts }}{{ .Annotations.description }}\n\n{{ end }}'
templates:
- '/etc/alertmanager/template/*.tmpl'
- Grafana 权限控制
Grafana 通过用户和角色的方式实现权限控制。管理员可以定义多个用户和角色,并为用户分配适当的角色。角色可以指定用户对面板和数据源等对象的访问权限和编辑权限。可以分配仪表板的只读和读写权限,并可以限制用户对特定标签和时间范围的查询权限。
以下是一个 Grafana 角色的示例:
{
"name": "Viewer",
"description": "Role for View-Only",
"permissions": {
"datasources": {
"datasource": {
"access": 1,
"editable": false
}
},
"folders": {
"": {
"canSave": false,
"canEdit": false,
"canAdmin": false,
"canView": true
}
},
"global": {
"admin": false,
"users": null
},
"playlist": {
"save": false,
"load": true,
"share": false,
"edit": false,
"delete": false,
"move": false
},
"search": {
"enabled": true
},
"temp": {
"save": false,
"load": true,
"share": false,
"edit": false,
"delete": false,
"move": false
},
"users": {
"users": {
"edit": false,
"read": true,
"create": false,
"delete": false
},
"admins": {
"edit": false,
"read": true,
"create": false,
"delete": false
},
"editors": {
"edit": false,
"read": true,
"create": false,
"delete": false
},
"viewers": {
"edit": false,
"read": true,
"create": false,
"delete": false
}
}
},
"builtIn": false,
"editable": false
}
在这个示例中,角色 Viewer 允许用户只查看仪表板,而不允许对其进行编辑操作。所有数据源都被授权,并且可以进行所有文件夹中的查看操作。限制了用户管理和创建操作的权限。可以在角色中添加更多的权限来满足其它需求。

浙公网安备 33010602011771号