Zabbix ఉపయోగించి PostgreSQLని పర్యవేక్షిస్తోంది

Zabbix ఉపయోగించి PostgreSQLని పర్యవేక్షిస్తోంది
Zabbix Meetup ఆన్‌లైన్ కోసం Daria Vilkova ద్వారా నివేదిక

Zabbixని ఉపయోగించి మా కంపెనీ అభివృద్ధి చేస్తున్న PostgreSQL మరియు ఆపరేటింగ్ సిస్టమ్ మానిటరింగ్ టూల్‌ని నేను మీకు పరిచయం చేయాలనుకుంటున్నాను.

మేము చాలా కాలం క్రితం Zabbixని మా మానిటరింగ్ టూల్‌గా ఎంచుకున్నాము, ఎందుకంటే ఇది రష్యాలో బాగా జనాదరణ పొందిన యాక్టివ్ కమ్యూనిటీ ద్వారా మద్దతిచ్చే ఓపెన్ సోర్స్ ప్లాట్‌ఫారమ్.

మేము సక్రియ ఏజెంట్‌ను సృష్టించాము - మమోన్సు, ఇది ఆ సమయంలో అనుమతించబడిన ప్రామాణిక సాధనాల కంటే మరింత సౌకర్యవంతమైన పర్యవేక్షణను అందించింది మరియు కొలమానాల సేకరణ మరియు వాటిని Zabbix సర్వర్‌కు పంపడాన్ని నిర్ధారిస్తుంది. మా కంపెనీలో, ఆడిట్‌లను నిర్వహించేటప్పుడు మమోన్సు ఉపయోగించబడుతుంది.

మమోన్సు

Mamonsu PostgreSQL మరియు ఆపరేటింగ్ సిస్టమ్‌ను పర్యవేక్షించడానికి ఒక క్రియాశీల ఏజెంట్ (Zabbix Trapper). Mamonsu (పైథాన్‌లో వ్రాయబడింది) మీరు PostgreSQL మరియు ఆపరేటింగ్ సిస్టమ్ మానిటరింగ్ సెట్టింగ్‌లను ఐదు నిమిషాల్లో కాన్ఫిగర్ చేయడానికి అనుమతిస్తుంది.

Mamonsu అదనపు సాధనాలను కలిగి ఉంది:

  • mamonsu ట్యూన్ అనేది Mamonsu ఏజెంట్ ఇన్‌స్టాల్ చేయబడిన మెషీన్ కోసం PostgreSQL కాన్ఫిగరేషన్ ఫైల్‌లో సెట్టింగ్‌లను సవరించే ఆదేశం.
  • mamonsu నివేదిక అనేది ఆపరేటింగ్ సిస్టమ్ మరియు PostgreSQL గురించి సమాధానాలను రూపొందించే ఆదేశం.

Mamonsu DBMS సర్వర్‌లో ఇన్‌స్టాల్ చేయబడింది, సమాచారాన్ని సేకరిస్తుంది, దానిని JSONలోకి కంపైల్ చేస్తుంది, ఇది విజువలైజేషన్ కోసం Zabbix సర్వర్‌కు పంపబడుతుంది, ఇక్కడ దాని కొలమానాల కోసం ఒక టెంప్లేట్ ఉండాలి.

Zabbix ఉపయోగించి PostgreSQLని పర్యవేక్షిస్తోంది

మమోన్సు ఆపరేషన్ పథకం

మమోన్సు లక్షణాలు

  • PostgreSQLతో సమర్థవంతంగా పని చేస్తోంది. PostgreSQLకి నిరంతర కనెక్షన్ మమోన్సు యొక్క ప్రధాన ప్రయోజనం. ఈ సందర్భంలో, కనెక్షన్ల గరిష్ట సంఖ్య అది కనెక్ట్ చేసే డేటాబేస్ల గరిష్ట సంఖ్యకు సమానం.
  • విస్తరణ. Mamonsu పూర్తిగా ప్లగ్-ఇన్ ఏజెంట్, మరియు ప్రతి ప్లగ్ఇన్ యొక్క స్థిర నిర్మాణం మరియు పైథాన్ యొక్క సాపేక్ష సరళతకు ధన్యవాదాలు, మీరు కొత్త లేదా ప్రామాణిక ప్లగిన్‌లను ఎలా సవరించాలో సులభంగా తెలుసుకోవచ్చు, అంటే కొలమానాల సేకరణ పారామితులు.
  • పర్యవేక్షణ కోసం కొలమానాల విస్తృత కవరేజ్ PotgreSQL కోసం, నిర్దిష్ట పొడిగింపుల కోసం కొలమానాలతో సహా.
  • త్వరగా ప్రారంభించు, పెట్టె వెలుపల లభ్యత.
  • టెంప్లేట్‌లు మరియు కాన్ఫిగరేషన్ ఫైల్‌లను అప్‌లోడ్ చేస్తోంది, అలాగే Zabbix సర్వర్‌కి అప్‌లోడ్ చేస్తోంది.
  • క్రాస్ ప్లాట్ఫారమ్, దేశీయ వాటితో సహా వివిధ Linux పంపిణీలను ఉపయోగించే మా కస్టమర్‌లకు ఇది ముఖ్యమైనది.
  • BSD-క్లాజ్ లైసెన్స్.

