ວິທີການຈັດການບັນທຶກລະບົບ (ຕັ້ງຄ່າ, ໝຸນ ແລະ ນຳ ເຂົ້າຖານຂໍ້ມູນ) ໃນ RHEL 7 - ພາກທີ 5


ເພື່ອໃຫ້ລະບົບ RHEL 7 ຂອງທ່ານປອດໄພ, ທ່ານ ຈຳ ເປັນຕ້ອງຮູ້ວິທີການຕິດຕາມກວດກາທຸກໆກິດຈະ ກຳ ທີ່ເກີດຂື້ນໃນລະບົບດັ່ງກ່າວໂດຍການກວດສອບເອກະສານບັນທຶກ. ດັ່ງນັ້ນ, ທ່ານຈະສາມາດກວດພົບກິດຈະ ກຳ ທີ່ຜິດປົກກະຕິຫຼືເປັນອັນຕະລາຍແລະປະຕິບັດການແກ້ໄຂບັນຫາຂອງລະບົບຫຼື ດຳ ເນີນການທີ່ ເໝາະ ສົມອີກ.

ໃນ RHEL 7, rsyslogd daemon ແມ່ນຮັບຜິດຊອບໃນການເຂົ້າສູ່ລະບົບແລະອ່ານການຕັ້ງຄ່າຂອງມັນຈາກ /etc/rsyslog.conf (ເອກະສານນີ້ລະບຸສະຖານທີ່ເລີ່ມຕົ້ນ ສຳ ລັບບັນທຶກລະບົບທັງ ໝົດ) ແລະຈາກແຟ້ມພາຍໃນ /etc/rsyslog.d, ຖ້າມີ.

ການຕັ້ງຄ່າ Rsyslogd

ການກວດສອບໄວຂອງ rsyslog.conf ຈະເປັນປະໂຫຍດທີ່ຈະເລີ່ມຕົ້ນ. ເອກະສານນີ້ແບ່ງອອກເປັນ 3 ພາກໃຫຍ່ຄື: ໂມດູນ (ນັບຕັ້ງແຕ່ rsyslog ປະຕິບັດຕາມການອອກແບບແບບໂມດູນ), ທິດທາງໃນທົ່ວໂລກ (ໃຊ້ເພື່ອ ກຳ ນົດຄຸນສົມບັດທົ່ວໂລກຂອງດອກໄຟ rsyslogd daemon), ແລະກົດລະບຽບ. ຂະນະທີ່ທ່ານອາດຈະຄາດເດົາໄດ້, ພາກສຸດທ້າຍນີ້ຊີ້ບອກເຖິງສິ່ງທີ່ໄດ້ຮັບການເຂົ້າສູ່ລະບົບຫລືສະແດງ (ທີ່ເອີ້ນວ່າຜູ້ເລືອກ) ແລະບ່ອນໃດ, ແລະຈະເປັນຈຸດສຸມຂອງພວກເຮົາຕະຫຼອດບົດຄວາມນີ້.

ສາຍປົກກະຕິໃນ rsyslog.conf ແມ່ນດັ່ງຕໍ່ໄປນີ້:

ໃນຮູບພາບຂ້າງເທິງ, ພວກເຮົາສາມາດເຫັນໄດ້ວ່າຕົວເລືອກທີ່ປະກອບດ້ວຍ ໜຶ່ງ ຫຼືຫຼາຍຄູ່ຄູ່: ສິ່ງບູລິມະສິດແຍກອອກໂດຍເຄື່ອງ ໝາຍ, ບ່ອນທີ່ Facility ອະທິບາຍປະເພດຂໍ້ຄວາມ (ອ້າງອີງເຖິງຂໍ້ 4.1.1 ໃນ RFC 3164 ເພື່ອເບິ່ງລາຍຊື່ສະຖານທີ່ສົມບູນຂອງສິ່ງ ອຳ ນວຍຄວາມສະດວກທີ່ມີໃຫ້ ສຳ ລັບ rsyslog) ແລະບູລິມະສິດຊີ້ບອກເຖິງຄວາມຮຸນແຮງຂອງມັນ, ເຊິ່ງສາມາດເປັນ ໜຶ່ງ ໃນ ຄຳ ອະທິບາຍດ້ວຍຕົນເອງຕໍ່ໄປນີ້:

