Orodha ya maudhui:

Hati ya Kufuatilia Huduma kwa Seva za Linux: Hatua 4
Hati ya Kufuatilia Huduma kwa Seva za Linux: Hatua 4

Video: Hati ya Kufuatilia Huduma kwa Seva za Linux: Hatua 4

Video: Hati ya Kufuatilia Huduma kwa Seva za Linux: Hatua 4
Video: 10 самых АТМОСФЕРНЫХ мест Дагестана. БОЛЬШОЙ ВЫПУСК #Дагестан #ПутешествиеПоДагестану 2024, Novemba
Anonim
Hati ya Kufuatilia Huduma kwa Seva za Linux
Hati ya Kufuatilia Huduma kwa Seva za Linux

Kuwa na mfumo thabiti, unaoendesha kila wakati, hata ikiwa unatumia Linux inaweza kuwa kazi ngumu.

Kwa sababu ya ugumu wa vifurushi vya kisasa vya programu na usimbuaji mbaya, bila shaka michakato kadhaa inaweza kuanguka mara kwa mara. Hii inaweza kuwa jambo baya ikiwa unaendesha seva na watu wengine wanategemea huduma hizi.

Hatua ya 1: Kutumia Njia Zinazotolewa na Systemd

Kama unavyoweza kujua tayari, mifumo ya kisasa ya operesheni ya Linux inatumia systemd.

Ikiwa haujui mazoea, hii ni, kulingana na wikipedia:

Watu wengi bado wanabishana kwanini ilikuwa ni lazima kuchukua nafasi ya mfumo mzuri wa zamani wa init na mfumo huu ngumu zaidi wa usimamizi wa mchakato, lakini kwenye kiunga kifuatacho mtu anaweza kupata ufafanuzi mzuri:

www.tecmint.com/systemd-replaces-init-in-l…

Uboreshaji muhimu zaidi itakuwa kwamba ina uwezo wa kuleta mfumo haraka kuliko init, kwa sababu ya usindikaji wa wakati mmoja na sambamba kwenye buti badala ya njia inayofuatana ya init

Bila kuingia kwenye vilindi vya mfumo, ili kuongeza mchakato kwenye mfumo, lazima uunda faili ya huduma. Sintaksia ya faili kama hiyo inaweza kutoka rahisi sana hadi ngumu kabisa, na hatutaweza kupata maelezo. Ili kuwa na faili ya msingi ya huduma, inatosha kutumia viingilio vifuatavyo:

[Kitengo] Maelezo = Maelezo ya applicationDocumentation = https://wikipedia.org/ After = local-fs.target network.target [Service] Type = simpleExecStart = / usr / sbin / applicationExecReload = / usr / sbin / application reloadExecStop = / usr / sbin / application stopRestart = siku zote [Sakinisha] WantedBy = multi-user.target

Weka hizi kwenye faili ya huduma ya huduma katika / lib / systemd / mfumo folda.

Kile kila chaguzi hizi zinafanywa katika kiunga kifuatacho:

access.redhat.com/documentation/en-US/Red_…

Kwa oder kuanza programu yako, toa amri ifuatayo:

Sudo systemctl kuanza programu. huduma

Kumbuka: ugani wa huduma unaweza kuachwa.

Kusimamisha programu:

Sudo systemctl acha matumizi. huduma

Ikiwa faili ya usanidi imebadilishwa na ungependa kupakia tena mipangilio:

Sudo systemctl kupakia tena matumizi

Kuanzisha tena programu:

Sudo systemctl kuanzisha upya programu. huduma

Ili kuwezesha kuanza kiotomatiki kwa boot:

Sudo systemctl kuwezesha programu. huduma

Ikiwa hii imewezeshwa, basi msimamizi wa mchakato wa mfumo atajaribu kuanzisha programu kulingana na mipangilio ambayo ilitolewa na faili ya mfumo.

Ili kuizima, tumia amri sawa na hapo juu, lakini na parameta ya 'afya'.

Ikiwa utaweka Anzisha upya = kila wakati kwenye faili ya huduma, basi systemd itafuatilia mchakato na ikiwa haiwezi kupatikana katika orodha ya mchakato, itajaribu kuiwasha tena kiatomati.

Ikiwa utaweka

Anza upyaSec = 30

baada ya maagizo ya kuanza upya, itasubiri kwa sekunde 30 kabla ya kujaribu kuanza tena mchakato. Hii inaweza kuwa muhimu, kwani jaribio la kuanza tena la kuanza kwa huduma / programu inayoshindwa kunaweza kusababisha mahitaji makubwa kwenye mfumo (kuandika magogo ya makosa, nk)

Kama unavyoona, systemd tayari hutoa njia kadhaa za kufuatilia michakato. Walakini, katika hali zingine hii inaweza kuwa haitoshi. Je! Ikiwa mchakato hautatoka (bado utakuwa kwenye orodha ya mchakato), lakini inaacha kujibu. Katika kesi hii, ili kuhakikisha kuwa mchakato unafanya kazi kweli, unaweza kuhitaji hundi za ziada kufanywa.

