Eolaire Eolaire
Tuairteanna minice Apache2 nó teipeanna atosaithe uathoibríoch Monit i dtimpeallachtaí HestiaCP ? Soláthraíonn an t-alt seo treoir phraiticiúil chun gaistí coitianta a sheachaint agus Apache2 á mhonatóiriú le Monit, ag déanamh anailíse domhain ar shaincheisteanna coitianta amhail mí-ailíniú cosáin PID agus blocáil ceadanna, agus ag tairiscint comhaid chumraíochta uathoibrithe Monit ar ghrád táirgeachta. Faigh máistreacht ar theicnící cothabhála freastalaí ard-infhaighteachta anois agus bain amach téarnamh uathoibríoch dara leibhéal ó theipeanna!
Na gaistí a bhuail mé leo agus mé ag úsáid Monit chun monatóireacht a dhéanamh ar Apache2
Dé hAoine seo caite, thug an freastalaí foláireamh Monit dom i lár na hoíche.
Chaith mé súil ar an bpainéal i mo mheabhair, agus i gcolún stádais apache2, bhí Timeout dearg ann.

Smaoinigh mé air ar feadh tamaill. Chuir mé monatóireacht Monit leis an bhfreastalaí i rith an lae, agus chóipeáil agus ghreamaigh mé an chumraíocht ó rang teagaisc ar líne. Níor cheart go mbeadh aon fhadhbanna ann, ceart?
An mhaidin dár gcionn, chuaigh an t-am thart arís. Tar éis an tríú huair, thug an Monatóir suas go simplí, agus thaispeáin an painéal "Gan monatóireacht".
Mise...
Aithním, níor thóg mé dáiríre é ar dtús. Monatóireacht Apache2? Is féidir leat a lán cumraíochtaí teimpléid a fháil ar líne, níl le déanamh ach cóipeáil agus greamaigh. Ach chuir an próiseas greamaithe sin fearg mhór orm.
Bunchúis na coimhlinte idir ailtireacht réamhshocraithe HestiaCP agus calafoirt Monit
Lig dom an chumraíocht a chuir an oiread sin trioblóide orm a thaispeáint duit ar dtús, ionas gur féidir leat a fheiceáil an bhfuil sé díreach mar an gcéanna leis an leagan atá feicthe agat.
check process apache2 with pidfile /var/run/apache2/apache2.pid
start program = "/usr/sbin/service apache2 start"
stop program = "/usr/sbin/service apache2 stop"
if failed host 127.0.0.1 port 80 protocol http then restart
if 5 restarts within 5 cycles then timeoutIs cosúil go bhfuil sé ceart go leor, ceart? Seiceálann sé port 80, agus má thuairteann sé, atosaíonn sé. Má thuairteann sé fós tar éis 5 atosaithe, tagann an t-am amach.
Is í an fhadhb atá ann, nach bhfuil d'Apache2 ag rith ar phort 80 fiú.
Is gaiste í seo i gcás HestiaCP, agus is í bunchúis an fhadhb a bhíonn ag go leor daoine leis. Is seachfhreastalaí droim ar ais de Nginx + Apache2 ailtireacht réamhshocraithe HestiaCP, agus Nginx ag áitiú calafoirt 80 agus 443 chun tosaigh, agus Apache2 ag rith ar an gcalafort áitiúil 8081 sa chúl.
Má iarrann tú ar Monit fiosrú a dhéanamh faoi bheocht Apache2 ar phort 80, is cosúil le dul chuig McDonald's chun KFC a aimsiú. Féachann an freastalaí ort go folamh, agus stánann sibh beirt ar a chéile. Sa deireadh, cinneann Monit go bhfuil tú síos agus tosaíonn sé ag atosú go fiáin.
Tar éis atosú, is é 8081 an port fós. Déanann Monit iarracht ansin port 80 a scrúdú, ach teipeann air sin freisin, agus mar sin atosaíonn sé arís. Déantar an timthriall seo arís go dtí go gcinneann Monit nach féidir é a dheisiú agus go dtéann an t-am thart.
Nuair a tháinig mé ar seo den chéad uair, bhí ionadh orm ó chroí. Bhain naoi as gach deich rang teagaisc a fuair mé ar líne úsáid as port 80. Má lean tú iad, ní leatsa a bhí an fhadhb, ach le foinse na faisnéise féin.

Mar gheall ar chomhad Apache2 PID truaillithe, d’aithin Monit an próiseas trí dhearmad mar rud nach raibh ann.
Tar éis an port a athrú ó 80 go 8081, ba cheart go mbeadh Monit in ann é a bhrath go teoiriciúil, ceart?
Mar sin féin, i ndáiríre, tuairiscíonn sé " Theip ar an bhforghníomhú " ó am go ham fós.
Tar éis dom a bheith ag streachailt ar feadh i bhfad, fuair mé amach faoi dheireadh go raibh an chúis simplí: bhí an comhad PID truaillithe.
Smaoinigh air, bhí Monit ag atosú Apache2 go fiáin, ag marú agus ag atosú le fórsa gach uair, ag dul anonn is anall arís agus arís eile. Le linn an phróisis seo, d'fhéadfadh an comhad /var/run/apache2/apache2.pid a bheith 0 beart.
I bhfocail eile, tá an comhad ann fós, ach tá sé folamh.
Nuair a léann Monit an comhad seo, ní fhaigheann sé tada. Ní aithníonn sé d'Apache2, fiú má tá d'Apache2 ag rith go breá sa chúlra; ní cheapann Monit go bhfuil an próiseas ann.
Nuair a chonaic mé seo, bhí mé gan urlabhra ar feadh nóiméid.
Is sáinn é seo. Theipeann ar Monit an sampla Apache 2 a bhrath, atosaíonn sé Apache2, truaillíonn sé an comhad PID le linn an phróisis atosaithe, teipeann air an chéad bhrath eile, agus atosaíonn sé arís. Leanann an timthriall seo ar aghaidh go dtí go dtarlaíonn an t-am críochnaithe.
Céimeanna Fabhtcheartaithe agus Deisiúcháin le haghaidh Monatóireacht Apache2 i dTimpeallacht HestiaCP
Le bheith ionraic, níl an próiseas imscrúdaithe casta, ach ní mór duit a bheith ar an eolas faoin treo atá le himscrúdú.
Is é an chéad chéim ná a chinneadh cén port a bhfuil d’Apache2 ag éisteacht leis. Clóscríobh ordú sa chríochfort.
netstat -tulpn | grep apache2Nó is féidir leat an t-ordú `ss` a úsáid; tá an éifeacht mar a chéile.
ss -tulpn | grep apache2Feicfidh tú aschur cosúil leis seo.
tcp 0 0 127.0.0.1:8081 0.0.0.0:* LISTEN 2942372/apache2Deimhníodh gurb é 8081 é, ní 80. Sin fréamh na faidhbe.
Is é an dara céim ná an comhad PID truaillithe a dheisiú. Tá sé seo níos simplí.
monit unmonitor apache2
systemctl restart apache2
cat /var/run/apache2/apache2.pidAr dtús, cuir monatóireacht Monit ar sos chun cosc a chur air cur isteach agus tú ag socrú rudaí. Ansin, atosú Apache2 chun ligean dó PID glan a athscríobh. Ar deireadh, bain úsáid as `cat` chun ábhar an chomhaid a sheiceáil; ba chóir go mbeadh teaghrán uimhreacha ann, ní teaghrán folamh.
Nuair a bheidh an chéim seo críochnaithe, réitítear an fhadhb go bunúsach.

Anailís Chomparáideach ar Chumraíochtaí Cosanta Oiriúnaitheacha agus Ionsaitheacha Traidisiúnta Monit
Is gnách go mbíonn dhá chatagóir i ranganna teagaisc ar líne maidir le Apache2 a chumrú le Monit.
Is cineál amháin an "cineál oiriúnaithe traidisiúnta," a úsáideann an t-ordú `seirbhíse` chun seirbhísí a bhainistiú agus calafoirt áitiúla a sheiceáil gan an iomarca srianta casta a chur leis. Is féidir an chumraíocht seo a úsáid ar HestiaCP tríd an gcalafort a athrú go simplí, agus tá sé réasúnta cobhsaí.
Cur chuige eile is ea an modh "cosaint ionsaitheach", a úsáideann systemctl chun seirbhísí a bhainistiú, srianta próisis linbh a chur leis, agus loighic bhrath níos déine a úsáid. Breathnaíonn sé go hiontach, ach tá locht marfach ann: is é `killall -9` an t-ordú stad a úsáidtear.
Cad is brí le `killall -9`? Ciallaíonn sé an gléas a mharú le fórsa beag beann ar a bhfuil á dhéanamh aige. Is féidir leis an oibríocht brúidiúil seo comhaid PID truaillithe a fhágáil ina diaidh go héasca, agus is í sin an fhadhb a luaigh mé díreach.
Is é mo thaithí phearsanta go bhfuil sé úsáideach líon na bpróiseas linbh a theorannú i gcumraíocht ionsaitheach. Nuair a bhíonn do Apache2 sáraithe ag ionsaí CC, is féidir le líon na bpróiseas linbh a theorannú cosc a chur ar an bhfreastalaí ó bheith ag rith as cuimhne. Mar sin féin, níl an cur chuige `killall -9` inúsáidte ar chor ar bith.
Mar sin sa deireadh rinne mé comhréiteach agus chomhcheangail mé buntáistí an dá chumraíocht.
Cumraíocht is Fearr Cleachtais HestiaCP Apache2 Monit
Athraigh an comhad /etc/monit/conf.d/apache2 leis an ábhar seo a leanas.
check process apache2 with pidfile /var/run/apache2/apache2.pid
start program = "/bin/systemctl start apache2"
stop program = "/bin/systemctl stop apache2"
if children > 120 for 2 cycles then restart
if failed host 127.0.0.1 port 8081 protocol http for 2 cycles then restart
if 5 restarts within 10 cycles then timeoutLig dom an loighic atá taobh thiar de na cúpla líne chumraíochta seo a mhíniú go hachomair.
Scríobh port 8081 chun go mbeidh sé ag teacht go beacht le hailtireacht seachfhreastalaí droim ar ais HestiaCP; ná bí ag scríobh port 80 go hamadánach.
Bain úsáid as an ordú `systemctl stop` in ionad `killall -9` chun an comhad PID a stopadh, ionas nach ndéanfar é a thruailliú.
Cuireadh teorainn leis an bpróiseas leanaí: má sháraíonn líon na leanaí 120, atosófar an próiseas tar éis dhá thimthriall as a chéile chun ionsaithe CC a chosc, ach níl sé ró-ionsaitheach.
Tá an loighic chun teipeanna a bhrath modhnaithe chun cur chuige "ar feadh 2 thimthriall" a úsáid, rud a chiallaíonn nach ndéantar atosú ach amháin tar éis dhá theip as a chéile, rud a laghdaíonn torthaí dearfacha bréagacha. Bhí an chumraíocht roimhe seo, a atosaíodh tar éis braite amháin, beagán ró-íogair, go hionraic.
Maolaítear an tairseach ama deiridh go 5 atosú laistigh de 10 timthriall, rud a fhágann go bhfuil lamháltas locht leordhóthanach ann.
HestiaCP Monatóireacht a dhéanamh ar mhonatóireachtAchoimre ar Fhabhtcheartú Cumraíochta agus Comhroinnt Taithí
Tar éis na hathruithe cumraíochta a dhéanamh, rinne mé monatóireacht ar apache2, agus thaispeáin an painéal táscaire glas "Ceart go leor" sa deireadh.
Conas a chuirfinn síos ar mo chuid mothúchán ag an am? Bhí sé cosúil le dhá lá a chaitheamh ag streachailt le fabht, ach ansin a fháil amach gurbh í líne chumraíochta amháin a bhí mícheart ba chúis leis. Bhí sé frustrach agus greannmhar araon.
Is rud maith ann féin é Monit, agus is rud é monatóireacht a dhéanamh ar dheamhain ba chóir do gach freastalaí a dhéanamh. Ach is í an fhadhb atá ann ná go bhfuil go leor ranganna teagaisc ar líne bunaithe ar an toimhde go "n-úsáideann Apache2 port 80 go heisiach," agus go n-úsáideann HestiaCP seachfhreastalaí droim ar ais, rud a chiallaíonn nach bhfuil an toimhde seo fíor.
Mura leanann tú na treoracha, ní tusa atá ina fhadhb; is é an fhadhb atá ann ná go bhfuil an rang teagaisc infheidhme maidir le cás difriúil ón gceann atá agatsa.
Mar sin, má tá HestiaCP in úsáid agat freisin agus má tá tú ag imirt le Monit chun monatóireacht a dhéanamh ar Apache2, cuimhnigh ar dhá rud: Athraigh an port go 8081, agus bain úsáid as an ordú `systemctl` chun é a stopadh, ní `killall -9`. Má dhéanann tú an dá rud seo, ba cheart go mbeifeá in ann aon fhadhbanna eile a sheachaint.
Ós rud é gur léigh tú an méid seo, má fuair tú é ina chuidiú, tabhair "Is maith liom" agus roinn é le do thoil. Más mian leat nuashonruithe a fháil ar dtús, is féidir leat mé a leanúint freisin!
Go raibh maith agat as mo alt a léamh. Feicfidh mé thú an chéad uair eile.
Tá súil agam go mbeidh an t-alt "HestiaCP Apache2 Frequent Crashes? Monit Automated Monitoring and Troubleshooting Guide (with Complete Configuration)" atá roinnte ar bhlag Chen Weiliang ( https://www.chenweiliang.com/ ) ina chuidiú duit.
Ná bíodh drogall ort nasc an ailt seo a roinnt: https://www.chenweiliang.com/cwl-34457.html
