diff --git a/apache.cf b/apache.cf index 19f5d21..659626b 100644 --- a/apache.cf +++ b/apache.cf @@ -436,3 +436,95 @@ methods: reports: } + + +bundle agent apache_matomo +(site) +{ +vars: + "pid" string => "/var/run/matomo-logger-$(site[domain]).pid"; + "log" string => "$(apache.log_dir)/$(site[domain])-access.log"; + "siteid" string => "$(site[matomoid])"; +freebsd:: + "analyt_cmd" string => "/usr/local/bin/python3.9 /var/www/matomo/misc/log-analytics/import_logs.py"; +debian:: + "analyt_cmd" string => "/usr/bin/python3 /var/www/matomo/misc/log-analytics/import_logs.py"; +centos:: + "analyt_cmd" string => "/usr/bin/python3 /var/www/matomo/misc/log-analytics/import_logs.py"; + +matomo:: + "cmd" string => "/usr/bin/pkill -P `cat $(pid)` ; exec /bin/sh -c 'echo $$ > $(pid); /usr/bin/tail -n+1 -f $(log) | $(analyt_cmd) --token-auth=$(site[matomotoken]) --disable-bulk-tracking --idsite=$(siteid) --url=$(site[matomosite]) --exclude-path=/wp-login.php --exclude-path=/wp-json/* --recorders=1 --recorder-max-payload-size=1 --log-format-name=ncsa_extended --exclude-path=*.php --exclude-path=/wp-admin/* - > /dev/null' "; +!matomo:: + "cmd" string => ""; +any:: + "cmd_esc" string => escape ($(cmd)); + # "cmd": "$(cmd_esc)", + + "site_str" string => storejson(@(site)); +# "site_json" string => '{ +# "site" : "$(site_str)" +# }'; + + "site_json" string => '{ + "cmd": "$(cmd)", + "service": "$(apache.service_name)", + "site": $(site_str) + }'; + + "template_file" + string => "$(sys.workdir)/inputs/$(def.wmde_libdir)/templates/weblogrot.mustache"; + +methods: + "any" usebundle => install_logrot; + +files: + "$(logrot.dir)/$(site[domain])" + create => "true", + edit_defaults => backup("false"), + edit_template => "$(template_file)", + template_method => "mustache"; +# template_data => parsejson("$(site_json)"); + + matomo:: + "$(pid)" + create => "true"; + + + +classes: + "matomo" expression => isvariable("site[matomoid]"); + + +commands: + matomo:: + "/bin/sh -c " + args => "'kill -0 `cat $(pid)` && echo -start_matomo || echo +start_matomo'", + inform => "false", + module => "true"; + + +methods: + start_matomo:: + "call" usebundle => daemonize( "$(cmd)" ); + +reports: + #start_matomo:: + # "MUST START - WHY"; + + #"ESC ESC $(site_json)"; + +matomo:: + +} + +body edit_defaults backup( edit_backup ) +{ + edit_backup => "$(edit_backup)"; +} + + + + + + +