ÔõÑùÔÚLinuxÉÏÉèÖÃʵʱÈÕÖ¾¼à¿Ø
ÔõÑùÔÚlinuxÉÏÉèÖÃʵʱÈÕÖ¾¼à¿Ø
ÕªÒª£ºÔÚLinuxϵͳÖУ¬ÊµÊ±ÈÕÖ¾¼à¿ØÊÇÒ»¸öºÜÊÇÓÐÓõŤ¾ß£¬Ëü¿ÉÒÔ×ÊÖúÎÒÃÇʵʱ»ñȡϵͳÈÕÖ¾ÒÔ¼°Ìض¨Ó¦ÓóÌÐòµÄÈÕÖ¾ÐÅÏ¢¡£±¾ÎĽ«ÏÈÈÝÔõÑùÔÚLinuxϵͳÉÏÉèÖÃʵʱÈÕÖ¾¼à¿Ø£¬²¢ÌṩÏìÓ¦µÄ´úÂëʾÀý¡£
Ò»¡¢ÏÈÈÝ
ʵʱÈÕÖ¾¼à¿ØÊÇÒ»ÖÖ¿ÉÒÔʵʱÉó²éϵͳÈÕÖ¾ÐÅÏ¢µÄ¹¤¾ß£¬Ëü¿ÉÒÔ×ÊÖúÎÒÃÇ¿ìËÙ·¢Ã÷ϵͳ»òÓ¦ÓóÌÐòµÄÒì³£ÐÐΪ¡£ÔÚLinuxϵͳÖУ¬ÎÒÃÇ¿ÉÒÔͨ¹ýһЩ¹¤¾ßºÍÏÂÁîÀ´ÊµÏÖʵʱÈÕÖ¾¼à¿Ø£¬ºÃ±ÈtailÏÂÁî¡¢journalctl¹¤¾ßµÈ¡£
¶þ¡¢Ê¹ÓÃtailÏÂÁîʵÏÖʵʱÈÕÖ¾¼à¿Ø
tailÏÂÁîÊÇLinuxϵͳÖг£ÓõÄÒ»¸öÏÂÁËü¿ÉÒÔÓÃÀ´ÊµÊ±Éó²éÎļþµÄ¸üÐÂÄÚÈÝ¡£ÎÒÃÇ¿ÉÒÔʹÓÃtailÏÂÁîÀ´ÊµÏÖʵʱÈÕÖ¾¼à¿Ø£¬Ïêϸ°ì·¨ÈçÏ£º
·¿ªÖնˣ¬²¢ÊäÈëÒÔÏÂÏÂÁ
tail -f /var/log/syslog
µÇ¼ºó¸´ÖÆ
ÉÏÊöÏÂÁ»áʵʱÊä³öϵͳÈÕÖ¾Îļþ/syslogµÄ×îÐÂÄÚÈÝ¡£
ÈôÊÇÎÒÃÇÏëҪʵʱÉó²éÌض¨Ó¦ÓóÌÐòµÄÈÕÖ¾ÐÅÏ¢£¬¿ÉÒÔ½«ÏÂÁîÖеÄÈÕÖ¾Îļþ·¾¶¸ÄΪÏìÓ¦µÄÓ¦ÓóÌÐòÈÕÖ¾Îļþ·¾¶¡£
Èý¡¢Ê¹ÓÃjournalctlÏÂÁîʵÏÖʵʱÈÕÖ¾¼à¿Ø
journalctlÏÂÁîÊÇLinuxϵͳÖÐÓÃÓÚÅÌÎʺÍÖÎÀíϵͳÈÕÖ¾ÐÅÏ¢µÄ¹¤¾ß¡£ÎÒÃÇ¿ÉÒÔʹÓÃjournalctlÏÂÁîÀ´ÊµÏÖʵʱÈÕÖ¾¼à¿Ø£¬Ïêϸ°ì·¨ÈçÏ£º
·¿ªÖնˣ¬²¢ÊäÈëÒÔÏÂÏÂÁ
journalctl -f
µÇ¼ºó¸´ÖÆ
ÉÏÊöÏÂÁ»áʵʱÊä³öϵͳµÄÈÕÖ¾ÐÅÏ¢¡£
ÈôÊÇÎÒÃÇÏëҪʵʱÉó²éÌض¨Ó¦ÓóÌÐòµÄÈÕÖ¾ÐÅÏ¢£¬¿ÉÒÔÔÚÏÂÁîÖмÓÈëÏìÓ¦µÄ¹ýÂËÌõ¼þ£¬ºÃ±ÈÓ¦ÓóÌÐòµÄÃû³Æ£º
journalctl -f -u application.service
µÇ¼ºó¸´ÖÆ
ÉÏÊöÏÂÁ»áʵʱÊä³öÌض¨Ó¦ÓóÌÐòµÄÈÕÖ¾ÐÅÏ¢¡£
ËÄ¡¢¸½¼Ó¹¦Ð§£ºÊµÊ±¹ýÂ˺ÍÉúÑÄÈÕÖ¾
³ýÁËʵʱÉó²éÈÕÖ¾£¬ÎÒÃÇ»¹¿ÉÒÔ¶ÔÈÕÖ¾¾ÙÐйýÂ˲¢ÉúÑĵ½Ö¸¶¨ÎļþÖС£ÏÂÃæÊÇÒ»¸öʾÀý´úÂ룺
import subprocess def monitor_log(): log_file_path = "/var/log/syslog" # ÈÕÖ¾Îļþ·¾¶ output_file_path = "/tmp/syslog_filtered.log" # ¹ýÂ˺óµÄÈÕÖ¾ÎļþÉúÑÄ·¾¶ subprocess.Popen( ["tail", "-f", log_file_path], stdout=subprocess.PIPE, stderr=subprocess.PIPE ) while True: line = input() # ´ÓÖÕ¶ËÊäÈë¶ÁȡÿһÐÐÈÕÖ¾ if "error" in line.lower(): # ¹ýÂË°üÀ¨Òªº¦×Ö"error"µÄÈÕÖ¾ with open(output_file_path, "a") as f: f.write(line + " ") # ½«¹ýÂ˺óµÄÈÕ־дÈëÖ¸¶¨Îļþ if __name__ == "__main__": monitor_log()
µÇ¼ºó¸´ÖÆ
ÉÏÊö´úÂëʹÓÃPythonµÄsubprocessÄ£¿éŲÓÃtailÏÂÁîʵÏÖʵʱÈÕÖ¾¼à¿Ø£¬²¢Í¨¹ýÊäÈëÖ¸ÁîʵÏÖ¶ÔÈÕÖ¾¾ÙÐйýÂ˲¢ÉúÑĵ½Ö¸¶¨ÎļþÖС£
½áÂÛ£º
ʵʱÈÕÖ¾¼à¿ØÔÚLinuxϵͳÖкÜÊÇÓÐÓã¬Ëü¿ÉÒÔ×ÊÖúÎÒÃǼ´Ê±·¢Ã÷ϵͳ»òÓ¦ÓóÌÐòµÄÒì³£ÐÐΪ¡£Í¨¹ýʹÓÃtailÏÂÁî»òjournalctlÏÂÁÎÒÃÇ¿ÉÒÔʵÏÖ¶ÔϵͳÈÕÖ¾»òÌض¨Ó¦ÓóÌÐòÈÕÖ¾µÄʵʱ¼à¿Ø¡£Í¬Ê±£¬ÎÒÃÇ¿ÉÒÔͨ¹ý¶ÔÈÕÖ¾¾ÙÐйýÂ˺ÍÉúÑÄÀ´½øÒ»²½Ìá¸ßÈÕÖ¾¼à¿ØµÄЧ¹û¡£Ï£Íû±¾ÎÄËùÌṩµÄ´úÂëʾÀý¶ÔÄúµÄʵʱÈÕÖ¾¼à¿ØÓÐËù×ÊÖú¡£
ÒÔÉϾÍÊÇÔõÑùÔÚLinuxÉÏÉèÖÃʵʱÈÕÖ¾¼à¿ØµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