Run monitoring stack

This commit is contained in:
Ivan R. 2024-10-15 21:56:15 +05:00
parent efb49d0099
commit 3aa8bfb259
No known key found for this signature in database
GPG key ID: 56C7BAAE859B302C
9 changed files with 244 additions and 135 deletions

6
monitoring.yml Normal file
View file

@ -0,0 +1,6 @@
---
- hosts: webservers
roles:
- role: monitoring
grafana_database_password: "{{ postgresql_users.grafana }}"
postgresql_exporter_password: "{{ postgresql_users.exporter }}"

View file

@ -62,6 +62,9 @@ frontend www
acl host_git hdr(host) -i git.comfycamp.space acl host_git hdr(host) -i git.comfycamp.space
use_backend forgejo if host_git use_backend forgejo if host_git
acl host_grafana hdr(host) -i grafana.comfycamp.space
use_backend grafana if host_grafana
frontend matrix-federation frontend matrix-federation
bind *:8448 ssl crt /usr/local/etc/haproxy/certs bind *:8448 ssl crt /usr/local/etc/haproxy/certs
http-request set-header X-Forwarded-Proto https if { ssl_fc } http-request set-header X-Forwarded-Proto https if { ssl_fc }
@ -112,3 +115,7 @@ backend matrix
mode http mode http
option forwardfor option forwardfor
server matrix synapse:8008 server matrix synapse:8008
backend grafana
mode http
server grafana grafana:3000

View file

@ -0,0 +1,28 @@
---
- name: Create monitoring docker network
become: true
community.docker.docker_network:
name: monitoring
- name: Create grafana volume
become: true
community.docker.docker_volume:
name: grafana
- name: Run grafana
become: true
community.docker.docker_container:
name: grafana
image: grafana/grafana:11.2.2
volumes:
- grafana:/var/lib/grafana
networks:
- name: postgresql
- name: monitoring
- name: haproxy
env:
GF_DATABASE_TYPE: postgres
GF_DATABASE_HOST: postgresql:5432
GF_DATABASE_NAME: grafana
GF_DATABASE_USER: grafana
GF_DATABASE_PASSWORD: "{{ grafana_database_password }}"
GF_DATABASE_SSL_MODE: disable
restart_policy: unless-stopped

View file

@ -0,0 +1,4 @@
---
- import_tasks: grafana.yml
- import_tasks: prometheus.yml
- import_tasks: postgresql.yml

View file

@ -0,0 +1,13 @@
---
- name: Run postgresql exporter
become: true
community.docker.docker_container:
name: postgresql-exporter
image: quay.io/prometheuscommunity/postgres-exporter:v0.15.0
networks:
- name: monitoring
- name: postgresql
env:
DATA_SOURCE_URI: postgresql:5432/exporter?sslmode=disable
DATA_SOURCE_USER: exporter
DATA_SOURCE_PASS: "{{ postgresql_exporter_password }}"

View file

@ -0,0 +1,33 @@
---
- name: Create prometheus docker volume
become: true
community.docker.docker_volume:
name: prometheus
- name: Create prometheus config dir
become: true
ansible.builtin.file:
path: /etc/prometheus
state: directory
mode: "1755"
owner: root
group: root
- name: Copy prometheus config
become: true
ansible.builtin.template:
src: prometheus.yml.j2
dest: /etc/prometheus/prometheus.yml
mode: "0644"
owner: root
group: root
register: prometheus_cfg
- name: Create prometheus container
become: true
community.docker.docker_container:
name: prometheus
image: prom/prometheus:v2.54.1
networks:
- name: monitoring
volumes:
- prometheus:/prometheus
- /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
recreate: "{{ prometheus_cfg.changed }}"

View file

@ -0,0 +1,10 @@
global:
scrape_interval: 1m
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ["localhost:9090"]
- job_name: postgresql
static_configs:
- targets: ["postgresql-exporter:9187"]

View file

