%PDF- %PDF-
Direktori : /backups/router/usr/local/share/syslog-ng/include/scl/google/ |
Current File : //backups/router/usr/local/share/syslog-ng/include/scl/google/google-pubsub.conf |
############################################################################# # Copyright (c) 2023 Attila Szakacs # # This program is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License version 2 as published # by the Free Software Foundation, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # As an additional exemption you are allowed to compile & link against the # OpenSSL libraries as published by the OpenSSL project. See the file # COPYING for details. # ############################################################################# @requires json-plugin block destination google_pubsub( project() topic() auth() service_endpoint("https://pubsub.googleapis.com") data("${MESSAGE}") attributes("--scope rfc5424,all-nv-pairs --exclude MESSAGE") batch_lines(1000) batch_bytes(10MB) batch_timeout(5000) workers(8) timeout(10) use_system_cert_store(yes) ...) { @requires http "The google-pubsub() driver depends on the syslog-ng http module, please install the syslog-ng-mod-http (Debian & derivatives) or the syslog-ng-http (RHEL & co) package" @requires cloud_auth "The google-pubsub() driver depends on the syslog-ng Cloud Auth module, please install the syslog-ng-mod-cloud-auth (Debian & derivatives) or the syslog-ng-cloud-auth (RHEL & co) package" http( url("`service_endpoint`/v1/projects/`project`/topics/`topic`:publish") method("POST") headers("Content-Type: application/json") cloud-auth( gcp( service-account(audience("https://pubsub.googleapis.com/google.pubsub.v1.Publisher")) `auth` ) ) body( '$(format-json --omit-empty-values data=$(base64-encode `data`) attributes=literal($(format-flat-json `attributes`)))' ) body_prefix('{"messages":[') body_suffix(']}') delimiter(',') batch-lines(`batch_lines`) batch-bytes(`batch_bytes`) batch-timeout(`batch_timeout`) workers(`workers`) timeout(`timeout`) use_system_cert_store(`use_system_cert_store`) `__VARARGS__` ); };