Zabbix භාවිතයෙන් PostgreSQL නිරීක්ෂණය කිරීම

Zabbix භාවිතයෙන් PostgreSQL නිරීක්ෂණය කිරීම
Zabbix Meetup ඔන්ලයින් සඳහා Daria Vilkova විසින් වාර්තාව

අපගේ සමාගම විසින් Zabbix භාවිතයෙන් සංවර්ධනය කරමින් පවතින PostgreSQL සහ මෙහෙයුම් පද්ධති අධීක්ෂණ මෙවලම ඔබට හඳුන්වා දීමට මට අවශ්‍යය.

රුසියාවේ ඉතා ජනප්‍රිය ක්‍රියාකාරී ප්‍රජාවක් විසින් සහාය දක්වන විවෘත මූලාශ්‍ර වේදිකාවක් වන නිසා අපි දිගු කලක් අපගේ නිරීක්ෂණ මෙවලම ලෙස Zabbix තෝරාගෙන ඇත.

අපි සක්‍රීය නියෝජිතයෙකු නිර්මාණය කළෙමු - Mamonsu, එය එකල අවසර දී ඇති සම්මත මෙවලම්වලට වඩා නම්‍යශීලී අධීක්‍ෂණයක් ලබා දුන් අතර ප්‍රමිතික එකතු කිරීම සහ ඒවා Zabbix සේවාදායකය වෙත යැවීම සහතික කළෙමු. අපගේ සමාගම තුළ, Mamonsu විගණනයේදී භාවිතා වේ.

මමොන්සු

Mamonsu යනු PostgreSQL සහ මෙහෙයුම් පද්ධතිය නිරීක්ෂණය කිරීම සඳහා ක්‍රියාකාරී නියෝජිතයෙක් (Zabbix Trapper) වේ. Mamonsu (Python හි ලියා ඇත) ඔබට PostgreSQL සහ මෙහෙයුම් පද්ධති අධීක්ෂණ සැකසුම් විනාඩි පහකින් වින්‍යාස කිරීමට ඉඩ සලසයි.

Mamonsu හි අමතර මෙවලම් ඇත:

  • mamonsu tune යනු Mamonsu නියෝජිතයා ස්ථාපනය කර ඇති යන්ත්‍රය සඳහා PostgreSQL වින්‍යාස ගොනුවේ සැකසුම් සංස්කරණය කරන විධානයකි.
  • mamonsu වාර්තාව යනු මෙහෙයුම් පද්ධතිය සහ PostgreSQL පිළිබඳ පිළිතුරු ජනනය කරන විධානයකි.

Mamonsu DBMS සේවාදායකයේ ස්ථාපනය කර, තොරතුරු රැස්කර, JSON වෙත එය රචනා කරයි, එය දෘශ්‍යකරණය සඳහා Zabbix සේවාදායකය වෙත යවයි, එහි ප්‍රමිතික සඳහා අච්චුවක් තිබිය යුතුය.

Zabbix භාවිතයෙන් PostgreSQL නිරීක්ෂණය කිරීම

Mamonsu වැඩ යෝජනා ක්රමය

Mamonsu විශේෂාංග

  • PostgreSQL සමඟ කාර්යක්ෂම වැඩ. PostgreSQL වෙත අඛණ්ඩ සම්බන්ධතාවයක් Mamonsu හි ප්‍රධාන වාසියයි. මෙම අවස්ථාවෙහිදී, උපරිම සම්බන්ධතා සංඛ්යාව එය සම්බන්ධ වන උපරිම දත්ත සමුදායන් සංඛ්යාවට සමාන වේ.
  • පුළුල් කිරීමේ හැකියාව. Mamonsu සම්පුර්ණයෙන්ම "ප්ලගින" නියෝජිතයෙකු වන අතර, එක් එක් ප්ලගිනයෙහි ස්ථාවර ව්‍යුහය සහ Python හි සාපේක්ෂ සරල බව හේතුවෙන්, කෙනෙකුට පහසුවෙන් නව හෝ සම්මත ප්ලගීන, එනම් ප්‍රමිතික එකතු කිරීමේ පරාමිතීන් ලිවීමට හෝ සංස්කරණය කිරීමට ඉගෙන ගත හැක.
  • අධීක්ෂණ ප්‍රමිතික පිළිබඳ පුළුල් ආවරණය PotgreSQL සඳහා දිගු-විශේෂිත මිතික ඇතුළත් වේ.
  • ඉක්මන් දියත් කිරීම, කොටුවෙන් පිටත ලබා ගත හැකිය.
  • සැකිලි සහ වින්‍යාස ගොනු උඩුගත කිරීම, මෙන්ම Zabbix Server වෙත උඩුගත කිරීම.
  • හරස් වේදිකාව, ගෘහස්ථ ඒවා ඇතුළුව විවිධ ලිනක්ස් බෙදාහැරීම් භාවිතා කරන අපගේ පාරිභෝගිකයින්ට වැදගත් වේ.
  • BSD වගන්ති බලපත්‍රය.

