feature: TSG-21853 Refactoring TFE Kafka infrastructure
This commit is contained in:
31
common/include/kafka.h
Normal file
31
common/include/kafka.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#ifndef _KAFKA_H
|
||||
#define _KAFKA_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
enum topic_idx
|
||||
{
|
||||
TOPIC_RULE_HITS,
|
||||
TOPIC_PROXY_EVENT,
|
||||
TOPIC_FILE_STREAM,
|
||||
TOPIC_EXCH_CERT,
|
||||
|
||||
// add more topic here
|
||||
|
||||
MAX_TOPIC_NUM,
|
||||
};
|
||||
|
||||
struct kafka *kafka_create(const char *profile);
|
||||
void kafka_destroy(struct kafka *handle);
|
||||
// return 0: if success
|
||||
// return -1: if failed
|
||||
int kafka_send(struct kafka *handle, enum topic_idx idx, const char *data, int len);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,44 +0,0 @@
|
||||
#ifndef _TFE_KAFKA_LOGGER_H
|
||||
#define _TFE_KAFKA_LOGGER_H
|
||||
|
||||
#ifdef __cpluscplus
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
|
||||
#include <tfe_utils.h>
|
||||
#include <librdkafka/rdkafka.h>
|
||||
|
||||
enum kafka_topic_type
|
||||
{
|
||||
TOPIC_LOGGER,
|
||||
TOPIC_BUCKET,
|
||||
TOPIC_MC_CACHE,
|
||||
TOPIC_MAX
|
||||
};
|
||||
|
||||
typedef struct tfe_kafka_logger_s
|
||||
{
|
||||
int enable;
|
||||
int t_vsys_id;
|
||||
|
||||
unsigned int local_ip_num;
|
||||
char local_ip_str[TFE_SYMBOL_MAX];
|
||||
|
||||
char topic_name[TOPIC_MAX][TFE_STRING_MAX];
|
||||
char broker_list[TFE_STRING_MAX];
|
||||
|
||||
rd_kafka_t *kafka_handle[TOPIC_MAX];
|
||||
rd_kafka_topic_t *kafka_topic[TOPIC_MAX];
|
||||
} tfe_kafka_logger_t;
|
||||
|
||||
tfe_kafka_logger_t *tfe_kafka_logger_create(int enable, const char *nic_name, const char *brokerlist, void *local_logger);
|
||||
int tfe_logger_create_kafka_topic(tfe_kafka_logger_t *logger, const char *sasl_username, const char *sasl_passwd, const char *topic_name, int topic_id, void *local_logger);
|
||||
void tfe_kafka_logger_destroy(tfe_kafka_logger_t *logger);
|
||||
int tfe_kafka_logger_send(tfe_kafka_logger_t *logger, int topic_id, const char *data, int len);
|
||||
|
||||
#ifdef __cpluscplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -11,15 +11,6 @@ struct app_id_dict
|
||||
|
||||
void app_id_dict_free(struct app_id_dict *app_dict);
|
||||
|
||||
enum RESOURCE_TYPE
|
||||
{
|
||||
STATIC_MAAT,
|
||||
KAFKA_LOGGER,
|
||||
DEVICE_ID,
|
||||
EFFECTIVE_DEVICE_TAG,
|
||||
DYNAMIC_FIELDSTAT,
|
||||
};
|
||||
|
||||
enum scan_common_table
|
||||
{
|
||||
PXY_CTRL_SOURCE_IP,
|
||||
@@ -46,6 +37,15 @@ enum scan_common_table
|
||||
__SCAN_COMMON_TABLE_MAX
|
||||
};
|
||||
|
||||
int tfe_bussiness_resouce_init();
|
||||
void *tfe_bussiness_resouce_get(enum RESOURCE_TYPE type);
|
||||
int tfe_bussiness_tableid_get(enum scan_common_table type);
|
||||
int tfe_env_init();
|
||||
int tfe_bussiness_tableid_get(enum scan_common_table type);
|
||||
|
||||
int tfe_get_vsys_id();
|
||||
const char *tfe_get_device_id();
|
||||
const char *tfe_get_data_center();
|
||||
const char *tfe_get_device_group();
|
||||
const char *tfe_get_device_tag();
|
||||
const char *tfe_get_sled_ip();
|
||||
struct kafka *tfe_get_kafka_handle();
|
||||
struct maat *tfe_get_maat_handle();
|
||||
struct tfe_fieldstat_metric_t *tfe_get_fieldstat_handle();
|
||||
@@ -9,18 +9,11 @@
|
||||
#include <time.h>
|
||||
#include <dirent.h> //scan_dir
|
||||
#include <stdbool.h>
|
||||
#include "kafka.h"
|
||||
|
||||
#define LOG_TAG_POLICY "POLICY"
|
||||
#define LOG_TAG_UTILS "UTILS"
|
||||
#define LOG_TAG_RAWPKT "RAW_PACKET"
|
||||
#define LOG_TAG_CTRLPKT "CTRL_PACKET"
|
||||
#define LOG_TAG_STABLE "SESSION_TABLE"
|
||||
#define LOG_TAG_PKTIO "PACKET_IO"
|
||||
#define LOG_TAG_METRICS "G_METRICS"
|
||||
#define LOG_TAG_SF_METRICS "SF_METRICS"
|
||||
#define LOG_TAG_SF_STATUS "SF_STATUS"
|
||||
#define LOG_TAG_SCE "SCE"
|
||||
#define LOG_TAG_TIMESTAMP "TIMESTAMP"
|
||||
|
||||
#define TFE_STRING_MAX 2048
|
||||
#define TFE_PATH_MAX 256
|
||||
|
||||
Reference in New Issue
Block a user