今日在优化Windows cpu时遇到了Win10打不开组策略gpedit.msc的问题, 仅以此篇记录开启组策略功能过程
1. 创建cmd脚本在桌面新建一个txt文件, 将下面的代码复制到txt中, 并且更改后缀为cmd123456@echo offpushd "%~dp0"dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txtdir /b C:\Windows\servicing\Packages\Microsoft-...
前面我们将logTransfor的配置初始化成功了, 下面将从Kafka中消费数据, 并将日志入库到Elasticsearch并通过Kibana进行展示
图源自 : https://www.cnblogs.com/zhaof/p/8948516.html
将日志保存到ES中初始化Es在main函数中添加初始化InitEs函数1234567// 初始化Es err = es.InitEs(logConfig.EsAddr) if err != nil { logs.Error("初始化Elasticsearch失败, err:", err) return } ...
在前六章中已经完成了日志收集的logAgent端, 接下来需要将日志数据写入到Kafka中, 然后将数据落地到Elastciseartch中
项目架构图:
图源自:https://www.cnblogs.com/zhaof/p/8910761.html
项目逻辑图:
Elastciseartch与Kinaba下载与安装Elastciseartch与Kinaba下载与安装, 参考我这篇博客
使用Golang控制Elasticsearch环境版本:123go 1.14elasticsearch-7.6.1kibana-7.6.1-windows-x86_64
我们使用第三方库gith...
Elasticsearch 是一个实时的分布式搜索分析引擎,它能让你以前所未有的速度和规模,去探索你的数据。 它被用作全文检索、结构化搜索、分析以及这三个功能的组合
Kibana 是一款开源的数据分析和可视化平台,它是 Elastic Stack 成员之一,设计用于和 Elasticsearch 协作。您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。您可以很方便的利用图表、表格及地图对数据进行多元化的分析和呈现。
下载Elasticsearch下载: https://www.elastic.co/cn/downloads/elasticse...
在上一篇中我们已经实现了从etcd中获取配置信息并创建tailTask任务
现在我们来通过etcd的watch实现新配置的变更
监视etcd配置项的变更实现watch各个不同ip在真实生产环境中时会常常添加新的服务器, 这时我们需要借助之前的ip.go获取所有ip节点, 并且实时监控
修改EtcdClient结构体增加keys1234type EtcdClient struct { client *clientv3.Client keys []string}
在main/etcd.go中添加initEtcdWatcher与watchKey函数并且在函数initEt...
通过上一篇从etcd中获取配置信息, 现在要拿着这些配置项进行日志收集
根据etcd的配置项创建多个tailtask项目结构:1234567891011121314151617181920212223242526272829.│ go.mod│ go.sum││├─conf│ logagent.conf│├─kafka│ kafka.go│├─logs│ my.log│├─main│ config.go│ etcd.go│ ip.go│ log.go│ main.go│ server.go│├─...
etcd介绍高可用的分布式key-value存储,可以用于配置共享和服务发现
类似的项目:Zookeeper和consul
开发语言:go
接口:提供Restful的接口,使用简单
实现算法:基于raft算法的强一致性,高可用的服务存储目录
etcd的应用场景:
服务发现和服务注册
配置中心(我们实现的日志收集客户端需要用到)
分布式锁
master选举
etcd的命令验证123456PS E:\Study\etcd-v3.4.5-windows-amd64> .\etcdctl.exe put name xuOKPS E:\Study\etcd-v3.4.5-window...
简单版本LogAgent的实现这里主要是先实现核心的功能,后续再做优化和改进,主要实现能够根据配置文件中配置的日志路径去读取日志并将读取的实时推送到kafka消息队列中
关于logagent的主要结构如下:
.
├─conf
│ logagent.conf
│
├─kafka
│ kafka.go
│
├─logs
│ my.log
│
├─main
│ config.go
│ log.go
│ main.go
│ server.go
│
├─tailf
│ tail.go
│ go.mod
└─ go.s...
Kafka库的基本操作我们需要先把两者启动,先启动Zookeeper,再启动Kafka
启动ZooKeeper:./bin/zkServer.sh start启动kafka:./bin/kafka-server-start.sh ./config/server.properties
我这里使用的是Golang1.14最新版本,并且开启了Go Module, 所以下载的包都会整合在go.mod下
这里使用sarama对kafka进行操作go get github.com/Shopify/sarama
main.go内容如下:123456789101112131415161718192021...
项目背景项目架构图:
每个系统都有日志,当系统出现问题时,需要通过日志解决问题
当系统机器比较少时,登陆到服务器上查看即可满足
当系统机器规模巨大,登陆到机器上查看几乎不现实
每个业务系统都有自己的⽇志,当业务系统出现问题时,需要通过查找⽇志信息来定位和解决问题。 当业务系统服务器⽐较少时,登陆到服务器上查看即可满⾜。但当系统机器规模巨⼤,登陆到服务器上查看⼏乎不现实(分布式的系统,⼀个系统部署在⼗⼏甚至几十台服务器上)
平常我们在进行业务开发时常常不免遇到下面几个问题:
当系统出现问题后,如何根据日志迅速的定位问题出在一个应用层?
在平常的工作中如何根据日志分析出一个请求到系统...