මේ මොහොතේ අපි බොහෝ ප්ලගීන ලබා දෙන අතර සෑම ඊළඟ අනුවාදයකම අපි අලුත් දෙයක් එකතු කිරීමට උත්සාහ කරමු.

  • PostgreSQL සඳහා ප්ලගීන 14ක්,
  • OS Linux සඳහා ප්ලගීන 8ක්,
  • OS Windows සඳහා ප්ලගීන 4ක්.

Mamonsu PostgreSQL සහ මෙහෙයුම් පද්ධති ප්‍රමිතික 110කට වඩා එකතු කරයි:

  • PostgreSQL ප්‍රමිතික 70,
  • 40 OS Linux ප්‍රමිතික,
  • 8 OS වින්ඩෝස් මිනුම්.

ප්‍රධාන ප්‍රමිතිකවලට DBMS ලබා ගැනීමේ හැකියාව, සම්බන්ධතා ගණන, දත්ත සමුදායේ ප්‍රමාණය, මුරපොලවල්, කියවීමේ/ලිවීමේ වේගය, අගුලු දැමීම, ස්වයංක්‍රීය රික්තක ක්‍රියාවලි ගණන සහ WAL උත්පාදන වේගය ඇතුළත් වේ. පවතින ප්‍රමිතිකවල සම්පූර්ණ ලැයිස්තුවක් මෙන්ම සියලුම මෙවලම් පිළිබඳ සවිස්තරාත්මක විස්තරයක් ලබා ගත හැකිය ගබඩා GitHub අඩවියේ.

Zabbix භාවිතයෙන් PostgreSQL නිරීක්ෂණය කිරීම

GitHub මත පවතින ප්‍රමිතික ලැයිස්තුව

මිනිත්තු 5 කින් Mamonsu ධාවනය කරන්න

Mamonsu භාවිතයෙන් PostgreSQL සහ මෙහෙයුම් පද්ධතිය අධීක්‍ෂණය සැකසීමට, ඔබට සරල පියවර 5ක් අනුගමනය කිරීමෙන් විනාඩි 5කින් එය කළ හැක.

  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 සංවර්ධන උපදෙස්

Mamonsu සංවර්ධනයේ කොටසක් ලෙස, අපි ප්‍රමිතික පිරිපහදු කිරීමට සහ තනි වගු වල ප්‍රමාණය නිරීක්ෂණය කිරීම සඳහා ප්ලගිනයක් වැනි නව ප්ලගීන නිර්මාණය කිරීමට සැලසුම් කරමු. අපි අතිරේක මෙවලම් වැඩිදියුණු කිරීමට සහ නිර්මාණය කිරීමටත්, විධානය හරහා ස්වයංක්‍රීය සුසර කිරීමේ හැකියාවන් පුළුල් කිරීමටත් සැලසුම් කරමු mamonsu නාදය.

Zabbix නියෝජිත 2 හි කොටසක් ලෙස PostgreSQL අධීක්ෂණ මොඩියුලය

PostgreSQL වෙත සම්බන්ධ වීමට වේගවත් සහ ජනප්‍රිය ධාවකයක් භාවිතා කරයි pgx (PG ධාවකය සහ Go සඳහා මෙවලම් කට්ටලය).

