Zabbix ကို အသုံးပြု၍ PostgreSQL ကို စောင့်ကြည့်ခြင်း။

Zabbix ကို အသုံးပြု၍ PostgreSQL ကို စောင့်ကြည့်ခြင်း။
Zabbix Meetup အွန်လိုင်းအတွက် Daria Vilkova မှ အစီရင်ခံခြင်း။

Zabbix ကိုအသုံးပြု၍ ကျွန်ုပ်တို့၏ကုမ္ပဏီမှတီထွင်ထားသည့် PostgreSQL နှင့် operating system monitoring tool ကို သင့်အား မိတ်ဆက်ပေးလိုပါသည်။

ကျွန်ုပ်တို့သည် Zabbix ကို ကျွန်ုပ်တို့၏စောင့်ကြည့်ရေးကိရိယာအဖြစ် ကာလကြာရှည်စွာ ရွေးချယ်ထားသောကြောင့် ၎င်းသည် ရုရှားတွင် အလွန်ရေပန်းစားသော တက်ကြွသောအသိုက်အဝန်းတစ်ခုမှပံ့ပိုးပေးထားသော open source platform တစ်ခုဖြစ်သောကြောင့်ဖြစ်သည်။

ကျွန်ုပ်တို့သည် ထိုအချိန်က ခွင့်ပြုထားသည့် စံကိရိယာများထက် ပိုမိုပြောင်းလွယ်ပြင်လွယ်သော စောင့်ကြည့်မှုကို ပံ့ပိုးပေးသည့် တက်ကြွသောအေးဂျင့်ကို ဖန်တီးခဲ့ပြီး မက်ထရစ်များ စုဆောင်းခြင်းနှင့် Zabbix ဆာဗာသို့ ၎င်းတို့၏ ပေးပို့မှုများကို သေချာစေသည်။ ကျွန်ုပ်တို့၏ ကုမ္ပဏီတွင် Mamonsu ကို စာရင်းစစ်တွင် အသုံးပြုပါသည်။

Mamonsu

Mamonsu သည် PostgreSQL နှင့် လည်ပတ်မှုစနစ်ကို စောင့်ကြည့်ရန်အတွက် တက်ကြွသောအေးဂျင့် (Zabbix Trapper) ဖြစ်သည်။ Mamonsu (Python ဖြင့်ရေးထားသော) သည် သင့်အား PostgreSQL နှင့် လည်ပတ်မှုစနစ်စောင့်ကြည့်ရေးဆက်တင်များကို ငါးမိနစ်အတွင်း configure လုပ်ခွင့်ပေးသည်။

Mamonsu တွင်နောက်ထပ်ကိရိယာများရှိသည်။

  • mamonsu tune သည် Mamonsu အေးဂျင့်ကို ထည့်သွင်းထားသည့် စက်အတွက် PostgreSQL configuration file တွင် ဆက်တင်များကို တည်းဖြတ်သည့် command တစ်ခုဖြစ်သည်။
  • mamonsu အစီရင်ခံစာသည် လည်ပတ်မှုစနစ်နှင့် PostgreSQL ဆိုင်ရာ အဖြေများကိုထုတ်ပေးသည့် command တစ်ခုဖြစ်သည်။

Mamonsu ကို DBMS ဆာဗာတွင် ထည့်သွင်းထားပြီး၊ အချက်အလက်များကို စုဆောင်းကာ၊ ၎င်းကို JSON တွင် ရေးဖွဲ့ထားပြီး၊ ၎င်းကို ၎င်း၏ မက်ထရစ်များအတွက် နမူနာပုံစံတစ်ခုရှိသင့်သည့် ပုံရိပ်ယောင်အတွက် Zabbix ဆာဗာသို့ ပေးပို့ပေးသည့် ၎င်းကို ပုံဖော်ထားသည်။

Zabbix ကို အသုံးပြု၍ PostgreSQL ကို စောင့်ကြည့်ခြင်း။

Mamonsu အလုပ်အစီအစဉ်

