你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

如何在Ubuntu上安装Netdata来监视服务器和应用程序

[复制链接]
gaosmile 发布时间:2020-11-11 21:08
Netdata是一个免费的开源实时监视和故障排除工具,用于云服务器,容器,应用程序和本地IT基础架构。它提供了高粒度和实时系统指标,例如CPU性能,内存和磁盘利用率以及带宽统计信息。此外,Netdata还提供可在Web浏览器上访问的交互式度量可视化,以及有助于解决系统故障的智能警报。在编写本指南时,Netdata已经在Github获得近50000个星。您可以通过两种方式安装Netdata。您可以立即在BASH Shell上运行自动化脚本。这将更新您的系统并启动Netdata的安装。或者,您可以克隆Netdata的Git存储库,然后执行自动化脚本。第一种方法简单明了,这是我们在本指南中应重点关注的方法。在本文中,我们将看到如何在Ubuntu上安装Netdata来监视服务器和应用程序的实时,性能以及运行状况监视。

支持平台


Netdata支持以下Ubuntu LTS发行版:
  • Ubuntu 20.04
  • Ubuntu 18.04
  • Ubuntu 16.04

如何在Ubuntu Linux中安装Netdata
要开始安装,请在bash终端上运行以下命令以下载并执行脚本。
linuxmi@linuxmi:~/www.linuxmi.com$ bash <(curl -Ss https://my-netdata.io/kickstart.sh)
在脚本执行期间,会发生以下情况:
  • 该脚本会自动发现您的Linux发行版,更新软件包列表,并安装所有必需的软件包。
  • 最新的netdata源树已下载到/usr/src/netdata.git路径。
  • 该脚本通过从源代码树运行./netdata-installer.sh脚本来安装netdata。
  • 对cron.daily进行了更新,以确保netdata每天进行更新。

微信图片_20201111210520.png
在运行脚本时,将为您提供有关如何在浏览器上访问Netdata以及如何将其作为systemd服务进行管理的提示。
微信图片_20201111210524.png
安装需要一段时间,大约10分钟后。当脚本完成安装时,您将得到下面的输出。
微信图片_20201111210527.png
安装之后,启动、启用和验证Netdata的状态,如下所示。
linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl start netdata
[sudo] linuxmi 的密码:
linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl enable netdata
linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl status netdata
微信图片_20201111210531.png
默认情况下,Netdata监听端口19999,可以使用netstat命令确认这一点,如下所示。
linuxmi@linuxmi:~/www.linuxmi.com$ sudo netstat -pnltu | grep netdata
微信图片_20201111210535.png
如果您正在运行UFW,请确保打开端口19999,因为在浏览器上访问Netdata时需要打开端口。
linuxmi@linuxmi:~/www.linuxmi.com$ sudo ufw allow 19999/tcp
linuxmi@linuxmi:~/www.linuxmi.com$ sudo ufw reload
最后,要访问Netdata,请切换到浏览器并浏览以下URL
http://server-ip:19999/
一旦你浏览了这个URL,这就是迎接你的东西。实际上,不需密码就能登录。系统的所有度量将显示如下。
微信图片_20201111210538.png
您可以通过单击仪表板右侧栏上的首选指标来浏览各种图形。例如,要查看网络接口统计信息,请点击“Network Interfaces”选项。
微信图片_20201111210542.png
在Ubuntu上使用基本身份验证保护Netdata
在此之前,任何人都可以访问Netdata仪表板并查看各种系统指标。这意味着安全漏洞,我们绝对希望避免这种情况。
考虑到这一点,我们将配置基本的HTTP身份验证。我们需要安装提供htpasswd程序的apache2-utils包,该程序将用于配置用户的用户名和密码。另外,我们将安装Nginx web服务器作为反向代理。
要安装Nginx web服务器和apache2-utils包,请执行以下命令。
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install nginx apache2-utils
微信图片_20201111210545.png
安装了Nginx和apache2-utils后,我们将在/etc/nginx/conf.d目录中创建一个配置文件。但是,如果您将Nginx用作Netdata以外的其他用途,请随时使用sites-available目录。
linuxmi@linuxmi:~/www.linuxmi.com$ sudo vim /etc/nginx/conf.d/default.conf
微信图片_20201111210549.png
在配置文件中,我们将首先指示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;
}

server {
    listen server_ip:80;
    server_name example.com;

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

    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://netdata-backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }
}
让我们一节一节地理解它的结构。
第一节:
upstream netdata-backend {
    server 127.0.0.1:19999;
    keepalive 64;
}
我们已经指定了一个称为Netdata后端的上游模块,它引用Netdata的内置web服务器,使用环回地址127.0.0.1和端口19999,这是Netdata监听的默认端口。keepalive指令定义了可以保持打开的最大空闲连接数。
第二节:
server {
    listen server_ip:80;
    server_name example.com;

    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;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://netdata-backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }
为了进行身份验证,我们将使用htpasswd实用程序为名为linuxmi的用户创建用户名和密码,并将凭据存储在netdata-access文件中。
linuxmi@linuxmi:~/www.linuxmi.com$ sudo htpasswd -c /etc/nginx/netdata-access linuxmi
微信图片_20201111210552.png
提供密码并确认。
接下来,重启Nginx web服务器以使更改生效。
linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl restart nginx
要测试配置是否正确,请继续并浏览服务器的IP地址
http://linuxmi.com
将出现一个身份验证弹出窗口,如下所示。提供您的用户名和密码,然后回车。
微信图片_20201111210557.png
此后,您将访问Netdata仪表板。
今天的话题就到这里。您现在学习的是如何在Ubuntu上安装Netdata监视工具和基本HTTP身份验证的配置。


收藏 评论0 发布时间:2020-11-11 21:08

举报

0个回答

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版