网站首页 > 开源技术 正文
从Github上能够看到netdata的主要功能,主要有几点:
- interactive bootstrap dashboards, 酷炫
- 所有请求每个metreic都在0.5ms内响应,即便是一台烂机器
- 非常高效,每秒采集数千个指标,但仅占cpu单核1%,少量MB的内存以及完全没有磁盘IO
- 提供复杂的、各种类型的告警,支持动态阈值、告警模板、多种通知方式等
- 可扩展,使用自带的插件API(比如bash, python, perl, node.js, java, go, ruby等)来收集任何可以衡量的数据
- 零配置:安装后netdata会自动的监测一切
- 零依赖:netdata有自己的web server, 提供静态web文件和web API
- 零维护:只管跑上!
- 支撑多种时间序列后端服务,比如graphite, opentsdb, prometheus, json document DBs
NetData工作界面
系统环境:
Centos7
下载安装netData
# 下载项目代码 ? git clone https://github.com/firehol/netdata.git # 安装变异所需要的包 ? yum -y install zlib-devel libuuid-devel libmnl-devel gcc make git autoconf autogen automake pkgconfig # 运行自带的安装启动脚本 ? cd ./netdata ? ./netdata-installer.sh
安装启动脚本时,提示netData安装的详细目录,按下Enter键执行。
安装启动脚本
启动和配置
安装完成后,脚本输出一段信息,包括:KSM、端口、启动命令
开启 KSM 以节省储存占用
如果有下列信息,说明你的系统有 KSM,但是未启用,可以按照说明执行两句echo命令,节省 40-60% 的储存空间。
--- Check KSM (kernel memory deduper) --- Memory de-duplication instructions You have kernel memory de-duper (called Kernel Same-page Merging, or KSM) available, but it is not currently enabled. To enable it run: echo 1 >/sys/kernel/mm/ksm/run echo 1000 >/sys/kernel/mm/ksm/sleep_millisecs If you enable it, you will save 40-60% of netdata memory.
web端口配置
默认的web访问端口为19999。
netdata by default listens on all IPs on port 19999, so you can access it with: http://this.machine.ip:19999/
- 如果修改端口,需要编辑配置文件/etc/netdata/netdata.conf 中的 # default port = 19999。去掉注释符号#,端口尽量改掉默认的19999 !!!
- 修改端口后重启生效。
- 如果有防火墙,需开放端口(CentOS7使用firewalld)。
启动/关闭netData
# 停止 ? systemctl stop netdata # 启动 ? systemctl start netdata # 重启 ? systemctl restart netdata # 开机启动 ? systemctl enable netdata # 卸载 ? ./netdata-uninstaller.sh --force
至此,NetData安装启动完毕,可以通过http://host_ip:port 进行访问,无需账号密码。
下面将结合Nginx设置账号密码。
使用Nginx配置域名访问,设置账号密码授权
由于netdata没有帐号密码体系,为保护服务器隐私,我们要使用nginx反向代理配置域名访问,并使用账号密码授权。
事先准备:
- 如果服务器没有Nginx,安装: yum install nginx
- netdata的域名,如: netdata.example.com
生成Nginx密码文件
# 密码文件存放位置自定义,路径需记录下来,放在Nginx配置中。 ? printf "netdata:$(openssl passwd -apr1)" > /usr/local/nginx/conf/htpasswd
配置nginx.conf
在 ...nginx/conf.d 中创建netdata.conf文件,写入如下内容,适当修改端口号、域名、auth_basic_user_file。
upstream backend { # the netdata server,请修改具体端口号 server 127.0.0.1:19999; keepalive 64; } server { # nginx listens to this listen 80; # the virtual host name of this,请求改具体域名 server_name netdata.example.com; # auth password auth_basic "netdata Login"; # 上一步生成的密码文件路径 auth_basic_user_file /usr/local/nginx/conf/htpasswd; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://backend; proxy_http_version 1.1; proxy_pass_request_headers on; proxy_set_header Connection "keep-alive"; proxy_store off; } }
重启nginx
# 密码文件存放位置自定义,路径需记录下来,放在Nginx配置中。 ? systemctl reload nginx
重启Nginx后,可以直接通过域名netdata.example.com访问,并且需要输入账号和密码。但是依然可以通过http://IP:Port的方式访问,接下来禁用IP访问。
NetData禁用外部IP请求
- 打开NetData配置文件:/etc/netdata/netdata.conf,web项的 bind to修改如下:
[web] bind to = 127.0.0.1 ::1
- 重启NetData: systemctl restart netdata
猜你喜欢
- 2024-10-13 手把手教Python环境安装(python详细安装教程环境配置)
- 2024-10-13 Plesk 控制面板安装体验(pk3控制面板)
- 2024-10-13 使用Transporter从Linux使用iOS App元数据
- 2024-10-13 关于Redis的知识点,你都学会了吗?
- 2024-10-13 8款优秀的.NET开发工具,收藏了(用.net开发的知名软件)
- 2024-10-13 上来就对标 20k Star 的开源项目,是自不量力还是后起之秀?
- 2024-10-13 大数据挖掘——(六):MySql数据库(mysql大数据分析)
- 2024-10-13 值得推荐的编程练手项目有哪些?Python、java、html多种语言都有
- 2024-10-13 线上服务 CPU 100%?一键定位 so easy
- 2024-10-13 「效率工具」Windows的命令行安装程序 - Scoop
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)