django 기반alert 관리자 경고 및 경고 기록
5469 단어 prometheuspython 학습django
alert 관리자의 스파이크 경고 인터페이스를 썼는데 그림이 붙지 않아서readme를 보러 갈 수 있습니다
github: https://github.com/huangwjwork/dingding_robot_alertmanager
django를 바탕으로 이루어진alert 관리자가 경고 메시지 전송을 박고 전송된 경고 내용을 기록한다. 이는 경고 이름, 실례, 시간, 횟수, 수신자 등을 포함한다.
경고 메시지는 mysql에 기록되고grafana를 통해 mysql를 조회하여 서로 다른 규칙 아래 TOP10의 경고를 표시합니다. 현재 경고를 해제하지 않았습니다. 그리고 최근 100개의 경고 기록이 있습니다.
경고에는 유니버설 필드만 저장되며, 사용자 정의 labels를 저장할 필요가 있으면 스스로 수정하십시오
api/modules.py
단일 receiver는 여러 개의 스파이크 로봇에 대응하여 스파이크 API의 분당 20회 제한을 해결하는 데 사용현재 아직 학습 단계에 있어서 실현이 비교적 거칠고 이상 처리도 하지 않았으니 문제가 있으면 issue에서 지적해 주십시오
개발 환경
python 3.7.3
django 2.1.8
mysql 5.7.27
alertmanager v0.18.0
prometheus v2.11.2
구조 설명
dingding_robot_alertmanager/
├── api
│ ├── admin.py # admin
│ ├── apps.py
│ ├── dingtalk.py #
│ ├── __init__.py
│ ├── models.py #
│ ├── templates
│ ├── test # ,
│ │ ├── 000alert.py
│ │ ├── alert-msg.json # alert json
│ │ ├── post_firing.py # alertmanager post firing
│ │ ├── post_resolved.py # alertmanager post resolved
│ │ ├── test_prometheus.yaml # k8s ,prometheus alertmanager config
│ │ └── time_reverse.py # ,
│ ├── tests.py
│ └── views.py # api
├── dingding_robot_alertmanager
│ ├── __init__.py
│ ├── settings.py # django
│ ├── urls.py
│ └── wsgi.py
├── grafana-dashboard # grafana dashboard
│ └── alert-1566911356524.json
├── images #
│ ├── admin-index.bmp
│ ├── admin-receivers.bmp
│ ├── alert.bmp
│ └── grafana.bmp
├── manage.py
├── README.md
└── requirements.txt # pip
배치하다
Python3 설치 및 종속 패키지 설치
pip3 install -r requirements.txt
mysql 데이터베이스 만들기
create database prometheus_alert default charset utf8;
mysql 워크시트
python3 manage.py makemigrations api
python manage.py migrate
django admin 백그라운드 관리자 계정 만들기
python3 manage.py createsuperuser
응용 프로그램 시작
python3 manage.py runserver 0.0.0.0:8000
django admin 백그라운드http://localhost:8000/admin
백그라운드receivers에 못박이 로봇을 추가하면 같은receiver에 여러 개의 웹훅을 추가할 수 있습니다.receivernum 구분 및 표시
alert 관리자에receiver와route 추가
example.yml
global:
templates:
- '/etc/alertmanager/template/*.tmpl'
route:
group_by: ['alertname','job']
group_wait: 30s
group_interval: 15s
repeat_interval: 1m
receiver: 'ops'
routes:
- match:
job: 'prometheus'
receiver: 'dev'
receivers:
- name: 'dev'
webhook_configs:
- send_resolved: true
url: 'http://192.168.0.3:8000'
- name: 'ops'
webhook_configs:
- send_resolved: true
url: 'http://192.168.0.3:8000'
마지막으로grafana를 설치하고dashboard
grafana-dashboard/alert-1566911356524.json
를 가져와 mysql 데이터 원본을 추가합니다rpm -ivh https://dl.grafana.com/oss/release/grafana-6.3.3-1.x86_64.rpm
경고하다
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Rancher Preview 2.3.0-alpha5 Istio kiali Jaeger Promethesu+GrafanaRancher2.3 Preview로서, Istio kiali Jaeger 그리고 2.2에서 동봉된 Prometheus+Grafana와는 별도로 기능으로서 추가되었습니다. Bookinfo 애플리케이션을 기반으로 시도해...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.