Системийн бүртгэлтэй ажиллах нь аюулгүй байдлын болоод системийг удирдах ажиллагааны чухал асуудал юм. Хостууд дунд зэргийн эсвэл том сүлжээнд тархсан эсвэл тэдгээр нь төрөл бүрийн олон янзын сүлжээний хэсэг болсон байх тохиолдолд эдгээр олон хостын бүртгэлийн файлуудыг монитор хийх нь ихээхэн төвөгтэй болдог. Энэ тохиолдолд алсаас бүртгэхийг тохируулах нь бүх л процессийг илүү тухтай болгодог.
Тусгайлан заасан бүртгэх хост руу төвлөрүүлэн бүртгэх нь бүртгэлийн
файлын удирдлагатай холбоотой зарим хүндрэлүүдийг багасгаж чаддаг.
syslogd(8) болон newsyslog(8) зэрэг FreeBSD-ийн эх хэрэгслүүдийг
ашиглан бүртгэлийн файлын цуглуулга, нийлүүлэлт болон багасгалтыг нэг газар тохируулж
болдог. Дараах жишээ тохиргоонд logserv.example.com
гэж нэрлэгдсэн хост A
локал сүлжээнээс бүртгэлийн мэдээллийг
цуглуулах болно. logclient.example.com
гэж
нэрлэгдсэн хост B
бүртгэлийн мэдээллийг сервер систем рүү
дамжуулах болно. Жинхэнэ тохиргоонд эдгээр хостууд зохих дамжуулах болон буцах
DNS эсвэл /etc/hosts
файлд
оруулгууд шаардана. Тэгэхгүй бол өгөгдлийг сервер хүлээн авахгүй татгалзах
болно.
Бүртгэлийн серверүүд нь алсын хостуудаас бүртгэлийн мэдээллийг хүлээн авахаар тохируулагдсан машинууд юм. Ихэнх тохиолдолд энэ нь тохиргоог хялбар болгох зорилготой бөгөөд зарим тохиолдолд энэ нь удирдлагыг арай сайжруулж байгаа хэлбэр байж болох юм. Аль ч шалтгаан байсан гэсэн үргэлжлүүлэхээсээ өмнө цөөн хэдэн шаардлагыг дурдъя.
Зөв тохируулсан бүртгэлийн сервер дараах хамгийн бага шаардлагыг хангасан байх шаардлагатай:
Клиент болон сервер дээр 514-р порт руу UDP-г дамжуулах боломжийг бүрдүүлэх галт хананы дүрэм;
Клиент машинаас алсын мэдэгдлүүдийг хүлээн авахаар syslogd тохируулагдсан байх;
syslogd сервер болон бүх клиент машинууд нь дамжуулах
болон буцах DNS-ийн хувьд зөв оруулгуудтай
эсвэл /etc/hosts
файлд зөв тохируулсан
байх шаардлагатай.
Бүртгэлийн серверийг тохируулахын тулд клиент нь
/etc/syslog.conf
-д нэмэгдсэн байх
ёстой бөгөөд бүртгэх боломжийг зааж өгсөн байх шаардлагатай:
Төрөл бүрийн дэмжигдсэн, байгаа facility буюу боломжуудын талаарх дэлгэрэнгүй мэдээллийг syslog.conf(5) гарын авлагын хуудаснаас олж болно.
Нэмсэний дараа бүх facility
мэдэгдлүүд
өмнө заасан /var/log/logclient.log
файл руу
бүртгэгдэх болно.
Сервер машин дараах тохиргоог бас /etc/rc.conf
файлдаа хийсэн байх шаардлагатай:
Эхний тохиргоо нь syslogd
демоныг эхлүүлэхийг
заах бөгөөд хоёр дахь нь клиетийн өгөгдлийг энэ сервер дээр хүлээн авахыг
зөвшөөрнө. Сүүлийн -v -v
хэсэг нь бүртгэж байгаа
мэдэгдлүүдийн гаралтыг илүү дэлгэрэнгүй болгоно. Энэ нь facility-г
тохируулахад ихээхэн ашигтай байдаг. Администраторууд ямар төрлийн
мэдэгдлүүд ямар facility-р бүртгэгдэж байгааг хянах боломжийг энэ нь
бүрдүүлдэг.
Олон клиентээс бүртгэлийг хүлээн авахын тулд олон -a
сонголтыг зааж өгч болно. IP хаягууд болон
бүхэл сүлжээний блокийг бас зааж өгч болох бөгөөд боломжит сонголтуудын
бүх жагсаалтыг syslog(3) гарын авлагын хуудаснаас үзнэ үү.
Төгсгөлд нь бүртгэлийн файлыг үүсгэх хэрэгтэй. Хэрэглэгсэн арга нь хамаагүй боловч touch(1) үүнтэй адил тохиолдлуудад сайн ажилладаг:
#
touch /var/log/logclient.log
Энэ үед syslogd
демоныг дахин
ажиллуулж шалгах ёстой:
#
service syslogd restart
#
pgrep syslog
Хэрэв PID буцаагдвал сервер нь амжилттай
дахин эхэлсэн гэсэн үг бөгөөд клиентийн тохиргоо ажиллаж эхэлнэ. Хэрэв
сервер дахин эхлээгүй бол ямар нэг зүйл болсон эсэхийг
/var/log/messages
файл дахь мэдэгдлүүдээс
шалгаарай.
Бүртгэл илгээгч клиент нь өөр дээрээ хуулбараа үлдээхээс гадна бас бүртгэлийн сервер рүү бүртгэлийн мэдээллийг явуулдаг машин юм.
Бүртгэлийн серверүүдийн нэгэн адил клиентүүд нь бас хамгийн бага шаардлагыг хангасан байх ёстой:
syslogd(8) нь бүртгэлийн сервер хүлээн авах ёстой заасан төрлийн мэдэгдлүүдийг бүртгэлийн сервер рүү илгээхээр тохируулагдсан байх ёстой;
Галт хана UDP пакетуудыг 514-р порт руу зөвшөөрөх ёстой;
Дамжуулах болон буцах DNS
тохируулагдсан эсвэл /etc/hosts
файл зохих
оруулгуудтай байх шаардлагатай.
Клиентийн тохиргоо нь серверийнхтэй харьцуулах юм бол арай зөөлөн
байдаг. Клиент машин нь /etc/rc.conf
файлдаа
дараахийг нэмж өгсөн байх шаардлагатай байдаг:
Өмнө дурдсаны адил эдгээр тохиргоонууд нь
syslogd
демоныг ачаалж эхлэхэд эхлүүлэхийг
заах бөгөөд бүртгэх мэдэгдлүүдийг дэлгэрэнгүйгээр харуулах болно.
-s
сонголт нь бусад хостуудаас бүртгэлийг энэ
клиент хүлээн авахаас сэргийлдэг.
Facility нь мэдэгдэл үүсгэгдэж байгаа тэр системийн хэсгийг
тайлбарладаг. Жишээ нь ftp болон
ipfw нь хоёулаа facility юм. Эдгээр хоёр
үйлчилгээний хувьд бүртгэлийн мэдэгдлүүд үүсэхэд ихэвчлэн дээрх
хоёр хэрэгслийг бүртгэлийн мэдэгдэл бүртээ агуулсан байдаг.
Facility нь бүртгэлийн мэдэгдэл ямар чухлыг тэмдэглэхэд хэрэглэгдэх
дараалал эсвэл түвшинтэй байдаг. Хамгийн түгээмэл нь
warning
ба info
юм.
Боломжит бүх facilty болон дарааллуудын жагсаалтыг
syslog(3) гарын авлагын хуудаснаас үзнэ үү.
Бүртгэлийн серверийг клиентийн /etc/syslog.conf
файлд заасан байх шаардлагатай. Энэ жишээн дээр алсын сервер рүү
бүртгэлийн өгөгдлийг илгээхийн тулд @
тэмдгийг ашигласан бөгөөд доор дурдсан мөртэй төстэй
харагдана:
Нэмсэний дараа өөрчлөлтийг хүчинтэй болгохын тулд
syslogd
-г дахин эхлүүлэх шаардлагатай:
#
service syslogd restart
Сүлжээгээр бүртгэлийн мэдэгдлүүдийг илгээж байгаа эсэхийг
тест хийхийн тулд клиент дээр logger(1)-г ашиглаж мэдэгдлийг
syslogd
руу илгээнэ:
#
logger "Test message from logclient
"
Энэ мэдэгдэл клиент дээрх
/var/log/messages
болон
сервер дээрх /var/log/logclient.log
файлд одоо орсон байх ёстой.
Зарим тохиолдолд хэрэв бүртгэлийн сервер дээр мэдэгдлүүд нь
хүлээн авагдаагүй бол дибаг хийх шаардлагатай байж болох юм.
Хэд хэдэн шалтгаанаас болж ийм байдалд хүрч болох юм. Хамгийн
түгээмэл хоёр нь сүлжээний холболтын болон DNS-тэй
холбоотой асуудлууд юм. Эдгээр тохиолдлуудыг тест хийхийн тулд
хоёр хост хоёулаа /etc/rc.conf
файлд заагдсан
хостын нэрээрээ нэг нэгэн рүүгээ хүрч чадаж байгааг шалгах
хэрэгтэй. Хэрэв энэ зөв ажиллаж байгаа бол /etc/rc.conf
файлд syslogd_flags
тохиргоог өөрчлөх
шаардлагатай болно.
Дараах жишээн дээр /var/log/logclient.log
нь хоосон
бөгөөд /var/log/messages
файл нь амжилтгүй болсон
шалтгааныг харуулна. Дибаг хийж байгаа гаралтыг илүү дэлгэрэнгүй харуулахын
тулд дараах жишээтэй төстэйгөөр syslogd_flags
тохируулгыг өөрчилж дахин ачаалах хэрэгтэй:
#
service syslogd restart
Доор дурдсантай төстэй дибаг өгөгдөл дахин ачаалсны дараа дэлгэц дээр хурдан гарч өнгөрнө:
Мэдэгдлүүд нэр зөрснөөс болоод дамжихгүй байгааг эндээс
харж болно. Тохиргоог алхам алхмаар дахин шалгасны дараа
/etc/rc.conf
дахь дараах мөр
буруу бичигдсэн бөгөөд асуудалтай байгааг олж харна:
Энэ мөр logclien
биш
logclient
гэдгийг агуулсан байх ёстой.
Зөв болгож засан дахин ачаалсны дараа хүлээж байсан үр
дүнгээ харах болно:
#
service syslogd restart
logmsg: pri 56, flags 4, from logserv.example.com, msg syslogd: restart
syslogd: restarted
logmsg: pri 6, flags 4, from logserv.example.com, msg syslogd: kernel boot file is /boot/kernel/kernel
syslogd: kernel boot file is /boot/kernel/kernel
logmsg: pri 166, flags 17, from logserv.example.com,
msg Dec 10 20:55:02 <syslog.err> logserv.example.com syslogd: exiting on signal 2
cvthname(192.168.1.10)
validate: dgram from IP 192.168.1.10, port 514, name logclient.example.com;
accepted in rule 0.
logmsg: pri 15, flags 0, from logclient.example.com, msg Dec 11 02:01:28 trhodes: Test message 2
Logging to FILE /var/log/logclient.log
Logging to FILE /var/log/messagesЭнэ үед мэдэгдлүүдийг зөв хүлээн аван зөв файлд бичих болно.
Сүлжээний аль ч үйлчилгээний нэгэн адил энэ тохиргоог
хийхээсээ өмнө аюулгүй байдлын шаардлагуудыг бодолцох ёстой. Заримдаа
бүртгэлийн файлууд нь локал хост дээр идэвхжүүлсэн үйлчилгээнүүд,
хэрэглэгчдийн бүртгэл болон тохиргооны өгөгдлийн талаарх эмзэг
өгөгдлүүдийг агуулсан байж болох юм. Клиентээс сервер рүү илгээсэн
сүлжээний өгөгдөл нь шифрлэгдээгүй эсвэл нууц үгээр хамгаалагдаагүй
байдаг. Хэрэв шифрлэх шаардлагатай бол өгөгдлийг шифрлэсэн хоолойгоор
дамжуулах security/stunnel
хэрэгслийг ашиглаж болох юм.
Локал аюулгүй байдал нь бас л асуудал юм. Бүртгэлийн файлууд нь
хэрэглэж байхад юм уу эсвэл бүртгэлийн багасгах үед шифрлэгддэггүй.
Локал хэрэглэгчид эдгээр файлуудад хандаж системийн тохиргооны талаар
нэмэлт мэдээлэл олж авч болох юм. Ийм тохиолдолд эдгээр файлууд дээр
зөв зөвшөөрлүүдийг тавих нь чухал юм. newsyslog(8) хэрэгсэл нь
шинээр үүсгэгдсэн болон багасгагдсан бүртгэлийн файлууд дээр зөвшөөрөл
тавихыг дэмждэг. Бүртгэлийн файлууд дээр 600
горимыг тавьснаар хүсээгүй локал хэрэглэгчид тэдгээрийг шиншлэх
боломжийг хаах юм.
Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.
FreeBSD-ийн талаар
<questions@FreeBSD.org>
хаягтай холбоо барихаасаа өмнө
баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал
<doc@FreeBSD.org>
хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал
<admin@mnbsd.org>
хаягаар цахим захидал явуулна уу.