Splunk HTTP Event Collector(http事件收集器)融合 NLog基本使用

在docker 中启动 splunk

# 先拉取
docker pull splunk/splunk:latest
# 启动
# 8000 Splunk Web 访问端口 https://localhost:8000
# 8088 http事件收集器端口
# SPLUNK_PASSWORD=密码
docker run -d -p 8000:8000 -p 8088:8088 -e "SPLUNK_START_ARGS=--accept-license" -e "SPLUNK_PASSWORD=12345678" --name splunk splunk/splunk:latest

进入 splunk web 管理界面 生成 Token

https://localhost:8000

获取生成 HEC 需要的 Token
在Splunk Web 界面 添加“HTTP 事件收集器”,可生成标记值(Token)

可参考 https://docs.splunk.com/Documentation/Splunk/9.0.4/Data/UsetheHTTPEventCollector
的 “Configure HTTP Event Collector on Splunk Enterprise” 部分 查看具体操作

Note: 
    添加http事件收集器时:
        “全局设置” 中不要勾选 “使用部署服务器”, 否则会出现 “Server is busy" 无法相应的问题
        “全局设置” 中不要勾选 “启用SSL”,如果勾选,需要处理ssl认证相关内容
        添加数据选择来源时,不要勾选 “启用索引器确认(Ack)”, 否则在发送数据时需要 提供 ChannelId

添加数据

使用上面生成的 Toeken(每一个创建的时间收集器都有一个) 可以给 HTTP 事件收集器发送消息
输入
curl "http://192.168.18.204:8088/services/collector" -H "Authorization: Splunk 7ef0637a-a701-4af9-9d8a-2f12abc97d03" -d '{"sourcetype": "_json", "event": {"a": "value1"}}'

返回
{"text":"Success","code":0}

在Splunk Web界面可以
搜索 source="http:log_test"
(大致的格式 source="http:http事件收集器名字")
可以发现刚刚发送的信息

 

结合NLog HTTP 项目

参考

GitHub - DarekDan/NLog.Targets.HTTP: An HTTP target for NLog

你可能感兴趣的:(技术,细节,http,docker,c#)