关闭

非root用户执行程序---sudo的使用

场景在应用部署过程中,会遇到这样的问题:前期需要root用户执行配置、初始化工作,而具体的业务应用需要使用非root用户启动。 如何解决呢?方法可以使用sudo,实现授权。 sudo命令授权,既可以使非超级用户执行超级用户的命令,也可以让超级用户以普通用户身份执行程序。上面场景的解决方案具体步骤如下:切换到root用户 配置/etc/sudoers在文件末尾添加: root ALL=(...
阅读(25) 评论(0)

open-falcon Agent配置文件修改hostname后,还是有其他名称的endpoint

问题open-falcon Agent在配置文件修改hostname后,log日志中还是发现其他名称的endpoint。原因Graph, Gateway组件会引用goperfcounter(github/niean/goperfcounter),这个package中的init()被自动执行,然后向agent HTTP push接口(127.0.0.1:1988/v1/push) push metri...
阅读(28) 评论(0)

go 代码的调试---打印调用堆栈

本文介绍如何打印调用堆栈进行go代码的调试。打印堆栈使用的runtime package中的Stack()函数> func Stack(buf []byte, all bool) int Stack formats a stack trace of the calling goroutine into buf and returns the number of bytes written to...
阅读(21) 评论(0)

dashboard无法查到endpoint, counter

问题使用Open-falcon时,Agent 推送metrics后,无法在Dashboard上显示。将Agent的hostname 修改后,却可以。解决办法查看Agent log,推送到transfer的数据都是成功的,查看transfer的统计数据,数据都能对应上。问题聚焦到graph组件上,可能是graph没有写到mysql里面。QQ群里沟通,有出现metric 改名字才能在dashboard上...
阅读(19) 评论(0)

panic: interface conversion: interface {} is nil, not chan *sarama.ProducerError

使用golang kafka sarama 包时,遇到如下问题: 高并发情况下使用同步sync producer,偶尔遇到crash: panic: interface conversion: interface {} is nil, not chan *sarama.ProducerError goroutine 413 [running]: github.com/Shopi...
阅读(46) 评论(0)

Package rdkafka was not found in the pkg-config search path.

问题在使用confluent-kafka-go 时遇到如下问题: $ go build t.go # pkg-config –cflags rdkafka Package rdkafka was not found in the pkg-config search path. Perhaps you should add the directory containing `r...
阅读(62) 评论(0)

golang kafka client

由于前面使用sarama 包,在高并发时遇到一些问题。 本文使用的是confluent-kafka-go,在高并发环境中表现稳定。 confluent-kafka-go is Confluent’s Golang client for Apache Kafka and the Confluent Platform. 编译环境搭建安装librdkafka下载$ git clone https:/...
阅读(149) 评论(0)

kafka 安装与配置

下载地址:https://kafka.apache.org/downloads这里下载的是kafka_2.11-0.11.0.1.tgz解压 tar -xzf kafka_2.11-0.11.0.1.tgz cd kafka_2.11-0.11.0.1 启动zookeeper $ bin/zookeeper-server-start.sh config/zookeeper.proper...
阅读(72) 评论(0)

golang fmt.Stringer 接口的使用

在python中,可以通过__str__()定义输出对象的信息。同样的,在Go中Stringer接口也有此功能。Stringer接口定义在fmt包中,该接口包含String()函数。任何类型只要定义了String()函数,进行Print输出时,就可以得到定制输出。Stringer接口定义如下:type Stringer interface { String() string }下面通过一些例...
阅读(136) 评论(0)

golang fmt格式化字符串%v,%T

常用的格式化字符串有: %v the value in a default format when printing structs, the plus flag (%+v) adds field names %#v a Go-syntax representation of the value %T a Go-syntax representation of the...
阅读(134) 评论(0)

open falcon 是否支持存储字符串

关于这个问题,从transfer的源码中可以找到答案。transfer接收来自各个agent上报的数据,然后检查是否可以转为float64类型,如果不可以,则抛弃该数据。 也就是不支持字符串存储。如果要存储字符串,需要自行定制开发。...
阅读(157) 评论(0)

golang 标准输入stdin

例子如下:package mainimport ( "bufio" "fmt" "os" ) func main() { reader := bufio.NewReader(os.Stdin) result, err := reader.ReadString('\n') if err != nil {...
阅读(223) 评论(0)

golang tcp server client

实例代码如下:serverimport ( "fmt" "net" "log" )func main() { addr := "0.0.0.0:8080" tcpAddr, err := net.ResolveTCPAddr("tcp",addr) if err != nil {...
阅读(50) 评论(0)

golang sleep

golang的休眠可以使用time包中的sleep。 函数原型为: func Sleep(d Duration) 其中的Duration定义为: type Duration int64 Duration的单位为 nanosecond。为了便于使用,time中定义了时间常量: const ( Nanosecond Duration = 1 Microse...
阅读(127) 评论(0)

golang map的遍历

遍历keypackage main import ( "fmt" ) func main() { var mymap map[string]string mymap = map[string]string{"1a": "Very", "2b": "good", "3c": "day"} for one := range mymap {...
阅读(94) 评论(0)
379条 共26页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:471249次
    • 积分:7548
    • 等级:
    • 排名:第3155名
    • 原创:275篇
    • 转载:103篇
    • 译文:1篇
    • 评论:50条
    最新评论