侧边栏壁纸
  • 累计撰写 8 篇文章
  • 累计创建 7 个标签
  • 累计收到 1 条评论

centos7 安装Netdata

Aiden
2022-07-06 / 0 评论 / 0 点赞 / 6,739 阅读 / 2,277 字
温馨提示:
本文最后更新于 2022-07-06,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

1. 软件介绍

Netdata是一款Linux系统实时性能监测工具,以web的可视化方式展示系统及应用程序的实时运行状态。前端响应快,UI很整洁,操作方面,支持图表重置,缩放。具体优点如下:

  • 界面酷炫:interactive bootstrap dashboards,也可使用简单的HTML代码去自定义控制界面
  • 运行高效:C编写,每秒采集数千个指标,但仅占cpu单核1%,少量MB的内存以及完全没有磁盘IO
  • 零配置:安装即监控
  • 零依赖:有自己的静态网络文件和网络接口拥有自己的网络服务器
  • 可扩展:使用自带的插件API,手机任何可以衡量的数据。
  • 可嵌入:它可以在任何Linux内核可以运行的地方运行
  • 可告警:提供复杂的、各种类型的告警,支持动态阈值、告警模板、多种通知方式等

数据全面:

  1. CPU的使用率,中断,软中断和频率(总量和每个单核)
  2. RAM,互换和内核内存的使用率(包括KSM和内核内存deduper)
  3. 硬盘输入/输出(每个硬盘的带宽,操作,整理,利用等)
  4. IPv4网络(数据包,错误,分片):
  5. TCP:连接,数据包,错误,握手UDP:数据包,错误广播:带宽,数据包组播:带宽,数据包5.Netfilter/iptables Linux防火墙(连接,连接跟踪事件,错误等)
  6. 进程(运行,受阻,分叉,活动等)
  7. NFS文件服务器,v2,v3,v4(输入/输出,缓存,预读,RPC调用)
  8. 网络服务质量(唯一一个可实时可视化网络状况的工具)
  9. 应用程序,通过对进程树进行分组(CPU,内存,硬盘读取,硬盘写入,交换,线程,管道,套接字等)
  10. Apache Web服务器状态(v2.2, v2.4)
  11. Nginx Web服务器状态
  12. Mysql数据库(多台服务器,单个显示:带宽,查询/s, 处理者,锁,问题,临时操作,连接,二进制日志,线程,innodb引擎等)
  13. ISC Bind域名服务器(多个服务器,单个显示:客户,请求,查询,更新,失败等)
  14. Postfix邮件服务器的消息队列(条目,大小)
  15. Squid代理服务器(客户带宽和请求,服务带宽和请求)
  16. 硬件传感器(温度,电压,风扇,电源,湿度等)
  17. NUT UPSes(负载,充电,电池电压,温度,使用指标,输出指标)

2.安装过程

网上有好多文章都写了具体的安装方式:

1.安装Netdata需要的基本编译环境安装:

yum install zlib-devel gcc make git autoconf autogen automake pkgconfig

2.下载和安装Netdata

cd /usr/local/src/
wget http://firehol.org/download/netdata/releases/v1.0.0/netdata-1.0.0.tar.gz 
tar -xf netdata-1.0.0.tar.gz
cd netdata-1.0.0
./netdata-installer.sh
## 访问Netdata:http://localhost:19999

理论上只需要执行上述的过程就可以安装成功,但是理论终究只是理论,由于某些不可抗力因素,我们是无法访问gitHub和google的,所以上述的安装脚本很有可能根本无法安装完成,我在安装的时候也尝试了科学上网大法,但是发现还是无法成功。最后只有祭出docker大法了。

Docker 镜像地址: https://hub.docker.com/r/netdata/netdata

docker pull netdata/netdata
docker run --name netdata -d -p 19999:19999 netdata/netdata

然后就可以愉快的访问ip:19999的网址了:

该说不说这界面是真的好看。
本来到此就应该结束了,但是我的服务器是暴露在公网下的,我发现这玩意儿没有访问控制的功能,也可能是我没找到。那这岂不是谁都能通过19999端口访问,这怎么能行,果断关了19999的访问权限,用nginx搞个基本的认证功能,同时把反向代理也搞了:

## 1.安装http-tools 用于生成密码文件
yum -y install httpd-tools

## 2.生成秘钥文件
htpasswd -c /usr/local/nginx/auth admin ## 回车后输入密码
## 执行结束只有就可以在/usr/local/nginx下生成一个auth文件,我们只需要把该文件配置到nginx中就可以了

nginx反向代理的配置:

    ## xxx
    upstream xxx {
      server 127.0.0.1:19999;
    }
    
    server {
        listen       80;
        server_name  xxx.xxxx.xx;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        
        auth_basic "用户名密码";
        auth_basic_user_file /usr/local/nginx/auth; 

        location / {
            proxy_pass_header Server;
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Scheme $scheme;
            proxy_pass http://xxx;
        }
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

./nginx -s reload 重启nginx
再次访问域名,然后就能发现配置的基本认证功能已经可以生效了

完结,撒花~~

0

评论区