Mamonsu ပါရှိပါတယ်။

  • PostgreSQL ဖြင့် ထိရောက်သောအလုပ်. PostgreSQL သို့ အမြဲမပြတ်ချိတ်ဆက်ခြင်းသည် Mamonsu ၏အဓိကအားသာချက်ဖြစ်သည်။ ဤကိစ္စတွင်၊ ချိတ်ဆက်မှုအများဆုံးအရေအတွက်သည် ၎င်းချိတ်ဆက်သည့်ဒေတာဘေ့စ်၏အများဆုံးအရေအတွက်နှင့် ညီမျှသည်။
  • ချဲ့ထွင်နိုင်မှု. Mamonsu သည် အပြည့်အဝ "ပလပ်အင်" အေးဂျင့်ဖြစ်ပြီး ပလပ်အင်တစ်ခုစီ၏ ပုံသေဖွဲ့စည်းပုံနှင့် Python ၏ နှိုင်းရရိုးရှင်းမှုတို့ကြောင့်၊ စံပလပ်အင်အသစ်များ မည်သို့ရေးမည် သို့မဟုတ် တည်းဖြတ်နည်း၊ ဥပမာ-မက်ထရစ်များ စုစည်းမှုဘောင်များကို အလွယ်တကူ လေ့လာနိုင်သည်။
  • စောင့်ကြည့်တိုင်းတာမှုများ၏ ကျယ်ပြန့်သောလွှမ်းခြုံမှု တိုးချဲ့မှုဆိုင်ရာ တိုင်းတာမှုများ အပါအဝင် PotgreSQL အတွက်။
  • အမြန်ပစ်လွှတ်ခြင်း၊ box ထဲကရရှိနိုင်မှု.
  • နမူနာပုံစံများနှင့် ဖွဲ့စည်းမှုဖိုင်များကို အပ်လုဒ်လုပ်ခြင်း။ထို့အပြင် Zabbix Server သို့ အပ်လုဒ်လုပ်ခြင်း။
  • ပလက်ဖောင်းပြည်တွင်း အပါအဝင် Linux ဖြန့်ချီမှုများကို အသုံးပြုသော သုံးစွဲသူများအတွက် အရေးကြီးပါသည်။
  • BSD-clause လိုင်စင်.

ယခုအချိန်တွင် ကျွန်ုပ်တို့သည် ပလပ်အင်များစွာကို ပေးဆောင်ထားပြီး နောက်ဗားရှင်းတစ်ခုစီတွင် အသစ်တစ်ခုကို ထပ်ထည့်ရန် ကြိုးစားပါသည်။

  • PostgreSQL အတွက် ပလပ်အင် ၁၄ ခု၊
  • OS Linux အတွက် ပလပ်အင် ၈ ခု၊
  • OS Windows အတွက် ပလပ်အင် ၄ ခု။

Mamonsu သည် PostgreSQL နှင့် လည်ပတ်မှုစနစ် တိုင်းတာမှု 110 ကျော်ကို စုဆောင်းသည်-

  • PostgreSQL မက်ထရစ် ၇၀၊
  • OS Linux မက်ထရစ် ၄၀၊
  • 8 OS Windows တိုင်းတာမှုများ။

အဓိက မက်ထရစ်များတွင် DBMS ရရှိနိုင်မှု၊ ချိတ်ဆက်မှု အရေအတွက်၊ ဒေတာဘေ့စ် အရွယ်အစား၊ စစ်ဆေးရေးဂိတ်များ၊ ဖတ်ရန်/ရေးသည့် အမြန်နှုန်း၊ လော့ခ်ချမှုများ၊ အလိုအလျောက် လေဟာနယ် လုပ်ငန်းစဉ် အရေအတွက်နှင့် WAL ထုတ်လုပ်မှု မြန်နှုန်းတို့ ပါဝင်သည်။ ရနိုင်သောမက်ထရစ်များစာရင်းအပြည့်အစုံအပြင် ကိရိယာအားလုံး၏အသေးစိတ်ဖော်ပြချက်ကိုလည်း တွင်ရနိုင်သည်။ သိုလှောင်မှုများ GitHub ဆိုက်တွင်။

Zabbix ကို အသုံးပြု၍ PostgreSQL ကို စောင့်ကြည့်ခြင်း။

GitHub တွင်ရရှိနိုင်သောမက်ထရစ်များစာရင်း

Mamonsu ကို 5 မိနစ်အတွင်းပြေးပါ။

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 Server သို့ host တစ်ခုထည့်ခြင်း။. ထုတ်ယူထားသောပုံစံသည် Zabbix ဆာဗာရှိ လက်ခံသူအသစ်နှင့် အလိုအလျောက်ချိတ်ဆက်သွားမည်ဖြစ်သည်။

$ mamonsu zabbix host create mamonsu-demo

  1. ပစ်လွှတ်.

$ service mamonsu start

Mamonsu ဖွံ့ဖြိုးတိုးတက်ရေးလမ်းညွှန်ချက်များ