<

  • debug
  • ຂໍ້ມູນ
  • ແຈ້ງການ
  • ຄຳ ເຕືອນ
  • ຜິດພາດ
  • ສຳ ເລັດ
  • ເຕືອນ
  • ສຸກເສີນ
  • ເຖິງແມ່ນວ່າມັນບໍ່ແມ່ນບຸລິມະສິດຕົວເອງ, ຄຳ ຫລັກບໍ່ໄດ້ ໝາຍ ຄວາມວ່າບໍ່ມີບຸລິມະສິດຢູ່ໃນທຸກສະຖານທີ່ທີ່ໄດ້ຮັບ.

    ໝາຍ ເຫດ: ສິ່ງບູລິມະສິດທີ່ກ່າວມານັ້ນຊີ້ໃຫ້ເຫັນວ່າທຸກໆຂໍ້ຄວາມຂອງຄວາມ ສຳ ຄັນດັ່ງກ່າວແລະຂ້າງເທິງຄວນໄດ້ຮັບການເຂົ້າສູ່ລະບົບ. ດັ່ງນັ້ນ, ເສັ້ນໃນຕົວຢ່າງຂ້າງເທິງນີ້ແນະ ນຳ ໃຫ້ rsyslogd daemon ເຂົ້າບັນທຶກຂໍ້ມູນທັງ ໝົດ ຂອງຂໍ້ມູນບູລິມະສິດຫຼືສູງກວ່າ (ບໍ່ວ່າຈະຢູ່ໃນສະຖານທີ່) ຍົກເວັ້ນຂໍ້ຄວາມທີ່ເປັນຂອງຈົດ ໝາຍ, ບໍລິສັດແລະບໍລິການ cron (ບໍ່ມີຂໍ້ຄວາມໃດໆທີ່ມາຈາກສິ່ງ ອຳ ນວຍຄວາມສະດວກນີ້ຈະຖືກ ຄຳ ນຶງເຖິງ. ) ເຖິງ/var/log/ຂໍ້ຄວາມ.

    ທ່ານຍັງສາມາດຈັດກຸ່ມຫລາຍໆສະຖານທີ່ໂດຍໃຊ້ສັນຍາລັກຈໍ້າສອງເມັດເພື່ອນໍາໃຊ້ບູລິມະສິດດຽວກັນກັບທຸກໆຢ່າງຂອງມັນ. ດັ່ງນັ້ນ, ເສັ້ນ:

    *.info;mail.none;authpriv.none;cron.none                /var/log/messages
    

    ສາມາດຂຽນຄືນເປັນ

    *.info;mail,authpriv,cron.none                /var/log/messages
    

    ເວົ້າອີກຢ່າງ ໜຶ່ງ, ສິ່ງ ອຳ ນວຍຄວາມສະດວກທີ່ mail, authpriv, ແລະ cron ຖືກຈັດເປັນກຸ່ມແລະ ຄຳ ທີ່ໃຊ້ບໍ່ແມ່ນໃຊ້ກັບສາມຢ່າງຂອງມັນ.

    ເພື່ອເຂົ້າຂໍ້ຄວາມ daemon ທັງ ໝົດ ເຂົ້າໃນ /var/log/tecmint.log, ພວກເຮົາຕ້ອງເພີ່ມສາຍຕໍ່ໄປນີ້ທັງໃນ rsyslog.conf ຫຼືໃນແຟ້ມເອກະສານແຍກຕ່າງຫາກ (ງ່າຍຕໍ່ການຈັດການ) ພາຍໃນ /etc/rsyslog.d:

    daemon.*    /var/log/tecmint.log
    

    ໃຫ້ເລີ່ມຕົ້ນ daemon ໃໝ່ (ໃຫ້ສັງເກດວ່າຊື່ບໍລິການບໍ່ສິ້ນສຸດດ້ວຍ d):

    # systemctl restart rsyslog
    

    ແລະກວດເບິ່ງເນື້ອໃນຂອງບັນທຶກການ ກຳ ຫນົດເອງຂອງພວກເຮົາກ່ອນແລະຫລັງການຕັ້ງຄືນສອງ daemons ແບບສຸ່ມ:

    ໃນຖານະເປັນບົດຝຶກຫັດການສຶກສາດ້ວຍຕົນເອງ, ຂ້າພະເຈົ້າຂໍແນະ ນຳ ໃຫ້ທ່ານຫລິ້ນກັບສິ່ງ ອຳ ນວຍຄວາມສະດວກແລະບູລິມະສິດຕ່າງໆແລະທັງສາມາດສົ່ງຂໍ້ຄວາມເພີ່ມເຕີມເຂົ້າໃນແຟ້ມບັນທຶກທີ່ມີຢູ່ຫຼືສ້າງບົດ ໃໝ່ໆ ດັ່ງໃນຕົວຢ່າງທີ່ຜ່ານມາ.

    ການຫມຸນບັນທຶກການ ນຳ ໃຊ້ Logrotate

    ເພື່ອປ້ອງກັນບໍ່ໃຫ້ເອກະສານບັນທຶກຈາກການຂະຫຍາຍຕົວຢ່າງບໍ່ຢຸດຢັ້ງ, ຜົນປະໂຫຍດ logrotate ຖືກໃຊ້ເພື່ອ ໝູນ, ບີບອັດ, ຖອດອອກແລະທາງເລືອກບັນທຶກອີເມວ, ສະນັ້ນການຊ່ວຍຫລຸດຜ່ອນການບໍລິຫານຂອງລະບົບຕ່າງໆທີ່ສ້າງແຟ້ມທ່ອນ ຈຳ ນວນຫລາຍ.

    Logrotate ເຮັດວຽກປະ ຈຳ ວັນເປັນວຽກ cron (/etc/cron.daily/logrotate) ແລະອ່ານການຕັ້ງຄ່າຂອງມັນຈາກ /etc/logrotate.conf ແລະຈາກແຟ້ມທີ່ຕັ້ງຢູ່ໃນ /etc/logrotate.d, ຖ້າມີ.

    ເຊັ່ນດຽວກັນກັບກໍລະນີຂອງ rsyslog, ເຖິງແມ່ນວ່າທ່ານສາມາດປະກອບມີການຕັ້ງຄ່າ ສຳ ລັບການບໍລິການສະເພາະໃນເອກະສານຫຼັກ, ການສ້າງເອກະສານການຕັ້ງຄ່າແຍກຕ່າງຫາກ ສຳ ລັບແຕ່ລະອັນຈະຊ່ວຍຈັດການການຕັ້ງຄ່າຂອງທ່ານໃຫ້ດີຂື້ນ.

    ເບິ່ງທີ່ logrotate.conf ທຳ ມະດາ:

    ໃນຕົວຢ່າງຂ້າງເທິງ, logrotate ຈະປະຕິບັດການກະ ທຳ ດັ່ງຕໍ່ໄປນີ້ ສຳ ລັບ/var/loh/wtmp: ພະຍາຍາມທີ່ຈະ ໝຸນ ພຽງແຕ່ເດືອນລະຄັ້ງ, ແຕ່ວ່າຖ້າເອກະສານມີຂະ ໜາດ ຢ່າງ ໜ້ອຍ 1 MB, ແລ້ວສ້າງແຟ້ມ log log ໃໝ່ ທີ່ມີການ ກຳ ນົດສິດ ເຖິງ 0664 ແລະຄວາມເປັນເຈົ້າຂອງໃຫ້ກັບຜູ້ໃຊ້ຮາກແລະກຸ່ມ utmp. ຕໍ່ໄປ, ພຽງແຕ່ເກັບຮັກສາເອກະສານເກັບໄວ້ທີ່ເກັບໄວ້ ໜຶ່ງ ດຽວ, ດັ່ງທີ່ໄດ້ລະບຸໄວ້ໂດຍ ຄຳ ແນະ ນຳ ກ່ຽວກັບການຫມຸນ:

    ຕອນນີ້ໃຫ້ພິຈາລະນາຕົວຢ່າງອື່ນທີ່ພົບໃນ /etc/logrotate.d/httpd:

    ທ່ານສາມາດອ່ານເພີ່ມເຕີມກ່ຽວກັບການຕັ້ງຄ່າ ສຳ ລັບ logrotate ໃນ ໜ້າ man ຂອງມັນ (man logrotate.conf). ທັງສອງເອກະສານໄດ້ສະ ໜອງ ພ້ອມກັບບົດຄວາມນີ້ເປັນຮູບແບບ PDF ເພື່ອຄວາມສະດວກໃນການອ່ານຂອງທ່ານ.

    ໃນຖານະນັກວິສະວະກອນລະບົບ, ມັນຈະເປັນການດີທີ່ທ່ານຈະຕັດສິນໃຈວ່າຈະເກັບຂໍ້ມູນບັນທຶກດົນປານໃດແລະໃນຮູບແບບໃດ, ຂື້ນກັບວ່າທ່ານມີ/var ຢູ່ໃນສ່ວນແບ່ງ/ປະລິມານທີ່ມີເຫດຜົນ. ຖ້າບໍ່ດັ່ງນັ້ນທ່ານກໍ່ຕ້ອງການທີ່ຈະພິຈາລະນາລຶບບັນທຶກເກົ່າເພື່ອປະຫຍັດພື້ນທີ່ເກັບຂໍ້ມູນ. ໃນທາງກົງກັນຂ້າມ, ທ່ານອາດຈະຖືກບັງຄັບໃຫ້ເກັບຮັກສາທ່ອນຫຼາຍໆທ່ອນ ສຳ ລັບການກວດສອບຄວາມປອດໄພໃນອະນາຄົດຕາມນະໂຍບາຍພາຍໃນຂອງບໍລິສັດຫຼືລູກຄ້າຂອງທ່ານ.

    ແນ່ນອນການກວດກາບັນທຶກໄມ້ (ເຖິງແມ່ນວ່າຈະໄດ້ຮັບຄວາມຊ່ວຍເຫລືອຈາກເຄື່ອງມືເຊັ່ນ grep ແລະການສະແດງອອກແບບປົກກະຕິ) ກໍ່ສາມາດກາຍເປັນວຽກທີ່ ໜ້າ ເບື່ອຫນ່າຍຫຼາຍ. ດ້ວຍເຫດຜົນນັ້ນ, rsyslog ຊ່ວຍໃຫ້ພວກເຮົາສົ່ງອອກພວກມັນເຂົ້າໃນຖານຂໍ້ມູນ (OTD RDBMS ທີ່ສະ ໜັບ ສະ ໜູນ ລວມມີ MySQL, MariaDB, PostgreSQL, ແລະ Oracle).

    ພາກສ່ວນຂອງ ຄຳ ແນະ ນຳ ນີ້ສົມມຸດວ່າທ່ານໄດ້ຕິດຕັ້ງ serverDD server ແລະລູກຄ້າຢູ່ໃນຫ້ອງ RHEL 7 ດຽວກັນທີ່ບັນທຶກການຈັດການບັນທຶກ:

    # yum update && yum install mariadb mariadb-server mariadb-client rsyslog-mysql
    # systemctl enable mariadb && systemctl start mariadb
    

    ຫຼັງຈາກນັ້ນ, ໃຊ້ເຄື່ອງມື mysql_secure_installation ເພື່ອ ກຳ ນົດລະຫັດລັບ ສຳ ລັບຜູ້ໃຊ້ຮາກແລະການພິຈາລະນາຄວາມປອດໄພອື່ນໆ:

    ໝາຍ ເຫດ: ຖ້າທ່ານບໍ່ຕ້ອງການໃຊ້ຜູ້ໃຊ້ຮາກຂອງ MariaDB ໃສ່ຂໍ້ຄວາມບັນທຶກເຂົ້າໃນຖານຂໍ້ມູນ, ທ່ານສາມາດ ກຳ ນົດບັນຊີຜູ້ໃຊ້ອື່ນເພື່ອເຮັດ. ການອະທິບາຍວິທີການເຮັດນັ້ນແມ່ນບໍ່ເກີນຂອບເຂດຂອງການສອນນີ້ແຕ່ຖືກອະທິບາຍຢ່າງລະອຽດໃນຖານຄວາມຮູ້ຂອງ MariaDB. ໃນບົດແນະ ນຳ ນີ້ພວກເຮົາຈະ ນຳ ໃຊ້ບັນຊີຮາກເພື່ອຄວາມລຽບງ່າຍ.

    ຕໍ່ໄປ, ດາວໂຫລດ script createDB.sql ຈາກ GitHub ແລະ ນຳ ເຂົ້າມັນເຂົ້າໃນ server ຂອງຖານຂໍ້ມູນຂອງທ່ານ:

    # mysql -u root -p < createDB.sql
    

    ສຸດທ້າຍ, ເພີ່ມສາຍຕໍ່ໄປນີ້ໃສ່ /etc/rsyslog.conf:

    $ModLoad ommysql
    $ActionOmmysqlServerPort 3306
    *.* :ommysql:localhost,Syslog,root,YourPasswordHere
    

    ເລີ່ມຕົ້ນ rsyslog ແລະຖານຂໍ້ມູນ server:

    # systemctl restart rsyslog 
    # systemctl restart mariadb
    

    ຕອນນີ້ປະຕິບັດວຽກງານບາງຢ່າງທີ່ຈະດັດແປງບັນທຶກ (ເຊັ່ນການຢຸດແລະເລີ່ມຕົ້ນການບໍລິການ, ຍົກຕົວຢ່າງ), ຫຼັງຈາກນັ້ນເຂົ້າສູ່ລະບົບ DB server ຂອງທ່ານແລະໃຊ້ ຄຳ ສັ່ງ SQL ມາດຕະຖານເພື່ອສະແດງແລະຄົ້ນຫາໃນບັນທຶກ:

    USE Syslog;
    SELECT ReceivedAt, Message FROM SystemEvents;
    

    ບົດສະຫຼຸບ

    ໃນບົດຂຽນນີ້ພວກເຮົາໄດ້ອະທິບາຍວິທີການຈັດຕັ້ງການຕັດໄມ້ຂອງລະບົບ, ວິທີການຫມຸນບັນທຶກແລະວິທີການປ່ຽນເສັ້ນທາງຂໍ້ມູນໄປຫາຖານຂໍ້ມູນເພື່ອຄົ້ນຫາງ່າຍຂື້ນ ພວກເຮົາຫວັງວ່າທັກສະເຫຼົ່ານີ້ຈະເປັນປະໂຫຍດເມື່ອທ່ານກຽມຕົວສອບເສັງ RHCE ແລະໃນ ໜ້າ ທີ່ຮັບຜິດຊອບປະ ຈຳ ວັນຂອງທ່ານເຊັ່ນກັນ.

    ດັ່ງທີ່ເຄີຍເວົ້າ, ຄຳ ຕິຊົມຂອງທ່ານແມ່ນຫຼາຍກວ່າຍິນດີຕ້ອນຮັບ. ຮູ້ສຶກວ່າສາມາດໃຊ້ແບບຟອມລຸ່ມນີ້ເພື່ອເຂົ້າຫາພວກເຮົາ.