gboolean http_dd_init(LogPipe *s) { HTTPDestinationDriver *self = (HTTPDestinationDriver *)s; GlobalConfig *cfg = log_pipe_get_config(s); if (self->load_balancer->num_targets == 0) http_load_balancer_add_target(self->load_balancer, HTTP_DEFAULT_URL); if (self->load_balancer->num_targets > 1 && s->persist_name == NULL) { msg_warning("WARNING: your http() driver instance uses multiple urls without persist-name(). " "It is recommended that you set persist-name() in this case as syslog-ng will be " "using the first URL in urls() to register persistent data, such as the disk queue " "name, which might change", evt_tag_str("url", self->load_balancer->targets[0].url)); } /* we need to set up url before we call the inherited init method, so our stats key is correct */ self->url = self->load_balancer->targets[0].url; if (!_setup_auth_header(s)) return FALSE; if (!log_threaded_dest_driver_init_method(s)) return FALSE; log_template_options_init(&self->template_options, cfg); http_load_balancer_set_recovery_timeout(self->load_balancer, self->super.time_reopen); return log_threaded_dest_driver_start_workers(&self->super); }
static gboolean afamqp_dd_init(LogPipe *s) { AMQPDestDriver *self = (AMQPDestDriver *) s; GlobalConfig *cfg = log_pipe_get_config(s); if (!log_dest_driver_init_method(s)) return FALSE; if (!self->user || !self->password) { msg_error("Error initializing AMQP destination: username and password MUST be set!", evt_tag_str("driver", self->super.super.super.id), NULL); return FALSE; } log_template_options_init(&self->template_options, cfg); msg_verbose("Initializing AMQP destination", evt_tag_str("vhost", self->vhost), evt_tag_str("host", self->host), evt_tag_int("port", self->port), evt_tag_str("exchange", self->exchange), evt_tag_str("exchange_type", self->exchange_type), NULL); return log_threaded_dest_driver_start(s); }
static gboolean afmongodb_dd_init(LogPipe *s) { MongoDBDestDriver *self = (MongoDBDestDriver *)s; GlobalConfig *cfg = log_pipe_get_config(s); ValuePairsTransformSet *vpts; if (!log_dest_driver_init_method(s)) return FALSE; log_template_options_init(&self->template_options, cfg); /* Always replace a leading dot with an underscore. */ vpts = value_pairs_transform_set_new(".*"); value_pairs_transform_set_add_func(vpts, value_pairs_new_transform_replace_prefix(".", "_")); value_pairs_add_transforms(self->vp, vpts); if (self->port != MONGO_CONN_LOCAL) { if (self->address) { gchar *srv = g_strdup_printf ("%s:%d", self->address, (self->port) ? self->port : 27017); self->servers = g_list_prepend (self->servers, srv); g_free (self->address); } if (!self->servers) afmongodb_dd_set_servers((LogDriver *)self, g_list_append (NULL, g_strdup ("127.0.0.1:27017"))); self->address = NULL; self->port = 27017; if (!mongo_util_parse_addr(g_list_nth_data(self->servers, 0), &self->address, &self->port)) { msg_error("Cannot parse the primary host", evt_tag_str("primary", g_list_nth_data(self->servers, 0)), NULL); return FALSE; } } if (self->port == MONGO_CONN_LOCAL) msg_verbose("Initializing MongoDB destination", evt_tag_str("address", self->address), evt_tag_str("database", self->db), evt_tag_str("collection", self->coll), NULL); else msg_verbose("Initializing MongoDB destination", evt_tag_str("address", self->address), evt_tag_int("port", self->port), evt_tag_str("database", self->db), evt_tag_str("collection", self->coll), NULL); return log_threaded_dest_driver_start(s); }
gboolean cfg_init(GlobalConfig *cfg) { gint regerr; if (cfg->file_template_name && !(cfg->file_template = cfg_tree_lookup_template(&cfg->tree, cfg->file_template_name))) msg_error("Error resolving file template", evt_tag_str("name", cfg->file_template_name), NULL); if (cfg->proto_template_name && !(cfg->proto_template = cfg_tree_lookup_template(&cfg->tree, cfg->proto_template_name))) msg_error("Error resolving protocol template", evt_tag_str("name", cfg->proto_template_name), NULL); if (cfg->bad_hostname_re) { if ((regerr = regcomp(&cfg->bad_hostname, cfg->bad_hostname_re, REG_NOSUB | REG_EXTENDED)) != 0) { gchar buf[256]; regerror(regerr, &cfg->bad_hostname, buf, sizeof(buf)); msg_error("Error compiling bad_hostname regexp", evt_tag_str("error", buf), NULL); } else { cfg->bad_hostname_compiled = TRUE; } } if (!rcptid_init(cfg->state, cfg->use_uniqid)) return FALSE; stats_reinit(&cfg->stats_options); log_tags_reinit_stats(cfg); dns_caching_update_options(&cfg->dns_cache_options); hostname_reinit(cfg->custom_domain); host_resolve_options_init(&cfg->host_resolve_options, cfg); log_template_options_init(&cfg->template_options, cfg); if (!cfg_init_modules(cfg)) return FALSE; return cfg_tree_start(&cfg->tree); }
gboolean http_dd_init(LogPipe *s) { HTTPDestinationDriver *self = (HTTPDestinationDriver *)s; GlobalConfig *cfg = log_pipe_get_config(s); if (!log_dest_driver_init_method(s)) return FALSE; log_template_options_init(&self->template_options, cfg); if (!self->url) { self->url = g_strdup(HTTP_DEFAULT_URL); } return log_threaded_dest_driver_start(s); }
static gboolean redis_dd_init(LogPipe *s) { RedisDriver *self = (RedisDriver *)s; GlobalConfig *cfg = log_pipe_get_config(s); if (!log_dest_driver_init_method(s)) return FALSE; log_template_options_init(&self->template_options, cfg); msg_verbose("Initializing Redis destination", evt_tag_str("driver", self->super.super.super.id), evt_tag_str("host", self->host), evt_tag_int("port", self->port), NULL); return log_threaded_dest_driver_start(s); }
static gboolean riemann_worker_init(LogPipe *s) { RiemannDestDriver *self = (RiemannDestDriver *)s; GlobalConfig *cfg = log_pipe_get_config(s); if (!log_dest_driver_init_method(s)) return FALSE; log_template_options_init(&self->template_options, cfg); if (!self->server) self->server = g_strdup("127.0.0.1"); if (self->port == -1) self->port = 5555; if (!self->fields.host) { self->fields.host = log_template_new(cfg, NULL); log_template_compile(self->fields.host, "${HOST}", NULL); } if (!self->fields.service) { self->fields.service = log_template_new(cfg, NULL); log_template_compile(self->fields.service, "${PROGRAM}", NULL); } _value_pairs_always_exclude_properties(self); if (self->event.batch_size_max <= 0) self->event.batch_size_max = 1; self->event.list = (riemann_event_t **)malloc (sizeof (riemann_event_t *) * self->event.batch_size_max); msg_verbose("Initializing Riemann destination", evt_tag_str("driver", self->super.super.super.id), evt_tag_str("server", self->server), evt_tag_int("port", self->port), NULL); return log_threaded_dest_driver_start(s); }
static gboolean afamqp_dd_init(LogPipe *s) { AMQPDestDriver *self = (AMQPDestDriver *) s; GlobalConfig *cfg = log_pipe_get_config(s); if (!log_dest_driver_init_method(s)) return FALSE; log_template_options_init(&self->template_options, cfg); msg_verbose("Initializing AMQP destination", evt_tag_str("vhost", self->vhost), evt_tag_str("host", self->host), evt_tag_int("port", self->port), evt_tag_str("exchange", self->exchange), evt_tag_str("exchange_type", self->exchange_type), NULL); return log_threaded_dest_driver_start(s); }
void test_value_pairs_walk_prefix_data(GlobalConfig *cfg) { ValuePairs *vp; LogMessage *msg; const char* value = "value"; log_template_options_init(&template_options, cfg); msg_format_options_init(&parse_options, cfg); vp = value_pairs_new(); value_pairs_add_glob_pattern(vp, "root.*", TRUE); msg = log_msg_new("test", 4, NULL, &parse_options); log_msg_set_value_by_name(msg, "root.test.alma", value, strlen(value)); log_msg_set_value_by_name(msg, "root.test.korte", value, strlen(value)); value_pairs_walk(vp, test_vp_obj_start, test_vp_value, test_vp_obj_stop, msg, 0, LTZ_LOCAL, &template_options, NULL); value_pairs_unref(vp); log_msg_unref(msg); };
static gboolean afstomp_dd_init(LogPipe *s) { STOMPDestDriver *self = (STOMPDestDriver *) s; GlobalConfig *cfg = log_pipe_get_config(s); if (!log_dest_driver_init_method(s)) return FALSE; log_template_options_init(&self->template_options, cfg); self->conn = NULL; msg_verbose("Initializing STOMP destination", evt_tag_str("host", self->host), evt_tag_int("port", self->port), evt_tag_str("destination", self->destination), NULL); return log_threaded_dest_driver_start(s); }
static gboolean perl_worker_init(LogPipe *d) { PerlDestDriver *self = (PerlDestDriver *)d; GlobalConfig *cfg = log_pipe_get_config(d); if (!self->filename) { msg_error("Error initializing Perl destination: no script specified!", evt_tag_str("driver", self->super.super.super.id), NULL); return FALSE; } if (!log_dest_driver_init_method(d)) return FALSE; log_template_options_init(&self->template_options, cfg); return log_threaded_dest_driver_start(d); }
static gboolean afmongodb_dd_init(LogPipe *s) { MongoDBDestDriver *self = (MongoDBDestDriver *)s; GlobalConfig *cfg = log_pipe_get_config(s); if (!log_dest_driver_init_method(s)) return FALSE; log_template_options_init(&self->template_options, cfg); if (!afmongodb_dd_check_auth_options(self)) return FALSE; afmongodb_dd_init_value_pairs_dot_to_underscore_transformation(self); if (self->port != MONGO_CONN_LOCAL) { if (self->address) { gchar *srv = g_strdup_printf ("%s:%d", self->address, (self->port) ? self->port : 27017); self->servers = g_list_prepend (self->servers, srv); g_free (self->address); } if (self->servers) { GList *l; for (l=self->servers; l; l = g_list_next(l)) { gchar *host = NULL; gint port = 27017; if (!mongo_util_parse_addr(l->data, &host, &port)) { msg_warning("Cannot parse MongoDB server address, ignoring", evt_tag_str("address", l->data), evt_tag_str("driver", self->super.super.super.id), NULL); continue; } mongo_sync_conn_recovery_cache_seed_add (self->recovery_cache, host, port); msg_verbose("Added MongoDB server seed", evt_tag_str("host", host), evt_tag_int("port", port), evt_tag_str("driver", self->super.super.super.id), NULL); g_free(host); } } else { afmongodb_dd_set_servers((LogDriver *)self, g_list_append (NULL, g_strdup ("127.0.0.1:27017"))); mongo_sync_conn_recovery_cache_seed_add (self->recovery_cache, "127.0.0.1", 27017); } self->address = NULL; self->port = 27017; if (!mongo_util_parse_addr(g_list_nth_data(self->servers, 0), &self->address, &self->port)) { msg_error("Cannot parse the primary host", evt_tag_str("primary", g_list_nth_data(self->servers, 0)), evt_tag_str("driver", self->super.super.super.id), NULL); return FALSE; } } else { mongo_sync_conn_recovery_cache_seed_add (self->recovery_cache, self->address, self->port); } if (self->port == MONGO_CONN_LOCAL) msg_verbose("Initializing MongoDB destination", evt_tag_str("address", self->address), evt_tag_str("database", self->db), evt_tag_str("collection", self->coll), evt_tag_str("driver", self->super.super.super.id), NULL); else msg_verbose("Initializing MongoDB destination", evt_tag_str("address", self->address), evt_tag_int("port", self->port), evt_tag_str("database", self->db), evt_tag_str("collection", self->coll), evt_tag_str("driver", self->super.super.super.id), NULL); return log_threaded_dest_driver_start(s); }