Hapa ndipo hati kutoka kwa hii inayoweza kufundishwa zitapatikana.

Hatua ya 2: Kusanidi na Kutumia Hati za Kikagua Huduma

Ikiwa unahitaji udhibiti zaidi wa michakato / huduma zako zinazoendesha, maandishi haya yatasaidia, hakika.

Kwa kuwa nambari ni kubwa kidogo, Imepakiwa kwa github na inaweza kupatikana chini ya hazina ifuatayo:

github.com/trex2000/Service-Monitor-Script/blob/master/checkService.sh

'Moyo' wa kifurushi chote ni

kuangaliaService.sh

Kabla ya kuitumia, lazima ubadilishe njia kamili kwenye folda ya huduma. Hii inaweza kupatikana mwanzoni mwa hati.

Hati inaweza kufuatilia michakato kadhaa na kufanya kazi ya ziada, kama ilivyoelezewa hapo chini:

Inapitia kila faili kutoka kwa folda / huduma zilizo na viboreshaji vya.serv au. Angalia na itaangalia ikiwa kuna mchakato unaotumika unaoitwa 'programu'.

Ikiwa hakuna faili ya '. Cheki' kwa programu, faili ya application.serv tu:

Ikiwa mchakato unafanya kazi, utazingatia mchakato huo kuwa wa kazi

Ikiwa mchakato haufanyi kazi, basi itaanzisha tena huduma kwa kutoa amri ifuatayo:

programu ya kuanza upya kwa systemctl

ikiwa faili ya.serv haina kitu!

Ikiwa faili ya.serv haina tupu na ina haki zinazoweza kutekelezwa, itajaribu kuiendesha kama hati wazi ya BASH.

Hii ni muhimu ikiwa kitu kingine lazima kifanyike isipokuwa kuanzisha tena huduma.

Kwa mfano, katika faili ya spamd.serv, kutoka repo hapo juu, ikiwa huduma ya spamd imekufa, huduma ya spamassassin inahitaji kuanza tena badala yake, ambayo pia itaanzisha tena spamd. Kuanzisha tena barua taka haitatosha.

Mtu anaweza kuhariri yaliyomo kwenye faili kama hiyo ya huduma kulingana na mahitaji.

Mfano mwingine ni faili ya pcscd.serv. Katika kesi hii michakato mingine kadhaa pia ilianzishwa tena / kuuawa.

Ikiwa kuna faili ya hundi, baada ya kuangalia ikiwa mchakato unaendelea, pia itaendesha faili hii ya hati kufanya ukaguzi wa ziada.

Kwa mfano, kwa huduma ya oscam, tumeunda faili ya kuangalia ambayo inajaribu kuungana na kiolesura cha wavuti kuona ikiwa imefaulu. Ikiwa sio hivyo, basi, licha ya kuwa na mchakato unaofanya kazi, huduma haifanyi kazi na inahitaji kuanza tena. Anzisha upya huduma lazima ifanyike / iitwe na faili ya angalia yenyewe.

Mfano mwingine itakuwa huduma ya mediatomb DLNA.

Hii ni seva ndogo ambayo hutoa yaliyomo kwenye video / sauti kwa wateja wa DLNA na inajitangaza kwenye mtandao. Wakati mwingine huduma hutegemea na haigunduliki tena, lakini mchakato bado utafanya kazi. Kuangalia ikiwa huduma inapatikana, huduma ya CLI inayoitwa gssdp-discover ilitumika. Nambari nzima ambayo huangalia seva ya DLNA iliwekwa ndani ya hati ya mediatomb.check.

Hii ni mifano michache tu juu ya jinsi unaweza kutumia faili za.serv na.check.

Ili kufuatilia huduma mpya, lazima uunda.serv na, ikiwa inahitajika pia faili ya hundi na andika hati inayolingana ndani yao.

Ikiwa kuangalia tu uwepo wa mchakato ikiwa inatosha, basi faili tupu ya.serv itatosha. Ikiwa hundi za ziada lazima zifanyike, basi faili ya cheki inapaswa kuundwa na hati ndogo inapaswa kuandikwa ili kufanya kazi hiyo.

Ya cource, hati ya.sh inapaswa kuendeshwa mara kwa mara, kwa hivyo kazi ya cron lazima pia itengenezwe kwa hiyo:

#angalia huduma zinazoendesha kila dakika 5 * / 5 * * * * /var/bin/ServiceCheck/checkService.sh> / dev / null

Hatua ya 3: Mawazo ya Mwisho

Natumahi utapata kifurushi hiki muhimu kwani inaweza kwa urahisi sana ufuatiliaji wa michakato ya Linux na tunatumai itapunguza wakati wa huduma zako.

Jisikie huru kupakia hati za ziada kwa github, ikiwa utaunda mpya. Nijulishe tu na nitakuongeza kama mchangiaji.

Ilipendekeza: