with Sumo Logic and Kafka?
The Sumo Logic API facilitates the automation of your log management and analytics operations, enabling you to programmatically access Sumo Logic's data ingestion and query capabilities. With this API, you can streamline log data collection, conduct analysis, manage users, and set up alerts, all of which can be harnessed to enhance monitoring, security, and compliance procedures within your organization. Leveraging these functions within Pipedream workflows can help in creating dynamic, cross-functional integrations to optimize data-driven decision-making processes.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
sumo_logic: {
type: "app",
app: "sumo_logic",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.${this.sumo_logic.$auth.deployment}.sumologic.com/api/v1/users`,
auth: {
username: `${this.sumo_logic.$auth.accessId}`,
password: `${this.sumo_logic.$auth.accessKey}`,
},
})
},
})
import { Kafka } from "kafkajs"
export default defineComponent({
props: {
kafka: {
type: "app",
app: "kafka",
}
},
async run({steps, $}) {
const kafka = new Kafka({
brokers: [`${this.kafka.$auth.host}:${this.kafka.$auth.port}`],
});
const consumer = kafka.consumer({ groupId: 'TestGroup' });
await consumer.connect()
await consumer.subscribe({ topic: 'SampleTopic', fromBeginning: true });
let consumedMessage = "";
const eachMessage = async function({ topic, partition, message }){
consumedMessage = message.value.toString();
return consumedMessage;
};
await consumer.run({
eachMessage,
});
const producer = kafka.producer();
await producer.connect()
await producer.send({
topic: 'SampleTopic',
messages: [
{ value: 'Welcome KafkaJS + Pipedream users! '+ new Date().toISOString() },
],
});
await producer.disconnect();
const data = await consumer.describeGroup();
return { consumedMessage, groupDescription: data };
},
})