-10 +

vector install

Vector 是美国 netflix 公司用来监控性能的工具,这个工具主要是解决工程师需要登录到各个服务器器上来执行各种命令来查看系统的一些信息。 Vector 这种工作变得更加简单高效。

pcp

pcp 介绍

首先我们来看看 pcp 的架构图

可以看到 vector 只是代理,将请求还是会转发给 pcp 的 web daemon 进程,关于 web daemon 这个进程那么是每台上面都装,还是有个中心的 web daemon 呢? 在 pcp 的部署模式就可以选择在每台机器上启动 pmwebd 和 pmcd 服务,也可以使用中心 pmwebd 服务使用 tcp 链接各个 host 中的 pmcd 来获取各个 agent 的统计信息。

pcp 安装

这里我的介绍是基于 centos7 的 pcp 安装方式,这其中包括两种方式的安装,rpm 安装方式和源码编译安装,注意貌似 rpm 安装不包括 pmwebd 这个命令,因此需要 pmwebd daemon 进程的机器上就需要源码编译安装了。

rpm 安装的命令如下:

yum install pcp
# RHEL 7 / Fedora
systemctl start pmcd
systemctl start pmlogger

源码安装方式的操作如下:

首先装 gcc,make 等工具:

yum groupinstall "Development Tools"

其次安装 perl 的 dev 包

yum install -y perl-devel

最后我们安装 pcp 的依赖包:

## install yum-builddep
yum provides yum-builddep
yum install -y yum-utils-1.1.31-29.el7.noarch

yum-builddep -y pcp

安装所有的依赖后,我们下载最新的 pcp 的源码,解压后到相应的目录:

## add user
groupadd -r pcp && useradd -c "Performance Co-Pilot" -g pcp -d /var/lib/pcp -M -r -s /usr/sbin/nologin pcp

./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var --with-webapi

make -j8 && make install

安装成功后,我们启动 pmcd 后台进程

systemctl start pmcd
systemctl start pmlogger

vector

vector 安装

首先安装 nodejs,我们需要下载对应的 nodejs 安装包,解压后,将 nodejs 的 bin 目录加入 PATH 中。

安装 bower,我们下面的安装会使用到 bower,使用下面的命令安装

npm install -g bower

使用 npm 安装后,在 nodejs bin 目录下将会多出来 bower 文件。

我们还需要安装 gulp,我们可以使用下面的命令安装

npm install --global gulp
npm install --save-dev gulp

最后我们下载最新稳定的 vector 并且解压,cd 到 vector 的目录下执行如下命令:

npm install
bower install --allow-root
gulp build

注意由于国内网络的原因,可能会是吧,失败后多执行几次,直到成功为止。安装成功后,我们就可以启动 vector 了

gulp serve

这么启动的默认端口是 3000。

启动 vector 后我们就可以启动,pmwebd 进程了,我们使用如下命令启动

/usr/libexec/pcp/bin/pmwebd -R dist -p 44323

启动完成后,我们就可以在浏览其中访问 vector 了。那么将看到如下所有的图

当前的 widgets 有:

vector roadmap

vector 还处于开发中,netflix 还将添加一些新特性,我们可以关注下:

错误

关于安装过程中出现的一些错误

ExtUtils::MM_Unix::tool_xsubpp : Can't find xsubpp at /usr/local/share/perl5/ExtUtils/MM_Unix.pm line 3595.

可以安装

yum install -y perl-devel 

参考

关于我

85 后程序员, 比较熟悉 Java,JVM,Golang 相关技术栈, 关注 Liunx kernel,目前痴迷于分布式系统的设计和实践。 研究包括但不限于 Docker Kubernetes eBPF 等相关技术。

Blog

Code

Life

Archive