ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

超详细的NetData-轻量的性能监控工具安装教程

超详细的NetData-轻量的性能监控工具安装教程 前言对于服务器监控我相信对于一些人来说是感兴趣的相比于繁琐的 Grafana Zabbix白猫的docker安装教程对于服务器资源的占用较为轻便监控之全面的NetData它的优势就显现出来了。还有之前部署过 uptime-status一款漂亮的网站监控面板 就开始显得单一不过后者对多站点多服务器更加友好。https://www.gitiu.com/share/uptime-status/介绍NetData是一个用于系统和应用的分布式实时性能和健康监控工具。它提供了对系统中实时发生的所有事情的全面检测。你可以在高度互动的 Web 仪表板中查看结果。使用 Netdata你可以清楚地了解现在发生的事情以及之前系统和应用中发生的事情。你无需成为专家即可在 Linux 系统中部署此工具。NetData 开箱即用零配置、零依赖。只需安装它然后坐等之后 NetData 将负责其余部分。它有自己的内置 Web 服务器以图形形式显示结果。NetData 非常快速高效安装后可立即开始分析系统性能。它是用 C 编程语言编写的所以它非常轻量。它占用的单核 CPU 使用率不到 3内存占用 10-15MB。我们可以轻松地在任何现有网页上嵌入图表并且它还有一个插件 API以便你可以监控任何应用。特点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 DBsNetData在Linux中的监控列表CPU 使用率RAM 使用率交换内存使用率内核内存使用率硬盘及其使用率网络接口IPtablesNetfilterDDoS 保护进程应用NFS 服务器Web 服务器 Apache 和 Nginx数据库服务器 MySQLDHCP 服务器DNS 服务器电子邮件服务代理服务器TomcatPHPSNP 设备开始部署当然有最简单的安装 Netdata 的方法 那就是一键脚本适用于任何LInux发行版系统中。bash (curl -Ss https://my-netdata.io/kickstart-static64.sh)输入脚本命令回车输入 y 确定安装通过 Web 浏览器访问 NetData打开 Web 浏览器然后打开http://127.0.0.1:19999或者http://localhost:19999/或者http://ip-address:19999若不能访问请开放19999端口在 Ubuntu/Debian 中 sudo ufw allow 19999 在 CentOS中 sudo firewall-cmd --permanent --add-port19999/tcp sudo firewall-cmd --reload当然有些用户可能不想在没有研究的情况下将某些东西直接注入到 Bash。如果你不喜欢此方法可以按照以下步骤在系统上安装它系统环境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 !!!修改端口后重启生效。如果有防火墙需开放端口。修改web端口对于 Ubuntu / Debian安装所需的依赖项 sudo 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 Git 克隆 NetData 仓库 git clone https://github.com/netdata/netdata.git --depth100 PS:上面的命令将会在当前工作目录中创建一个名为 netdata 的目录 切换到 netdata 目录 cd netdata/ 使用命令安装并启动 NetData sudo ./netdata-installer.sh最后会输出最后的补充启动关闭netData# 停止 systemctl stop netdata # 启动 systemctl start netdata # 重启 systemctl restart netdata # 开机启动 systemctl enable netdata卸载# 卸载 ./netdata-uninstaller.sh --force 或者sudo ./netdata-uninstaller.sh --force可以随时打开http://localhost:19999/netdata.conf来下载和/或查看 NetData 默认配置文件。Netdata 配置文件更新 NetData切换到 netdata 目录$ cd netdata 拉取最新更新$ git pull 使用命令重新构建并更新它$ sudo ./netdata-installer.sh考虑到安全个人使用的私密性对于netdata没有帐号密码体系为保护服务器隐私我们要使用nginx反向代理配置域名访问并使用账号密码授权使用Nginx配置域名访问设置账号密码授权准备如果服务器没有Nginx安装:yum install nginxnetdata的域名如:netdata.example.com对于域名的绑定可以使用caddy或者是宝塔面板反向代理可以参考利用 Caddy 轻松实现反向代理/镜像支持自签SSL证书生成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.confweb项的bind to修改如下[web] bind to 127.0.0.1 ::1重启NetDatasystemctl restart netdata建议[toc]在Netdada的Dasherboard中使用Node ,通过Google或者Github账号注册登录可以使用同步服务假设你再多台VPS上部署可以绑定网址到云端上查看十分方便。本文标题超详细的NetData-轻量的性能监控工具安装教程
返回列表