ԍDet2ddlZddlZddlZddlZddlZddlZddlZddlZddlm Z ddl m Z m Z ddl m Z mZmZmZddlmZmZddlmZddlmZddlmZmZdd lmZdd lmZdd lm Z m!Z!dd Z"ddZ#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.3-1.el9.cloudlinux.x86_64/opt/cloudlinux/venv/lib/python3.11/site-packages/wmt/wmt-api.pyprint_result_and_exitr&ssY[[G NN5 $*W# % % %&&&HYc dtj} tj}n#t$rt |}YnwxYwt jdt jt jt jt j d|d|d|d|t j dS)Nzwmt-apizaction=z uid=z user= ) osgetuidgetloginOSErrorstrsyslogopenlogLOG_PIDLOG_AUTHLOG_INFOcloselog)actiondetailsuidusers r% _audit_logr:+s )++C{}} 3xx N9fnfo>>> M&/EVEE#EETEEGEEGGG Os)AAcdtjtsdSt t5} t j|t jt j zn#t$rYddddSwxYw dddn #1swxYwYdS)Nstoppedstarted) r+pathexistsropenfcntlflockfilenoLOCK_EXLOCK_NBr.)fs r% get_statusrG7s 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@rArBrCLOCK_SHrELOCK_UNr.readstripint ValueErrorpsutil pid_exists)rFdatapids r%get_scanner_pidrTCs 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(tjSrI)rto_dictr'r% get_configrXas ;==r'ctjtj|fdD}tddt j|t }|tj|tj S)Nci|]Z}||k.|||d[S))oldnew)get).0kconfig old_configs r% z!change_config..hsfFFF&**Q--:>>!3D3D"D"D*..++FJJqMMBB"D"D"Dr'z config-changezchanged=) rrVmodifyr:rrrTr+killsignalSIGUSR1)new_json_configchanged scanner_pidr`ras @@r% change_configrjesJ Z ( (FFFFFFFFFG @4:g+>+> @ @AAA!##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/|||t9dtdS|jrft=dk}|r-t jjrtA!stddt}t'jt+dz t'j}}t/|||}tEt j#t j$|tJj&'t9ddt j#tdStdtPdtRdddS|j*r t=} t| dS|j+rMtYtPd!t[d t9d"d#tPtdS|j.rMtYtPd$t[d% t9d&d#tPtdS|/dS)'Nz --config-get store_true)r6z--config-change)typez --report-getz--send-clickhousez --send-emailz--statusz--startz--stopdefault_report_email ignore_list,)r`)readonly)daysz%Y-%m-%d %H:%M)reportdateTzsend-clickhouser=ziCloudLinux license is expired. You may buy new license here: https://lp.cloudlinux.com/cloudlinux-os-solo)r") target_email from_emailrtnotification_typez send-emailztarget=z7Summary report email will not be sent! Please, ensure "z<" service is running and alert_notifications is enabled in "")statusstartz service-startzservice=stopFz service-stop)0r add_argumentr/ parse_args config_getrXrrnr]joinr& config_changerj report_getr r+r>r?r rnowrr r strftimesend_clickhouserurr: send_emailrGsummary_notification_enabledrget_license_statusrrvrwrREPORTnotifyrrrzr{r rr| print_help) argsoptsr`tmp_valenginer{endrtis_scanner_runningrzs r%runrqs6   Dn\:::'c222n\:::),???n\:::j666i 555h|444 ??  D @),)A%& ::m $ $ ,hhvzz-8899G$+F= !V,,,,,, 7t122),)A%&V,,,,,, 2)?)?@@@\^^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 |%As/?%A%A B B B ! # # # # # !#W5H#W#WHS#W#W#Wbc e e e e e e V,,,,,,   -w777D!!!!?$D/B$D$DEEE -v666E"""">#C.A#C#CDDD r'c tdS#t$r*}tddt|Yd}~dSd}~wwxYw)Nerrorrr)rr"context)r Exceptionr&r/)es r%mainrseK  KKKW3q66JJJJJJJJJJKs AAA__main__)rr)r()+rrAr+rr r0rPreargparserrrwmt.common.constrrrr wmt.common.reportr r wmt.dbr wmt.common.servicer wmt.common.notificationrr wmt.commonr cllicenserwmt.common.utilsrrr&r:rGrTrXrjrr__name__rWr'r%rs ######((((((((;:::::::!!!!!!000000HHHHHHHH******DDDDDDDD           333<   PPPfKKK zDFFFFFr'