From f6c6742e1f0e8eee56f3f2e282c223a42c284d3e Mon Sep 17 00:00:00 2001 From: Markus Hauschild Date: Sun, 24 May 2020 18:25:23 +0200 Subject: [PATCH] prometheus: collect statistics from proxmox --- group_vars/all/vars.yml | 7 + group_vars/all/vault.yml | 256 +++++++++--------- .../files/prometheus-pve-exporter.service | 10 + roles/prometheus/handlers/main.yml | 6 + roles/prometheus/tasks/main.yml | 26 ++ roles/prometheus/templates/prometheus.yml.j2 | 16 ++ roles/prometheus/templates/pve.yml.j2 | 4 + 7 files changed, 198 insertions(+), 127 deletions(-) create mode 100644 roles/prometheus/files/prometheus-pve-exporter.service create mode 100644 roles/prometheus/templates/pve.yml.j2 diff --git a/group_vars/all/vars.yml b/group_vars/all/vars.yml index e953f7b..f6c2431 100644 --- a/group_vars/all/vars.yml +++ b/group_vars/all/vars.yml @@ -44,5 +44,12 @@ ntp_servers: - 2.de.pool.ntp.org - 3.de.pool.ntp.org +pve_targets: +- pve01.ffrgb +- pve02.ffrgb + +prometheus_pve_user: prometheus@pve +prometheus_pve_pass: "{{ vault_prometheus_pve_pass }}" + site: ffrgb site_domain: regensburg.freifunk.net diff --git a/group_vars/all/vault.yml b/group_vars/all/vault.yml index dfcdc7e..d1904a2 100644 --- a/group_vars/all/vault.yml +++ b/group_vars/all/vault.yml @@ -1,128 +1,130 @@ $ANSIBLE_VAULT;1.1;AES256 -65396634643531653136666233633039346632663837353462626538653431313862366339633266 -6366653732313033316665383665646532323534313465630a366532626263663534323637383538 -61393830646336613335353162326463333934356664353166396131623661343931666630613466 -6662313665613933660a656466323730393966343365653232623635623563366164373533376466 -31383464653032363036373636363135643362313562636335613837653133386630333832393965 -32303233373832653234346665613362653531396434653965326163393531666465663738333264 -62356366373837393238326134626433396235316434623166383231613931383938396633346661 -31636635363663343733653833323332343163393563323563393335373465626663626334313539 -31343939626333386532616630333436366631346339303564313135356439366265663537356166 -39623438326136393036636264383165646239386166313239343435393933316263613632323431 -33643132633061623733316639383738656332376132316466393062383266633665626166396361 -66313138663634306166316636363035303435383431643635653361333033663437653966383763 -65333861643462383063346236313534313762303534356633626538633733326637663033306130 -39623134386434613435303637353333343866633765333434363433636238616336646237366236 -34633930653736386161303264383231303466326664333339383234613738393466656434353735 -33336563653039303232356535393734666266326166666366613963316464353732336364383339 -63306230663666633961373933303439623861376431643162333939363466396634616261333537 -35323532633138326534353730653335613031636538363937303966646466313831366462643166 -62623934636163633136346264623737383138646238313033643966343831666233353930616533 -34356437393962376262393333343261663235353834346531356365663064636334386637623765 -34663030636130313730336633386461303065323862336663313331313236613738366164613565 -39343836623133343130346334626366646233383739633032633732623063346636376539663532 -30653934653639326664356439366534373162326530386362646534336233306462653536643137 -61336333646139376435613237396161343530303066343266333134333163393639316332333564 -33666332326135366636343462643463306263653663366264326538363136343730623666316132 -35326463353831343463623531303632396261643364326437333664663630646439306439656334 -32376432376532373130663237613838343136343738343366656264643730636436326231656539 -64616264373330653837303833653439623963343631313730303563326531303064643962363163 -65316364386264656163333435666463333738633532306537666461393833316366316365323062 -37373765343162323733383432363635313534373535383734333335333636353063323533626430 -66653765353133373136363238653663623266633733653734666136646134363436313234353035 -61366465356462346234663437376265343565636163393334623565356231656464376265353736 -32373866386165373934663862633061623838383536346434323631383864373062363837666234 -33663939333862353862366231373836383263326565353234643732643535373435646162323538 -38613765373262663637663065343132353338656363663633656136663137323139636563383062 -37386662333431613534333232336665633830303830333231356630323632666230383639613536 -61383935656235326139363237363934316434636533636236396635643264623235613565343537 -39353861646264306631613164306362336636336166313437366531323837353433393064366632 -37316235623163326436323663626235626361353664316436336336346338653538353263383162 -35323062623334646465346665666665323061663030313732383831356339646330366630366430 -34393538363438343730363262613637303433656166303131653561356436646664626536393435 -33666136633437653965313730626664653539363638353530363066346131373336363336343231 -63353765346432393863663861373632613462306566303966643834613737333933303231326263 -32313333623230396565326266366132663836613165366362636137313330336431646133623631 -36356161303764313232653964653137393732386335626538623835633465616463313830656337 -39653238356532663631323163386532363563613436373330613130366262326432646236363833 -61633231326661343533316138316233396436633232353566323933383133613837356435353533 -30613832386630363965343330366366346635343539613736316563393539623435646463613766 -36613532633363313961636134636239353965663633663132316439313738333964313062386139 -39663066626535623063303138326238636265636265383464653736363132376635376161636433 -39636339393331313130333634353135363162396234313962396335333861636530623235376334 -64623364636637383535333938396439663361386135306339313164623832356430336662393630 -65326362323663306239383061373737366466333139636335643331643437373235393063626231 -30626536303363623665343065383564393665313637393437383838313461613237366233656438 -66653137393632623534316133346565353132336634336132326436613837653661313336613761 -39613266643164653166343938616334346462326361316466373931623633363631303265636565 -62346431643835323664646161326630366332336563636462383438346137666536323036313862 -36373831383061373336363863366536333463643462363037363239333732396632396536646232 -62613437386131383366333730646361343262313630646662656432353538396665373139363136 -62313736346462623738323834626132396231313330333162333239393939396235306430623939 -39613564336130393864616134656465333961393430303232333962393437613534636535366561 -39366161626461653561633835356330306464383637393336646164623339323331363330336664 -66366436303865613962646230653866613062656663623232633561343664323537363932363235 -63663135363765626664343239393736326135333732373034626636663738393536646533383539 -62363038386539326139663939613030656533636231326661616165336632356665343337616632 -63653462643339353562626430616236303136363633666638336432613965626135346162333166 -38316239343539303136646336646437383332633466343934346634366333646237316539336531 -63373964356632333466613539303436616163326537616363626130306130333364636632613034 -35663735393666383764376361613862633436373238373237326138633466383231663262646537 -66626366633561323032346465643666663534633730313033613836643237616162366335333430 -36666330636632343037313437656139303537633837373030656134303564333333643637383036 -37363032623230643765396234303934616639653261346331626166363431663065386234313463 -35346663396136393239333663616265366637366164636538303664323363383035396635346164 -64636432326563663239383630313830346335393663633866333430343163313362643130636464 -33643437633130303165386332656362313339323039363036633433306237316564613032363638 -38376530363539366364333737386635623665633262663439616330656637626638396266336462 -33303034366130663830626435336638373566386533653766376139333765363536613463643537 -65373831343536373232663635363064663833653066303839386264363261373066356562613235 -35666366643764323634643763323865643161653863356366356337663362656536613238366161 -38306236386636346531333563366432366265333561663236663865633433623665343530316262 -34643731386530666137613363363330633934366335303231316132353164343635346136653538 -31633564623031653430323533323635373463353939343133613533363936333933616430333034 -64356637646336643963623333393865366330373033386563643039353065653238663263396465 -30313739623335383663346433643139376233343064396236323165613636313962386662356633 -63386432316536373532326662616137363036623662326431326632323734356363666565663734 -36643961626535623033343730393433353639633337386563626536363364333132613839353230 -34343736353262353831316531316130313861666632613962323434366239626661316535346337 -30313965373232303338653962353131356261663836316261663439353561373933303262656664 -33353937343566316130393166656666646662316161656438623236656133333431346565373931 -36643666356464336162326263646465383137656435396166313134343039336266656236636538 -30623436653437653634393463373464366363306161343735613730633437396630396331623136 -30376435653461316562383266393938386266393364306261333636346132386264626638306237 -65663462386138356161626261343532623365623130643364353838376230326239376233663966 -33356264303064636162666465316536396331633736376263336366653363303330333733653835 -66636339613637373763613461356333623261373935623239626235653532396633646464616361 -37336564306135323466343362313566623730373633326432316436383864636439306238646335 -61353230313763636132313161623430393639663436653936666438623737653130616366666534 -61363364613937623032323039613732623938643263386265376265633935656161616363316566 -64613132633736336233303161313264313463323136643764643261636663326665636230316262 -39653365353932303561636661393235383464313565616563666663346161623338623231653761 -65323432666131633035393337313162353734326362333636383036626362356534663261636533 -37363461613566363539383732316434313963323230333839623333633237626332353533633364 -37373864613039663238376539653662346634653563333836313730373136623838633730333439 -62626232613865393538633438316461303739396530303262303066326134343231633334316538 -38333230393930333161643638303062383035643636616334316465656431656336386530323332 -65313964333263333938363039636538313163323066376631316139616532353937633062626437 -39333931376362653334333363333838346630646161326236393164363631663438663566613633 -33653439643466633262363635343662333535616232393261616132396132643135376237306363 -36333234386130643563353666363138343531393266376330333130323135383334343636636431 -30643865633835653237666534366230343363393534383434613431633064616130323432383266 -31386162343166656139366535636266316139653238303064343036386131613163336331626135 -39633861356532323536356530306265333661613238616636303661313262623732366233366138 -33643264363462393563613634653761303036363763346632393835656265323132386633393638 -66316130343836383433653565376333646130386561353534643236613433383934303638316465 -61326263613561663465643265373933613163656661373966356432666239393366613032313434 -63323266656363613535633037333639323430303333386339326563306563336664393139353634 -64663432643938343161613430333366393665333737613735373964643538313739613139306134 -32366634393039663034376232613766626530373631316433343131353533653937333734303064 -62303537386436393036323934353039363630313862396561356538303632383862303266663437 -66303762333932383066373132396265336165373630646464383036333033303731643766376333 -38373366633339636236326665306366346561373564623735316233643837383632303439343639 -34663339623836373664666335663436663136353133356333356238336338356239383562656130 -33663862366562306333623236653065663534313931326532643036383737333464653237323966 -36373063313035336134323436343232323138346662323535393463626436643330366131343838 -31353038386666653738666366366563303963356139613839316636646238623762643132323435 -31313038303034303063656532663130313230393431366263613964656561653132353565383634 -393665326131353535353630346364613461 +32363337656230333164656239653934386530336166623536333430333866616632366464366138 +3665356264376139323638643661623933663063363733330a323036326632316631613562613830 +61373233343436356132393737313536363861356433343937386431653562356432353462353836 +3031373633666631360a663836333639613662333236343531336365646165303136613939643135 +62663262346162316433336463386333666362653936383864353437616131643863393635333536 +34326232343331353337363863313537663066326435383462633361323636613062376235663862 +36653439386564373831363934326632386264343937373836626138323135333032643035316433 +63396264356134653464396265643861646430626431373539383063643136316364313337646565 +66393563333035323133323130373635316234626463633864616437323864653366366335636336 +38623730343636636663376664663136313239386432393565623263353838313731623965393161 +63353035326665373162616335353135656233386634613039303139653864396631323638313761 +61303235316135613063613838653232666262613432623837343364363730373536636335633731 +30303864313638346436393662626530393866333036643162353233366439323162313962363834 +35363262616334626266626333386631393965656535373438373337386533613234663164356431 +62636438336231336264623461623536393033323733636436353432383465343331313835396135 +62616536303035366235306436313734363635653833333637356639633733326630663033316464 +61663265633631373463666331376633663338343434616535356563376564653032636166376236 +31343462353135636665653566393638383834373233626235333932386461353630336466303934 +32666665373062373536356539656363613466313135633835336566336563396439363166393935 +38626335396337393530303663303831636539363362313662353561376463306262323835313937 +32643730356237636365663839396231653361633066363263616135303861306164616461613733 +39313566613539366139356237613237323838636663343366633364336536316638396139623139 +31623665356136633561653865626465303739356233313137346636616632353435313932356132 +65396239376461386139663261393531396664653334323136626334363237383330336163323864 +38663561663534383331333535333738653730663134363037373232336430383730396436386139 +64383036306536363565643630643739313265366164313465336335303966646438333361623662 +63613537666361343134373633383166653963356535323566373264633361323333633330373530 +33393837386665373639396130383064316433343766353133616631373836626263383939333465 +65653735316138326366646332313237353264636639616538303635633237363432373136326262 +32646435633234643636323531323863663462373765623738646637363562613961326637393336 +64373235633138346663313334353933303236313935323266306337333132393034313431393663 +65333833613439643063383736303336633163383639666537356233663663316536623261646630 +66303832363166613463363832343662346631383734313032383761643030353636643731376161 +34653534316665383165353764646364663131653065383161343638303964313036313366323332 +63633230313330313465343564313436376161366137653762666633643263626163333962633364 +36346361346564366433656562303533623966306339373034373131383564303762613861646330 +62636538373234336362323130356138616234346330383439633562333032316264643030373466 +36653361326135636663636364626565336431626461306663363032333338616539643164353531 +32313361623535653564336338336137666435373665393865353430626636323732343336333131 +31333938333731313666303133626334386662323636613835663362323362396137333837653738 +39333063616236396134353535366136636536663139336230323632616365353731656366373833 +36656465656635323532323335333861663333376563356562373135326439356261383663646239 +33646466323465353966333937323066613933323730643833323439643765303263653535666438 +64306166653163326164313564373064373737663434646165616334316633656536663031663437 +62336331613235643039313733326639353132366565303566663564623738333233323264636633 +39353566343938383535383338623266383937353361393866666239396239396466356166346164 +34623861366439353336333132363761343162343466336664326439313131643465386365393863 +32396639373530626166396133373231353766356466396131306632323637353633303133363139 +37323937636437383565333738646232303332623936353166656636386535653835326631653835 +37303363616461353639356335666439323737393430303966626366323363623065646565613032 +37343434373732306337373263366439346162323836393830656663356338353239316565613066 +36336433316164363930623738363865623139653366363364383934393866366237653665666164 +62323132663866643531346262336237336264366161343036383663373834333262323133643234 +32616132353863663763316538383438626163343030323032316234343734666134323236376165 +32386430363162333362313538353161616536366362666633353730336365383564323864363233 +34626561663236643263396539383665646531373262633431396565313464323161653961613863 +38373865383536343633626430373131663535643031303831653734363039383636303266383332 +62623366653963663061653666383737323263333363373233363264333630386534333164303538 +63306437356337656562376138666234333735633139363133653332326135393239336233396631 +38313732316266643065393262326433616262316538636161323164323238336263396230623234 +61333438643861333837336263306338656265386231656536336432613166313038633266313961 +33313132613437646462376663373663383661383639346538656364363832336332383364343863 +63643561666365653864383633646632623731653765366336306333333336623766623032666536 +66613036346138316430363834306234386261383161393536663133636434363531393239393539 +61663465663032633834326236623633356463383265386466663131653731383762656537306236 +66386332306362666237616638303162326135376265613137663363346466646363616635646134 +39636333616466626162613866386538353238323638626537646333353266343265333731613836 +36326433626235663865313337623033633339653865343062373262643033666338616464313034 +62386639643330663033326431303635643530626265333134633461383734653233633636326264 +31333765303538353162636432373039333861333130316636336461343166313239636134633839 +63323138376465636163653137323730616361656438393463653534336137333638336236383331 +62336664376339366361396238663630376561653332366366346138663035666364393133616166 +30386536303563393738333532316233623162326230353063376263333539333138333266313336 +31363461333866653632313765633362383563326264356662636534316265306230383865383430 +61363365623132353165356530313137643538323930663038336262626538633633313966376438 +38373561386335373431396663646635613339323265366164623764316633303833633338616432 +30323931346533623236353961396532663331643239633733623433333363316231383464616534 +66353363303238663236666261376236356161323635353230633131366535653438346465313533 +62346335333730663063653161333838336663376136303862373162623431343931323139346364 +63653061303832326539663130613439383664396536346334613330326130313435386166316434 +35646561616361373361626637343331626163613730643034383930333133353633306539663738 +37353964343663626236333535343735636632343231663430346165346439643662623261396537 +39623435303237333433353563313236343865313433323135306361623931353230306461313233 +63346534383036353564303832623461316234626638313664663434626434303264636236633763 +66303436656337333136343335303739393930643063386665323162306362393765396235373838 +39333639373465373039333636363432653134656364326638653235643134366335623565636264 +39333162333533666131646436373835636433333936386335393935633131323131633831626562 +61333862303864623033373534333539303230623764353837613430373031373234366566313935 +66666362653739346463383634363339323330313065303164353039633466393733333937613466 +64356636356466363961313530383266363762346531643665373139363663336264633033636339 +31663963356139323065626130303565373837333037393639343636303634303437306433366334 +33386331396639333236663134363861613833666666643436613532666439303630656432656633 +66313135366662623033393437303935316262333061653337383238663634663439643033663133 +30623738616262363765656431663263616631333465336663643264616434643736393435333539 +31346262323531373061323135366362633138663866346266323032623566653237626637373465 +62353863373365383336653134643464623339643862336639653431396535633731666563653866 +36663034656333306437623238313166333831396164303835643866383431623562643836323739 +37333564623830656131316465366263313462646531326536363462373534313161386566633632 +64633130636331333266343636393939316664633735343665633038613030633063306230653365 +30643161323461353361303062373335306262363666653761376533643362323636353065303431 +34313134306336636436623064616637653939363333396431653965663234383365633266373838 +32313261646133653830343933663332373735626634346438323865303162316166366562396432 +34633830656331383966303766316462343737326663373866613461323230653933643862393434 +30643634613732336235373565383930633434653164363237646335353361346165343263383836 +38343665303161336139613761626264393265396439353832616339373130323566336630313932 +61333834306466363265633939376361333062646339313339303665353963323930656239323639 +32616535316430626337353435323036333835376233396134383638623561656632613436636265 +62306236363739626332343230643334643232393663333638373631633935303032393330613365 +37646434353865373839373566396236353566633931326339623338636562353966383166636331 +31633235633365346665663339346163666237346238326566343065353362333365326231313135 +36353934633865356335356534636632646630383331613430636431353337306663376635326262 +30316561633336613963363366643038303335373263343533363764646230663965353732653562 +66383863353736663939343139663137623536646161653436386663396638653234313361396565 +65313264313238303635626463643465666238383038643039643435386266376234643337656434 +63306464363338666630626336626665666662623336343333613035366334643337643839353265 +61323564326639326633646363373962336538643830653666316432346163623566643938373066 +35386237646630313434326438326565376431653531326361653961383935303165383230666530 +37383939333639333836343366613639306536386631363331363130656661623537373739323436 +32613566383335336266323961333462303463636636666433363263316637313637353264646630 +34396566303633653733633562393137353165353761356434646666646531323930396161343337 +34383937653961396230656335656263306231363734663931393632353638626563323932623533 +30623330313736376366613031346465616630616463656365623639636235383861313135306263 +34646266306334333239343530326533336264353334303738653561313664656266643437353232 +35336437616336383064366666363032363363373133343266323232373932336661366537636535 +38333866653239636162663039643434386561346330636238613263353731646661396366363863 +34386466313965363530363133373334653032643432646339663261353231323361373566326436 +61343066626363373466613931656365616530616430303961613236633639633132633364393766 +66656666303639653836373037626131663065306337646538366535663636626135623134333337 +66323732306462373162383238353038316438643762346465316461653635363337 diff --git a/roles/prometheus/files/prometheus-pve-exporter.service b/roles/prometheus/files/prometheus-pve-exporter.service new file mode 100644 index 0000000..690f1aa --- /dev/null +++ b/roles/prometheus/files/prometheus-pve-exporter.service @@ -0,0 +1,10 @@ +Description=Prometheus exporter for Proxmox VE +Documentation=https://github.com/znerol/prometheus-pve-exporter + +[Service] +Restart=always +User=prometheus +ExecStart=/opt/prometheus-pve-exporter/bin/pve_exporter /etc/prometheus/pve.yml + +[Install] +WantedBy=multi-user.target diff --git a/roles/prometheus/handlers/main.yml b/roles/prometheus/handlers/main.yml index 38f4e38..1706fe0 100644 --- a/roles/prometheus/handlers/main.yml +++ b/roles/prometheus/handlers/main.yml @@ -2,3 +2,9 @@ - name: Restart prometheus service: name=prometheus state=restarted + +- name: Restart prometheus-pve-exporter + service: name=prometheus-pve-exporter state=restarted + +- name: Reload systemd + command: systemctl daemon-reload diff --git a/roles/prometheus/tasks/main.yml b/roles/prometheus/tasks/main.yml index 057f322..8a001a5 100644 --- a/roles/prometheus/tasks/main.yml +++ b/roles/prometheus/tasks/main.yml @@ -3,9 +3,35 @@ - name: Install prometheus apt: name=prometheus +- name: Install dependencies + apt: + name: + - python-setuptools + - python3-setuptools + - virtualenv + +- name: Install prometheus-pve-exporter + pip: + name: git+https://github.com/znerol/prometheus-pve-exporter + virtualenv: /opt/prometheus-pve-exporter + virtualenv_python: python3 + +- name: Systemd unit for prometheus-pve-exporter + copy: src=prometheus-pve-exporter.service dest=/etc/systemd/system/prometheus-pve-exporter.service + notify: + - Reload systemd + - Restart prometheus-pve-exporter + - name: Configure prometheus template: src=prometheus.yml.j2 dest=/etc/prometheus/prometheus.yml notify: Restart prometheus +- name: Configure prometheus-pve-exporter + template: src=pve.yml.j2 dest=/etc/prometheus/pve.yml + notify: Restart prometheus-pve-exporter + - name: Enable prometheus service: name=prometheus state=started enabled=yes + +- name: Enable prometheus-pve-exporter + service: name=prometheus-pve-exporter state=started enabled=yes diff --git a/roles/prometheus/templates/prometheus.yml.j2 b/roles/prometheus/templates/prometheus.yml.j2 index f02d41d..cad1f24 100644 --- a/roles/prometheus/templates/prometheus.yml.j2 +++ b/roles/prometheus/templates/prometheus.yml.j2 @@ -37,3 +37,19 @@ scrape_configs: {% for target in fastd_targets %} - {{ target }} {% endfor %} + - job_name: pve + static_configs: + - targets: +{% for target in pve_targets %} + - {{ target }} +{% endfor %} + metrics_path: /pve + params: + module: [default] + relabel_configs: + - source_labels: [__address__] + target_label: __param_target + - source_labels: [__param_target] + target_label: instance + - target_label: __address__ + replacement: 127.0.0.1:9221 diff --git a/roles/prometheus/templates/pve.yml.j2 b/roles/prometheus/templates/pve.yml.j2 new file mode 100644 index 0000000..72c4620 --- /dev/null +++ b/roles/prometheus/templates/pve.yml.j2 @@ -0,0 +1,4 @@ +default: + user: {{ prometheus_pve_user }} + password: {{ prometheus_pve_pass }} + verify_ssl: false