Bài viết này tôi sẽ hướng dẫn cấu hình cảnh báo qua Slack bằng một vài bước cơ bản. Trước đó cần cấu hình AlertManager để query prometheus và gửi cảnh báo. Xem thêm phần trước ở đây Phần 4.
Bước 1: Tạo một channel để nhận cảnh báo trên Slack
- Chọn dấu “+” để tạo một channel mới

- Điền thông tin channel và bấm “create”

- Và sau đó tôi sẽ có một channel để nhận cảnh báo, có thể thêm các người dùng khác vào channel để cùng nhận cảnh báo

Bước 2: Lấy thông tin webhook
- Truy cập vào trang https://slack.com/apps/A0F7XDUAZ-incoming-webhooks chọn workspace -> chọn “Add to Slack”. Ở phần “Post to Channel” chọn channel “prometheus_alerts”

- Sau đó tôi sẽ lấy được slack_api để cấu hình cho bước sau ở phần “Webhook URL”
https://hooks.slack.com/services/T066...
Bước 3: Thêm thông tin cấu hình Slack vào file cấu hình của AlertManager
- Thêm thông tin slack_api_url vào phần global
global:
#...
slack_api_url: 'web_hooks_api'
slack_api_url được lấy ở bước phía trên, cần thay thế cho web_hooks_api
- Thêm config của slack vào phần thông tin người nhận
receivers:
- name: 'group-1'
#...
slack_configs:
- channel: '#prometheus_alerts'
text: "<!channel> \nsummary: {{ .CommonAnnotations.summary }}\ndescription: {{ .CommonAnnotations.description }}"
- Trong đó #prometheus_alerts là tên channel đã được tạo trước đó trên slack
- Ví dụ một file cấu hình Alert Manager đầy đủ như sau để cấu hình định nghĩa một group nhận cảnh báo đồng thời bằng email và slack
global:
smtp_smarthost: 'smtp.domain.com:587'
smtp_from: '[email protected]'
smtp_auth_username: 'username'
smtp_auth_password: 'password'
slack_api_url: 'web_hooks_api'
route:
group_by: [alertname, datacenter, app]
receiver: 'group-1'
receivers:
- name: 'group-1'
email_configs:
- to: '[email protected]'
slack_configs:
- channel: '#prometheus_alerts'
text: "<!channel> \nsummary: {{ .CommonAnnotations.summary }}\ndescription: {{ .CommonAnnotations.description }}"
Bước 4: Khởi động lại Alert Manager
systemctl restart alertmanager
Bước 5: Tắt thử một node đang được theo dõi đi để kiểm tra
Cấu hình rule đã được hướng dẫn ở bài trước là cảnh báo khi có một instance mất kết nối sau 10s.
Thử tắt node CentOS 7 đợi 10s nếu có thông báo gửi về channel slack là cấu hình thành công. Rule cảnh báo instance down sẽ giống với phần trước cấu hình cảnh báo qua email

1 thought on “Hướng dẫn cấu hình Prometheus tích hợp cảnh báo qua Slack – Phần 5”