Go语言中文网 为您找到相关结果 111

Go语言程序的状态监控

Go是很实在的编程语言,从一开始就提供了很详细的运行状态信息。产品上线后的调优和排查疑难杂症都得靠这些状态信息。这边总结一些我们项目里用到的状态监控手段。 pprof Go自带了一个pprof工具,这个工具可以做CPU和内存的profiling,官方的博客有一篇文章介绍用法:《Profiling Go Programs》 官方的文章讲了怎么用自带的pprof工具分析数据,但是获得分析数据的部分比较单一,我在很长一段时间一直误以为cpuprof和memprof必须在程序启动时打开,其实cpuprof和memprof是可以在线打开和关闭的。 并且pprof模块其实不只是cpuprof和memprof这两个功能,其中还提供了Lookup功能用于获取堆状态信息、线程状态信息、 goroutine状态...阅读全文

博文 2014-10-13 14:54:27 达达

服务发现:Zookeeper vs etcd vs Consul

【编者的话】本文对比了Zookeeper、etcd和Consul三种服务发现工具,探讨了最佳的服务发现解决方案,仅供参考。 如果使用预定义的端口,服务越多,发生冲突的可能性越大,毕竟,不可能有两个服务监听同一个端口。管理一个拥挤的比方说被几百个服务所使用的所有端口的列表,本身就是一个挑战,添加到该列表后,这些服务需要的数据库和数量会日益增多。因此我们应该部署无需指定端口的服务,并且让Docker为我们分配一个随机的端口。唯一的问题是我们需要发现端口号,并且让别人知道。 当我们开始在一个分布式系统上部署服务到其中一台服务器上时,事情会变得更加复杂,我们可以选择预先定义哪台服务器运行哪个服务的方式,但这会导致很多问题。我们应该尽我们所能尽量利用服务器资源,但是如果预先定义每个服务的部署位置,那么...阅读全文

博文 2015-09-20 10:39:43 国会山上的猫TuxHu

跨平台系统监控bosun

专业的跨平台开源系统监控项目,go语言编写,灵活的模板和表达式配合上各种collector可以监控任何应用或系统级的运行数据,比 zabbix更轻量级、更易入手和更适合定制。 ## 使用 ## bosun [-c=dev.conf] [-t] -c specifies the config file to use, defaults to dev.conf. -t parses the config file, validates it, and exits. ## 截图 ## ![截图](http://bosun.org/public/ss_host.png) 更多截图:http://bosun.org/screenshots.htm...阅读全文

开源项目 2014-11-15 12:26:58 mjibson

Prometheus 系统监控方案 一

最近一直在折腾时序类型的数据库,经过一段时间项目应用,觉得十分不错。而Prometheus又是刚刚推出不久的开源方案,中文资料较少,所以打算写一系列应用的实践过程分享一下。 Prometheus 是什么? Prometheus是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的。随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便将它独立成开源项目,并且有公司来运作。google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus。现在最常见的Kubernetes容器管理系统中,通常会搭配Prometheus进行监控。 Prometheus 的优点 非常少的外部依赖,安装使用超简单 已经有非常多的系统集...阅读全文

golang内存释放

一、前言 一般在golang运行完成初始化时,会创建专门的goroutine用于后台监控、定期任务,这其中也涉及到了强制垃圾回收、内存释放等任务。 // 主goroutine. func main() { // ... // m0: 系统主线程 // g0:主goroutine // m0、g0是比较特殊的 仅用于main goroutine的父goroutine g.m.g0.racectx = 0 if sys.PtrSize == 8 { // 64bits 系统 maxstacksize = 1000000000 } else { // 32bits系统 maxstacksize = 250000000 } // 新建M(物理线程) mainStarted = true if GOA...阅读全文

博文 2019-01-09 22:34:43 神奇的考拉

Golang-too_many_open_files-解决方法

