其他
其他
securitysun
分享个人历年来工作中整理的笔记
展开
-
faust从kafka消费nginx日志流分析告警
faust从kafka消费nginx日志流分析告警nginx节点日志通过syslog发送至syslog server,syslog server进行格式处理后作为生产者,把日志流send至kafka 对应的topic上。基于faust框架编写数据流消费程序,从kafka指定的topic上消费数据流,通过stream.filter+lambda表达式,指定错误界别的数据流进行分析,使用域名和ip为key进行计数,当错误超过阈值时发送告警通知相关人员。import faustimport r原创 2022-01-23 15:26:59 · 3036 阅读 · 0 评论 -
golang实现tail文件监控代码
file, err := os.Open(path) if err != nil { log.Fatalf("Open file fail:%v", err) } defer file.Close() reader := bufio.NewReader(file) for { line, err := reader.ReadString('\n') lineStr := strings.TrimSpace(string...原创 2021-05-24 16:27:38 · 447 阅读 · 2 评论 -
golang编写的获取powerdns信息解析工具
powerdns是一个跨平台的开源DNS服务组件,PowerDNS的用户和客户包括领先的电信服务提供商,大型集成商,Cloudflare,内容分发网络电缆网络。在诸如斯堪的纳维亚半岛,德国和荷兰这样的重要市场中,PowerDNS是名称服务器软件的第一大供应商我们的权威服务器,Recursor和dnsdist产品是100%开放源代码。PowerDNS权威服务器是一种通用的名称服务器,它支持大量后端。这些后端可以是纯区域文件,也可以是更具动态性的。PowerDNS具有“后端”的概念。后...原创 2021-05-18 18:18:38 · 491 阅读 · 1 评论 -
Golang在windows下使用当前用户身份调用其他程序
Golang在Windows下以系统服务运行时其运行身份是SYSTEM,此时使用exec包启动其他程序时,默认也会是SYSTEM身份,而由于windows的隔离机制,启动的程序是不会显示界面的。故在此情况下不能使用exec包,需要调用windows api使用当前用户身份打开其他程序。通过调用CreateProcessAsUserW这个api可以用其他用户身份创建进程,所以我们可以通过获取当前用户的Token并用它来调用这个API。Golang中的实现已有相关代码在https://gist.githu转载 2020-10-15 10:02:54 · 2694 阅读 · 4 评论 -
golang syscall调用windows dll弹窗
package mainimport ( "fmt" "syscall" "time" "unsafe")const ( MB_OK = 0x00000000 MB_OKCANCEL = 0x00000001 MB_ABORTRETRYIGNORE = 0x00000002 MB_YESNOCANCEL = 0x00000003 MB_YESNO ...原创 2020-10-15 09:58:59 · 1470 阅读 · 2 评论