作者:Linux迷
链接:https://www.linuxmi.com/netdata-ubuntu.html

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

在脚本执行期间,会发生以下情况:

  • 该脚本会自动发现您的Linux发行版,更新软件包列表,并安装所有必需的软件包。

  • 最新的netdata源树已下载到/usr/src/netdata.git路径。

  • 该脚本通过从源代码树运行./netdata-installer.sh脚本来安装netdata。

  • 对cron.daily进行了更新,以确保netdata每天进行更新。

在运行脚本时,将为您提供有关如何在浏览器上访问Netdata以及如何将其作为systemd服务进行管理的提示。

安装需要一段时间,大约10分钟后。当脚本完成安装时,您将得到下面的输出。

安装之后,启动、启用和验证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

默认情况下,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/tcp
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;}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

提供密码并确认。

接下来,重启Nginx web服务器以使更改生效。

linuxmi@linuxmi:~/www.linuxmi.com$ sudo systemctl restart nginx

要测试配置是否正确,请继续并浏览服务器的IP地址

http://linuxmi.com

将出现一个身份验证弹出窗口,如下所示。提供您的用户名和密码,然后回车。

此后,您将访问Netdata仪表板。

今天的话题就到这里。您现在学习的是如何在Ubuntu上安装Netdata监视工具和基本HTTP身份验证的配置。

...END...

长按或扫描下面的二维码关注Linux公社

关注Linux公社,添加“星标”

每天获取技术干货,让我们一起成长

合作联系微信:linuxgs

lsdyna如何设置set中的node_list_如何安装使用最帅Linux系统监控工具相关推荐

  1. lsdyna如何设置set中的node_list_详解MySQL数据库如何实现类似Oracle的序列?

    概述 众所周知,Oracle一般使用序列(Sequence)来处理主键字段,而MySQL则提供了自增长(increment)来实现类似的目的. 不过小编在实际使用过程中发现,MySQL的自增长有诸多的 ...

  2. lsdyna如何设置set中的node_list_如何为3CX配置Gigaset N670 N870 IP PRO

    支持的型号:Gigaset DECT系列和无绳话机 Gigaset DECT系列 Gigaset N670 IP PRO-最低固件版本2.16.2 Gigaset N870 IP PRO-最低固件版本 ...

  3. lsdyna如何设置set中的node_list_为 Windows PowerShell 设置 User Alias (命令别名)

    本文章转自个人博客 https://blog.vvzero.com, 转载请注明出处. 直接看步骤的话,在最下方. 背景 Windows Terminal 虽然还处于预览阶段,但是也出来很长一段时间了 ...

  4. lsdyna如何设置set中的node_list_如何理解vue的双向绑定

    vue前端框架,已经越来越多的在各大小型公司被使用,其相对于其他两大框架的优点是上手容易,数据交互友好,不担心dom操作,渐进式框架适合开发者自己的需求.对于vue来说,最重要的概念无非是数据的双向绑 ...

  5. lsdyna如何设置set中的node_list_如何快速掌握es6+新特性及核心语法?

    国庆刚刚结束,我们开始一波新的学习进程吧. ECMAScript 6.0(以下简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.作为前端必备技能,我们来快速开始吧 接 ...

  6. lsdyna如何设置set中的node_list_如何使用定速巡航功能 图文解说一看就会!

    定速巡航系统可以对车辆进行设置,使车辆以设定的车速恒速行驶.特别是在高速路上长距离行驶时,可以解放驾驶员的右脚,降低驾驶员的疲劳感.同时,由于车辆以恒定的车速行驶,减少了车速的变化,可以有效的提升燃油 ...

  7. lsdyna如何设置set中的node_list_技术成长日记-Vim-3.Vim中重要的概念

    3.1 配置文件.vimrc或_vimrc .vimrc文件是个人定制Vim的脚本文件,该文件中的每一行都会被当作Ex命令在Vim进行初始化的时候执行.一般在类Unix系统中把该文件存放在$HOME/ ...

  8. lsdyna如何设置set中的node_list_关于如何快速调教NGINX的几点总结

    关于如何快速调教Nginx的几点总结 关于Nginx的好与坏,我觉得没有必要去介绍了,在这里主要分享一下我在实际的项目部署中是如何快速的调教Nginx的.其中分享的源码大家可以作为模板代码,根据自身项 ...

  9. lsdyna如何设置set中的node_list_如何使用Python处理HDF格式数据

    HDF也是一种自描述格式文件,主要用于存储和分发科学数据.气象领域中卫星数据经常使用此格式,比如MODIS,OMI,LIS/OTD等卫星产品.对HDF格式细节感兴趣的可以Google了解一下. 这一次 ...

最新文章

  1. VTK:可视化之FlatShading
  2. 【数据结构与算法】之面试必考的“二分算法”系统梳理
  3. SAP S/4HANA生产订单状态含义
  4. arcgis几何修复有作用吗_修复损坏的 shapefile
  5. celery的中文_celery异步任务框架
  6. 图像处理保研面试_细思极妙的保研面试经验汇总?这些小技巧太加分了吧
  7. nvm管理node版本
  8. spring 事务源码分析(四)传播机制总览
  9. SmartQ 智器—公司介绍
  10. 计算机思维和数学的那些事
  11. 如何用c语言写一个简答的整人小程序
  12. 关于C语言中的int - float 计算的问题
  13. re匹配截至到第一个中文_Python正则表达式:re模块常用方法详解
  14. ChatGPT版必应疑似「发疯」?微软紧急限制回答数目
  15. 水电表、工控、医用电子设备等超低功耗段码LCD液晶显示驱动IC-VKL144A/B,TSSOP48/QFN48,工作电流<10微安,可完全兼容替代PCF8551、MCP144、BU9792、9B92等
  16. 安徽省宿州高考成绩查询时间2021年,2021年宿州高考成绩查询系统入口
  17. mysql的aes加密算法查询_java mysql 通用aes加密算法
  18. Java回文数代码(初学者易懂)
  19. PTA5-2 畅通工程之最低成本建设问题 (克鲁斯卡尔)
  20. 2018汽车之家汽车品牌、车型数据库采集带品牌logo以及车型图

热门文章

  1. 【爬虫学习笔记day66】7.8. scrapy-redis实战-- IT桔子分布式项目2
  2. codeforcesf382D-厉害的我的哥(德巴赫)
  3. (PDF统一页面大小)PDF统一缩放至A4或指定大小
  4. 农用地包括哪些地类_农用地、基本农田、建设用地,不同类型的土地性质要怎么利用...
  5. 【标准】视频显示分辨率格式大全
  6. latex中文小标题_LaTeX标题怎样使用中文?
  7. android 解压加密zip,zip压缩解压加密器
  8. List 集合对象比较大小
  9. 二手车价格预测task03:特征工程
  10. 泰山OFFICE技术讲座:Times New Roman的kerning研究