>P"ddlZddlZddlZddlZddlZddlZddlZddlmZddl m Z m Z ddl m Z m Z mZmZddlmZmZddlmZddlmZddlmZmZdd lmZdd lmZdd lmZm Z dd Z!dZ"dZ#dZ$dZ%dZ&dZ'e(dkr e'dSdS)N)ArgumentParser)datetime timedelta)WMT_SCANNER_SERVICE WMT_LOCK_FILE CONFIG_PATHWMT_DB)generate_report report_dict)setup_database)set_service_state)NotifierSupportedNotificationTypes)cfg)CloudlinuxLicenseLib)send_report_to_clickhouse manage_cronssuccessc |tjd}||ttj|ddt j|dS)N)result timestampT)indent sort_keys)timeupdateprintjsondumpssysexit)r exit_codeextramessages /builddir/build/BUILDROOT/cl-web-monitoring-tool-3.2.1-1.el9.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/wmt/wmt-api.pyprint_result_and_exitr&ssY[[G NN5 $*W# % % %&&&HYcdtjtsdSt t5} t j|t jt j zn#t$rYddddSwxYw dddn #1swxYwYdS)Nstoppedstarted) ospathexistsropenfcntlflockfilenoLOCK_EXLOCK_NBOSError)fs r% get_statusr6*s 7>>- ( (y m    K EMEM$A B B B B      C 9s4B%>A<;B%< BB%BB%%B),B)ctjtsdSt t5} t j|t jt j zt j|t j  ddddS#t$r)| }YnwxYw dddn #1swxYwY|sdS t|}n#t$rYdSwxYwt!j|r|ndSN)r+r,r-rr.r/r0r1LOCK_SHr3LOCK_UNr4readstripint ValueErrorpsutil pid_exists)r5datapids r%get_scanner_pidrC6s 7>>- ( (t m    K EMEM$A B B B K EM 2 2 2# $ $ $6688>>##DDD $ $ t$ii tt#C(( 233d2sFC=>B:;2C=:0C-*C=,C--C==DD D D+*D+c(tjSr8)rto_dictr'r% get_configrGTs ;==r'ctj|}t}|tj|t j|Sr8)rmodifyrCr+killsignalSIGUSR1)new_json_configconfig scanner_pids r% change_configrPXs; Z ( (F!##K  V^,,, Mr'c  t}|dd|dt|dd|dd|dd|d d|d d|d d|}|jrqt }t j|d <|d r-d |d }||d <t|dS|j r5t|j }t j|d <t|dS|j rttjt$}t'jt+dz t'j}}t-t/|||}t|t'jddS|jrtd}t'jt+dz t'j}}t7t-t/|||tdS|jrHt;dk}|rt jjrt? stddt}t'jt+dz t'j}}t/|||}tCt j"t j#|tHj%&tdStdtNdtPdddS|j)r t;} t| dS|j*r5tWtNdtYdtdS|j-r5tWtNdtYd tdS|.dS)!Nz --config-get store_true)actionz--config-change)typez --report-getz--send-clickhousez --send-emailz--statusz--startz--stopdefault_report_email ignore_list,)rN)readonly)daysz%Y-%m-%d %H:%M)reportdateTr*ziCloudLinux license is expired. You may buy new license here: https://lp.cloudlinux.com/cloudlinux-os-solo)r") target_email from_emailr[notification_typez7Summary report email will not be sent! Please, ensure "z<" service is running and alert_notifications is enabled in "")statusstartstopF)/r add_argumentstr parse_args config_getrGrrUgetjoinr& config_changerP report_getr r+r,r-r rnowrr r strftimesend_clickhouser\r send_emailr6summary_notification_enabledrget_license_statusrr]r^rREPORTnotifyrrrarbr rrc print_help) argsoptsrNtmp_valenginerbendr[is_scanner_runningras r%runr{`s   Dn\:::'c222n\:::),???n\:::j666i 555h|444 ??  D :),)A%& ::m $ $ ,hhvzz-8899G$+F= !V,,,,,, 1t122),)A%&V,,,,,, ,)?)?@@@\^^iQ&7&7&77s_VUC@@AAV(,..2I2IJZ2[2[\\\\\\ &...\^^((**YA->->->> @S@S@U@Us!+ofeS.Q.Q"R"RSSS  '\\Y6  e#'"F e'))<<>> 3%'s013333$%%F!,,..1B1B1BBHLNNDWDWDYDY3E$VUC88F  ->1K1R   fhhh ! # # # # # !#W5H#W#WHS#W#W#Wbc e e e e e e  V,,,,,,  -w777D!!!! -v666E"""" r'c tdS#t$r*}tddt|Yd}~dSd}~wwxYw)NerrorrY)rr"context)r{ Exceptionr&re)es r%mainrseK  KKKW3q66JJJJJJJJJJKs AAA__main__)rr))rr/r+rr r?rKargparserrrwmt.common.constrrrr wmt.common.reportr r wmt.dbr wmt.common.servicer wmt.common.notificationrr wmt.commonr cllicenserwmt.common.utilsrrr&r6rCrGrPr{r__name__rFr'r%rs ######((((((((;:::::::!!!!!!000000HHHHHHHH******DDDDDDDD       333<JJJZKKK zDFFFFFr'