
Netdata是一个免费的开源实时监视和故障排除工具,用于云服务器,容器,应用程序和本地IT基础架构。它提供了高粒度和实时系统指标,例如CPU性能,内存和磁盘利用率以及带宽统计信息。此外,Netdata还提供可在Web浏览器上访问的交互式度量可视化,以及有助于解决系统故障的智能警报。在编写本指南时,Netdata已经在Github获得近50000个星。您可以通过两种方式安装Netdata。您可以立即在BASH Shell上运行自动化脚本。这将更新您的系统并启动Netdata的安装。或者,您可以克隆Netdata的Git存储库,然后执行自动化脚本。第一种方法简单明了,这是我们在本指南中应重点关注的方法。在本文中,我们将看到如何在Ubuntu上安装Netdata来监视服务器和应用程序的实时,性能以及运行状况监视。 支持平台! f5 `4 G6 D+ ~7 h n5 n . U- D- u! }: D, o 4 Y. p+ L) g; B" Y: L Netdata支持以下Ubuntu LTS发行版:
如何在Ubuntu Linux中安装Netdata 要开始安装,请在bash终端上运行以下命令以下载并执行脚本。 linuxmi@linuxmi:~/www.linuxmi.com$ bash <(curl -Ss https://my-netdata.io/kickstart.sh) 在脚本执行期间,会发生以下情况:
![]() 在运行脚本时,将为您提供有关如何在浏览器上访问Netdata以及如何将其作为systemd服务进行管理的提示。 ![]() 安装需要一段时间,大约10分钟后。当脚本完成安装时,您将得到下面的输出。 ![]() 安装之后,启动、启用和验证Netdata的状态,如下所示。 linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl start netdata [sudo] linuxmi 的密码: linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl enable netdata# C9 Q" l5 ?! z2 }& t linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl status netdata ![]() 默认情况下,Netdata监听端口19999,可以使用netstat命令确认这一点,如下所示。 linuxmi@linuxmi:~/www.linuxmi.com$ sudo netstat -pnltu | grep netdata ![]() 如果您正在运行UFW,请确保打开端口19999,因为在浏览器上访问Netdata时需要打开端口。 linuxmi@linuxmi:~/www.linuxmi.com$ sudo ufw allow 19999/tcp1 U$ V0 s/ y; d! p linuxmi@linuxmi:~/www.linuxmi.com$ sudo ufw reload 最后,要访问Netdata,请切换到浏览器并浏览以下URL http://server-ip:19999/ 一旦你浏览了这个URL,这就是迎接你的东西。实际上,不需密码就能登录。系统的所有度量将显示如下。 ![]() 您可以通过单击仪表板右侧栏上的首选指标来浏览各种图形。例如,要查看网络接口统计信息,请点击“Network Interfaces”选项。 ![]() 在Ubuntu上使用基本身份验证保护Netdata 在此之前,任何人都可以访问Netdata仪表板并查看各种系统指标。这意味着安全漏洞,我们绝对希望避免这种情况。 考虑到这一点,我们将配置基本的HTTP身份验证。我们需要安装提供htpasswd程序的apache2-utils包,该程序将用于配置用户的用户名和密码。另外,我们将安装Nginx web服务器作为反向代理。 要安装Nginx web服务器和apache2-utils包,请执行以下命令。 linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install nginx apache2-utils ![]() 安装了Nginx和apache2-utils后,我们将在/etc/nginx/conf.d目录中创建一个配置文件。但是,如果您将Nginx用作Netdata以外的其他用途,请随时使用sites-available目录。 linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /etc/nginx/conf.d/default.conf ![]() 在配置文件中,我们将首先指示Nginx代理Netdata仪表板的传入请求。此后,我们将附加一些基本的身份验证提示,该提示仅授权用户使用用户名/密码身份验证访问Netdata仪表板。 这是整个配置。请注意用您自己的服务器IP地址和服务器名称替换server_ip和example.com指令。 server_ip 我设置为 127.0.0.1 example.com 改为 linuxmi.com upstream netdata-backend {server 127.0.0.1:19999; keepalive 64;! k( L$ q. U. w( U9 Q9 y } ( o7 H* R* ~1 r server { listen server_ip:80; server_name example.com;/ C" A! S% h3 Z5 j4 f- d$ u & N* |' f" u, z! d* S auth_basic "Authentication Required"; auth_basic_user_file netdata-access; , M/ A& F* h: L 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;& ]0 v! V* K {5 Q proxy_pass http://netdata-backend; proxy_http_version 1.1; proxy_pass_request_headers on; proxy_set_header Connection "keep-alive"; proxy_store off; }4 @2 ?- W5 r- i) r6 C* ^ } 让我们一节一节地理解它的结构。 第一节: upstream netdata-backend {0 ]7 h! E0 L* s% Pserver 127.0.0.1:19999; keepalive 64;( s5 b; C. V: G" d+ w3 e K' O$ E- F } 我们已经指定了一个称为Netdata后端的上游模块,它引用Netdata的内置web服务器,使用环回地址127.0.0.1和端口19999,这是Netdata监听的默认端口。keepalive指令定义了可以保持打开的最大空闲连接数。 第二节: server {listen server_ip:80; server_name example.com;, C3 }. J0 ~; p+ l. G, H auth_basic "Authentication Required"; auth_basic_user_file netdata-access; 这是Nginx服务器的主块。第一行指定当客户端发送请求时Nginx应该监听的外部IP地址。server_name指令指定服务器的域名,并指示Nginx在客户端调用域名而不是外部IP地址时运行服务器块。 最后两行表示简单的HTTP身份验证,要求用户使用用户名和密码登录。auth_basic模块在浏览器上触发用户名/密码弹出窗口,标题上有“Authentication Required”,稍后可以根据您的偏好定制该标题。 auth_basic_user_file模块指向一个文件名,该文件名将包含被授权访问Netdata仪表板(在本例中为Netdata -access)的用户的用户名和密码。稍后我们将创建此文件。 第三节: 最后一部分是服务器块中包含的位置块。这将处理传入请求的代理和转发到Nginx Web服务器。 location / {proxy_set_header X-Forwarded-Host $host;: p- ]0 `& r9 ? Z) G: @ proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;/ j, K! U3 L0 O proxy_pass http://netdata-backend; proxy_http_version 1.1; proxy_pass_request_headers on;6 V* E3 Z1 O/ [$ l/ m proxy_set_header Connection "keep-alive"; proxy_store off;3 @$ x: U7 ~; `* U9 J2 D } 为了进行身份验证,我们将使用htpasswd实用程序为名为linuxmi的用户创建用户名和密码,并将凭据存储在netdata-access文件中。 linuxmi@linuxmi:~/www.linuxmi.com$ sudo htpasswd -c /etc/nginx/netdata-access linuxmi ![]() 提供密码并确认。 接下来,重启Nginx web服务器以使更改生效。 linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl restart nginx 要测试配置是否正确,请继续并浏览服务器的IP地址 http://linuxmi.com 将出现一个身份验证弹出窗口,如下所示。提供您的用户名和密码,然后回车。 ![]() 此后,您将访问Netdata仪表板。 今天的话题就到这里。您现在学习的是如何在Ubuntu上安装Netdata监视工具和基本HTTP身份验证的配置。 |
STM32F10xxx 正交编码器接口应用笔记 及源代码
基于STM32定时器ETR信号的应用示例
STM32 生态系统|基于STM32WB的低功耗蓝牙应用(一)
《无刷直流电机控制应用 基于STM8S系列单片机》
STM32定时器触发SPI逐字收发之应用示例
【银杏科技ARM+FPGA双核心应用】STM32H7系列10——ADC
【银杏科技ARM+FPGA双核心应用】STM32H7系列57——MDK_FLM
【STM32图书分享之九】—《STM32F 32位ARM微控制器应用设计与实践》
无刷直流电机控制应用+基于STM8S系列单片机---电子书
STM32 USB的程序,包含固件、驱动和测试用的应用程序