Mamonsu ၏ ဖွံ့ဖြိုးတိုးတက်မှု၏ တစ်စိတ်တစ်ပိုင်းအနေဖြင့်၊ ကျွန်ုပ်တို့သည် မက်ထရစ်များကို ပြုပြင်ရန်နှင့် ဇယားတစ်ခုချင်းစီ၏ အရွယ်အစားကို စောင့်ကြည့်ရန်အတွက် ပလပ်အင်တစ်ခုကဲ့သို့သော ပလပ်အင်အသစ်များကို ဖန်တီးရန် စီစဉ်ထားပါသည်။ ကျွန်ုပ်တို့သည် အပိုဆောင်းကိရိယာများကို ပိုမိုကောင်းမွန်အောင် ဖန်တီးရန်နှင့် အမိန့်ပေးမှုမှတစ်ဆင့် အလိုအလျောက်ချိန်ညှိခြင်းစွမ်းရည်များကို ချဲ့ထွင်ရန်လည်း စီစဉ်ထားပါသည်။ mamonsu တေးသွား.

Zabbix Agent 2 ၏ တစ်စိတ်တစ်ပိုင်းအနေဖြင့် PostgreSQL စောင့်ကြည့်ရေးမော်ဂျူး

PostgreSQL နှင့် ချိတ်ဆက်ရန် မြန်ဆန်ပြီး လူကြိုက်များသော ယာဉ်မောင်းကို အသုံးပြုပါသည်။ pgx (GO အတွက် PG driver နှင့် toolkit)။

ယခုအချိန်အထိ၊ ကျွန်ုပ်တို့သည် သော့ဖြင့်ကိုင်တွယ်သူကိုခေါ်သည့် Exporter၊ နှင့် Configurator Zabbix Agent 2၊ သည် configuration file တွင်ဖော်ပြထားသောဆာဗာနှင့်ချိတ်ဆက်မှုပါရာမီတာများကိုဖတ်ပြီးစစ်ဆေးသည့်အင်တာဖေ့စ်နှစ်ခုကိုအသုံးပြုနေသည်။

ကျွန်ုပ်တို့သည် မက်ထရစ်များကို အုပ်စုဖွဲ့ကာ မက်ထရစ်များနှင့် မက်ထရစ်အုပ်စုများအတွက် ကိုင်တွယ်သူ (ကိုင်တွယ်သူ) ကို အသုံးပြုကာ JSON ရှိ မက်ထရစ်အုပ်စုများကို မှီခိုသောကိန်းရှင်များ (မှီခိုအရာများ) နှင့် အဆင့်နိမ့်ရှာဖွေမှု (ရှာဖွေတွေ့ရှိမှုစည်းမျဉ်းများအဖြစ် DBMS ၏အလုပ်ကို ပိုကောင်းအောင်ကြိုးစားခဲ့သည် )

အဓိကအင်္ဂါရပ်များ

  • စစ်ဆေးမှုများကြားတွင် PostgreSQL နှင့် ဆက်နွှယ်သောချိတ်ဆက်မှုကို ထိန်းသိမ်းခြင်း၊
  • လိုက်လျောညီထွေရှိသော ရွေးကောက်ပွဲကာလအတွက် ပံ့ပိုးမှု၊
  • 10 မှစတင်သည့် PostgreSQL ဗားရှင်းများနှင့် ဗားရှင်း 4.4 မှစတင်သည့် Zabbix ဆာဗာနှင့် လိုက်ဖက်ညီမှု၊
  • Zabbix Agent 2 သည် သင့်အား ဆက်ရှင်များစွာကို ဖန်တီးနိုင်စေသောကြောင့် တစ်ချိန်တည်းတွင် PostgreSQL instance အများအပြားကို ချိတ်ဆက်၍ စောင့်ကြည့်နိုင်စွမ်းရှိသည်။

PostgreSQL ချိတ်ဆက်မှု ကန့်သတ်ချက်များ အဆင့်များ

စုစုပေါင်း၊ PostgreSQL ချိတ်ဆက်မှု parameters များမှာ အဆင့်သုံးဆင့်ရှိပြီး၊ ဆိုလိုသည်မှာ အလုပ်များနှင့် ဆက်တင်များ။

  • ဂလိုဘယ်
  • အပိုင်း၊
  • မက်ခရို။

  1. Global ကန့်သတ်ဘောင်များကို အေးဂျင့်အဆင့်တွင် သတ်မှတ်ထားသည်၊ Session နှင့် Macros ဘောင်များသည် ဒေတာဘေ့စ်ချိတ်ဆက်မှု ကန့်သတ်ဘောင်များကို သတ်မှတ်သည်။

  2. PostgreSQL သို့ ချိတ်ဆက်မှု ကန့်သတ်ချက်များ - Sessions များကို ဖိုင်တွင် သတ်မှတ်ထားသည်။ zabbix_agent2.conf.

