Category - 工作

Apache metron NS_ERROR_FACTORY_NOT_REGISTERED    2019-03-27 16:01:16    38    0    0

NS_ERROR_FACTORY_NOT_REGISTERED :确认/tmp目录有无777权限,如果没

markdown    2019-03-08 10:32:14    19    0    0

遇到这个问题使用html标签即可解决:

<a href="#toc3">机器模型</a>

<a name="toc3">机器模型</a>

注意href带#号,name与herf要匹配。

go 火焰图 pprof 调优    2019-03-06 22:48:25    26    0    0

安装go-torch

  1. go get github.com/uber/go-torch

安装FlameGraph

  1. cd $GOPATH
  2. git clone https://github.com/brendangregg/FlameGraph.git
  3. export PATH=$PATH:$GOPATH/FlameGraph

安装graphviz (CentOS, Redhat) 

  1.           yum install graphviz

使用

  1. # 用 -u 分析CPU使用情况
  2. ./go-torch -u http://127.0.0.1:8080
  3. # 用 -alloc_space 来分析内存的临时分配情况
  4. ./go-torch -alloc_space http://127.0.0.1:8080/debug/pprof/heap --colors=mem
  5. # 用 -inuse_space 来分析程序常驻内存的占用情况;
  6. ./go-torch -inuse_space http://127.0.0.1:8080/debug/pprof/heap --colors=mem
  7. # 画出内存分配图
  8. go tool pprof -alloc_space -cum -svg http://127.0.0.1:8080/debug/pprof/heap > heap.svg

查看

使用浏览器查看svg文件,程序运行中,也可以登录 http://127.0.0.1:10086/debug/pprof/ 查看程序实时状态 在此基础上,可以通过配置handle来实现自定义的内容查看,可以添加Html格式的输出,优化显示效果

说明

  1. 每个框代表一个栈里的一个函数
  2. Y轴代表栈深度(栈桢数)。最顶端的框显示正在运行的函数,这之下的框都是调用者。在下面的函数是上面函数的父函数
  3. X轴代表采样总量。从左到右并不代表时间变化,从左到右也不具备顺序性
  4. 框的宽度代表占用CPU总时间。宽的框代表的函数可能比窄的运行慢,或者被调用了更多次数。框的颜色深浅也没有任何意义
  5. 如果是多线程同时采样,采样总数会超过总时间
  6. -----------
yapi https 邮箱    2019-03-01 08:19:05    15    0    0

服务端把自己的证书交给客户端之后,原则上客户端是要从CA那里去校验这个证书的合法性的,一但无法验证(verify),就会报上面的错误,而strict-ssl=false是让npm不去验证,NODE_TLS_REJECT_UNAUTHORIZED=0是让node-gyp不去验证。所以双方就基于一个假的证书在进行HTTPS通讯了。反过来也说明我在用的代理有进行MITM攻击。

设置如下环境变量:

  1. export NODE_TLS_REJECT_UNAUTHORIZED=0

可以顺利解决

其他方法均不凑效。
参考:
[1]HTTPS知识小结:https://github.com/p2227/p2227.github.io/issues/17
[2]https://github.com/p2227/p2227.github.io/issues/8

linux 长记性    2019-02-27 08:17:55    9    0    0

有时候在使用用户登陆Linux系统时会发现,命令行提示符成了:-bash-4.1$,不显示用户名,路径信息。

原因:用户家目录里面与环境变量有关的文件被删除所导致的

也就是这俩文件:

  1. .bash_profile
  2. .bashrc

这两个文件被删除了,导致了这个错误

解决方法:从/etc/skel把丢失的文件 复制回来就可以了

  1. -bash-4.1$ cp /etc/skel/.bash* ~    
  2. -bash-4.1$ logout

复制回来后,登出用户,然后在登陆用户查看是否已经解决

  1. [root@elz-4 ~]# su - erlianzhang
  2. [erlianzhang@elz-4 ~]$

登陆后就恢复了
(via)

2019-02-25 17:08:27    16    0    0

解决方案如下:
1. 科学上网,你懂得
2. 使用gopm
* 安装:

  1. go get -u github.com/gpmgo/gopm
  • 说明:
  1. NAME:
  2. Gopm - Go Package Manager
  3. USAGE:
  4. Gopm [global options] command [command options] [arguments...]
  5. COMMANDS:
  6. list list all dependencies of current project
  7. gen generate a gopmfile for current Go project
  8. get fetch remote package(s) and dependencies
  9. bin download and link dependencies and build binary
  10. config configure gopm settings
  11. run link dependencies and go run
  12. test link dependencies and go test
  13. build link dependencies and go build
  14. install link dependencies and go install
  15. clean clean all temporary files
  16. update check and update gopm resources including itself
  17. help, h Shows a list of commands or help for one command
  18. GLOBAL OPTIONS:
  19. --noterm, -n disable color output
  20. --strict, -s strict mode
  21. --debug, -d debug mode
  22. --help, -h show help
  23. --version, -v pr
go 流浪地球 词云    2019-02-13 09:21:02    235    0    0
 
 

最近闲着无事,听闻豆瓣无良,给《流浪地球》差评1分,遂即学即用go的相关库,爬取相关短评约13100条,并利用jieba分词,wordcloud形成字云。初次学习爬虫,没有清洗数据,也没校验数据准确性,样例代码不到100行,再整理整理估计更少些。

blog技巧    2019-02-12 22:19:58    18    0    0
 
 

步骤如下:
1. 新建一个404页面,
2. 将下面代码放到body即可。

git 长记性    2019-02-12 21:35:15    79    0    0
 
 

最近搞词云,搜到一个golang版本的wordcloud,干下下不了

 

zabbix go    2019-01-27 13:38:10    173    0    0
 
 
 

为什么是zabbix-sender go实现?

  • 因需要,需要将自定义数据发送给zabbix-server,数据源由服务组提供(之前是直接将源数据按照open-falcon agent协议推送,后因项目需要,将数据推送给zabbix),服务组不想又改动,因此,想基于falcon-agent将数据转发给zabbix-server。
  • 因为现有工具能力无法满足,因此需要实现golang版本sender,以方便后续集成。