ప్రస్తుతానికి మేము అనేక ప్లగిన్‌లను అందిస్తున్నాము మరియు ప్రతి తదుపరి సంస్కరణలో మేము క్రొత్తదాన్ని జోడించడానికి ప్రయత్నిస్తాము.

  • PostgreSQL కోసం 14 ప్లగిన్‌లు,
  • OS Linux కోసం 8 ప్లగిన్‌లు,
  • OS Windows కోసం 4 ప్లగిన్‌లు.

Mamonsu 110 కంటే ఎక్కువ PostgreSQL మరియు ఆపరేటింగ్ సిస్టమ్ మెట్రిక్‌లను సేకరిస్తుంది:

  • 70 PostgreSQL కొలమానాలు,
  • 40 OS Linux కొలమానాలు,
  • 8 OS విండోస్ కొలమానాలు.

ముఖ్య కొలమానాలలో DBMS లభ్యత, కనెక్షన్‌ల సంఖ్య, డేటాబేస్ పరిమాణం, చెక్‌పాయింట్‌లు, రీడ్/రైట్ స్పీడ్, లాక్‌లు, ఆటోవాక్యూమ్ ప్రాసెస్‌ల సంఖ్య మరియు WAL జనరేషన్ రేట్ ఉన్నాయి. అందుబాటులో ఉన్న కొలమానాల పూర్తి జాబితా, అలాగే అన్ని సాధనాల యొక్క వివరణాత్మక వర్ణన అందుబాటులో ఉంది రిపోజిటరీలు GitHub వెబ్‌సైట్‌లో.

Zabbix ఉపయోగించి PostgreSQLని పర్యవేక్షిస్తోంది

GitHubలో అందుబాటులో ఉన్న కొలమానాల జాబితా

5 నిమిషాల్లో మమోన్సును ప్రారంభించండి

మీరు 5 సాధారణ దశలను అనుసరించడం ద్వారా 5 నిమిషాల్లో Mamonsuని ఉపయోగించి PostgreSQL మరియు ఆపరేటింగ్ సిస్టమ్ పర్యవేక్షణను సెటప్ చేయవచ్చు.

  1. Mamonsuని ఇన్‌స్టాల్ చేస్తోంది. Mamonsu మూలం నుండి లేదా అందుబాటులో ఉన్న ప్యాకేజీలను ఉపయోగించి నిర్మించవచ్చు.

$ git clone ... && cd mamonsu && python setup.py

build && python setup.py install

  1. కనెక్షన్లను ఏర్పాటు చేస్తోంది. agent.conf ఫైల్‌లో PostgreSQL మరియు Zabbix సర్వర్ కోసం కనెక్షన్ పారామితులను పేర్కొనడం అవసరం.

/etc/mamonsu/agent.conf

  1. Zabbix సర్వర్‌కి టెంప్లేట్‌ని ఎగుమతి చేస్తోంది.

$ mamonsu zabbix template export

/usr/share/mamonsu/example.xml

  1. Zabbix సర్వర్‌కి హోస్ట్‌ని జోడిస్తోంది. ఎగుమతి చేయబడిన టెంప్లేట్ Zabbix సర్వర్‌లోని కొత్త హోస్ట్‌కి స్వయంచాలకంగా కనెక్ట్ చేయబడుతుంది.

$ mamonsu zabbix host create mamonsu-demo

  1. ప్రయోగ.

$ service mamonsu start

మమోన్సు అభివృద్ధి దిశలు

Mamonsu అభివృద్ధిలో భాగంగా, మేము కొలమానాలను మెరుగుపరచడానికి మరియు కొత్త ప్లగిన్‌లను రూపొందించడానికి ప్లాన్ చేస్తాము, ఉదాహరణకు వ్యక్తిగత పట్టికల పరిమాణాన్ని పర్యవేక్షించడానికి ఒక ప్లగ్ఇన్. మేము అదనపు సాధనాలను మెరుగుపరచడానికి మరియు సృష్టించడానికి కూడా ప్లాన్ చేస్తాము, అలాగే కమాండ్ ద్వారా ఆటో-ట్యూనింగ్ సామర్థ్యాలను విస్తరించాము మమోన్సు ట్యూన్.

