ubuntu安装Netdata流程+集群配置

演示网址:https://my-netdata.io/

官方首页:http://netdata.cloud/

文档地址:http://docs.netdata.cloud

官方安装文档:http://docs.netdata.cloud/docs/agent

github地址:https://github.com/netdata/netdata#infographic

先上一张安装完成的截图,让初识的朋友看看这个工具

ubuntu安装Netdata流程+集群配置

安装

目前使用ubuntu系统,只讲此系统

不需要下载netdata安装包然后导入,咱们直接使用命令进行安装

先安装依赖包 (自动)

安装的软件包用于具有基本Netdata安装(系统监视和许多应用程序,而 mysqlmariadbpostgresnamed,硬件传感器和SNMP):

curl -Ss ‘https://raw.githubusercontent.com/netdata/netdata/master/packaging/installer/install-required-packages.sh‘ >/tmp/install-required-packages.sh && bash /tmp/install-required-packages.sh -i netdata
安装所有必需的软件包,以监视Netdata可以监视的所有内容:
curl -Ss ‘https://raw.githubusercontent.com/netdata/netdata/master/packaging/installer/install-required-packages.sh‘ >/tmp/install-required-packages.sh && bash /tmp/install-required-packages.sh -i netdata-all

上面自动如果失败就手动进行安装,不知道失败还是成功,就都执行,反正新手嘛,多装没坏处,都是监控依赖包,下面是linux各系统的手动命令

# Debian / Ubuntu
apt-get install zlib1g-dev uuid-dev libuv1-dev liblz4-dev libjudy-dev libssl-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl python cmake

# Fedora
dnf install zlib-devel libuuid-devel libuv-devel lz4-devel Judy-devel openssl-devel libmnl-devel gcc make git autoconf autoconf-archive autogen automake pkgconfig curl findutils python cmake

# CentOS / Red Hat Enterprise Linux
yum install autoconf automake curl gcc git libmnl-devel libuuid-devel openssl-devel libuv-devel lz4-devel Judy-devel make nc pkgconfig python zlib-devel cmake

# openSUSE
zypper install zlib-devel libuuid-devel libuv-devel liblz4-devel judy-devel libopenssl-devel libmnl-devel gcc make git autoconf autoconf-archive autogen automake pkgconfig curl findutils python cmake

官方文档其实比较全,大家有空可以看下,装完依赖和环境就装代码了,自己选择一个路径,创建一个netdata文件夹,存放代码

:/test/netdata# pwd
/test/netdata
:/test/netdata#

 我这是已经建立好的 cd /test   mkdir netdata 

从git上直接拉去netdata代码

git clone https://github.com/firehol/netdata.git --depth=1

代码拉去成功之后进行安装

:/test/sunxiaolei# cd netdata/
:/test/sunxiaolei/netdata# ls
aclk                 cgroup-network      config.h            contrib           Dockerfile           HISTORICAL_CHANGELOG.md  netdatacli             packaging         system
aclocal.m4           CHANGELOG.md        config.h.in         CONTRIBUTING.md   Dockerfile.docs      install-sh               netdata.cppcheck       perf.plugin       test-driver
apps.plugin          claim               config.h.in~        CONTRIBUTORS.md   Dockerfile.test      libnetdata               netdata-installer.log  README.md         tests
autom4te.cache       cli                 config.log          coverity-scan.sh  docs                 LICENSE                  netdata-installer.sh   REDISTRIBUTED.md  web
backends             CMakeLists.txt      configs.signatures  cppcheck.sh       DOCUMENTATION.md     Makefile                 netdata.spec           registry
BREAKING_CHANGES.md  CODE_OF_CONDUCT.md  config.status       daemon            ebpf_process.plugin  Makefile.am              netdata.spec.in        SECURITY.md
build                collectors          config.sub          database          exporting            Makefile.in              netlify.toml           slabinfo.plugin
build_external       compile             configure           depcomp           externaldeps         missing                  package.json           stamp-h1
BUILD.md             config.guess        configure.ac        diagrams          health               netdata                  package-lock.json      streaming
:/test/sunxiaolei/netdata# ./netdata-installer.sh

进入安装过程 ,如果期间出现依赖错误,就说明有些依赖没有装成功,上面那3条安装依赖命令都执行一遍,执行完命令会显示

输出包含有关Netdata将存储其所有组件的位置的信息。你可以通读这些内容,这样你就可以更熟悉程序在安装后如何在文件系统上展开。

Installer Output
. . .
  It will be installed at these locations:

   - the daemon    at /usr/sbin/netdata
   - config files  at /etc/netdata
   - web files     at /usr/share/netdata
   - plugins       at /usr/libexec/netdata
   - cache files   at /var/cache/netdata
   - db files      at /var/lib/netdata
   - log files     at /var/log/netdata
   - pid file      at /var/run
. . .

可能存在位置有点差异,但是大体都是这个,怕忘记你可以保存下来 ,然后回车继续安装

安装成功之后看到这个结果就代表成功

Installer Output
. . .
  ^
  |.-.   .-.   .-.   .-.   .-.   .  netdata                          .-.   .-
  |   ‘-‘   ‘-‘   ‘-‘   ‘-‘   ‘-‘   is installed and running now!  -‘   ‘-‘  
  +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->

  enjoy real-time performance and health monitoring...

安装成功之后默认启动状态,可以访问 http://ip:19999 进行畅快的监控了 ,汉化版我百度找了一下,安装了几个,替换文件啥啥的,发现并不好使,果断放弃了

当前是一个服务器监控,我们平时肯定会使用多台服务器,那么就需要都进行监控,所以需要建立一个集群

集群配置

选择一台主机 ,其他作为从节点 ,需要监控的服务器都需要安装netdata,上面步骤来回跑吧

先进行从节点的配置

修改netdata.conf文件配置,一般路径在/etc/netdata/netdata.conf

vim /etc/netdata/netdata.conf

[global]
  memory mode = none
  hostname = slave-10
[web]
  mode = none
[health]
  enabled = no

修改里面这几项配置,配置项都是默认注释状态

新增 stream.conf 配置文件

vim /etc/netdata/stream.conf  
	
[stream]
    enabled = yes
    destination = 10.10.10.10:19999
    api key =9b9e8472-6399-4372-afc5-cd9da9717f98

其中api key 是一个uuid格式的字符串,可以使用uuidgen命令生成,关联主机时使用

从节点配置结束之后,开始配置主节点


同样修改配置文件,路径和从节点一样

vim netdata.conf
[global]
     hostname = Master

这是主节点名称

新增 stream.conf 配置文件

vim stream.conf

[b25a8036-6b4d-4108-b0bd-96937720f303]
    enabled = yes
    default history = 3600
    default memory mode = save
    health enabled by default = auto
    allow from = *
  配置文件中这个b25a8036-6b4d-4108-b0bd-96937720f303 对应从节点生成的uuid ,我这是随便复制的,和上面不一样 ,下面内容不变 ,如果有多个从节点,就复制多个就行,uuid改变即可配置结束后,主节点和从节点全部重启 :
systemctl restart netdata

执行命令汇总:

启动
service netdata start
停止
service netdata stop
重启
service netdata restart