මෙතෙක්, අපි අතුරුමුහුණත් දෙකක් භාවිතා කරන්නෙමු: යතුර මඟින් හසුරුවන්නා අමතන අපනයනකරු සහ වින්‍යාස ගොනුවේ දක්වා ඇති සේවාදායකය සමඟ සම්බන්ධතා පරාමිති කියවා පරීක්ෂා කරන වින්‍යාසකරු Zabbix නියෝජිත 2.

අපි ප්‍රමිතික සමූහගත කිරීමෙන් සහ ප්‍රමිතික සහ මෙට්‍රික් කණ්ඩායම් සඳහා හසුරුවන්නක් (හැසිරවන්නෙකු) භාවිතා කිරීමෙන් මෙන්ම JSON හි ප්‍රමිතික කණ්ඩායම් යැපෙන විචල්‍යයන් (යැපීම් අයිතම) සහ පහළ මට්ටමේ සොයාගැනීම් (සොයාගැනීම් රීති) ලෙස භාවිත කිරීමෙන් DBMS හි කාර්යය ප්‍රශස්ත කිරීමට උත්සාහ කළෙමු. )

ප්රධාන ලක්ෂණ

  • චෙක්පත් අතර PostgreSQL වෙත අඛණ්ඩ සම්බන්ධතාවයක් පවත්වා ගැනීම;
  • නම්යශීලී ඡන්ද කාල අන්තරයන් සඳහා සහාය;
  • 10 සිට ආරම්භ වන PostgreSQL අනුවාද සමඟ සහ 4.4 අනුවාදයෙන් ආරම්භ වන Zabbix සේවාදායකය සමඟ අනුකූල වීම;
  • Zabbix Agent 2 ඔබට සැසි කිහිපයක් සෑදීමට ඉඩ දෙන නිසා එකවර PostgreSQL අවස්ථා කිහිපයක් සම්බන්ධ කිරීමට සහ නිරීක්ෂණය කිරීමට ඇති හැකියාව.

PostgreSQL සම්බන්ධතා පරාමිති මට්ටම්

සමස්තයක් වශයෙන්, PostgreSQL සම්බන්ධතා පරාමිතීන් මට්ටම් තුනක් ඇත, එනම් කාර්යයන් සහ සැකසුම්:

  • ගෝලීය,
  • වාරය,
  • මැක්රෝස්.

  1. ගෝලීය පරාමිති නියෝජිත මට්ටමින් සකසා ඇත, සැසි සහ මැක්‍රෝස් පරාමිති දත්ත සමුදා සම්බන්ධතා පරාමිතීන් නිර්වචනය කරයි.

  2. PostgreSQL වෙත සම්බන්ධතා පරාමිතීන් - ගොනුව තුළ සැසි සකසා ඇත zabbix_agent2.conf.

Zabbix භාවිතයෙන් PostgreSQL නිරීක්ෂණය කිරීම

PostgreSQL සම්බන්ධතා විකල්ප - සැසි

  • මූල පදයෙන් පසුව සැසිවාර අද්විතීය සැසි නාමයක් නියම කර ඇත, එය යතුරේ (සැකිල්ල) සඳහන් කළ යුතුය.
  • පරාමිතීන් URI и පරිශීලක නාමය සෑම සැසියක් සඳහාම අවශ්ය වේ.
  • මූලික නම සඳහන් කර නොමැති නම්, සියලුම PostgreSQL සැසි සඳහා පෙරනිමි පොදු මූලික නම භාවිතා වේ, එය වින්‍යාස ගොනුවේ ද සකසා ඇත.

  1. PostgreSQL වෙත සම්බන්ධතා පරාමිති - මැක්‍රෝස් සැකිල්ලේ ඇති මෙට්‍රික් යතුර තුළ සකසා ඇත (Zabbix Agent 1 හි භාවිතා කරන ක්‍රමයට සමාන), එනම් ඒවා අච්චුව තුළ නිර්මාණය කර පසුව යතුරේ පරාමිති ලෙස දක්වා ඇත. මෙම අවස්ථාවේදී, macros අනුපිළිවෙල ස්ථාවර වේ, එනම්, උදාහරණයක් ලෙස, URI සෑම විටම පළමුව ලැයිස්තුගත කර ඇත.