PostgreSQL మానిటరింగ్ మాడ్యూల్ Zabbix ఏజెంట్ 2లో చేర్చబడింది

PostgreSQLకి కనెక్ట్ చేయడానికి వేగవంతమైన మరియు జనాదరణ పొందిన డ్రైవర్ ఉపయోగించబడుతుంది pgx (గో కోసం పిజి డ్రైవర్ మరియు టూల్‌కిట్).

ప్రస్తుతానికి మేము రెండు ఇంటర్‌ఫేస్‌లను ఉపయోగిస్తున్నాము: ఎగుమతిదారు, హ్యాండ్లర్‌ను కీ ద్వారా కాల్ చేస్తుంది మరియు కాన్ఫిగరేషన్ ఫైల్‌లో పేర్కొన్న సర్వర్ కనెక్షన్ పారామితులను చదివి తనిఖీ చేసే కాన్ఫిగరేటర్ Zabbix ఏజెంట్ 2.

మేము కొలమానాలను సమూహపరచడం ద్వారా మరియు కొలమానాలు మరియు మెట్రిక్ సమూహాల కోసం హ్యాండ్లర్‌ను ఉపయోగించడం ద్వారా DBMS పనితీరును ఆప్టిమైజ్ చేయడానికి ప్రయత్నించాము, అలాగే JSONలో మెట్రిక్ సమూహాలను డిపెండెంట్ వేరియబుల్స్ (డిపెండెన్సీ ఐటెమ్‌లు) మరియు తక్కువ-స్థాయి ఆవిష్కరణ (ఆవిష్కరణ నియమాలు)గా ఉపయోగించడం.

ముఖ్య లక్షణాలు

  • తనిఖీల మధ్య PostgreSQLకి నిరంతర కనెక్షన్‌ని నిర్వహించడం;
  • సౌకర్యవంతమైన పోలింగ్ విరామాలకు మద్దతు;
  • 10 నుండి ప్రారంభమయ్యే PostgreSQL సంస్కరణలకు అనుకూలమైనది మరియు సంస్కరణ 4.4 నుండి ప్రారంభమయ్యే Zabbix సర్వర్;
  • బహుళ సెషన్‌లను సృష్టించడానికి Zabbix ఏజెంట్ 2 మిమ్మల్ని అనుమతించడం వల్ల అనేక PostgreSQL ఉదంతాలను ఏకకాలంలో కనెక్ట్ చేయగల మరియు పర్యవేక్షించగల సామర్థ్యం.

PostgreSQL కనెక్షన్ పారామితి స్థాయిలు

మొత్తంగా, PostgreSQLకి మూడు స్థాయిల కనెక్షన్ పారామితులు అందుబాటులో ఉన్నాయి, అనగా టాస్క్‌లు మరియు సెట్టింగ్‌లు:

  • ప్రపంచ,
  • సెషన్స్
  • మాక్రోలు.

  1. గ్లోబల్ పారామితులు ఏజెంట్ స్థాయిలో సెట్ చేయబడతాయి, సెషన్ మరియు మాక్రోస్ పారామితులు డేటాబేస్ కోసం కనెక్షన్ పారామితులను నిర్ణయిస్తాయి.

  2. PostgreSQLకి కనెక్షన్ పారామితులు - ఫైల్‌లో సెషన్‌లు సెట్ చేయబడ్డాయి zabbix_agent2.conf.

Zabbix ఉపయోగించి PostgreSQLని పర్యవేక్షిస్తోంది

PostgreSQL కనెక్షన్ పారామితులు - సెషన్లు

  • కీవర్డ్ తర్వాత సెషన్స్ ప్రత్యేకమైన సెషన్ పేరు సూచించబడింది, ఇది తప్పనిసరిగా కీ (టెంప్లేట్)లో పేర్కొనబడాలి.
  • పారామితులు URI и సభ్యనామం ప్రతి సెషన్ కోసం అవసరం.
  • డేటాబేస్ పేరు పేర్కొనబడకపోతే, అన్ని PostgreSQL సెషన్‌ల కోసం డిఫాల్ట్ సాధారణ డేటాబేస్ పేరు ఉపయోగించబడుతుంది, ఇది కాన్ఫిగరేషన్ ఫైల్‌లో కూడా పేర్కొనబడింది.

  1. PostgreSQLకి కనెక్షన్ పారామితులు - మాక్రోలు టెంప్లేట్‌లోని మెట్రిక్ కీలో పేర్కొనబడ్డాయి (Zabbix ఏజెంట్ 1లో ఉపయోగించిన పద్ధతి వలె), అనగా అవి టెంప్లేట్‌లో సృష్టించబడతాయి మరియు ఆపై కీలో పారామీటర్‌లుగా పేర్కొనబడతాయి. ఈ సందర్భంలో, మాక్రోల క్రమం స్థిరంగా ఉంటుంది, అనగా, ఉదాహరణకు, URI ఎల్లప్పుడూ ముందుగా జాబితా చేయబడుతుంది.

