×ðÁú¿­Ê±¹ÙÍøµÇ¼

ÔõÑùÔÚ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ÉÏÉèÖÃʵʱÈÕÖ¾¼à¿ØµÄÏêϸÄÚÈÝ£¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí£¬°æȨÕùÒéÓë±¾Õ¾Î޹أ¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±¹ÙÍøµÇ¼ÂËÓÍ»úÍø¹Ù·½Ì¬¶È£¬Çë¶ÁÕß½ö×ö²Î¿¼ ¡£±¾ÎĽӴýתÔØ£¬×ªÔØÇë˵Ã÷À´ÓÉ ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢£¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢£¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼ʵʱÐÞÕý»òɾ³ý ¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎ壬9:30-18:30£¬½ÚãåÈÕÐÝÏ¢

QR code
ÍøÕ¾µØͼ