Zabbix භාවිතයෙන් PostgreSQL නිරීක්ෂණය කිරීම

PostgreSQL සම්බන්ධතා පරාමිතීන් - මැක්‍රෝස්

PostgreSQL අධීක්ෂණ මොඩියුලයට දැනටමත් ප්‍රමිතික 95කට වඩා ඇතුළත් වන අතර එමඟින් ඔබට තරමක් පුළුල් පරාසයක PostgreSQL පරාමිති ආවරණය කිරීමට ඉඩ සලසයි:

  • සම්බන්ධතා සංඛ්යාව
  • දත්ත සමුදායේ ප්‍රමාණය,
  • wal ගොනු සංරක්ෂණය කිරීම,
  • මුරපොල,
  • "පිම්බුණු" වගු ගණන,
  • අනුකරණ තත්ත්වය,
  • අනුරූ ප්රමාදය.

මෙහෙයුම් පද්ධති පරාමිතීන් නොමැතිව PostgreSQL ප්‍රමිතික තොරතුරු නොවේ. නමුත් Zabbix Agent 2 දැනටමත් මෙහෙයුම් පද්ධති පරාමිතීන් එකතු කරන්නේ කෙසේදැයි දනී, එබැවින් සම්පූර්ණ පින්තූරය ලබා ගැනීම සඳහා, අපි සරලව ධාරකයට අවශ්ය සැකිලි සම්බන්ධ කරමු.

හසුරුවන්නා

හැන්ඩ්ලර් යනු ඉල්ලීම ක්‍රියාත්මක කරන මොඩියුලයේ ප්‍රධාන ඒකකය වන අතර එමඟින් ඔබට ප්‍රමිතික ලබා ගැනීමට ඉඩ සලසයි.

සරල මෙට්රික් ලබා ගැනීම සඳහා:

  1. නව මෙට්රික් එකක් ලබා ගැනීමට ගොනුවක් සාදන්න:

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

  1. අපි පැකේජය සම්බන්ධ කර ප්‍රමිතිකවල අද්විතීය යතුර (යතුරු) සඳහන් කරමු:

Zabbix භාවිතයෙන් PostgreSQL නිරීක්ෂණය කිරීම

  1. අපි ඉල්ලීමක් සමඟ හසුරුවන්නක් (හැසිරවන්නෙකු) සාදන්නෙමු, එනම්, අපි ප්රතිඵලය අඩංගු විචල්යයක් ආරම්භ කරමු:

Zabbix භාවිතයෙන් PostgreSQL නිරීක්ෂණය කිරීම

  1. අපි ඉල්ලීම ක්‍රියාත්මක කරන්නෙමු:

Zabbix භාවිතයෙන් PostgreSQL නිරීක්ෂණය කිරීම

දෝෂ සඳහා ඉල්ලීම පරීක්ෂා කිරීම අවශ්ය වේ, ඉන් පසුව ප්රතිඵලය Zabbix Agent 2 ක්රියාවලිය මගින් ලබා ගනී.

  1. නව මෙට්රික් යතුර ලියාපදිංචි කරන්න:

Zabbix භාවිතයෙන් PostgreSQL නිරීක්ෂණය කිරීම

මෙට්‍රික් ලියාපදිංචි කිරීමෙන් පසු, ඔබට නව මෙට්‍රික් සමඟ නියෝජිතයා නැවත ගොඩනගා ගත හැකිය.

වෙබ් අඩවියේ Zabbix 5.0 සිට මොඩියුලය ලබා ගත හැකිය https://www.zabbix.com/download. Zabbix හි මෙම අනුවාදයේ, පරාමිති ධාරකය සහ වරාය හරහා වෙන වෙනම සකසා ඇත. ඉක්මනින් නිකුත් කෙරෙන Zabbix 5.0.2 හි, සම්බන්ධතා පරාමිතීන් තනි URI එකකට ඇසුරුම් කරනු ලැබේ.

Спасибо!

ප්රයෝජනවත් සබැඳි

GitHub Mamonsu

Mamonsu ලේඛනගත කිරීම

Zabbix Git

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න