Zabbix ఉపయోగించి PostgreSQLని పర్యవేక్షిస్తోంది

PostgreSQL కనెక్షన్ పారామితులు - మాక్రోలు

PostgreSQL మానిటరింగ్ మాడ్యూల్ ఇప్పటికే 95 కంటే ఎక్కువ కొలమానాలను కలిగి ఉంది, ఇవి చాలా విస్తృతమైన PostgreSQL పారామితులను కవర్ చేయడానికి మిమ్మల్ని అనుమతిస్తాయి, వీటితో సహా:

  • కనెక్షన్ల సంఖ్య,
  • డేటాబేస్ పరిమాణం,
  • వాల్ ఫైళ్లను ఆర్కైవ్ చేయడం,
  • నియంత్రణ పాయింట్లు,
  • "ఉబ్బిన" పట్టికల సంఖ్య,
  • ప్రతిరూపణ స్థితి,
  • ప్రతిరూప లాగ్.

ఆపరేటింగ్ సిస్టమ్ పారామితులు లేకుండా PostgreSQL కొలమానాలు సమాచారంగా ఉండవు. కానీ Zabbix ఏజెంట్ 2 ఇప్పటికే ఆపరేటింగ్ సిస్టమ్ పారామితులను ఎలా సేకరించాలో తెలుసు, కాబట్టి పూర్తి చిత్రాన్ని పొందడానికి మేము అవసరమైన టెంప్లేట్‌లను నెట్‌వర్క్ నోడ్‌కు కనెక్ట్ చేస్తాము.

హ్యాండ్లర్

హ్యాండ్లర్ అనేది మాడ్యూల్ యొక్క ప్రధాన యూనిట్, దీనిలో అభ్యర్థన స్వయంగా అమలు చేయబడుతుంది మరియు ఇది మెట్రిక్‌లను పొందేందుకు మిమ్మల్ని అనుమతిస్తుంది.

సాధారణ మెట్రిక్ పొందడానికి:

  1. కొత్త కొలమానాన్ని స్వీకరించడానికి ఫైల్‌ను సృష్టించండి:

zabbix/src/go/plugins/postgres/handler_uptime.go

  1. మేము ప్యాకేజీని కనెక్ట్ చేస్తాము మరియు ప్రత్యేకమైన కొలమానాల కీ(ల)ని పేర్కొంటాము:

Zabbix ఉపయోగించి PostgreSQLని పర్యవేక్షిస్తోంది

  1. మేము అభ్యర్థనతో హ్యాండ్లర్‌ను సృష్టిస్తాము, అనగా మేము ఫలితాన్ని కలిగి ఉండే వేరియబుల్‌ని ప్రారంభిస్తాము:

Zabbix ఉపయోగించి PostgreSQLని పర్యవేక్షిస్తోంది

  1. మేము అభ్యర్థనను అమలు చేస్తాము:

Zabbix ఉపయోగించి PostgreSQLని పర్యవేక్షిస్తోంది

లోపాల కోసం అభ్యర్థనను తనిఖీ చేయడం అవసరం, దాని తర్వాత ఫలితం Zabbix ఏజెంట్ 2 ప్రక్రియ ద్వారా తీసుకోబడుతుంది.

  1. కొత్త మెట్రిక్ కీని నమోదు చేయండి:

Zabbix ఉపయోగించి PostgreSQLని పర్యవేక్షిస్తోంది

మెట్రిక్‌ను నమోదు చేసిన తర్వాత, మీరు కొత్త మెట్రిక్‌తో ఏజెంట్‌ని పునర్నిర్మించవచ్చు.

వెబ్‌సైట్‌లో Zabbix 5.0 నుండి మాడ్యూల్ అందుబాటులో ఉంది https://www.zabbix.com/download. Zabbix యొక్క ఈ సంస్కరణలో, పారామితులు హోస్ట్ మరియు పోర్ట్ ద్వారా విడిగా సెట్ చేయబడతాయి. Zabbix 5.0.2లో, త్వరలో విడుదల చేయబడుతుంది, కనెక్షన్ పారామితులు ఒకే URIగా మిళితం చేయబడతాయి.

Спасибо!

ఉపయోగకరమైన లింకులు

GitHub మమోన్సు

మమోన్సు డాక్యుమెంటేషన్

Zabbix Git

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి