Opet ćemo obraditi jedan svježi upit direktno sa sys.helpa. Nakon reinstalacije poslužitelja, unatoč vašoj usredotočenosti na posao, potkrast će vam se poneka greška. Ovdje prvenstveno mislimo na fenomen u linuxovom svijetu poznatom pod imenom "zgaziti konfiguraciju ili ne"? O ovome smo napisali poseban članak, ali nije sada riječ o tome, nego o monitu, korisnom alatu koji u pozadini samo radi svoj posao i spašava nas od downtimea servisa.
Naime, kolega je prilikom nadogradnje poslužitelja pregazio konfiguraciju monita, te mu se počela javljati sljedeća poruka:
Jan 19 13:25:53 server monit[9052]: 'sshd' failed, cannot open a connection to INET[127.0.0.1:22] via TCP
Njemu je sve jasno, jer njegov SSHD sluša na drugom portu (ovo je jako jednostavna i efikasna preinaka, preporučujemo da promijenite port SSH daemona na neki drugi!). No, kako promijeniti port, kada promjena porta u /etc/monit/conf.d/sshd.conf jednostavno ne radi.
Rješenje je jednostavno: potrebno je promijeniti predložak, a ne direktno konfiguracijsku datoteku. Predlošci se nalaze u direktoriju /usr/share/monit-cn, konkretnije /usr/share/monit-cn/sshd.conf. Tamo stoji nešto poput ovoga:
check process sshd with pidfile "/var/run/sshd.pid"
start program = "/etc/init.d/ssh start"
stop program = "/etc/init.d/ssh stop"
if failed host 127.0.0.1 port 22 protocol ssh
with timeout 15 seconds
then restart
Ovdje samo trebate promijeniti port na željeni, te pokrenuti naredbu update-monit.d:
# update-monit.d
CN: Restored default sshd.conf template
CN: Stopping/restarting monit service
Nakon ovih promjena monit će pratiti servis na promijenjenom portu. Obratite pažnju da monit ne treba restartati putem SysV init skripte (/etc/init.d/monit). Restart će napraviti skripta update-monit.d za vas (odnosno, samo će poslati signal procesu da ponovo pročita svoju konfiguraciju). Ukoliko to ipak pokušate, dobit ćete poruku:
# /etc/init.d/monit restart
CN: Monit SystemV init script disabled -- inittab is in use
CN: Exiting now...
Poruka znači: o monitu se brine proces init i dakle program ne radi kao klasični daemon, nego je upisan u /etc/inittab.
Više o samom monitu i njegovom načinu rada možete naći u članku samog autora paketa monit.cn, našem Dinku Koruniću:
http://sistemac.carnet.hr/node/311 [1]