with Splunk and Kafka?
Emit new event when a new alert is triggered in Splunk. See the documentation
Emit new event when a new search event is created. See the documentation
Emit new events when a search returns results in Splunk. See the documentation
Sends a new event to a specified Splunk index. See the documentation
Retrieve the status of a previously executed Splunk search job. See the documentation
Executes a Splunk search query and returns the results. See the documentation
import { axios } from "@pipedream/platform";
import https from "https";
export default defineComponent({
props: {
splunk: {
type: "app",
app: "splunk",
}
},
async run({steps, $}) {
const selfSigned = this.splunk.$auth.self_signed;
const agent = new https.Agent({
rejectUnauthorized: !selfSigned
});
return await axios($, {
url: `${this.splunk.$auth.api_url}:${this.splunk.$auth.api_port}/services/authentication/current-context`,
httpsAgent: agent,
headers: {
"content-type": `application/json`,
"authorization": `Splunk ${this.splunk.$auth.api_token}`,
},
params: {
output_mode: `json`,
},
})
},
})
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 };
},
})