├── .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 | ![rly](../images/ronglianyun.png) 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 | ![dashboard](../images/zhifubao.png) 11 | 12 | ----------------------------------------- 13 | 14 | * 微信钱包 15 | 16 | ![dashboard](../images/wxpay.png) 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 | ![grafana1](../images/addchannel.png) 6 | 7 | ##### 注意此处的地址需要去PrometheusAlert的模版页面获取,如发送给钉钉的grafana模版`http://[prometheusalert_url]:8080/prometheusalert?type=dd&tpl=grafana-dd&ddurl=钉钉机器人地址&at=18888888888` 8 | 9 | ![grafana2](../images/addchannel2.png) 10 | 11 | PrometheusAlert的模版页面 12 | 13 | ![grafana4](../images/grafanaalert3.png) 14 | 15 | 配置完成后保存即可.继续进行告警消息配置,选择任意一个折线图,点击编辑,进入aler配置,配置参考下图: 16 | 17 | ![grafana3](../images/grafanaalert1.png) 18 | 19 | ![grafana4](../images/grafanaalert2.png) 20 | 21 | 最终告警效果: 22 | 23 | ![grafana5](../images/grafana.png) -------------------------------------------------------------------------------- /doc/readme/system-graylog.md: -------------------------------------------------------------------------------- 1 | # graylog接入配置 2 | 3 | 首先使用管理员或者具有告警配置权限的帐号登录进Graylog日志系统后台,打开Graylog管理页面并进入Alerts配置。 4 | 5 | ![graylog1](../images/graylog1.png) 6 | 7 | 点击```Add new notification```创建新的告警通道,选择如下图配置: 8 | 9 | ![graylog2](../images/graylog2.png) 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 | ![graylog3](../images/graylog3.png) 16 | 17 | PrometheusAlert的自定义模板页面 18 | 19 | ![graylog3](../images/graylog5.png) 20 | 21 | 配置完成后,点击```Test```测试下是否能够正常接收告警消息即可 22 | 23 | 最终告警效果: 24 | 25 | ![graylog4](../images/graylog4.png) 26 | -------------------------------------------------------------------------------- /doc/readme/system-jenkins.md: -------------------------------------------------------------------------------- 1 | # Jenkins 接入配置 2 | 3 | 首先使用管理员或者具有配置管理权限的帐号登录进Jenkins管理页面,登录后进入`插件管理`-->`可选插件`-->`搜索插件:Outbound WebHook for build events`。 4 | 5 | ![sonar1](../images/jenkins1.png) 6 | 7 | 选中插件安装,并等待安装完成后重启jenkins,以便jenkins加载插件 8 | 9 | 重启jenkins后,选择任意jenkins Job进入编辑,进入`构建后操作(Post-build Actions)`,添加如图中的`Outbound WebHook notification` 10 | 11 | ![sonar2](../images/jenkins2.png) 12 | 13 | 然后打开PrometheusAlert Dashboard页面的`AlertTemplate`页面,找到jenkins自定义模版,复制路径栏的内容,如图: 14 | 15 | ![sonar3](../images/jenkins4.png) 16 | 17 | 将刚刚复制的路径粘贴到`Outbound WebHook notification`的`WebHook URL`文本框中,并替换成你自己的真实地址: 18 | 19 | ![sonar3](../images/jenkins3.png) 20 | 21 | 最终告警效果: 22 | 23 | ![sonar3](../images/jenkins5.png) -------------------------------------------------------------------------------- /doc/readme/system-sonarqube.md: -------------------------------------------------------------------------------- 1 | # SonarQube 接入配置 2 | 3 | 首先使用管理员或者具有告警配置权限的帐号登录进SonarQube管理页面,登录后进入`Administration Configuration`配置。 4 | 5 | ![sonar1](../images/sonar1.png) 6 | 7 | 选择`Configuration`--->`Webhooks`--->`Create`,并填入相关配置信息 8 | 9 | ![sonar2](../images/sonar2.png) 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 | ![sonar4](../images/sonar4.png) 21 | 22 | ![sonar5](../images/sonar5.png) 23 | 24 | 最终告警效果: 25 | 26 | ![sonar3](../images/sonar3.png) -------------------------------------------------------------------------------- /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 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ag.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/am.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/at.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ax.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/az.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/bb.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/bd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/be.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/bf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/bg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/bh.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/bj.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/bl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/bq.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/bs.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/bv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/bw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ca.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/cd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/cf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/cg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ci.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/cl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/cn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/co.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/cp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/cr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/cu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/cw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/cz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/de.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/dj.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/dk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/dz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ee.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/es-ca.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/es-ct.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/fi.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/fm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/fo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/fr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ga.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/gb-eng.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/gb-sct.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/gb.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/gf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/gg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/gh.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/gl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/gm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/gn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/gp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/gy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/hu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/id.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ie.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/is.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/it.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/jm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/jo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/jp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/kw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/la.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/lc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/lr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/lt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/lu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/lv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ly.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ma.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/mc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/mf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/mg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/mh.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/mk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ml.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/mq.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/mr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/mu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/mv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ne.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ng.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/nl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/no.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/nr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/pa.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/pk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/pl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/pm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/pr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ps.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/pw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/qa.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/re.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ro.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ru.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/rw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/sc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/sd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/se.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/sj.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/sl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/sn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/so.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/sr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ss.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/sy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/td.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/tg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/th.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/tk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/tl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/tn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/to.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/tr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/tt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/tz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ua.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/vc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/vn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/wf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ws.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/xx.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/ye.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/1x1/yt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ae.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ag.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/am.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/at.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ax.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/az.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/bb.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/bd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/be.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/bf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/bg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/bh.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/bj.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/bl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/bq.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/bs.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/bv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/bw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ca.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/cd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/cf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/cg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ch.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ci.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/cl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/cn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/co.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/cp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/cr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/cu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/cw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/cz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/de.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/dj.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/dk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/dz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ee.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/es-ca.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/es-ct.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/fi.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/fm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/fo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/fr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ga.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/gb-eng.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/gb-sct.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/gb.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/gf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/gg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/gh.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/gl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/gm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/gn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/gp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/gw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/gy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/hu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ic.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/id.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ie.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/is.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/it.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/jm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/jo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/jp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/kn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/kp.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/kw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/la.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/lc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/lr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/lt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/lu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/lv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ly.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ma.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/mc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/mf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/mg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/mh.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/mk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ml.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/mq.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/mr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/mu.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/mv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ne.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ng.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/nl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/no.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/nr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/pa.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/pk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/pl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/pm.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/pr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ps.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/pw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/qa.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/re.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ro.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ru.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/rw.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/sc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/sd.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/se.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/sj.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/sl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/sn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/so.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/sr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ss.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/sy.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/td.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/tg.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/th.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/tk.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/tl.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/tn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/to.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/tr.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/tt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/tz.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ua.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/vc.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/vn.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/wf.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ws.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/xx.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/ye.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /static/plugins/flag-icon-css/flags/4x3/yt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 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 --------------------------------------------------------------------------------