这是系统资源限制,通常单进程不能超过 1024,我使用cgo来设置,代码如下: package main /* #include #include #include int rlimit_init() { printf("setting rlimit\n"); struct rlimit limit; if (getrlimit(RLIMIT_NOFILE, &limit) == -1) { printf("getrlimit error\n"); return 1; } limit.rlim_cur = limit.rlim_max = 50000; if (setrlimit(RLIMIT_NOFILE, &...阅读全文

博文 2015-03-03 21:46:55 nulijiabei

世界上最简单的监控服务 pingd

pingd 是世界上最简单的监控服务,使用 golang 编写。软件支持 IPv6,但是服务器不支持。 pingd 允许同时 ping 上千个 IPs,在此期间还可以管理监控的主机。 用户提供主机名或者 IP,还有用户邮箱地址,就可以使用 3 个生成 URLs 来开启,停止或者删除你的追踪。每当你的服务器停机或者后台在线都会发送通知,还包含控制 URLs。

~$# start monitoring your server with a single curl command.
~$curl ping.gg/me@example.org/104.28.13.51
[ ok...阅读全文

Go语言监控文件变化小程序.

package main import ( "log" "github.com/go-fsnotify/fsnotify" ) func main() { watcher, err := fsnotify.NewWatcher() if err != nil { log.Fatal(err) } defer watcher.Close() done := make(chan bool) go func() { for { select { case event := <-watcher.Events: log.Println("event:", event) if event.Op&fsnotify.Write == fsnotify.Write { log.Println("modifie...阅读全文

博文 2015-10-23 12:00:06 fyxichen

可视化系统监控工具 Cloudinsight Agent

![image](http://static.oschina.net/uploads/img/201610/18113759_OZtU.jpg) 很高兴地宣布 Cloudinsight  Agent 在 BSD 开源协议下正式开源了。我们的工程师在开源前已将代码用 Golang 重写,更加清晰简洁,欢迎大家参与到  Cloudinsight Agent 的开发和迭代中来。 **为什么要用 Golang 重写和开源** [**Cloudinsight**](http://cloudinsight.oneapm.com/)**是一个可视化系统监控工具,能够对数据指标进行聚合、分组、过滤、 管理、计算;并提供团队协作功能,共同管理数据和报警事件。而这些的关键,正是 Cloudinsigh...阅读全文

Prometheus 系统监控方案 二 安装与配置

下载Prometheus 下载最新安装包,本文说的都是在Linux x64下面内容,其它平台没尝试过,请选择合适的下载。 Prometheus 主程序,主要是负责存储、抓取、聚合、查询方面。 Alertmanager 程序,主要是负责实现报警功能。 Pushgateway 程序,主要是实现接收由Client push过来的指标数据,在指定的时间间隔,由主程序来抓取。 *_exporter 这类是不同系统已经实现了的集成。 下载解压,一般默认的配置就可以运行。 tar xvfz prometheus-*.tar.gz cd prometheus-* go写的东西,直接打包成二进制包了,其本上没有别的依赖。 下面我们主要来了解一下他的配置文件,这是一个非常重要的步聚。 配置Prometheus监...阅读全文

Linux 资源监控sysmon - 功能强大的图形化 linux 系统资源监控

sysmon 是一个前后端分离的 linux 资源监控应用, 可以监控 CPU/内存/磁盘/网络 等状态, 还有极其详细的进程/线程信息 服务端只支持 Linux, 包括 x86/amd64/armv6l/arm64/mips/mips64 架构 客户端则支持 web/windows/linux/android, 具体每个平台上支持的架构, 参考: https://github.com/Lt0/sysmon/releases 服务端使用 Golang + beego 实现 客户端使用 vue + vuetify 实现 桌面客户端主要是 electron 封装的 web app 移动客户端主要使用 hbuilder 封装的 web app 觉得有用的记得给个星啊!!!...阅读全文

欢迎大家来使用在线 Golang IDE: https://wide.b3log.org

### 特性 * 代码高亮、折叠(Go/HTML/JS/Markdown 等) * 自动补全(基于 gocode) * 格式化(gofmt/goimports, HTML/JSON) * 代码导航(快速打开文件、跳转使用/声明、搜索、大纲视图等) * go get/vet/test * 文件导入/导出 * 多主题 跑一些 _简单的_ 项目已经完全足够了,欢迎大家在体验后[反馈](https://github.com/b3log/wide/issues/new)建议、bug。 ### 使用 * **推荐**直接使用我们搭建的 [Wide 在线服务](https://wide.b3log.org)(“服务器资源这么空闲我都不忍心看了!”) * 我们也提供了...阅读全文

可视化系统监控工具 Cloudinsight Agent 正式开源

![](http://o8g4uutrr.bkt.clouddn.com/cloudinsight%20agent%201.jpg) 很高兴地宣布 Cloudinsight Agent 在 BSD 开源协议下正式开源了。我们的工程师在开源前已将代码用 Golang 重写,更加清晰简洁,欢迎大家参与到 Cloudinsight Agent 的开发和迭代中来。 ##为什么要用 Golang 重写和开源 [Cloudinsight](http://cloudinsight.oneapm.com?utm_source=studygolang&utm_medium=Article&utm_term=agentos&utm_campaign=CiTech&from=jscwgye...阅读全文

TOPGAME诚聘Golang开发工程师

岗位职责: 1.您将参与游戏开发团队的整个创意、讨论、设计、开发、调整等游戏开发过程; 2.负责手机游戏的服务器端设计、开发和维护工作; 3.贡献你的知识,分享你的点子,发挥你的创意,融入这个团队! 任职要求: 1.大学本科以上学历,开发经验丰富,熟悉golang语言,基础扎实,2年以上golang开发工作经验,有完整的项目经验 ;熟悉php/c/c++/java,至少一年使用经验; 2.精通Golang协程,精通channel和锁,对高并发、高可用架构系统有正确、深刻的理解,要求有分布式服务器开发经验; 3.有Web开发经验,对RESTful概念有清晰的理解,并至少有一次API Server开发项目中运用到; 4.熟悉xml/json/pro...阅读全文

非官方中文文档Promethues监控系统

## Prometheus 非官方中文手册 --- ### 目录 - 介绍 [总览](introduction/overview.md) [安装](introduction/install.md) [启动](introduction/get_started.md) [对比](introduction/comparison.md) [常见问题](introduction/questions.md) [路线图](introduction/roadmap.md) [学习媒介](introduction/media.md) [词汇](introduction/glossary.md) - ...阅读全文

Go监控目录变化小程序.

package main import ( "flag" "log" "os/exec" "strings" "sync" "time" "github.com/go-fsnotify/fsnotify" ) var ( sleeptime int path string cmd string args []string ) func init() { flag.IntVar(&sleeptime, "t", 30, "-t=30") flag.StringVar(&path, "p", "./", "-p=filepath or dirpath") flag.StringVar(&cmd, "c", "", "-c=command") str := flag.String("a", "",...阅读全文

博文 2015-10-25 02:00:05 fyxichen

基于 Kubernetes 的游戏服务器Agones

Agones 是谷歌和游戏厂商育碧联合开发的游戏服务器。它是一个用于在 Kubernetes 上托管、运行和扩展专用游戏服务器的库。 谷歌在开发文档中表示未来谷歌将会使用 Kubernetes 实现服务器的集群管理和游戏扩展。而育碧方面也表示,通过 Agones 服务器,可以更好地安排服务器资源,为玩家们提供最出色的多人游戏服务。 **主要特性** - 能够在 Kubernetes 中定义一个 GameServer - 通过 yaml 或 API - 管理 GameServer 生命周期 - 包括健康检查和连接信息 - 客户端 SDK 与专用游戏服务器集成 **工作原理** ![image](https://static.oschina.net/uploads/spac...阅读全文

六大下一代Docker监测工具

![alt 文本](http://blog.tenxcloud.com/wp-content/uploads/2015/09/docker%E7%9B%91%E6%B5%8B%E5%B7%A5%E5%85%B7-300x227.jpg ) 容器:这里面什么才是最重要的?container monitoring,一项可以帮助你了解容器内发生什么以及让你获得某种支持的技术,随着Docker自身的monitoring 和 introspection技术API的成熟,已经有最新一波的容器监测技术利用到它们。 以下列举6个Docker相关的监测App和服务,从简单的开源工具到复杂的企业整体解决方案。 ## cAdvisor 谷歌的container introspection...阅读全文

适合Go语言初学者的资料

适合Go语言初学者的资料 本页是为那些对Go语言学习感兴趣的开发者列举的一些学习资料。(注:部分网站无法访问,请自备翻墙工具) 安装GO语言和配置工作空间 从这里开始学习如何创建一个工作空间来写Go代码 How to Write Go Code Writing, building, installing, and testing Go code 在线资源 一旦你配置完Go语言的环境后,这里有一些学习Go的优秀资源。 The Go programming language tour Go by example Effective Go The Go language FAQ Going Go Programming by WIlliam Kennedy 教程 Writing table dri...阅读全文

博文 2014-10-11 12:00:01 wuwenxiang91322

监控服务器数据的进程信息处理

查看地址 https://wide.b3log.org/playground/f015ec4406b217788a6b020629e2d88e.go