Zabbix ကို အသုံးပြု၍ PostgreSQL ကို စောင့်ကြည့်ခြင်း။

PostgreSQL ချိတ်ဆက်မှု ရွေးချယ်စရာများ - ဆက်ရှင်များ

  • သော့ချက်စကားလုံးပြီးနောက် အစည်းအဝေးများ သော့ (ပုံစံပလိတ်) တွင် သတ်မှတ်ထားသော သီးခြား session အမည်ကို သတ်မှတ်ထားသည်။
  • parameters တွေကို URI и USERNAME session တစ်ခုစီအတွက် လိုအပ်ပါသည်။
  • အခြေခံအမည်ကို မသတ်မှတ်ထားပါက၊ ဖွဲ့စည်းမှုဖိုင်တွင် သတ်မှတ်ထားသည့် PostgreSQL ဆက်ရှင်များအားလုံးအတွက် မူရင်းအမည်ကို အသုံးပြုပါသည်။

  1. PostgreSQL သို့ ချိတ်ဆက်မှု ကန့်သတ်ဘောင်များ - Macros ကို ပုံစံပလိတ်ရှိ မက်ထရစ်ကီး (Zabbix Agent 1 တွင် အသုံးပြုသည့် နည်းလမ်းနှင့် ဆင်တူသည်)၊ ဆိုလိုသည်မှာ ၎င်းတို့ကို ပုံစံပလိတ်တွင် ဖန်တီးထားပြီး သော့ရှိ ကန့်သတ်ချက်များအဖြစ် သတ်မှတ်သည်။ ဤကိစ္စတွင်၊ macro ၏ sequence ကို fixed ဖြစ်သည်၊ ဥပမာ၊ ဥပမာ၊ URI အမြဲတမ်းပထမစာရင်းသွင်းပါ။

Zabbix ကို အသုံးပြု၍ PostgreSQL ကို စောင့်ကြည့်ခြင်း။

PostgreSQL ချိတ်ဆက်မှု ကန့်သတ်ချက်များ - Macros

PostgreSQL စောင့်ကြည့်ရေး မော်ဂျူးတွင် သင့်အား PostgreSQL ကန့်သတ်ဘောင်များကို လွှမ်းခြုံနိုင်စေမည့် မက်ထရစ် ၉၅ ခုကျော် ပါဝင်ပြီးဖြစ်သည်၊၊

  • ချိတ်ဆက်မှုအရေအတွက်
  • ဒေတာဘေ့စ်အရွယ်အစား၊
  • wal ဖိုင်များကို သိမ်းဆည်းခြင်း၊
  • စစ်ဆေးရေးဂိတ်များ၊
  • "ဖောင်းကား" စားပွဲအရေအတွက်၊
  • ပုံတူကူးမှုအခြေအနေ၊
  • ပုံတူနှောင့်နှေးခြင်း။

PostgreSQL မက်ထရစ်များသည် လည်ပတ်မှုစနစ် ကန့်သတ်ချက်များမပါဘဲ သတင်းအချက်အလတ်များမဟုတ်ပါ။ သို့သော် Zabbix Agent 2 သည် လည်ပတ်မှုစနစ် ကန့်သတ်ချက်များကို မည်သို့စုဆောင်းရမည်ကို သိထားပြီးဖြစ်သောကြောင့် ရုပ်ပုံအပြည့်အစုံရရှိရန် လိုအပ်သော ပုံစံများကို host နှင့် ရိုးရိုးချိတ်ဆက်ပါ။

ကိုင်တွယ်သူ

ကိုင်တွယ်သူသည် တောင်းဆိုချက်ကို ကိုယ်တိုင်လုပ်ဆောင်ပြီး မက်ထရစ်များကို လက်ခံရယူနိုင်သည့် မော်ဂျူး၏ အဓိကယူနစ်ဖြစ်သည်။

ရိုးရှင်းသောမက်ထရစ်ကိုရယူရန်-

  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 ၏ ဤဗားရှင်းတွင်၊ ဘောင်များကို host နှင့် port မှတစ်ဆင့် သီးခြားသတ်မှတ်ထားသည်။ မကြာမီထွက်ရှိတော့မည့် Zabbix 5.0.2 တွင်၊ ချိတ်ဆက်မှုဘောင်များကို URI တစ်ခုတည်းအဖြစ် ထုပ်ပိုးသွားမည်ဖြစ်သည်။

Спасибозавнимание!

အသုံးဝင်သောလင့်များ

GitHub Mamonsu

Mamonsu စာရွက်စာတမ်း

Zabbix Git

source: www.habr.com

မှတ်ချက် Add