@ -57,3 +57,8 @@
argv: ["sh", "-c", "createdb {{ item.key }} -O {{ item.key }} -U postgres || exit 0"] argv: ["sh", "-c", "createdb {{ item.key }} -O {{ item.key }} -U postgres || exit 0"]
no_log: True no_log: True
loop: "{{ users | dict2items }}" loop: "{{ users | dict2items }}"
- name: Grant pg_monitor role to exporter
become: true
community.docker.docker_container_exec:
container: postgresql
argv: ["sh", "-c", "echo 'GRANT pg_monitor TO exporter' | psql -U postgres"]

View file

@ -1,136 +1,139 @@
$ANSIBLE_VAULT;1.1;AES256 $ANSIBLE_VAULT;1.1;AES256
30373832336334383031646564333333653031653261353835306230386636653566316661303737 35343335323565363461646133366531656234356265633565376164646362336535656363343932
6364386435343864386361393466663839663563363430370a303030613533363830626134363862 3831623566326236646636326234646534396631363164610a636338663036666665663639633063
37376436353530383662643338373936313566313165376134656532356139666136313635383635 36643333666434323734626461653538306532666636353865303037623837323937393166393736
3961666334376565640a646130383664323466616566316539636663643338306162353162393065 3362383566343039380a316365373431613662363031373133303434666631343166366439373065
33663031643362323434623836336664643762303139303031613065346661323262383938623764 37303532653765363361343961393964613433363362303237343430653136633731353266326333
35323862623835623037343537313533333362306666396237333839313835303665306130623933 35303533363234623464666438363432656234333338613962666166623733616632616264633238
63333038666232643936353062353562316263306338623161636463376132343665393139333434 37353934633962636261613361373931333362633738313563666635356539666639343637303366
38373165343465343131616130613739633437636361663563373730643631663534383735663266 61316165343038353336653739646636326339303934323231336536316632666632363434323535
35383535383732636236383831626130633333633535386430356666393533386562636633333365 62306233396231636137613034386235306137353435333739366635643731316162363131353637
61666136353163396462346535326631626238356430636465636464373634313765653735666436 63653734393265396238376532363830323664353839343633366237336336653635616330626361
38313435326330346131376332663161323061323633636363336662333135623265366139653831 35633834396263643362653031666334656164313964313065376461656631336139396238303264
64616333303464373331323562613433343935343731393531333063346130653462616535396562 38303439326565313666643134343833333662636164616565313036343134366230336136313965
66653935313339373339626139376139623335353761656638653666333632383037366665623739 61656135373533633638363738393437353431653163313462353965366133326438373334383534
37666539346165616165653633643661356638326333396364626465373662343134386336373637 32326364333134663863643132613238376262626536343636343238646234636233316262353734
31356531363062346533323835343666623062373239313435363863373133366131326430363963 38646634356566386164393766623035303063343637666332326137313236346361396164613564
61343438366532346631313532643363343932636566336338383138623138363761663533306463 64363138386666333337356261616662373936323836626138343830393133353131386437393238
33386333663261633464333264616161366164376262646265366431346330363834626138656662 31353966336462393039353336646138333135316365323563316562643363363338383763306337
35613063303735653039303664343065386663616335343433386264346635343639636432653633 36613464373239306339306537346237376134666331326131393231633063663263346539643364
30393137663230323764376434383966363335663831633634613564626366646563343937386435 65663532343735326434623537303161623238373437366433386563306565323539613139323565
31303237356332313432306163356531656364323032636338636264356636393137383066353961 34633561323862386638356261323231356238623638643236336264363732316162336438373131
36363266393166306439663764326339373037303063653036383733656237653930376262623963 64356264616166393539616131383564646463646637633537326462336237396363323938306537
64663462306161366530343232336436353237303565323939353534653863653736373033633132 34383534393331306332626231396163636233613233613332333666363538373963343231353162
38323736663961373938363862663262623030643532623761303036616438373665646263613730 34643632663037646563636531366531353036383933656466656331663234653339333136613164
66393436623339333035393237343734636561656363643938373539316435313337363531333335 65616536323061646134333935393435376338323364353364343734333461626464636632336163
61656139643035366361316630623630646664323438346466353234396233376634376230313638 35373432356233663765646235373731613033343431396566343034383837393734393532666435
30646630623362333334656533326164343831646463623965383461336336303362386134366463 63353765613532383030663362356135396433366339636438336436333633343433303535326534
37633030363636636161303735333734323939323534313131343837663634643830383836653864 35356432303964303131356363353263616635336134333666373136633863346336343437613365
63313834623439636439643734376134316334326337316337623437333566303537303030373662 31616565303737303732306632373163333065313961646436336463633831633261653536363663
63383630633564393164356534646562656139653063306438646164383437356635616337333234 31373734333433633335656163373239333437383439626465356361313931633634316538306466
61633066323636666135303761373863373934623135323163356434323231363965346264373363 38373435613437646166393232353537303461636134323636663835613736623563626233386133
65356139396636326538326166636338353536623432626363643566333165376331666131393061 38616233633236323330656137376534326537313131346130326266356166336437363863643535
30666436306137643333616365333165346363633061363534313662306430613433623461393439 36393136663136396630633730376565316162373133373565356666396266666535653861613962
38353037303064306631303461386163316135663636613534313037666361363935613763373835 30643833386232613132623464613461383136346366613532303632636133373332633232633631
64666465383238366335383635363962313534313937326338663134316439346638393164363463 66633631316664643832333937356264373463313934653335663735396262343938656464643332
62393835383734316232623039656231303234613132373634363564346635663938613762623733 61343439623065653832636635656639316332363938333638313662643533626438656162386634
64353437623031643066643832313039623763663238393933326563646637623333356661313336 30623233653132393465383035623732626565666161396237343463386630323532363566636565
63616462333261316130666365336261343639353737346438666237653430326531323437626664 30336434363837393732616330323938363361303466383436356130643636333036306661323139
61623863613336333232666139343534636433653333336661626436343332373363306337666466 64353164393034666664343134646266356531353261333539333062333238353264613062333861
61353532613630626564666437363766343834646632333266396630393261343965336537333632 63626631633330643135613766326664353662656133643038303134336539653236306638623462
33653934646265663833366562343331363763653961326132353530636166363135336436303362 30636436376530383661396434333638666234326465346265646431336234323639313435373666
64373262666666633961393537623036363763323262303435333036633362623366383765333764 38663764646238663762623061643435653261383665663731653539373036633538336465666466
66656338636634636265343066386332643332653433623838386630373930363065386433316630 62646634393534326563376230636336663533326566623839323538306535623730386462383632
39653834326533306161616366333761626165653233646462336566633664663836376337663961 37396436663335353536336366626461306266386339393634663639666164646137616666626133
62366335626132323661356362643564633634366331303663336336643535383039663964393330 34386539373561346161643439323532623466373935326164646664343139363637623932393562
30353966373862643038626532313539373666646161373437656635633033666166323664316162 36623631323031346236336137636164353537386364343332643264353939393432636333613662
64363632366337356234376265333164393261656634313133343966643364666535383532663931 36373334323666366633333764363661393862386230653465323637376636333933313332653234
65643764393363383732313637333734323137383830643533383330373465363861653138356563 62366165653533663064346430306639356366303833306461383063656632346662646132663365
63356338653066623630333639336535613939313663663865616562653038356661356539373439 34376132653639303964326162353336353432396133383732363763316365633036353937353730
38656337613835613939623736623234356234623932643130613437643333356333306166623835 36386534663938306165336539383232383266346639613265663763633033613366353065383363
35643133383466313861373236333435326633326232366233656538663261396663326563386437 38653932666233356632356266616433303432333261306634346531326563383434323465393038
39663633653230343063663663373430333933353931313638346239626538386361343866353933 30373330653064356533386561396639666266383037616538346137396130333161363738646133
32366439633137626239373938646264663537373135373031653062663465376332646561383431 38636139376566653135623938623963313335656233613532623638353961353634353864636233
35386532303134323463633761323165333831626566393966376561303261373832313336623439 33626634663735623938303837316430306230323362323537343664356165636130666234363638
39653631383638393364333061663839323632343638326330323064303036386162666334633066 34363935363166663064343264353634313130323161633734643739346666346566646430616436
65356636366664373165383163316465383566646530633561376266356636306263653039613361 33326533623930376266333534343534346132303063646431373035626366653730313966393266
36326165336135636438666132386366356230326435393234333862663432633364333430316266 64643838306461653831346664373839313034626233663662353539363339303662656136633530
32373230323735623162353938373466623337303765366665316530323731316233643266633930 31306534383763333037333862343537393364626563626639643232363238316234333234396165
62643737326661613961313430333763663035646262626264323639383635343264326535363263 61373562353966363463376436323062646230323165303166373361356530393837343539623064
62393235326631343035346530613631316638643661653164356134663163383235613330353030 62613338636266363563613238363737396135313237303963643061303234666130383532323833
63616532346363376361643334666233656664303837333237326366623136313937633961613434 66366439333233396438663437313531363736623266653436333964323265373431646137373439
35393834313538353936383638303466316234366665353832386430616131326365613635303338 39396531613834666139393133633265666666316136393130316162363235616239623939393735
65343130373032323538333364313633353966343561373366613831396463363961326561313366 65306561616137356630666435393636376537376362616231633030373331373234356162333263
34323833363761386433633961636266326632356331613563306230663739613134623532626532 63366137383536613639663135656664333362323333303033623134646435353237333464663732
38316531346636323361613331646332373661613665626338646161393332656434663139396164 37663239333137333338356535646562306535393537363665313338323337393563353638373034
64613962363635396538343365616665626439623466316334356638653733303338363264633361 62393863343865633866323266363631373730336236663363316531626162333232393530393762
31393237393964613062356566303361623933346537383032303530623232666166643436313164 35326262383962633530343636336330366266363933653631643365373136373332356539376135
36373435656234313639303463663861653661323737343232386230303131613962353132633261 35646664656561303933633765303861326336613933313932373638653363663161663133326666
61333739393831313630663864626535623832326535653437383932356163656533313231306566 34313331336238623730626430333133663466386632396235336333663966333432363165313566
33663231336461323464316138366232346432333937613335623966353235646235346231636436 66323035613934303361643538303537336430373034626233643763303462313034303930343336
30616533343330373263666136373234303061383632396530303734633361613133613735356162 65373664316236313633656636663365646636306134666564383234373034373464633663633661
31643835313463623034393530373933386630393064306465336234373763646437376263306365 35366430336464616363636530313362636636353836656137336434383539643236616136636233
39663436623430316362356261383064656530393330313662373731316135633937313432646630 32633735646266353164323032653339366538636330383634363336353866313766363066383838
39646431653663386432323961663530643436663436313461663264656134353231386365323931 61633537643139346235643030356564376666396265346664383465656663343961633437353935
34323438306363306537363137393830666463313462336631636438323365626334643162333466 33623863366138666461646530393763313939343838376435333735386165396539636163613062
63626334623433666431316339383830336438666139383437383132613831343237376134346563 37393363326335633234616566316364656431646130666362613930313933663538346533653666
63633337633262303561353862313137383563343336636366626238396636313765623334376432 37316561333161373465643539643238373264353136323565643831636464363565356434623962
31336436383532646532663636333461343635363933313533613539626664393061646237376431 35383030353762383838346465333861376363636263303864653133666538366562616365356366
39613337333730373263353836353731356264653131356535323532623862323262353862386535 62306662393261363433313861616338633266306632633262633337383164303564363464346531
34323764646137353063303237396464303666643132313861633534616637323363663238653362 64623262636263306631386230316666396634623539653233656438626431633966643864383137
62303336356237376534333534656262383433306266333663343535376664383034356662613663 38313830376330653163623766313966626261336561316532376136666232343032613732336631
37343365363436346538646334363833323731636533316664316632366162346535633463306439 38613965353138346538333831393633383630343035636435366437363633613462363830613237
36633336623632383736363761396331303239376535316230323339616163363230663030393761 64366438636563383832336664373564306533393461343638623930336330343766636364383331
30623461646130326338613262373135656264393963326364373065663030366566383036396464 36343538393737393032656663343334396433366334646136353336303066623438326231386537
66613130373435383236383430353262356537323038663665633631343838383433613062316432 35613831636631336336646131333162333932656637383731336238316230656262363338643633
66616233343938326236323364623965643364356565316666663338306133643738393638393532 37316636623965386166356266623065393139626661343265316463373832626536333631316364
32636662663066353132363065353939613161383765663538333233316165613537646162383136 66346638313562656465346462646361666139316632663233303234386233353361373035333939
32313434663834396165336236333763646435643163393938346234646563386639386234303163 63363165623634666334643136346266623639633362343437346439383936306637366264373864
35313537636564323366376337643465373162306138613561326462633035343638326533386330 62393638653435636433336438306237626432383330353733303937666631373762646362326131
31646436356264393832313265663238363765313639336431346166356261356430366162396531 37333962613733353738333739653364386466396339653235323137613763613138623737623033
61376234616631393435613837663036613663373334393066366366353966626266303562666134 32353438383165633935626164643233656634316265306264653634346532346361353464383737
32333763373936376663343233663165313332336263656234346234356465653462316531313737 65366430633861306135623330396466393762643832386332363231653538323333353930376531
34386566346132313639613465336634613737616331306164313866316530623832616565353936 38353063666433656531663737383036666166653735376461376439313565386464356363343663
36383930306563336634383234356536633638303833636535386535343937383865386232626238 34306464636430303465386563663836643436383139396630386331313239363864373661666365
31653235303336656466636363323333656333343037633935613964306664393931623938396537 38363830373837303666646433373031363266353038396366306433636536343365343765643735
65346136626665653933346639613261313666633736323735633265633762356462353739363636 39326638353463656635353866306434666134373730363133646539613138386361343430326339
31616333653831343631333736376433326135313963643363663766323065366538393437366631 34393933303861333034623063396130343434303433333766326134653839316364326332643836
65363332643066666663316134613430613239383666313135663839643236346537303238316533 61303332623763656433636532326438363435633735656564623566316566376264663262306465
34323432653863323966366461653361356232356466316162653739346563643138643965313363 30303365626339366362323438373064363032363735653330346230353561643030346330306238
64663266376461383066613538613134333638316333646363333537646132643836363136303336 65373231313030313132326662666537373064383365376234336166616639316333306534663439
64353431393133353666333865376139316664306434356464623563643733353763633738336261 64643733656234356638396465323236393739623231343933643661323131336162326635616639
36626130366362393061626434333365373164373037303439316263316530323333663261346232 64646233653036383762643430623035366565626639656332643234393137333834356434346230
39303463646364633562656565646235616637363464636631333138363663306531313464643535 31613836366463303064633533363661306232613862326363623863336131336631393433616261
30353738636162373866356438356237343837623136366365613739383234633335306431646139 34616361323466353130383835343164303131396461643737633238376437393865316439366339
65353565316530313461333863353161383464323439643132653136613962613133303731346162 32326664616334373535353839616236623332336630633137643734633230333836393936653936
66653237323738333537356464323362383062326531613039386235633063336666316631326366 66653762336234336633613061623563653335356432663432343365313565303631336536303632
32316233373237333163373532336633326565396237363432323236393231396435323365653139 36616261316666356138376139386338666664303863396330363266396535656233616331366432
36313732353437656231373334613732613063306634666235643330386463653338306162663965 38653339323037386134306339306363336334323233613430366437623266383163306361666137
34623933356231643861353733613933326332326539303036366431383937383132616138663965 64356539653834616664333562326437646432363337396462383833373065376430316262623436
39393631313635653035636339663034373862376534663365333863393531346236373038653031 64666534363264343064353633353263333737666362616535623232336630356430346136643166
35343065316533653639356366306230656362646239373138386439613161366162633361356563 30346362386538623064376363373533663033363262363432333939636266376565666539323234
61356461356362613063346530356634333839376637383762353437666430653439613831303032 35366534643666316230633966666265653038363261396539396438383038393637373466653166
31653564633362623232616330623134306638306262613135663861396338643363663266313732 66643532653965366537343465356331393633633762613132343530376130373461356262613430
62373732323134303335383165323164393737376338636134313265383963343936303863336431 38646139303134373432356430306635323334623432313963653061326536373235396663656234
38356337383537393630323939653063396366653735643437343261336362313765383833313337 37633539366563303263653130313338363531376636306334393638303932376264343038313938
65306435326531306630623236643438356337636364636437396533663361336338316133306237 38353431313135303839363266373834376530643637633566613864373362393832616438346465
34666561393730346132366339333361623631316636323263666462353533336161663731613434 64633436393663653164376664363933616565383738343765333533633036643663346138633064
30643338653264643636373735353130396436613231303535323965656439393932366262313837 37616639626163363137616235366438383332613835343436366239633736623433333464613062
33386333653534613763663133396430633938653737646132303566643863316666636238613864 62623131613033323739653131373139333230383036653134363961353466653031303333396338
38646137346163643933363736626662343863636533323563343438646539376535626464393863 31336533393631666232393838386535373338333365313365663735666166646633646637316134
63346435643138326134316638346139643635373064316631643265313437343466383536396265 37616438363238356131653766663437333963313463336262623166633431353933386135353335
36643236323933626663366663396636343835623861653361653239643138366138373338353939 32373333393936643263616432353331616461623930663835613632383265303533633335316162
65383836353334386432393132376433323831393461303133313631333634353938316166336539 64376639353764613638363232386534636333373261386530343261383565323537326164663664
64626633386262346136386336313432636365333861643463613264393264643331336361626361 66663565613136623130613732376136363862306265386537323237333766643166373133336532
37373333323935323663663561333630333565633665653836356632373337356165623166656538 34326132333736373363663439326265363436303765613631376537666238346661383364326437
62336437356431393136303037633662663762306436373538323135316130356165616366366336 65353936323738363264326432646436653237336138333535326630306663626165306133646435
34363235623133363961363462383934373830396133356232303938656131386632666133633062 62633362303735356566336133643531373130336139303838373937653966396230336636353161
64323330633731616264393263326137353434373538623537646431646133646234353034326462 64326265393330373939616665653534636230616635323163653138613736643130336230383033
64306139353834616639613638326238386632363232356338306337623136326563653334666564 61396239383761373765386338356563343131386531393930356535373933383264353664373235
64353765343630306535653430376431343132396232303466393964383333613666626561333766 30643738383939313132303237636537313639326436333663636531393337376234663562663661
34646430616231633061366332323337336462363437626166363561363232353563633563323332 65653439313437636338376631383734366666313230656236366534376463616564643661343333
33616534643335343832393164646434636430363366333037666539626132376161303731386561 33636438333164613766386334623434316664363462373261393362643665383637643564346638
36663830303433343932366661343536623865303438366132313832386637643063663439353038 66326538653461626135623031323762616265353362326632343064336463323736323731356636
65643335353163316533306633363037616232383530393839616334663336306237303531613832 32633664313361643536663536393565393361353132313038333133376364333532313831336530
65636663336239376235643036623032646331663962633430633161306539646464656131623163 65653361376338623863373935613537636566306366666634306631346364323361376133633735
346539663562636361616135326237383664 37616631653861356430663261646666656131643631393763343066636162383662393536373733
32323538376139356363323230323236646334373933336337303637386333323635303365333334
32383333636665353563386631386337356531323839333532346230633662313137316236643839
3263636563653531623233323162383236333564656638356237