├── .dockerignore
├── .github
└── workflows
│ └── prometheus-alert-workflows.yaml
├── .gitignore
├── .goreleaser.yaml
├── Dockerfile
├── LICENSE
├── Makefile
├── PrometheusAlertVoicePlugin
├── PrometheusAlertVoice.exe
└── setup.ini
├── README.MD
├── cmd
├── build.bat
├── build.sh
└── test_image.sh
├── conf
└── app-example.conf
├── controllers
├── 7moor.go
├── FlashDuty.go
├── WebAlertRouter.go
├── WebLogin.go
├── WebRecord.go
├── WebSetup.go
├── WebTemplate.go
├── WebTest.go
├── aliyun.go
├── baidu.go
├── bark.go
├── default.go
├── dingding.go
├── dingding_test.go
├── email.go
├── feishu.go
├── feishuapp.go
├── gitlab.go
├── gitlab_test.go
├── hotreload.go
├── huawei.go
├── kafka.go
├── prometheus.go
├── prometheus_test.go
├── prometheusalert.go
├── prometheusalert_test.go
├── public.go
├── ronglianyun.go
├── ruliu.go
├── telegram.go
├── tengxun.go
├── tengxunstatus.go
├── voice.go
├── webhook.go
├── weixin.go
├── workwechat.go
└── zabbix.go
├── db
├── PrometheusAlertDB.db
└── prometheus-alert-template.json
├── doc
├── images
│ ├── addchannel.png
│ ├── addchannel2.png
│ ├── alert-center-logo.png
│ ├── alert-center.png
│ ├── alert.png
│ ├── aliyun-01.png
│ ├── aliyun-02.png
│ ├── dashboard-test.png
│ ├── dashboard-tpl-list.png
│ ├── dashboard.png
│ ├── dingding1.png
│ ├── dingding2.png
│ ├── dingding3.png
│ ├── dingding4.png
│ ├── dingding5.png
│ ├── feishu1.png
│ ├── feishu2.png
│ ├── feishu3.png
│ ├── feishu4.png
│ ├── feishu5.gif
│ ├── fsapp6.png
│ ├── fsapp7.png
│ ├── fsapp分配机器人权限4.png
│ ├── fsapp启用机器人3.png
│ ├── fsapp版本管理5.png
│ ├── fsapp登录创建机器人1.png
│ ├── fsapp登录创建机器人2.png
│ ├── gitlab_push_dingding.png
│ ├── gitlab_push_feishu.png
│ ├── gitlab_push_weixin.png
│ ├── gitlab_setup.png
│ ├── grafana.png
│ ├── grafanaalert1.png
│ ├── grafanaalert2.png
│ ├── grafanaalert3.png
│ ├── graylog1.png
│ ├── graylog2.png
│ ├── graylog3.png
│ ├── graylog4.png
│ ├── graylog5.png
│ ├── it.png
│ ├── jenkins1.png
│ ├── jenkins2.png
│ ├── jenkins3.png
│ ├── jenkins4.png
│ ├── jenkins5.png
│ ├── kibana-index.png
│ ├── kibana-table.png
│ ├── login.png
│ ├── logo.png
│ ├── markdown.png
│ ├── prometheus.png
│ ├── record.png
│ ├── record_labels.png
│ ├── ronglianyun.png
│ ├── router.png
│ ├── router_add_fs.png
│ ├── router_add_phone.png
│ ├── ruliu1.png
│ ├── sonar1.png
│ ├── sonar2.png
│ ├── sonar3.png
│ ├── sonar4.png
│ ├── sonar5.png
│ ├── template.png
│ ├── template_add.png
│ ├── template_edit.png
│ ├── tengxun1.png
│ ├── tengxun2.png
│ ├── test.png
│ ├── tpladd1.png
│ ├── tpltest1.png
│ ├── voice_app.png
│ ├── webhook1.png
│ ├── webhook2.png
│ ├── wechat-test.png
│ ├── workwechat1.png
│ ├── wx.png
│ ├── wx1.png
│ ├── wx2.png
│ ├── wx3.png
│ ├── wxpay.png
│ ├── yunjiankong.png
│ ├── zabbix1.png
│ ├── zabbix2.png
│ ├── zabbix3.png
│ ├── zabbix4.png
│ ├── zabbix5.png
│ └── zhifubao.png
└── readme
│ ├── alertgroup.md
│ ├── base-install.md
│ ├── base-metrics.md
│ ├── base-other.md
│ ├── base-restful.md
│ ├── conf-7moor.md
│ ├── conf-aliyun.md
│ ├── conf-bark.md
│ ├── conf-bd.md
│ ├── conf-dingding.md
│ ├── conf-email.md
│ ├── conf-es.md
│ ├── conf-feishu.md
│ ├── conf-feishuapp.md
│ ├── conf-hw.md
│ ├── conf-kafka.md
│ ├── conf-rly.md
│ ├── conf-ruliu.md
│ ├── conf-tg.md
│ ├── conf-tx.md
│ ├── conf-voice.md
│ ├── conf-wechat.md
│ ├── conf-workwechat.md
│ ├── conf.md
│ ├── donate.md
│ ├── hotreload.md
│ ├── system-customtpl.md
│ ├── system-func.md
│ ├── system-gitlab.md
│ ├── system-go-template.md
│ ├── system-grafana.md
│ ├── system-graylog.md
│ ├── system-jenkins.md
│ ├── system-prometheus.md
│ ├── system-sonarqube.md
│ ├── system-var.md
│ ├── system-webhook.md
│ ├── system-yunjiankong.md
│ ├── system-zabbix.md
│ ├── system.md
│ ├── web-router.md
│ └── web.md
├── docker-entrypoint.sh
├── example
├── helm
│ └── prometheusalert
│ │ ├── .helmignore
│ │ ├── Chart.yaml
│ │ ├── README.md
│ │ ├── config
│ │ ├── init.sql
│ │ └── user.csv
│ │ ├── templates
│ │ ├── NOTES.txt
│ │ ├── _helpers.tpl
│ │ ├── configmap.yaml
│ │ ├── deployment.yaml
│ │ ├── ingress.yaml
│ │ └── service.yaml
│ │ └── values.yaml
├── kubernetes
│ └── PrometheusAlert-Deployment.yaml
└── supervisor
│ └── prometheusalert.ini
├── go.mod
├── go.sum
├── main.go
├── models
├── AlertRecord.go
├── AlertRouter.go
├── elastic
│ └── elasticsearch.go
├── metrics.go
└── models.go
├── routers
└── router.go
├── static
├── dist
│ ├── css
│ │ ├── adminlte.css
│ │ ├── adminlte.css.map
│ │ ├── adminlte.min.css
│ │ ├── adminlte.min.css.map
│ │ └── alt
│ │ │ ├── adminlte.components.css
│ │ │ ├── adminlte.components.css.map
│ │ │ ├── adminlte.components.min.css
│ │ │ ├── adminlte.components.min.css.map
│ │ │ ├── adminlte.core.css
│ │ │ ├── adminlte.core.css.map
│ │ │ ├── adminlte.core.min.css
│ │ │ ├── adminlte.core.min.css.map
│ │ │ ├── adminlte.extra-components.css
│ │ │ ├── adminlte.extra-components.css.map
│ │ │ ├── adminlte.extra-components.min.css
│ │ │ ├── adminlte.extra-components.min.css.map
│ │ │ ├── adminlte.light.css
│ │ │ ├── adminlte.light.css.map
│ │ │ ├── adminlte.light.min.css
│ │ │ ├── adminlte.light.min.css.map
│ │ │ ├── adminlte.pages.css
│ │ │ ├── adminlte.pages.css.map
│ │ │ ├── adminlte.pages.min.css
│ │ │ ├── adminlte.pages.min.css.map
│ │ │ ├── adminlte.plugins.css
│ │ │ ├── adminlte.plugins.css.map
│ │ │ ├── adminlte.plugins.min.css
│ │ │ └── adminlte.plugins.min.css.map
│ ├── img
│ │ ├── boxed-bg.jpg
│ │ ├── boxed-bg.png
│ │ ├── default-150x150.png
│ │ ├── icons.png
│ │ └── logo.png
│ └── js
│ │ ├── .eslintrc.json
│ │ ├── FileSaver.js
│ │ ├── adminlte.js
│ │ ├── adminlte.js.map
│ │ ├── adminlte.min.js
│ │ ├── adminlte.min.js.map
│ │ ├── marked.min.js
│ │ └── pages
│ │ ├── dashboard.js
│ │ ├── dashboard2.js
│ │ └── dashboard3.js
└── plugins
│ ├── bootstrap
│ └── js
│ │ ├── bootstrap.bundle.js
│ │ ├── bootstrap.bundle.js.map
│ │ ├── bootstrap.bundle.min.js
│ │ ├── bootstrap.bundle.min.js.map
│ │ ├── bootstrap.js
│ │ ├── bootstrap.js.map
│ │ ├── bootstrap.min.js
│ │ └── bootstrap.min.js.map
│ ├── chart.js
│ ├── Chart.bundle.js
│ ├── Chart.bundle.min.js
│ ├── Chart.css
│ ├── Chart.js
│ ├── Chart.min.css
│ └── Chart.min.js
│ ├── codemirror
│ ├── addon
│ │ ├── comment
│ │ │ ├── comment.js
│ │ │ └── continuecomment.js
│ │ ├── dialog
│ │ │ ├── dialog.css
│ │ │ └── dialog.js
│ │ ├── display
│ │ │ ├── autorefresh.js
│ │ │ ├── fullscreen.css
│ │ │ ├── fullscreen.js
│ │ │ ├── panel.js
│ │ │ ├── placeholder.js
│ │ │ └── rulers.js
│ │ ├── edit
│ │ │ ├── closebrackets.js
│ │ │ ├── closetag.js
│ │ │ ├── continuelist.js
│ │ │ ├── matchbrackets.js
│ │ │ ├── matchtags.js
│ │ │ └── trailingspace.js
│ │ ├── fold
│ │ │ ├── brace-fold.js
│ │ │ ├── comment-fold.js
│ │ │ ├── foldcode.js
│ │ │ ├── foldgutter.css
│ │ │ ├── foldgutter.js
│ │ │ ├── indent-fold.js
│ │ │ ├── markdown-fold.js
│ │ │ └── xml-fold.js
│ │ ├── hint
│ │ │ ├── anyword-hint.js
│ │ │ ├── css-hint.js
│ │ │ ├── html-hint.js
│ │ │ ├── javascript-hint.js
│ │ │ ├── show-hint.css
│ │ │ ├── show-hint.js
│ │ │ ├── sql-hint.js
│ │ │ └── xml-hint.js
│ │ ├── lint
│ │ │ ├── coffeescript-lint.js
│ │ │ ├── css-lint.js
│ │ │ ├── html-lint.js
│ │ │ ├── javascript-lint.js
│ │ │ ├── json-lint.js
│ │ │ ├── lint.css
│ │ │ ├── lint.js
│ │ │ └── yaml-lint.js
│ │ ├── merge
│ │ │ ├── merge.css
│ │ │ └── merge.js
│ │ ├── mode
│ │ │ ├── loadmode.js
│ │ │ ├── multiplex.js
│ │ │ ├── multiplex_test.js
│ │ │ ├── overlay.js
│ │ │ └── simple.js
│ │ ├── runmode
│ │ │ ├── colorize.js
│ │ │ ├── runmode-standalone.js
│ │ │ ├── runmode.js
│ │ │ └── runmode.node.js
│ │ ├── scroll
│ │ │ ├── annotatescrollbar.js
│ │ │ ├── scrollpastend.js
│ │ │ ├── simplescrollbars.css
│ │ │ └── simplescrollbars.js
│ │ ├── search
│ │ │ ├── jump-to-line.js
│ │ │ ├── match-highlighter.js
│ │ │ ├── matchesonscrollbar.css
│ │ │ ├── matchesonscrollbar.js
│ │ │ ├── search.js
│ │ │ └── searchcursor.js
│ │ ├── selection
│ │ │ ├── active-line.js
│ │ │ ├── mark-selection.js
│ │ │ └── selection-pointer.js
│ │ ├── tern
│ │ │ ├── tern.css
│ │ │ ├── tern.js
│ │ │ └── worker.js
│ │ └── wrap
│ │ │ └── hardwrap.js
│ ├── codemirror.css
│ ├── codemirror.js
│ ├── keymap
│ │ ├── emacs.js
│ │ ├── sublime.js
│ │ └── vim.js
│ ├── mode
│ │ ├── apl
│ │ │ └── apl.js
│ │ ├── asciiarmor
│ │ │ └── asciiarmor.js
│ │ ├── asn.1
│ │ │ └── asn.1.js
│ │ ├── asterisk
│ │ │ └── asterisk.js
│ │ ├── brainfuck
│ │ │ └── brainfuck.js
│ │ ├── clike
│ │ │ └── clike.js
│ │ ├── clojure
│ │ │ └── clojure.js
│ │ ├── cmake
│ │ │ └── cmake.js
│ │ ├── cobol
│ │ │ └── cobol.js
│ │ ├── coffeescript
│ │ │ └── coffeescript.js
│ │ ├── commonlisp
│ │ │ └── commonlisp.js
│ │ ├── crystal
│ │ │ └── crystal.js
│ │ ├── css
│ │ │ └── css.js
│ │ ├── cypher
│ │ │ └── cypher.js
│ │ ├── d
│ │ │ └── d.js
│ │ ├── dart
│ │ │ └── dart.js
│ │ ├── diff
│ │ │ └── diff.js
│ │ ├── django
│ │ │ └── django.js
│ │ ├── dockerfile
│ │ │ └── dockerfile.js
│ │ ├── dtd
│ │ │ └── dtd.js
│ │ ├── dylan
│ │ │ └── dylan.js
│ │ ├── ebnf
│ │ │ └── ebnf.js
│ │ ├── ecl
│ │ │ └── ecl.js
│ │ ├── eiffel
│ │ │ └── eiffel.js
│ │ ├── elm
│ │ │ └── elm.js
│ │ ├── erlang
│ │ │ └── erlang.js
│ │ ├── factor
│ │ │ └── factor.js
│ │ ├── fcl
│ │ │ └── fcl.js
│ │ ├── forth
│ │ │ └── forth.js
│ │ ├── fortran
│ │ │ └── fortran.js
│ │ ├── gas
│ │ │ └── gas.js
│ │ ├── gfm
│ │ │ └── gfm.js
│ │ ├── gherkin
│ │ │ └── gherkin.js
│ │ ├── go
│ │ │ └── go.js
│ │ ├── groovy
│ │ │ └── groovy.js
│ │ ├── haml
│ │ │ └── haml.js
│ │ ├── handlebars
│ │ │ └── handlebars.js
│ │ ├── haskell-literate
│ │ │ └── haskell-literate.js
│ │ ├── haskell
│ │ │ └── haskell.js
│ │ ├── haxe
│ │ │ └── haxe.js
│ │ ├── htmlembedded
│ │ │ └── htmlembedded.js
│ │ ├── htmlmixed
│ │ │ └── htmlmixed.js
│ │ ├── http
│ │ │ └── http.js
│ │ ├── idl
│ │ │ └── idl.js
│ │ ├── javascript
│ │ │ └── javascript.js
│ │ ├── jinja2
│ │ │ └── jinja2.js
│ │ ├── jsx
│ │ │ └── jsx.js
│ │ ├── julia
│ │ │ └── julia.js
│ │ ├── livescript
│ │ │ └── livescript.js
│ │ ├── lua
│ │ │ └── lua.js
│ │ ├── markdown
│ │ │ └── markdown.js
│ │ ├── mathematica
│ │ │ └── mathematica.js
│ │ ├── mbox
│ │ │ └── mbox.js
│ │ ├── meta.js
│ │ ├── mirc
│ │ │ └── mirc.js
│ │ ├── mllike
│ │ │ └── mllike.js
│ │ ├── modelica
│ │ │ └── modelica.js
│ │ ├── mscgen
│ │ │ └── mscgen.js
│ │ ├── mumps
│ │ │ └── mumps.js
│ │ ├── nginx
│ │ │ └── nginx.js
│ │ ├── nsis
│ │ │ └── nsis.js
│ │ ├── ntriples
│ │ │ └── ntriples.js
│ │ ├── octave
│ │ │ └── octave.js
│ │ ├── oz
│ │ │ └── oz.js
│ │ ├── pascal
│ │ │ └── pascal.js
│ │ ├── pegjs
│ │ │ └── pegjs.js
│ │ ├── perl
│ │ │ └── perl.js
│ │ ├── php
│ │ │ └── php.js
│ │ ├── pig
│ │ │ └── pig.js
│ │ ├── powershell
│ │ │ └── powershell.js
│ │ ├── properties
│ │ │ └── properties.js
│ │ ├── protobuf
│ │ │ └── protobuf.js
│ │ ├── pug
│ │ │ └── pug.js
│ │ ├── puppet
│ │ │ └── puppet.js
│ │ ├── python
│ │ │ └── python.js
│ │ ├── q
│ │ │ └── q.js
│ │ ├── r
│ │ │ └── r.js
│ │ ├── rpm
│ │ │ └── rpm.js
│ │ ├── rst
│ │ │ └── rst.js
│ │ ├── ruby
│ │ │ └── ruby.js
│ │ ├── rust
│ │ │ └── rust.js
│ │ ├── sas
│ │ │ └── sas.js
│ │ ├── sass
│ │ │ └── sass.js
│ │ ├── scheme
│ │ │ └── scheme.js
│ │ ├── shell
│ │ │ └── shell.js
│ │ ├── sieve
│ │ │ └── sieve.js
│ │ ├── slim
│ │ │ └── slim.js
│ │ ├── smalltalk
│ │ │ └── smalltalk.js
│ │ ├── smarty
│ │ │ └── smarty.js
│ │ ├── solr
│ │ │ └── solr.js
│ │ ├── soy
│ │ │ └── soy.js
│ │ ├── sparql
│ │ │ └── sparql.js
│ │ ├── spreadsheet
│ │ │ └── spreadsheet.js
│ │ ├── sql
│ │ │ └── sql.js
│ │ ├── stex
│ │ │ └── stex.js
│ │ ├── stylus
│ │ │ └── stylus.js
│ │ ├── swift
│ │ │ └── swift.js
│ │ ├── tcl
│ │ │ └── tcl.js
│ │ ├── textile
│ │ │ └── textile.js
│ │ ├── tiddlywiki
│ │ │ ├── tiddlywiki.css
│ │ │ └── tiddlywiki.js
│ │ ├── tiki
│ │ │ ├── tiki.css
│ │ │ └── tiki.js
│ │ ├── toml
│ │ │ └── toml.js
│ │ ├── tornado
│ │ │ └── tornado.js
│ │ ├── troff
│ │ │ └── troff.js
│ │ ├── ttcn-cfg
│ │ │ └── ttcn-cfg.js
│ │ ├── ttcn
│ │ │ └── ttcn.js
│ │ ├── turtle
│ │ │ └── turtle.js
│ │ ├── twig
│ │ │ └── twig.js
│ │ ├── vb
│ │ │ └── vb.js
│ │ ├── vbscript
│ │ │ └── vbscript.js
│ │ ├── velocity
│ │ │ └── velocity.js
│ │ ├── verilog
│ │ │ └── verilog.js
│ │ ├── vhdl
│ │ │ └── vhdl.js
│ │ ├── vue
│ │ │ └── vue.js
│ │ ├── wast
│ │ │ └── wast.js
│ │ ├── webidl
│ │ │ └── webidl.js
│ │ ├── xml
│ │ │ └── xml.js
│ │ ├── xquery
│ │ │ └── xquery.js
│ │ ├── yacas
│ │ │ └── yacas.js
│ │ ├── yaml-frontmatter
│ │ │ └── yaml-frontmatter.js
│ │ ├── yaml
│ │ │ └── yaml.js
│ │ └── z80
│ │ │ └── z80.js
│ └── theme
│ │ ├── 3024-day.css
│ │ ├── 3024-night.css
│ │ ├── abbott.css
│ │ ├── abcdef.css
│ │ ├── ambiance-mobile.css
│ │ ├── ambiance.css
│ │ ├── ayu-dark.css
│ │ ├── ayu-mirage.css
│ │ ├── base16-dark.css
│ │ ├── base16-light.css
│ │ ├── bespin.css
│ │ ├── blackboard.css
│ │ ├── cobalt.css
│ │ ├── colorforth.css
│ │ ├── darcula.css
│ │ ├── dracula.css
│ │ ├── duotone-dark.css
│ │ ├── duotone-light.css
│ │ ├── eclipse.css
│ │ ├── elegant.css
│ │ ├── erlang-dark.css
│ │ ├── gruvbox-dark.css
│ │ ├── hopscotch.css
│ │ ├── icecoder.css
│ │ ├── idea.css
│ │ ├── isotope.css
│ │ ├── juejin.css
│ │ ├── lesser-dark.css
│ │ ├── liquibyte.css
│ │ ├── lucario.css
│ │ ├── material-darker.css
│ │ ├── material-ocean.css
│ │ ├── material-palenight.css
│ │ ├── material.css
│ │ ├── mbo.css
│ │ ├── mdn-like.css
│ │ ├── midnight.css
│ │ ├── monokai.css
│ │ ├── moxer.css
│ │ ├── neat.css
│ │ ├── neo.css
│ │ ├── night.css
│ │ ├── nord.css
│ │ ├── oceanic-next.css
│ │ ├── panda-syntax.css
│ │ ├── paraiso-dark.css
│ │ ├── paraiso-light.css
│ │ ├── pastel-on-dark.css
│ │ ├── railscasts.css
│ │ ├── rubyblue.css
│ │ ├── seti.css
│ │ ├── shadowfox.css
│ │ ├── solarized.css
│ │ ├── ssms.css
│ │ ├── the-matrix.css
│ │ ├── tomorrow-night-bright.css
│ │ ├── tomorrow-night-eighties.css
│ │ ├── ttcn.css
│ │ ├── twilight.css
│ │ ├── vibrant-ink.css
│ │ ├── xq-dark.css
│ │ ├── xq-light.css
│ │ ├── yeti.css
│ │ ├── yonce.css
│ │ └── zenburn.css
│ ├── datatables-bs4
│ ├── css
│ │ ├── dataTables.bootstrap4.css
│ │ └── dataTables.bootstrap4.min.css
│ └── js
│ │ ├── dataTables.bootstrap4.js
│ │ └── dataTables.bootstrap4.min.js
│ ├── datatables-buttons
│ ├── css
│ │ ├── buttons.bootstrap4.css
│ │ └── buttons.bootstrap4.min.css
│ └── js
│ │ ├── buttons.bootstrap4.js
│ │ ├── buttons.bootstrap4.min.js
│ │ ├── buttons.colVis.js
│ │ ├── buttons.colVis.min.js
│ │ ├── buttons.flash.js
│ │ ├── buttons.flash.min.js
│ │ ├── buttons.html5.js
│ │ ├── buttons.html5.min.js
│ │ ├── buttons.print.js
│ │ ├── buttons.print.min.js
│ │ ├── dataTables.buttons.js
│ │ └── dataTables.buttons.min.js
│ ├── datatables-responsive
│ ├── css
│ │ ├── responsive.bootstrap4.css
│ │ └── responsive.bootstrap4.min.css
│ └── js
│ │ ├── dataTables.responsive.js
│ │ ├── dataTables.responsive.min.js
│ │ ├── responsive.bootstrap4.js
│ │ └── responsive.bootstrap4.min.js
│ ├── datatables
│ ├── jquery.dataTables.js
│ └── jquery.dataTables.min.js
│ ├── flag-icon-css
│ ├── css
│ │ ├── flag-icon.css
│ │ ├── flag-icon.min.css
│ │ ├── flag-icons.css
│ │ └── flag-icons.min.css
│ └── flags
│ │ ├── 1x1
│ │ ├── ac.svg
│ │ ├── ad.svg
│ │ ├── ae.svg
│ │ ├── af.svg
│ │ ├── ag.svg
│ │ ├── ai.svg
│ │ ├── al.svg
│ │ ├── am.svg
│ │ ├── ao.svg
│ │ ├── aq.svg
│ │ ├── ar.svg
│ │ ├── as.svg
│ │ ├── at.svg
│ │ ├── au.svg
│ │ ├── aw.svg
│ │ ├── ax.svg
│ │ ├── az.svg
│ │ ├── ba.svg
│ │ ├── bb.svg
│ │ ├── bd.svg
│ │ ├── be.svg
│ │ ├── bf.svg
│ │ ├── bg.svg
│ │ ├── bh.svg
│ │ ├── bi.svg
│ │ ├── bj.svg
│ │ ├── bl.svg
│ │ ├── bm.svg
│ │ ├── bn.svg
│ │ ├── bo.svg
│ │ ├── bq.svg
│ │ ├── br.svg
│ │ ├── bs.svg
│ │ ├── bt.svg
│ │ ├── bv.svg
│ │ ├── bw.svg
│ │ ├── by.svg
│ │ ├── bz.svg
│ │ ├── ca.svg
│ │ ├── cc.svg
│ │ ├── cd.svg
│ │ ├── cf.svg
│ │ ├── cg.svg
│ │ ├── ch.svg
│ │ ├── ci.svg
│ │ ├── ck.svg
│ │ ├── cl.svg
│ │ ├── cm.svg
│ │ ├── cn.svg
│ │ ├── co.svg
│ │ ├── cp.svg
│ │ ├── cr.svg
│ │ ├── cu.svg
│ │ ├── cv.svg
│ │ ├── cw.svg
│ │ ├── cx.svg
│ │ ├── cy.svg
│ │ ├── cz.svg
│ │ ├── de.svg
│ │ ├── dg.svg
│ │ ├── dj.svg
│ │ ├── dk.svg
│ │ ├── dm.svg
│ │ ├── do.svg
│ │ ├── dz.svg
│ │ ├── ea.svg
│ │ ├── ec.svg
│ │ ├── ee.svg
│ │ ├── eg.svg
│ │ ├── eh.svg
│ │ ├── er.svg
│ │ ├── es-ca.svg
│ │ ├── es-ct.svg
│ │ ├── es-ga.svg
│ │ ├── es.svg
│ │ ├── et.svg
│ │ ├── eu.svg
│ │ ├── fi.svg
│ │ ├── fj.svg
│ │ ├── fk.svg
│ │ ├── fm.svg
│ │ ├── fo.svg
│ │ ├── fr.svg
│ │ ├── ga.svg
│ │ ├── gb-eng.svg
│ │ ├── gb-nir.svg
│ │ ├── gb-sct.svg
│ │ ├── gb-wls.svg
│ │ ├── gb.svg
│ │ ├── gd.svg
│ │ ├── ge.svg
│ │ ├── gf.svg
│ │ ├── gg.svg
│ │ ├── gh.svg
│ │ ├── gi.svg
│ │ ├── gl.svg
│ │ ├── gm.svg
│ │ ├── gn.svg
│ │ ├── gp.svg
│ │ ├── gq.svg
│ │ ├── gr.svg
│ │ ├── gs.svg
│ │ ├── gt.svg
│ │ ├── gu.svg
│ │ ├── gw.svg
│ │ ├── gy.svg
│ │ ├── hk.svg
│ │ ├── hm.svg
│ │ ├── hn.svg
│ │ ├── hr.svg
│ │ ├── ht.svg
│ │ ├── hu.svg
│ │ ├── ic.svg
│ │ ├── id.svg
│ │ ├── ie.svg
│ │ ├── il.svg
│ │ ├── im.svg
│ │ ├── in.svg
│ │ ├── io.svg
│ │ ├── iq.svg
│ │ ├── ir.svg
│ │ ├── is.svg
│ │ ├── it.svg
│ │ ├── je.svg
│ │ ├── jm.svg
│ │ ├── jo.svg
│ │ ├── jp.svg
│ │ ├── ke.svg
│ │ ├── kg.svg
│ │ ├── kh.svg
│ │ ├── ki.svg
│ │ ├── km.svg
│ │ ├── kn.svg
│ │ ├── kp.svg
│ │ ├── kr.svg
│ │ ├── kw.svg
│ │ ├── ky.svg
│ │ ├── kz.svg
│ │ ├── la.svg
│ │ ├── lb.svg
│ │ ├── lc.svg
│ │ ├── li.svg
│ │ ├── lk.svg
│ │ ├── lr.svg
│ │ ├── ls.svg
│ │ ├── lt.svg
│ │ ├── lu.svg
│ │ ├── lv.svg
│ │ ├── ly.svg
│ │ ├── ma.svg
│ │ ├── mc.svg
│ │ ├── md.svg
│ │ ├── me.svg
│ │ ├── mf.svg
│ │ ├── mg.svg
│ │ ├── mh.svg
│ │ ├── mk.svg
│ │ ├── ml.svg
│ │ ├── mm.svg
│ │ ├── mn.svg
│ │ ├── mo.svg
│ │ ├── mp.svg
│ │ ├── mq.svg
│ │ ├── mr.svg
│ │ ├── ms.svg
│ │ ├── mt.svg
│ │ ├── mu.svg
│ │ ├── mv.svg
│ │ ├── mw.svg
│ │ ├── mx.svg
│ │ ├── my.svg
│ │ ├── mz.svg
│ │ ├── na.svg
│ │ ├── nc.svg
│ │ ├── ne.svg
│ │ ├── nf.svg
│ │ ├── ng.svg
│ │ ├── ni.svg
│ │ ├── nl.svg
│ │ ├── no.svg
│ │ ├── np.svg
│ │ ├── nr.svg
│ │ ├── nu.svg
│ │ ├── nz.svg
│ │ ├── om.svg
│ │ ├── pa.svg
│ │ ├── pe.svg
│ │ ├── pf.svg
│ │ ├── pg.svg
│ │ ├── ph.svg
│ │ ├── pk.svg
│ │ ├── pl.svg
│ │ ├── pm.svg
│ │ ├── pn.svg
│ │ ├── pr.svg
│ │ ├── ps.svg
│ │ ├── pt.svg
│ │ ├── pw.svg
│ │ ├── py.svg
│ │ ├── qa.svg
│ │ ├── re.svg
│ │ ├── ro.svg
│ │ ├── rs.svg
│ │ ├── ru.svg
│ │ ├── rw.svg
│ │ ├── sa.svg
│ │ ├── sb.svg
│ │ ├── sc.svg
│ │ ├── sd.svg
│ │ ├── se.svg
│ │ ├── sg.svg
│ │ ├── sh.svg
│ │ ├── si.svg
│ │ ├── sj.svg
│ │ ├── sk.svg
│ │ ├── sl.svg
│ │ ├── sm.svg
│ │ ├── sn.svg
│ │ ├── so.svg
│ │ ├── sr.svg
│ │ ├── ss.svg
│ │ ├── st.svg
│ │ ├── sv.svg
│ │ ├── sx.svg
│ │ ├── sy.svg
│ │ ├── sz.svg
│ │ ├── ta.svg
│ │ ├── tc.svg
│ │ ├── td.svg
│ │ ├── tf.svg
│ │ ├── tg.svg
│ │ ├── th.svg
│ │ ├── tj.svg
│ │ ├── tk.svg
│ │ ├── tl.svg
│ │ ├── tm.svg
│ │ ├── tn.svg
│ │ ├── to.svg
│ │ ├── tr.svg
│ │ ├── tt.svg
│ │ ├── tv.svg
│ │ ├── tw.svg
│ │ ├── tz.svg
│ │ ├── ua.svg
│ │ ├── ug.svg
│ │ ├── um.svg
│ │ ├── un.svg
│ │ ├── us.svg
│ │ ├── uy.svg
│ │ ├── uz.svg
│ │ ├── va.svg
│ │ ├── vc.svg
│ │ ├── ve.svg
│ │ ├── vg.svg
│ │ ├── vi.svg
│ │ ├── vn.svg
│ │ ├── vu.svg
│ │ ├── wf.svg
│ │ ├── ws.svg
│ │ ├── xk.svg
│ │ ├── xx.svg
│ │ ├── ye.svg
│ │ ├── yt.svg
│ │ ├── za.svg
│ │ ├── zm.svg
│ │ └── zw.svg
│ │ └── 4x3
│ │ ├── ac.svg
│ │ ├── ad.svg
│ │ ├── ae.svg
│ │ ├── af.svg
│ │ ├── ag.svg
│ │ ├── ai.svg
│ │ ├── al.svg
│ │ ├── am.svg
│ │ ├── ao.svg
│ │ ├── aq.svg
│ │ ├── ar.svg
│ │ ├── as.svg
│ │ ├── at.svg
│ │ ├── au.svg
│ │ ├── aw.svg
│ │ ├── ax.svg
│ │ ├── az.svg
│ │ ├── ba.svg
│ │ ├── bb.svg
│ │ ├── bd.svg
│ │ ├── be.svg
│ │ ├── bf.svg
│ │ ├── bg.svg
│ │ ├── bh.svg
│ │ ├── bi.svg
│ │ ├── bj.svg
│ │ ├── bl.svg
│ │ ├── bm.svg
│ │ ├── bn.svg
│ │ ├── bo.svg
│ │ ├── bq.svg
│ │ ├── br.svg
│ │ ├── bs.svg
│ │ ├── bt.svg
│ │ ├── bv.svg
│ │ ├── bw.svg
│ │ ├── by.svg
│ │ ├── bz.svg
│ │ ├── ca.svg
│ │ ├── cc.svg
│ │ ├── cd.svg
│ │ ├── cf.svg
│ │ ├── cg.svg
│ │ ├── ch.svg
│ │ ├── ci.svg
│ │ ├── ck.svg
│ │ ├── cl.svg
│ │ ├── cm.svg
│ │ ├── cn.svg
│ │ ├── co.svg
│ │ ├── cp.svg
│ │ ├── cr.svg
│ │ ├── cu.svg
│ │ ├── cv.svg
│ │ ├── cw.svg
│ │ ├── cx.svg
│ │ ├── cy.svg
│ │ ├── cz.svg
│ │ ├── de.svg
│ │ ├── dg.svg
│ │ ├── dj.svg
│ │ ├── dk.svg
│ │ ├── dm.svg
│ │ ├── do.svg
│ │ ├── dz.svg
│ │ ├── ea.svg
│ │ ├── ec.svg
│ │ ├── ee.svg
│ │ ├── eg.svg
│ │ ├── eh.svg
│ │ ├── er.svg
│ │ ├── es-ca.svg
│ │ ├── es-ct.svg
│ │ ├── es-ga.svg
│ │ ├── es.svg
│ │ ├── et.svg
│ │ ├── eu.svg
│ │ ├── fi.svg
│ │ ├── fj.svg
│ │ ├── fk.svg
│ │ ├── fm.svg
│ │ ├── fo.svg
│ │ ├── fr.svg
│ │ ├── ga.svg
│ │ ├── gb-eng.svg
│ │ ├── gb-nir.svg
│ │ ├── gb-sct.svg
│ │ ├── gb-wls.svg
│ │ ├── gb.svg
│ │ ├── gd.svg
│ │ ├── ge.svg
│ │ ├── gf.svg
│ │ ├── gg.svg
│ │ ├── gh.svg
│ │ ├── gi.svg
│ │ ├── gl.svg
│ │ ├── gm.svg
│ │ ├── gn.svg
│ │ ├── gp.svg
│ │ ├── gq.svg
│ │ ├── gr.svg
│ │ ├── gs.svg
│ │ ├── gt.svg
│ │ ├── gu.svg
│ │ ├── gw.svg
│ │ ├── gy.svg
│ │ ├── hk.svg
│ │ ├── hm.svg
│ │ ├── hn.svg
│ │ ├── hr.svg
│ │ ├── ht.svg
│ │ ├── hu.svg
│ │ ├── ic.svg
│ │ ├── id.svg
│ │ ├── ie.svg
│ │ ├── il.svg
│ │ ├── im.svg
│ │ ├── in.svg
│ │ ├── io.svg
│ │ ├── iq.svg
│ │ ├── ir.svg
│ │ ├── is.svg
│ │ ├── it.svg
│ │ ├── je.svg
│ │ ├── jm.svg
│ │ ├── jo.svg
│ │ ├── jp.svg
│ │ ├── ke.svg
│ │ ├── kg.svg
│ │ ├── kh.svg
│ │ ├── ki.svg
│ │ ├── km.svg
│ │ ├── kn.svg
│ │ ├── kp.svg
│ │ ├── kr.svg
│ │ ├── kw.svg
│ │ ├── ky.svg
│ │ ├── kz.svg
│ │ ├── la.svg
│ │ ├── lb.svg
│ │ ├── lc.svg
│ │ ├── li.svg
│ │ ├── lk.svg
│ │ ├── lr.svg
│ │ ├── ls.svg
│ │ ├── lt.svg
│ │ ├── lu.svg
│ │ ├── lv.svg
│ │ ├── ly.svg
│ │ ├── ma.svg
│ │ ├── mc.svg
│ │ ├── md.svg
│ │ ├── me.svg
│ │ ├── mf.svg
│ │ ├── mg.svg
│ │ ├── mh.svg
│ │ ├── mk.svg
│ │ ├── ml.svg
│ │ ├── mm.svg
│ │ ├── mn.svg
│ │ ├── mo.svg
│ │ ├── mp.svg
│ │ ├── mq.svg
│ │ ├── mr.svg
│ │ ├── ms.svg
│ │ ├── mt.svg
│ │ ├── mu.svg
│ │ ├── mv.svg
│ │ ├── mw.svg
│ │ ├── mx.svg
│ │ ├── my.svg
│ │ ├── mz.svg
│ │ ├── na.svg
│ │ ├── nc.svg
│ │ ├── ne.svg
│ │ ├── nf.svg
│ │ ├── ng.svg
│ │ ├── ni.svg
│ │ ├── nl.svg
│ │ ├── no.svg
│ │ ├── np.svg
│ │ ├── nr.svg
│ │ ├── nu.svg
│ │ ├── nz.svg
│ │ ├── om.svg
│ │ ├── pa.svg
│ │ ├── pe.svg
│ │ ├── pf.svg
│ │ ├── pg.svg
│ │ ├── ph.svg
│ │ ├── pk.svg
│ │ ├── pl.svg
│ │ ├── pm.svg
│ │ ├── pn.svg
│ │ ├── pr.svg
│ │ ├── ps.svg
│ │ ├── pt.svg
│ │ ├── pw.svg
│ │ ├── py.svg
│ │ ├── qa.svg
│ │ ├── re.svg
│ │ ├── ro.svg
│ │ ├── rs.svg
│ │ ├── ru.svg
│ │ ├── rw.svg
│ │ ├── sa.svg
│ │ ├── sb.svg
│ │ ├── sc.svg
│ │ ├── sd.svg
│ │ ├── se.svg
│ │ ├── sg.svg
│ │ ├── sh.svg
│ │ ├── si.svg
│ │ ├── sj.svg
│ │ ├── sk.svg
│ │ ├── sl.svg
│ │ ├── sm.svg
│ │ ├── sn.svg
│ │ ├── so.svg
│ │ ├── sr.svg
│ │ ├── ss.svg
│ │ ├── st.svg
│ │ ├── sv.svg
│ │ ├── sx.svg
│ │ ├── sy.svg
│ │ ├── sz.svg
│ │ ├── ta.svg
│ │ ├── tc.svg
│ │ ├── td.svg
│ │ ├── tf.svg
│ │ ├── tg.svg
│ │ ├── th.svg
│ │ ├── tj.svg
│ │ ├── tk.svg
│ │ ├── tl.svg
│ │ ├── tm.svg
│ │ ├── tn.svg
│ │ ├── to.svg
│ │ ├── tr.svg
│ │ ├── tt.svg
│ │ ├── tv.svg
│ │ ├── tw.svg
│ │ ├── tz.svg
│ │ ├── ua.svg
│ │ ├── ug.svg
│ │ ├── um.svg
│ │ ├── un.svg
│ │ ├── us.svg
│ │ ├── uy.svg
│ │ ├── uz.svg
│ │ ├── va.svg
│ │ ├── vc.svg
│ │ ├── ve.svg
│ │ ├── vg.svg
│ │ ├── vi.svg
│ │ ├── vn.svg
│ │ ├── vu.svg
│ │ ├── wf.svg
│ │ ├── ws.svg
│ │ ├── xk.svg
│ │ ├── xx.svg
│ │ ├── ye.svg
│ │ ├── yt.svg
│ │ ├── za.svg
│ │ ├── zm.svg
│ │ └── zw.svg
│ ├── fontawesome-free
│ ├── css
│ │ ├── all.css
│ │ ├── all.min.css
│ │ ├── brands.css
│ │ ├── brands.min.css
│ │ ├── fontawesome.css
│ │ ├── fontawesome.min.css
│ │ ├── regular.css
│ │ ├── regular.min.css
│ │ ├── solid.css
│ │ ├── solid.min.css
│ │ ├── svg-with-js.css
│ │ ├── svg-with-js.min.css
│ │ ├── v4-shims.css
│ │ └── v4-shims.min.css
│ └── webfonts
│ │ ├── fa-brands-400.eot
│ │ ├── fa-brands-400.svg
│ │ ├── fa-brands-400.ttf
│ │ ├── fa-brands-400.woff
│ │ ├── fa-brands-400.woff2
│ │ ├── fa-regular-400.eot
│ │ ├── fa-regular-400.svg
│ │ ├── fa-regular-400.ttf
│ │ ├── fa-regular-400.woff
│ │ ├── fa-regular-400.woff2
│ │ ├── fa-solid-900.eot
│ │ ├── fa-solid-900.svg
│ │ ├── fa-solid-900.ttf
│ │ ├── fa-solid-900.woff
│ │ └── fa-solid-900.woff2
│ ├── icheck-bootstrap
│ ├── LICENSE
│ ├── icheck-bootstrap.css
│ └── icheck-bootstrap.min.css
│ ├── jquery
│ ├── jquery.js
│ ├── jquery.min.js
│ ├── jquery.min.map
│ ├── jquery.slim.js
│ ├── jquery.slim.min.js
│ └── jquery.slim.min.map
│ ├── jszip
│ ├── jszip.js
│ └── jszip.min.js
│ └── pdfmake
│ ├── pdfmake.js
│ ├── pdfmake.js.map
│ ├── pdfmake.min.js
│ ├── pdfmake.min.js.map
│ └── vfs_fonts.js
├── swagger
├── favicon-16x16.png
├── favicon-32x32.png
├── index.html
├── oauth2-redirect.html
├── swagger-ui-bundle.js
├── swagger-ui-bundle.js.map
├── swagger-ui-standalone-preset.js
├── swagger-ui-standalone-preset.js.map
├── swagger-ui.css
├── swagger-ui.css.map
├── swagger-ui.js
└── swagger-ui.js.map
├── tests
└── default_test.go
├── views
├── alertrouter.html
├── alertrouter_add.html
├── alertrouter_edit.html
├── index.html
├── login.html
├── main.html
├── markdown_test.html
├── record.html
├── setup_weixin.html
├── template.html
├── template_add.html
├── template_edit.html
└── test.html
└── zabbixclient
├── zabbixclient
├── zabbixclient.exe
└── zabbixclient.go
/.dockerignore:
--------------------------------------------------------------------------------
1 | .idea
2 | doc
3 | example
4 | logo
5 | tests
6 | .gitignore
7 | build.sh
8 | build.bat
9 | README.MD
10 | dist/
11 | old_delete/
12 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | conf/app.conf
2 | conf/alertgroup.conf
3 | PrometheusAlert
4 | PrometheusAlert.exe
5 | logo
6 | .idea
7 | logs/
8 | example/linux
9 | example/windows
10 | vendor/
11 | old_delete/
12 | build/*
13 | .vscode/
14 |
--------------------------------------------------------------------------------
/PrometheusAlertVoicePlugin/PrometheusAlertVoice.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/PrometheusAlertVoicePlugin/PrometheusAlertVoice.exe
--------------------------------------------------------------------------------
/PrometheusAlertVoicePlugin/setup.ini:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/PrometheusAlertVoicePlugin/setup.ini
--------------------------------------------------------------------------------
/cmd/build.bat:
--------------------------------------------------------------------------------
1 | set GO11MODULE=on
2 | set GO111MODULE=on
3 | set GOPROXY=https://goproxy.io
4 | :: go mod init PrometheusAlert
5 | cd ..
6 | go mod vendor
7 | go build
--------------------------------------------------------------------------------
/cmd/build.sh:
--------------------------------------------------------------------------------
1 | set GO11MODULE=on
2 | set GO111MODULE=on
3 | set GOPROXY=https://goproxy.io
4 | # go mod init PrometheusAlert
5 | cd ..
6 | go mod vendor
7 | go build
--------------------------------------------------------------------------------
/cmd/test_image.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | set -eo pipefail
3 |
4 | docker_image=$1
5 | port=$2
6 |
7 | container_id=''
8 |
9 | wait_start() {
10 | for _ in {1..10}; do
11 | if /usr/bin/curl -s -m 5 -f "http://localhost:${port}/health"; then
12 | docker_cleanup
13 | exit 0
14 | else
15 | sleep 1
16 | fi
17 | done
18 |
19 | exit 1
20 | }
21 |
22 | docker_start() {
23 | container_id=$(docker run --rm -d -p "${port}":"${port}" "${docker_image}")
24 | }
25 |
26 | docker_cleanup() {
27 | echo ">> cleaning up container"
28 | docker kill "${container_id}"
29 | }
30 |
31 | if [[ "$#" -ne 2 ]] ; then
32 | echo "Usage: $0 feiyu563/prometheus-alert 8080" >&2
33 | exit 1
34 | fi
35 |
36 | docker_start
37 | wait_start
38 |
--------------------------------------------------------------------------------
/controllers/WebRecord.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "PrometheusAlert/models"
5 | "github.com/astaxie/beego/logs"
6 | )
7 |
8 | //Record page
9 | func (c *MainController) Record() {
10 | if !CheckAccount(c.Ctx) {
11 | c.Redirect("/login", 302)
12 | return
13 | }
14 | c.Data["IsRecord"] = true
15 | c.Data["IsAlertManageMenu"] = true
16 | c.TplName = "record.html"
17 | Record, err := models.GetAllRecord()
18 | if err != nil {
19 | logs.Error(err)
20 | }
21 | c.Data["Record"] = Record
22 | c.Data["IsLogin"] = CheckAccount(c.Ctx)
23 | }
24 |
25 | func (c *MainController) RecordClean() {
26 | if !CheckAccount(c.Ctx) {
27 | c.Redirect("/login", 302)
28 | return
29 | }
30 | models.RecordClean()
31 | c.Redirect("/record", 302)
32 | }
33 |
--------------------------------------------------------------------------------
/controllers/prometheusalert_test.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "testing"
5 |
6 | "github.com/stretchr/testify/assert"
7 | )
8 |
9 | func TestGetTimeDuration(t *testing.T) {
10 | source := "2023-08-04T02:51:54.972Z"
11 | duration := GetTimeDuration(source)
12 | if assert.NotEqual(t, "", duration) {
13 | t.Log(duration)
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/db/PrometheusAlertDB.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/db/PrometheusAlertDB.db
--------------------------------------------------------------------------------
/doc/images/addchannel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/addchannel.png
--------------------------------------------------------------------------------
/doc/images/addchannel2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/addchannel2.png
--------------------------------------------------------------------------------
/doc/images/alert-center-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/alert-center-logo.png
--------------------------------------------------------------------------------
/doc/images/alert-center.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/alert-center.png
--------------------------------------------------------------------------------
/doc/images/alert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/alert.png
--------------------------------------------------------------------------------
/doc/images/aliyun-01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/aliyun-01.png
--------------------------------------------------------------------------------
/doc/images/aliyun-02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/aliyun-02.png
--------------------------------------------------------------------------------
/doc/images/dashboard-test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/dashboard-test.png
--------------------------------------------------------------------------------
/doc/images/dashboard-tpl-list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/dashboard-tpl-list.png
--------------------------------------------------------------------------------
/doc/images/dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/dashboard.png
--------------------------------------------------------------------------------
/doc/images/dingding1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/dingding1.png
--------------------------------------------------------------------------------
/doc/images/dingding2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/dingding2.png
--------------------------------------------------------------------------------
/doc/images/dingding3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/dingding3.png
--------------------------------------------------------------------------------
/doc/images/dingding4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/dingding4.png
--------------------------------------------------------------------------------
/doc/images/dingding5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/dingding5.png
--------------------------------------------------------------------------------
/doc/images/feishu1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/feishu1.png
--------------------------------------------------------------------------------
/doc/images/feishu2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/feishu2.png
--------------------------------------------------------------------------------
/doc/images/feishu3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/feishu3.png
--------------------------------------------------------------------------------
/doc/images/feishu4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/feishu4.png
--------------------------------------------------------------------------------
/doc/images/feishu5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/feishu5.gif
--------------------------------------------------------------------------------
/doc/images/fsapp6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/fsapp6.png
--------------------------------------------------------------------------------
/doc/images/fsapp7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/fsapp7.png
--------------------------------------------------------------------------------
/doc/images/fsapp分配机器人权限4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/fsapp分配机器人权限4.png
--------------------------------------------------------------------------------
/doc/images/fsapp启用机器人3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/fsapp启用机器人3.png
--------------------------------------------------------------------------------
/doc/images/fsapp版本管理5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/fsapp版本管理5.png
--------------------------------------------------------------------------------
/doc/images/fsapp登录创建机器人1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/fsapp登录创建机器人1.png
--------------------------------------------------------------------------------
/doc/images/fsapp登录创建机器人2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/fsapp登录创建机器人2.png
--------------------------------------------------------------------------------
/doc/images/gitlab_push_dingding.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/gitlab_push_dingding.png
--------------------------------------------------------------------------------
/doc/images/gitlab_push_feishu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/gitlab_push_feishu.png
--------------------------------------------------------------------------------
/doc/images/gitlab_push_weixin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/gitlab_push_weixin.png
--------------------------------------------------------------------------------
/doc/images/gitlab_setup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/gitlab_setup.png
--------------------------------------------------------------------------------
/doc/images/grafana.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/grafana.png
--------------------------------------------------------------------------------
/doc/images/grafanaalert1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/grafanaalert1.png
--------------------------------------------------------------------------------
/doc/images/grafanaalert2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/grafanaalert2.png
--------------------------------------------------------------------------------
/doc/images/grafanaalert3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/grafanaalert3.png
--------------------------------------------------------------------------------
/doc/images/graylog1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/graylog1.png
--------------------------------------------------------------------------------
/doc/images/graylog2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/graylog2.png
--------------------------------------------------------------------------------
/doc/images/graylog3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/graylog3.png
--------------------------------------------------------------------------------
/doc/images/graylog4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/graylog4.png
--------------------------------------------------------------------------------
/doc/images/graylog5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/graylog5.png
--------------------------------------------------------------------------------
/doc/images/it.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/it.png
--------------------------------------------------------------------------------
/doc/images/jenkins1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/jenkins1.png
--------------------------------------------------------------------------------
/doc/images/jenkins2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/jenkins2.png
--------------------------------------------------------------------------------
/doc/images/jenkins3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/jenkins3.png
--------------------------------------------------------------------------------
/doc/images/jenkins4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/jenkins4.png
--------------------------------------------------------------------------------
/doc/images/jenkins5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/jenkins5.png
--------------------------------------------------------------------------------
/doc/images/kibana-index.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/kibana-index.png
--------------------------------------------------------------------------------
/doc/images/kibana-table.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/kibana-table.png
--------------------------------------------------------------------------------
/doc/images/login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/login.png
--------------------------------------------------------------------------------
/doc/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/logo.png
--------------------------------------------------------------------------------
/doc/images/markdown.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/markdown.png
--------------------------------------------------------------------------------
/doc/images/prometheus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/prometheus.png
--------------------------------------------------------------------------------
/doc/images/record.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/record.png
--------------------------------------------------------------------------------
/doc/images/record_labels.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/record_labels.png
--------------------------------------------------------------------------------
/doc/images/ronglianyun.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/ronglianyun.png
--------------------------------------------------------------------------------
/doc/images/router.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/router.png
--------------------------------------------------------------------------------
/doc/images/router_add_fs.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/router_add_fs.png
--------------------------------------------------------------------------------
/doc/images/router_add_phone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/router_add_phone.png
--------------------------------------------------------------------------------
/doc/images/ruliu1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/ruliu1.png
--------------------------------------------------------------------------------
/doc/images/sonar1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/sonar1.png
--------------------------------------------------------------------------------
/doc/images/sonar2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/sonar2.png
--------------------------------------------------------------------------------
/doc/images/sonar3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/sonar3.png
--------------------------------------------------------------------------------
/doc/images/sonar4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/sonar4.png
--------------------------------------------------------------------------------
/doc/images/sonar5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/sonar5.png
--------------------------------------------------------------------------------
/doc/images/template.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/template.png
--------------------------------------------------------------------------------
/doc/images/template_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/template_add.png
--------------------------------------------------------------------------------
/doc/images/template_edit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/template_edit.png
--------------------------------------------------------------------------------
/doc/images/tengxun1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/tengxun1.png
--------------------------------------------------------------------------------
/doc/images/tengxun2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/tengxun2.png
--------------------------------------------------------------------------------
/doc/images/test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/test.png
--------------------------------------------------------------------------------
/doc/images/tpladd1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/tpladd1.png
--------------------------------------------------------------------------------
/doc/images/tpltest1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/tpltest1.png
--------------------------------------------------------------------------------
/doc/images/voice_app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/voice_app.png
--------------------------------------------------------------------------------
/doc/images/webhook1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/webhook1.png
--------------------------------------------------------------------------------
/doc/images/webhook2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/webhook2.png
--------------------------------------------------------------------------------
/doc/images/wechat-test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/wechat-test.png
--------------------------------------------------------------------------------
/doc/images/workwechat1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/workwechat1.png
--------------------------------------------------------------------------------
/doc/images/wx.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/wx.png
--------------------------------------------------------------------------------
/doc/images/wx1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/wx1.png
--------------------------------------------------------------------------------
/doc/images/wx2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/wx2.png
--------------------------------------------------------------------------------
/doc/images/wx3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/wx3.png
--------------------------------------------------------------------------------
/doc/images/wxpay.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/wxpay.png
--------------------------------------------------------------------------------
/doc/images/yunjiankong.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/yunjiankong.png
--------------------------------------------------------------------------------
/doc/images/zabbix1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/zabbix1.png
--------------------------------------------------------------------------------
/doc/images/zabbix2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/zabbix2.png
--------------------------------------------------------------------------------
/doc/images/zabbix3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/zabbix3.png
--------------------------------------------------------------------------------
/doc/images/zabbix4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/zabbix4.png
--------------------------------------------------------------------------------
/doc/images/zabbix5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/zabbix5.png
--------------------------------------------------------------------------------
/doc/images/zhifubao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/doc/images/zhifubao.png
--------------------------------------------------------------------------------
/doc/readme/base-metrics.md:
--------------------------------------------------------------------------------
1 | # PrometheusAlert Metrics接口说明
2 |
3 | PrometheusAlert默认支持Metrics,可通过Prometheus进行收集指标信息,目前该功能处于测试阶段,欢迎体验及提供建议。
4 |
5 | 目前的metric指标有以下:
6 |
7 | * `alers_from_count` 接收到的告警消息来源count指标
8 |
9 | * `alers_to_count` 发送出去的告警消息count指标
10 |
--------------------------------------------------------------------------------
/doc/readme/base-other.md:
--------------------------------------------------------------------------------
1 | # user.csv值班配置
2 |
3 | 另外 PrometheusAlert 同时支持按照日期发送告警到不同号码,并且已经加入告警失败或者被告警人未接听电话后转联系默认联系人(defaultphone),只需新建user.csv文件,并将文件放到程序运行目录下即可自动加载
4 |
5 | 同时该文件也是电话回调接口所必需文件(如回调接口返回非0状态,则会在此文件中寻找下一号码进行拨打,如开启回调功能,请务必创建该文件)
6 |
7 | 关于user.csv中值班时间切换问题,默认每日上午10点进行切换
8 |
9 | csv文件格式如下:
10 |
11 | ```
12 | 2019年4月10日,15888888881,小张,15999999999,备用联系人小陈,15999999998,备用联系人小赵
13 | 2019年4月11日,15888888882,小李,15999999999,备用联系人小陈,15999999998,备用联系人小赵
14 | 2019年4月12日,15888888883,小王,15999999999,备用联系人小陈,15999999998,备用联系人小赵
15 | 2019年4月13日,15888888884,小宋,15999999999,备用联系人小陈,15999999998,备用联系人小赵
16 | ```
--------------------------------------------------------------------------------
/doc/readme/conf-bark.md:
--------------------------------------------------------------------------------
1 | # PrometheusAlert全家桶Bark配置说明
2 |
3 | -----------------
4 |
5 | ```
6 | #---------------------↓Bark接口-----------------------
7 | #是否开启Bark告警通道,可同时开始多个通道0为关闭,1为开启
8 | open-bark=0
9 | #bark默认地址, 建议自行部署bark-server
10 | BARK_URL=https://api.day.app
11 | #bark key, 多个key使用分割
12 | BARK_KEYS=xxxxx
13 | # 复制, 推荐开启
14 | BARK_COPY=1
15 | # 历史记录保存,推荐开启
16 | BARK_ARCHIVE=1
17 | # 消息分组
18 | BARK_GROUP=PrometheusAlert
19 | ```
--------------------------------------------------------------------------------
/doc/readme/conf-bd.md:
--------------------------------------------------------------------------------
1 | # 百度云短信配置
2 |
3 | 目前百度云仅支持短信告警渠道,开启百度云短信告警渠道需要提前注册好百度云平台的帐号。并开通百度云短信相关服务。
4 |
5 | 开通服务可参考百度云官方文档:
6 |
7 | * 短信:https://cloud.baidu.com/doc/SMS/index.html
8 |
9 | 百度云短信模版配置可参考:
10 |
11 | * `模版内容:运维告警:{code}`
12 |
13 | 百度云短信相关配置:
14 |
15 | ```
16 | #---------------------↓百度云接口-----------------------
17 | #是否开启百度云短信告警通道,可同时开始多个通道0为关闭,1为开启
18 | open-baidudx=0
19 | #百度云短信接口AK(ACCESS_KEY_ID)
20 | BDY_DX_AK=xxxxx
21 | #百度云短信接口SK(SECRET_ACCESS_KEY)
22 | BDY_DX_SK=xxxxx
23 | #百度云短信ENDPOINT(ENDPOINT参数需要用指定区域的域名来进行定义,如服务所在区域为北京,则为)
24 | BDY_DX_ENDPOINT=http://smsv3.bj.baidubce.com
25 | #百度云短信模版ID,根据自己审核通过的模版来填写(模版支持一个参数code:如prometheus告警:{code})
26 | BDY_DX_TEMPLATE_ID=xxxxx
27 | #百度云短信签名ID,根据自己审核通过的签名来填写
28 | TXY_DX_SIGNATURE_ID=xxxxx
29 | ```
--------------------------------------------------------------------------------
/doc/readme/conf-hw.md:
--------------------------------------------------------------------------------
1 | # 华为云短信配置
2 |
3 | 目前华为云仅支持短信告警渠道,开启华为短信告警渠道需要提前注册好华为云平台的帐号。并开通华为云短信相关服务。
4 |
5 | 开通服务可参考华为云官方文档:
6 |
7 | * 短信:https://support.huaweicloud.com/qs-msgsms/sms_02_0001.html
8 |
9 | 华为云短信模版配置可参考:
10 |
11 | * `模版类型:通知类`
12 |
13 | * `模版内容:运维告警:${TXT_66}`
14 |
15 | 华为云短信相关配置:
16 |
17 | ```
18 | #---------------------↓华为云接口-----------------------
19 | #是否开启华为云短信告警通道,可同时开始多个通道0为关闭,1为开启
20 | open-hwdx=1
21 | #华为云短信接口key
22 | HWY_DX_APP_Key=xxxxxxxxxxxxxxxxxxxxxx
23 | #华为云短信接口Secret
24 | HWY_DX_APP_Secret=xxxxxxxxxxxxxxxxxxxxxx
25 | #华为云APP接入地址(端口接口地址)
26 | HWY_DX_APP_Url=https://rtcsms.cn-north-1.myhuaweicloud.com:10743
27 | #华为云短信模板ID
28 | HWY_DX_Templateid=xxxxxxxxxxxxxxxxxxxxxx
29 | #华为云签名名称,必须是已审核通过的,与模板类型一致的签名名称,按照自己的实际签名填写
30 | HWY_DX_Signature=华为云
31 | #华为云签名通道号
32 | HWY_DX_Sender=xxxxxxxxxx
33 | ```
--------------------------------------------------------------------------------
/doc/readme/conf-rly.md:
--------------------------------------------------------------------------------
1 | # 容联云电话告警配置
2 |
3 | 登录地址:https://www.yuntongxun.com/member/main
4 |
5 | 如需开通请联系云通讯商务人员或拨打400-610-1019
6 |
7 | * 语音(电话):https://doc.yuntongxun.com/p/5a5342c73b8496dd00dce139
8 |
9 | * 注意事项:开通容联云需要配置的模版请填写类似如下内容:`prometheus告警:{9}`
10 |
11 | 所需配置信息:
12 |
13 | 
14 |
15 | 容联云语音相关配置:
16 |
17 | ```
18 | #---------------------↓容联云接口-----------------------
19 | #是否开启容联云电话告警通道,可同时开始多个通道0为关闭,1为开启
20 | RLY_DH_open-rlydh=1
21 | #容联云基础接口地址
22 | RLY_URL=https://app.cloopen.com:8883/2013-12-26/Accounts/
23 | #容联云后台SID
24 | RLY_ACCOUNT_SID=xxxxxxxxxxx
25 | #容联云api-token
26 | RLY_ACCOUNT_TOKEN=xxxxxxxxxx
27 | #容联云app_id
28 | RLY_APP_ID=xxxxxxxxxxxxx
29 | ```
--------------------------------------------------------------------------------
/doc/readme/conf-tg.md:
--------------------------------------------------------------------------------
1 | # PrometheusAlert全家桶Telegram配置说明
2 |
3 | -----------------
4 |
5 | TG机器人TOKEN获取方式: 登录Telegram联系`@BotFather`创建机器人
6 |
7 | ```
8 | #---------------------↓telegram接口-----------------------
9 | #是否开启telegram告警通道,可同时开始多个通道0为关闭,1为开启
10 | open-tg=0
11 | #tg机器人token
12 | TG_TOKEN=xxxxx
13 | #tg消息模式 个人消息或者频道消息 0为关闭(推送给个人),1为开启(推送给频道)
14 | TG_MODE_CHAN=0
15 | #tg用户ID 数字
16 | TG_USERID=xxxxx
17 | #tg频道name或者id, 频道name需要以@开始
18 | TG_CHANNAME=xxxxx
19 | #tg api地址, 可以配置为代理地址
20 | #TG_API_PROXY="https://api.telegram.org/bot%s/%s"
21 | ```
--------------------------------------------------------------------------------
/doc/readme/donate.md:
--------------------------------------------------------------------------------
1 | # 感谢您对PrometheusAlert项目的支持
2 |
3 | ##### 如果PrometheusAlert能够对您有所帮助,我深感荣幸,同时也请将PrometheusAlert项目推荐给其他需要的朋友,希望这个项目可以帮助到更多的运维、开发的兄弟们。
4 |
5 | ###### 如果觉得本项目对您有帮助,请小小鼓励下项目作者,非常感谢
6 |
7 | -----------------------------------------
8 | * 支付宝
9 |
10 | 
11 |
12 | -----------------------------------------
13 |
14 | * 微信钱包
15 |
16 | 
17 |
--------------------------------------------------------------------------------
/doc/readme/hotreload.md:
--------------------------------------------------------------------------------
1 | # 热加载配置接口文档
2 |
3 | 热加载配置接口,类似于 Prometheus 的热加载配置接口。
4 |
5 | 配置文件中的配置项为 `open-hotreload`,默认关闭。可以将其设置为 1 来开启这个功能。暂时没有给接口添加认证。
6 |
7 | > **请注意:** 如果启动之前没有打开热加载,那么在启动程序之后再开启热加载是不生效的(因为内存中的热加载配置还是关闭的,因此程序还是判断未启用热加载),需要重新启动程序。
8 | > **考虑:** 是否需要给这个接口添加认证?
9 |
10 |
11 |
12 | 热加载接口原理:使用 `beego.LoadAppConfig("ini", "conf/app.conf")` 来加载配置。响应中会返回成功还是错误的相关信息。
13 |
14 |
15 |
16 |
17 | ## 使用方法
18 |
19 | 使用方法:
20 |
21 | 1. 配置文件中开启热加载
22 | 2. 启动程序
23 | 3. 修改配置
24 | 4. 热加载配置
25 |
26 | ```bash
27 | # conf/app.conf
28 | # 开启热加载
29 | open-hotreload=1
30 |
31 | # 热加载接口
32 | curl -X POST http://PrometheusAlert:8080/-/reload
33 | ```
34 |
--------------------------------------------------------------------------------
/doc/readme/system-grafana.md:
--------------------------------------------------------------------------------
1 | # Grafana 接入配置
2 |
3 | 首先使用管理员或者具有告警配置权限的帐号登录进Grafana管理页面,登录后进入notification channels配置。
4 |
5 | 
6 |
7 | ##### 注意此处的地址需要去PrometheusAlert的模版页面获取,如发送给钉钉的grafana模版`http://[prometheusalert_url]:8080/prometheusalert?type=dd&tpl=grafana-dd&ddurl=钉钉机器人地址&at=18888888888`
8 |
9 | 
10 |
11 | PrometheusAlert的模版页面
12 |
13 | 
14 |
15 | 配置完成后保存即可.继续进行告警消息配置,选择任意一个折线图,点击编辑,进入aler配置,配置参考下图:
16 |
17 | 
18 |
19 | 
20 |
21 | 最终告警效果:
22 |
23 | 
--------------------------------------------------------------------------------
/doc/readme/system-graylog.md:
--------------------------------------------------------------------------------
1 | # graylog接入配置
2 |
3 | 首先使用管理员或者具有告警配置权限的帐号登录进Graylog日志系统后台,打开Graylog管理页面并进入Alerts配置。
4 |
5 | 
6 |
7 | 点击```Add new notification```创建新的告警通道,选择如下图配置:
8 |
9 | 
10 |
11 | 在弹出的窗口中填入名称和对应的PrometheusAlert的接口地址(接口地址可以去PrometheusAlert的自定义模板页面获取)即可(graylog各版本消息有区别,默认PrometheusAlert集成了graylog2和graylog3的消息模版,其他版本的模版需要自行定义):
12 |
13 | 参考地址:`http://[prometheus-alert-center]:8080/prometheusalert?type=dd&tpl=graylog3-dd&ddurl=钉钉机器人地址&at=18888888888 `
14 |
15 | 
16 |
17 | PrometheusAlert的自定义模板页面
18 |
19 | 
20 |
21 | 配置完成后,点击```Test```测试下是否能够正常接收告警消息即可
22 |
23 | 最终告警效果:
24 |
25 | 
26 |
--------------------------------------------------------------------------------
/doc/readme/system-jenkins.md:
--------------------------------------------------------------------------------
1 | # Jenkins 接入配置
2 |
3 | 首先使用管理员或者具有配置管理权限的帐号登录进Jenkins管理页面,登录后进入`插件管理`-->`可选插件`-->`搜索插件:Outbound WebHook for build events`。
4 |
5 | 
6 |
7 | 选中插件安装,并等待安装完成后重启jenkins,以便jenkins加载插件
8 |
9 | 重启jenkins后,选择任意jenkins Job进入编辑,进入`构建后操作(Post-build Actions)`,添加如图中的`Outbound WebHook notification`
10 |
11 | 
12 |
13 | 然后打开PrometheusAlert Dashboard页面的`AlertTemplate`页面,找到jenkins自定义模版,复制路径栏的内容,如图:
14 |
15 | 
16 |
17 | 将刚刚复制的路径粘贴到`Outbound WebHook notification`的`WebHook URL`文本框中,并替换成你自己的真实地址:
18 |
19 | 
20 |
21 | 最终告警效果:
22 |
23 | 
--------------------------------------------------------------------------------
/doc/readme/system-sonarqube.md:
--------------------------------------------------------------------------------
1 | # SonarQube 接入配置
2 |
3 | 首先使用管理员或者具有告警配置权限的帐号登录进SonarQube管理页面,登录后进入`Administration Configuration`配置。
4 |
5 | 
6 |
7 | 选择`Configuration`--->`Webhooks`--->`Create`,并填入相关配置信息
8 |
9 | 
10 |
11 | 其中`URL`项,请填写PrometheusAlert的Url,参考如下:
12 |
13 | ```
14 | #下面的地址是使用自定义模版中已经默认集成的SonarQube的钉钉模版
15 | http://[YOUR-PrometheusAlert-URL]/prometheusalert?type=dd&tpl=sonar&ddurl=https://oapi.dingtalk.com/robot/send?access_token=xxxxx
16 | ```
17 |
18 | 如需修改默认的SonarQube的钉钉模版或者使用其他的模版可通过PrometheusAlert的Dashboard进行操作。
19 |
20 | 
21 |
22 | 
23 |
24 | 最终告警效果:
25 |
26 | 
--------------------------------------------------------------------------------
/doc/readme/system.md:
--------------------------------------------------------------------------------
1 | # 告警系统接入PrometheusAlert配置
2 |
3 | ----------------------------------------
4 |
5 | PrometheusAlert的原理就是通过自定义模版接口`/prometheusalert`接收各种告警系统或者任何带有WebHook功能的系统发来的消息,然后将收到的消息经过自定义模板渲染成消息文本,最终转发给不同的接收目标。
6 |
7 | 一般情况下如果使用的是钉钉,企业微信、飞书等机器人作为接收目标的,可以不去配置PrometheusAlert的配置文件app.conf;但是如果需要使用如短信,电话,邮箱等功能,则需要先配置好app.conf中的相关配置项方可使用。
8 |
9 | #### 系统接入PrometheusAlert流程参考
10 |
11 | - 1.安装好PrometheusAlert 参考:[安装部署PrometheusAlert](base-install.md)
12 | - 2.配置 app.conf [可选] 参考:[【 app.conf 默认参数配置】](conf.md)
13 | - 3.配置告警系统接入PrometheusAlert
14 |
15 | #### PrometheusAlert处理告警消息原理
16 |
17 | `XXX-WebHook` --> `POST-JSON` --> `/prometheusalert?type=dd&tpl=prometheus-dingding&ddurl=https://oapi.dingtalk.com/robot/send?access_token=xxxx` --> `PrometheusAlert通过tpl模版prometheus-dingding渲染收到的JSON` --> `将渲染后的消息文本发送给https://oapi.dingtalk.com/robot/send?access_token=xxxx` --> `钉钉机器人完成告警`
18 |
--------------------------------------------------------------------------------
/example/helm/prometheusalert/.helmignore:
--------------------------------------------------------------------------------
1 | # Patterns to ignore when building packages.
2 | # This supports shell glob matching, relative path matching, and
3 | # negation (prefixed with !). Only one pattern per line.
4 | .DS_Store
5 | # Common VCS dirs
6 | .git/
7 | .gitignore
8 | .bzr/
9 | .bzrignore
10 | .hg/
11 | .hgignore
12 | .svn/
13 | # Common backup files
14 | *.swp
15 | *.bak
16 | *.tmp
17 | *~
18 | # Various IDEs
19 | .project
20 | .idea/
21 | *.tmproj
22 |
--------------------------------------------------------------------------------
/example/helm/prometheusalert/Chart.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | name: prometheusalert
3 | description: A Alert Center for Prometheus Grafana and Graylog
4 | home: https://github.com/feiyu563/PrometheusAlert
5 | icon: https://raw.githubusercontent.com/feiyu563/PrometheusAlert/master/doc/logo.png
6 | maintainers:
7 | - email: 244217140@qq.com
8 | name: jikun.zhang
9 | sources:
10 | - https://github.com/feiyu563/PrometheusAlert
11 | type: application
12 | version: 1.0.0
13 | appVersion: 1.2.0
--------------------------------------------------------------------------------
/example/helm/prometheusalert/config/init.sql:
--------------------------------------------------------------------------------
1 | INSERT INTO `prometheus_alert_d_b` VALUES ('50', 'wx', 'Prometheus', 'prometheus-wx-2', '{{ $var := .externalURL}}{{ range $k,$v:=.alerts }}\r\n{{if eq $v.status \"resolved\"}}\r\n[Prometheus恢复信息]($v.generatorURL}})\r\n>**[{{$v.labels.alertname}}]({{$var}})**\r\n>告警级别: {{$v.labels.level}}\r\n开始时间: {{$v.startsAt}}\r\n结束时间: {{$v.endsAt}}\r\n故障主机IP: {{$v.labels.instance}}\r\n**{{$v.annotations.description}}**\r\n{{else}}\r\n[Prometheus告警信息]($v.generatorURL}})\r\n>**[{{$v.labels.alertname}}]({{$var}})**\r\n>告警级别: {{$v.labels.level}}\r\n开始时间: {{$v.startsAt}}\r\n结束时间: {{$v.endsAt}}\r\n故障主机IP: {{$v.labels.instance}}\r\n**{{$v.annotations.description}}**\r\n{{end}}\r\n{{ end }}', '2020-12-22 03:07:19');
2 |
3 |
4 |
--------------------------------------------------------------------------------
/example/helm/prometheusalert/config/user.csv:
--------------------------------------------------------------------------------
1 | 2019年4月10日,15888888881,小张,15999999999,备用联系人小陈,15999999998,备用联系人小赵
2 | 2019年4月11日,15888888882,小李,15999999999,备用联系人小陈,15999999998,备用联系人小赵
3 | 2019年4月12日,15888888883,小王,15999999999,备用联系人小陈,15999999998,备用联系人小赵
4 | 2019年4月13日,15888888884,小宋,15999999999,备用联系人小陈,15999999998,备用联系人小赵
--------------------------------------------------------------------------------
/example/helm/prometheusalert/templates/configmap.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: ConfigMap
3 | metadata:
4 | labels:
5 | {{ include "prometheusalert.labels" . | indent 4 }}
6 | name: {{ template "prometheusalert.fullname" . }}
7 | data:
8 | {{ (.Files.Glob "config/*").AsConfig | indent 2 }}
9 |
--------------------------------------------------------------------------------
/example/helm/prometheusalert/templates/service.yaml:
--------------------------------------------------------------------------------
1 | apiVersion: v1
2 | kind: Service
3 | metadata:
4 | name: {{ template "prometheusalert.fullname" . }}
5 | labels:
6 | {{ include "prometheusalert.labels" . | indent 4 }}
7 | spec:
8 | type: {{ .Values.service.type }}
9 | ports:
10 | - port: {{ .Values.service.port }}
11 | targetPort: http
12 | protocol: TCP
13 | name: http
14 | selector:
15 | app.kubernetes.io/name: {{ include "prometheusalert.name" . }}
16 | app.kubernetes.io/instance: {{ .Release.Name }}
17 |
--------------------------------------------------------------------------------
/example/supervisor/prometheusalert.ini:
--------------------------------------------------------------------------------
1 | [program:PrometheusAlert]
2 | command=/opt/prometheus/prometheusalert/PrometheusAlert
3 | directory=/opt/prometheus/prometheusalert
4 | stdout_logfile=/var/log/prometheus/PrometheusAlert.log
5 | autostart=true
6 | autorestart=true
7 | redirect_stderr=true
8 | stopsignal=QUIT
9 | user=prometheus
10 |
--------------------------------------------------------------------------------
/static/dist/img/boxed-bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/dist/img/boxed-bg.jpg
--------------------------------------------------------------------------------
/static/dist/img/boxed-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/dist/img/boxed-bg.png
--------------------------------------------------------------------------------
/static/dist/img/default-150x150.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/dist/img/default-150x150.png
--------------------------------------------------------------------------------
/static/dist/img/icons.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/dist/img/icons.png
--------------------------------------------------------------------------------
/static/dist/img/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/dist/img/logo.png
--------------------------------------------------------------------------------
/static/plugins/chart.js/Chart.min.css:
--------------------------------------------------------------------------------
1 | @keyframes chartjs-render-animation{from{opacity:.99}to{opacity:1}}.chartjs-render-monitor{animation:chartjs-render-animation 1ms}.chartjs-size-monitor,.chartjs-size-monitor-expand,.chartjs-size-monitor-shrink{position:absolute;direction:ltr;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1}.chartjs-size-monitor-expand>div{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0}
--------------------------------------------------------------------------------
/static/plugins/codemirror/addon/dialog/dialog.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-dialog {
2 | position: absolute;
3 | left: 0; right: 0;
4 | background: inherit;
5 | z-index: 15;
6 | padding: .1em .8em;
7 | overflow: hidden;
8 | color: inherit;
9 | }
10 |
11 | .CodeMirror-dialog-top {
12 | border-bottom: 1px solid #eee;
13 | top: 0;
14 | }
15 |
16 | .CodeMirror-dialog-bottom {
17 | border-top: 1px solid #eee;
18 | bottom: 0;
19 | }
20 |
21 | .CodeMirror-dialog input {
22 | border: none;
23 | outline: none;
24 | background: transparent;
25 | width: 20em;
26 | color: inherit;
27 | font-family: monospace;
28 | }
29 |
30 | .CodeMirror-dialog button {
31 | font-size: 70%;
32 | }
33 |
--------------------------------------------------------------------------------
/static/plugins/codemirror/addon/display/fullscreen.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-fullscreen {
2 | position: fixed;
3 | top: 0; left: 0; right: 0; bottom: 0;
4 | height: auto;
5 | z-index: 9;
6 | }
7 |
--------------------------------------------------------------------------------
/static/plugins/codemirror/addon/fold/foldgutter.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-foldmarker {
2 | color: blue;
3 | text-shadow: #b9f 1px 1px 2px, #b9f -1px -1px 2px, #b9f 1px -1px 2px, #b9f -1px 1px 2px;
4 | font-family: arial;
5 | line-height: .3;
6 | cursor: pointer;
7 | }
8 | .CodeMirror-foldgutter {
9 | width: .7em;
10 | }
11 | .CodeMirror-foldgutter-open,
12 | .CodeMirror-foldgutter-folded {
13 | cursor: pointer;
14 | }
15 | .CodeMirror-foldgutter-open:after {
16 | content: "\25BE";
17 | }
18 | .CodeMirror-foldgutter-folded:after {
19 | content: "\25B8";
20 | }
21 |
--------------------------------------------------------------------------------
/static/plugins/codemirror/addon/hint/show-hint.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-hints {
2 | position: absolute;
3 | z-index: 10;
4 | overflow: hidden;
5 | list-style: none;
6 |
7 | margin: 0;
8 | padding: 2px;
9 |
10 | -webkit-box-shadow: 2px 3px 5px rgba(0,0,0,.2);
11 | -moz-box-shadow: 2px 3px 5px rgba(0,0,0,.2);
12 | box-shadow: 2px 3px 5px rgba(0,0,0,.2);
13 | border-radius: 3px;
14 | border: 1px solid silver;
15 |
16 | background: white;
17 | font-size: 90%;
18 | font-family: monospace;
19 |
20 | max-height: 20em;
21 | overflow-y: auto;
22 | }
23 |
24 | .CodeMirror-hint {
25 | margin: 0;
26 | padding: 0 4px;
27 | border-radius: 2px;
28 | white-space: pre;
29 | color: black;
30 | cursor: pointer;
31 | }
32 |
33 | li.CodeMirror-hint-active {
34 | background: #08f;
35 | color: white;
36 | }
37 |
--------------------------------------------------------------------------------
/static/plugins/codemirror/addon/search/matchesonscrollbar.css:
--------------------------------------------------------------------------------
1 | .CodeMirror-search-match {
2 | background: gold;
3 | border-top: 1px solid orange;
4 | border-bottom: 1px solid orange;
5 | -moz-box-sizing: border-box;
6 | box-sizing: border-box;
7 | opacity: .5;
8 | }
9 |
--------------------------------------------------------------------------------
/static/plugins/codemirror/mode/tiddlywiki/tiddlywiki.css:
--------------------------------------------------------------------------------
1 | span.cm-underlined {
2 | text-decoration: underline;
3 | }
4 | span.cm-strikethrough {
5 | text-decoration: line-through;
6 | }
7 | span.cm-brace {
8 | color: #170;
9 | font-weight: bold;
10 | }
11 | span.cm-table {
12 | color: blue;
13 | font-weight: bold;
14 | }
15 |
--------------------------------------------------------------------------------
/static/plugins/codemirror/mode/tiki/tiki.css:
--------------------------------------------------------------------------------
1 | .cm-tw-syntaxerror {
2 | color: #FFF;
3 | background-color: #900;
4 | }
5 |
6 | .cm-tw-deleted {
7 | text-decoration: line-through;
8 | }
9 |
10 | .cm-tw-header5 {
11 | font-weight: bold;
12 | }
13 | .cm-tw-listitem:first-child { /*Added first child to fix duplicate padding when highlighting*/
14 | padding-left: 10px;
15 | }
16 |
17 | .cm-tw-box {
18 | border-top-width: 0px !important;
19 | border-style: solid;
20 | border-width: 1px;
21 | border-color: inherit;
22 | }
23 |
24 | .cm-tw-underline {
25 | text-decoration: underline;
26 | }
--------------------------------------------------------------------------------
/static/plugins/codemirror/theme/ambiance-mobile.css:
--------------------------------------------------------------------------------
1 | .cm-s-ambiance.CodeMirror {
2 | -webkit-box-shadow: none;
3 | -moz-box-shadow: none;
4 | box-shadow: none;
5 | }
6 |
--------------------------------------------------------------------------------
/static/plugins/codemirror/theme/elegant.css:
--------------------------------------------------------------------------------
1 | .cm-s-elegant span.cm-number, .cm-s-elegant span.cm-string, .cm-s-elegant span.cm-atom { color: #762; }
2 | .cm-s-elegant span.cm-comment { color: #262; font-style: italic; line-height: 1em; }
3 | .cm-s-elegant span.cm-meta { color: #555; font-style: italic; line-height: 1em; }
4 | .cm-s-elegant span.cm-variable { color: black; }
5 | .cm-s-elegant span.cm-variable-2 { color: #b11; }
6 | .cm-s-elegant span.cm-qualifier { color: #555; }
7 | .cm-s-elegant span.cm-keyword { color: #730; }
8 | .cm-s-elegant span.cm-builtin { color: #30a; }
9 | .cm-s-elegant span.cm-link { color: #762; }
10 | .cm-s-elegant span.cm-error { background-color: #fdd; }
11 |
12 | .cm-s-elegant .CodeMirror-activeline-background { background: #e8f2ff; }
13 | .cm-s-elegant .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }
14 |
--------------------------------------------------------------------------------
/static/plugins/codemirror/theme/juejin.css:
--------------------------------------------------------------------------------
1 | .cm-s-juejin.CodeMirror {
2 | background: #f8f9fa;
3 | }
4 | .cm-s-juejin .cm-header,
5 | .cm-s-juejin .cm-def {
6 | color: #1ba2f0;
7 | }
8 | .cm-s-juejin .cm-comment {
9 | color: #009e9d;
10 | }
11 | .cm-s-juejin .cm-quote,
12 | .cm-s-juejin .cm-link,
13 | .cm-s-juejin .cm-strong,
14 | .cm-s-juejin .cm-attribute {
15 | color: #fd7741;
16 | }
17 | .cm-s-juejin .cm-url,
18 | .cm-s-juejin .cm-keyword,
19 | .cm-s-juejin .cm-builtin {
20 | color: #bb51b8;
21 | }
22 | .cm-s-juejin .cm-hr {
23 | color: #909090;
24 | }
25 | .cm-s-juejin .cm-tag {
26 | color: #107000;
27 | }
28 | .cm-s-juejin .cm-variable-2 {
29 | color: #0050a0;
30 | }
31 |
--------------------------------------------------------------------------------
/static/plugins/codemirror/theme/neat.css:
--------------------------------------------------------------------------------
1 | .cm-s-neat span.cm-comment { color: #a86; }
2 | .cm-s-neat span.cm-keyword { line-height: 1em; font-weight: bold; color: blue; }
3 | .cm-s-neat span.cm-string { color: #a22; }
4 | .cm-s-neat span.cm-builtin { line-height: 1em; font-weight: bold; color: #077; }
5 | .cm-s-neat span.cm-special { line-height: 1em; font-weight: bold; color: #0aa; }
6 | .cm-s-neat span.cm-variable { color: black; }
7 | .cm-s-neat span.cm-number, .cm-s-neat span.cm-atom { color: #3a3; }
8 | .cm-s-neat span.cm-meta { color: #555; }
9 | .cm-s-neat span.cm-link { color: #3a3; }
10 |
11 | .cm-s-neat .CodeMirror-activeline-background { background: #e8f2ff; }
12 | .cm-s-neat .CodeMirror-matchingbracket { outline:1px solid grey; color:black !important; }
13 |
--------------------------------------------------------------------------------
/static/plugins/codemirror/theme/ssms.css:
--------------------------------------------------------------------------------
1 | .cm-s-ssms span.cm-keyword { color: blue; }
2 | .cm-s-ssms span.cm-comment { color: darkgreen; }
3 | .cm-s-ssms span.cm-string { color: red; }
4 | .cm-s-ssms span.cm-def { color: black; }
5 | .cm-s-ssms span.cm-variable { color: black; }
6 | .cm-s-ssms span.cm-variable-2 { color: black; }
7 | .cm-s-ssms span.cm-atom { color: darkgray; }
8 | .cm-s-ssms .CodeMirror-linenumber { color: teal; }
9 | .cm-s-ssms .CodeMirror-activeline-background { background: #ffffff; }
10 | .cm-s-ssms span.cm-string-2 { color: #FF00FF; }
11 | .cm-s-ssms span.cm-operator,
12 | .cm-s-ssms span.cm-bracket,
13 | .cm-s-ssms span.cm-punctuation { color: darkgray; }
14 | .cm-s-ssms .CodeMirror-gutters { border-right: 3px solid #ffee62; background-color: #ffffff; }
15 | .cm-s-ssms div.CodeMirror-selected { background: #ADD6FF; }
16 |
17 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ae.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ag.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/am.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/at.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ax.svg:
--------------------------------------------------------------------------------
1 |
19 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/az.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/bb.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/bd.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/be.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/bf.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/bg.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/bh.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/bj.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/bl.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/bq.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/bs.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/bv.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/bw.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ca.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/cd.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/cf.svg:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/cg.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ch.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ci.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/cl.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/cn.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/co.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/cp.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/cr.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/cu.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/cw.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/cz.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/de.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/dj.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/dk.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/dz.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ee.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/es-ca.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/es-ct.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/fi.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/fm.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/fo.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/fr.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ga.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/gb-eng.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/gb-sct.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/gb.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/gf.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/gg.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/gh.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/gl.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/gm.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/gn.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/gp.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/gy.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/hu.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ic.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/id.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ie.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/is.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/it.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/jm.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/jo.svg:
--------------------------------------------------------------------------------
1 |
17 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/jp.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/kw.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/la.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/lc.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/lr.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/lt.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/lu.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/lv.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ly.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ma.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/mc.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/mf.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/mg.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/mh.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/mk.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ml.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/mq.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/mr.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/mu.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/mv.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ne.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ng.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/nl.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/no.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/nr.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/pa.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/pk.svg:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/pl.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/pm.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/pr.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ps.svg:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/pw.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/qa.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/re.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ro.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ru.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/rw.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/sc.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/sd.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/se.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/sj.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/sl.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/sn.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/so.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/sr.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ss.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/sy.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/td.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/tg.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/th.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/tk.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/tl.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/tn.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/to.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/tr.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/tt.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/tz.svg:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ua.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/vc.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/vn.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/wf.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ws.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/xx.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/ye.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/1x1/yt.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ae.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ag.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/am.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/at.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ax.svg:
--------------------------------------------------------------------------------
1 |
19 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/az.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/bb.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/bd.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/be.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/bf.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/bg.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/bh.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/bj.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/bl.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/bq.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/bs.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/bv.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/bw.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ca.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/cd.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/cf.svg:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/cg.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ch.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ci.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/cl.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/cn.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/co.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/cp.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/cr.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/cu.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/cw.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/cz.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/de.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/dj.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/dk.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/dz.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ee.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/es-ca.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/es-ct.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/fi.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/fm.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/fo.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/fr.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ga.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/gb-eng.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/gb-sct.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/gb.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/gf.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/gg.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/gh.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/gl.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/gm.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/gn.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/gp.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/gw.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/gy.svg:
--------------------------------------------------------------------------------
1 |
10 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/hu.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ic.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/id.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ie.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/is.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/it.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/jm.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/jo.svg:
--------------------------------------------------------------------------------
1 |
17 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/jp.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/kn.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/kp.svg:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/kw.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/la.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/lc.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/lr.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/lt.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/lu.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/lv.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ly.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ma.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/mc.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/mf.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/mg.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/mh.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/mk.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ml.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/mq.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/mr.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/mu.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/mv.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ne.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ng.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/nl.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/no.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/nr.svg:
--------------------------------------------------------------------------------
1 |
13 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/pa.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/pk.svg:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/pl.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/pm.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/pr.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ps.svg:
--------------------------------------------------------------------------------
1 |
16 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/pw.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/qa.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/re.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ro.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ru.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/rw.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/sc.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/sd.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/se.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/sj.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/sl.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/sn.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/so.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/sr.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ss.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/sy.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/td.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/tg.svg:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/th.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/tk.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/tl.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/tn.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/to.svg:
--------------------------------------------------------------------------------
1 |
11 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/tr.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/tt.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/tz.svg:
--------------------------------------------------------------------------------
1 |
14 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ua.svg:
--------------------------------------------------------------------------------
1 |
7 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/vc.svg:
--------------------------------------------------------------------------------
1 |
9 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/vn.svg:
--------------------------------------------------------------------------------
1 |
12 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/wf.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ws.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/xx.svg:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/ye.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/flag-icon-css/flags/4x3/yt.svg:
--------------------------------------------------------------------------------
1 |
8 |
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/css/brands.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | */
5 | @font-face {
6 | font-family: 'Font Awesome 5 Brands';
7 | font-style: normal;
8 | font-weight: 400;
9 | font-display: block;
10 | src: url("../webfonts/fa-brands-400.eot");
11 | src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); }
12 |
13 | .fab {
14 | font-family: 'Font Awesome 5 Brands';
15 | font-weight: 400; }
16 |
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/css/brands.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | */
5 | @font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400}
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/css/regular.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | */
5 | @font-face {
6 | font-family: 'Font Awesome 5 Free';
7 | font-style: normal;
8 | font-weight: 400;
9 | font-display: block;
10 | src: url("../webfonts/fa-regular-400.eot");
11 | src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); }
12 |
13 | .far {
14 | font-family: 'Font Awesome 5 Free';
15 | font-weight: 400; }
16 |
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/css/regular.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | */
5 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400}
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/css/solid.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | */
5 | @font-face {
6 | font-family: 'Font Awesome 5 Free';
7 | font-style: normal;
8 | font-weight: 900;
9 | font-display: block;
10 | src: url("../webfonts/fa-solid-900.eot");
11 | src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); }
12 |
13 | .fa,
14 | .fas {
15 | font-family: 'Font Awesome 5 Free';
16 | font-weight: 900; }
17 |
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/css/solid.min.css:
--------------------------------------------------------------------------------
1 | /*!
2 | * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
3 | * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
4 | */
5 | @font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900}
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/webfonts/fa-brands-400.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/plugins/fontawesome-free/webfonts/fa-brands-400.eot
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/webfonts/fa-brands-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/plugins/fontawesome-free/webfonts/fa-brands-400.ttf
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/webfonts/fa-brands-400.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/plugins/fontawesome-free/webfonts/fa-brands-400.woff
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/webfonts/fa-brands-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/plugins/fontawesome-free/webfonts/fa-brands-400.woff2
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/webfonts/fa-regular-400.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/plugins/fontawesome-free/webfonts/fa-regular-400.eot
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/webfonts/fa-regular-400.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/plugins/fontawesome-free/webfonts/fa-regular-400.ttf
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/webfonts/fa-regular-400.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/plugins/fontawesome-free/webfonts/fa-regular-400.woff
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/webfonts/fa-regular-400.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/plugins/fontawesome-free/webfonts/fa-regular-400.woff2
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/webfonts/fa-solid-900.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/plugins/fontawesome-free/webfonts/fa-solid-900.eot
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/webfonts/fa-solid-900.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/plugins/fontawesome-free/webfonts/fa-solid-900.ttf
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/webfonts/fa-solid-900.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/plugins/fontawesome-free/webfonts/fa-solid-900.woff
--------------------------------------------------------------------------------
/static/plugins/fontawesome-free/webfonts/fa-solid-900.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/static/plugins/fontawesome-free/webfonts/fa-solid-900.woff2
--------------------------------------------------------------------------------
/swagger/favicon-16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/swagger/favicon-16x16.png
--------------------------------------------------------------------------------
/swagger/favicon-32x32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/swagger/favicon-32x32.png
--------------------------------------------------------------------------------
/swagger/swagger-ui-bundle.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"swagger-ui-bundle.js","sources":["webpack:///swagger-ui-bundle.js"],"mappings":"AAAA;AAu/FA;AA6+FA;;;;;;;;;;;;;;;;;;;;;;;;;;AAyTA;;;;;;AAoIA;AAi7FA;AAmtCA;AAi0IA;AA0oJA;AAgwFA;AAyrGA;AA0lFA;AA4nFA;AA+9CA;AA+gDA;AAwrCA;AA60EA;;;;;AA6oCA;AAsyJA;;;;;;;;;;;;;;AA64EA;AA4mIA;AAquJA;AA2qHA;AA2mGA;AAiiEA;AAq4DA;AAg3DA;AAoPA;;;;;;AAk7FA;AA07FA;;;;;AAi8CA;AAgsFA;AAs2CA;AAglCA;AAu9CA;AAy8EA;AAsiCA;AA+yFA;;;;;;;;;AAgkDA;AA2zIA;AAu7FA;AAmrFA;AAu0EA","sourceRoot":""}
--------------------------------------------------------------------------------
/swagger/swagger-ui-standalone-preset.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"swagger-ui-standalone-preset.js","sources":["webpack:///swagger-ui-standalone-preset.js"],"mappings":"AAAA;;;;;AA8QA;AAmvGA;AAuxFA;;;;;;AAocA;AAkvFA;AAu+CA;AAo+CA;AAgrCA;AAuyEA","sourceRoot":""}
--------------------------------------------------------------------------------
/swagger/swagger-ui.css.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"swagger-ui.css","sources":[],"mappings":"","sourceRoot":""}
--------------------------------------------------------------------------------
/swagger/swagger-ui.js.map:
--------------------------------------------------------------------------------
1 | {"version":3,"file":"swagger-ui.js","sources":["webpack:///swagger-ui.js"],"mappings":"AAAA;;;;;;AA0yCA;AAoyHA;AAmyHA;AAykGA;AA+9BA;AA6iCA;AAojCA;AAu5BA","sourceRoot":""}
--------------------------------------------------------------------------------
/zabbixclient/zabbixclient:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/zabbixclient/zabbixclient
--------------------------------------------------------------------------------
/zabbixclient/zabbixclient.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/feiyu563/PrometheusAlert/f802dd3dfe24a1f1e85c323082d6029eb29f8fec/zabbixclient/zabbixclient.exe
--------------------------------------------------------------------------------