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安装包然后导入,咱们直接使用命令进行安装
先安装依赖包 (自动)
安装的软件包用于具有基本Netdata安装(系统监视和许多应用程序,而 mysql
/ mariadb
,postgres
,named
,硬件传感器和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
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