天天看點

IT基礎設施:使用netdata監控CentOS7性能背景工具過程引用

背景

作為一個Linux狗,必須要掌握一個專門的系統監控工具,能随時了解系統資源的占用情況,如應用的記憶體使用規律,應用的網絡峰值時段,CPU使用情況等資訊,對優化應用性能,保證伺服器健康運作有着極為重要的作用。

工具

netdata

Netdata是一款秒級資料收集與可視化呈現的Linux伺服器性能監測工具,他具有這樣一些特性:

  • 高實時性:Netdata是用純C編寫的,關鍵系統插件也是用C語言編寫的。 它的速度隻能與本機控制台系統管理工具進行比較。當netdata在現代計算機上運作時(即使在CELERON處理器上),大多數圖表查詢都會在不到3毫秒的時間内得到回複!
  • 不占用系統IO:除了日志系統外,netdata将不會使用任何磁盤的IO資源,您也可以通過配置檔案禁用掉日志系統。
  • 不需要root權限
  • 自帶Web服務系統
  • 開箱即用,上手不需要寫任何配置
  • 可視化的QOS
  • 安裝便捷,根據安裝文檔訓示,有些系統可以直接從軟體庫中安裝,樹莓派上我通過克隆安裝成功,CentOS上有一鍵安裝腳本
  • 告警系統,通過配置檔案,我們可以配置netdata在某些名額達到閥值的時候進行告警。

nginx

鼎鼎大名的代理伺服器,不用多說。

過程

本次安裝的機器是CentOS7 64位,我們選擇64位的安裝腳本

bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh) 
           

接下來它會自動下載下傳安裝包

--- Checking the latest version of static build... --- 
[/home]# /usr/bin/curl https://raw.githubusercontent.com/firehol/binary-packages/master/netdata-latest.gz.run 
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100    59  100    59    0     0     51      0  0:00:01  0:00:01 --:--:--    51
 OK   

 --- Downloading static netdata binary: netdata-v1.10.0-531-g8f851356-x86_64-20180727-042835.gz.run --- 
[/home]# /usr/bin/curl https://raw.githubusercontent.com/firehol/binary-packages/master/netdata-v1.10.0-531-g8f851356-x86_64-20180727-042835.gz.run 
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 5602k  100 5602k    0     0  19712      0  0:04:51  0:04:51 --:--:-- 32001
 OK   

 --- Installing netdata --- 
[/home]# sh /tmp/netdata-v1.10.0-531-g8f851356-x86_64-20180727-042835.gz.run 

  ^
  |.-.   .-.   .-.   .-.   .  netdata                                        
  |   '-'   '-'   '-'   '-'   real-time performance monitoring, done right!  
  +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->

  (C) Copyright 2017, Costa Tsaousis
  All rights reserved
  Released under GPL v3+

  You are about to install netdata to this system.
  netdata will be installed at:

                    /opt/netdata

  The following changes will be made to your system:

  # USERS / GROUPS
  User 'netdata' and group 'netdata' will be added, if not present.

  # LOGROTATE
  This file will be installed if logrotate is present.

   - /etc/logrotate.d/netdata

  # SYSTEM INIT
  This file will be installed if this system runs with systemd:

   - /etc/systemd/system/netdata.service 

   or, for older Centos, Debian/Ubuntu or OpenRC Gentoo:

   - /etc/init.d/netdata         will be created

  
  This package can also update a netdata installation that has been
  created with another version of it.

  Your netdata configuration will be retained.
  After installation, netdata will be (re-)started.

  netdata re-distributes a lot of open source software components.
  Check its full license at:
  https://github.com/firehol/netdata/blob/master/LICENSE.md
Please type y to accept, n otherwise: 

           

輸入y确認安裝,下面列出了詳細的安裝過程。

Creating directory /opt/netdata
Verifying archive integrity...  100%   All good.
Uncompressing netdata, the real-time performance and health monitoring system  100%  
 --- Checking new configuration files --- 
[/opt/netdata]# mkdir -p etc/netdata 
 OK   

[/opt/netdata]# cp etc.new/netdata/node.d.conf etc/netdata/node.d.conf 
 OK   

[/opt/netdata]# mkdir -p etc/netdata/health.d 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/nginx.conf etc/netdata/health.d/nginx.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/tcp_listen.conf etc/netdata/health.d/tcp_listen.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/zfs.conf etc/netdata/health.d/zfs.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/apache.conf etc/netdata/health.d/apache.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/named.conf etc/netdata/health.d/named.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/nginx_plus.conf etc/netdata/health.d/nginx_plus.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/squid.conf etc/netdata/health.d/squid.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/udp_errors.conf etc/netdata/health.d/udp_errors.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/tcp_resets.conf etc/netdata/health.d/tcp_resets.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/portcheck.conf etc/netdata/health.d/portcheck.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/elasticsearch.conf etc/netdata/health.d/elasticsearch.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/ceph.conf etc/netdata/health.d/ceph.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/isc_dhcpd.conf etc/netdata/health.d/isc_dhcpd.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/bcache.conf etc/netdata/health.d/bcache.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/qos.conf etc/netdata/health.d/qos.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/stiebeleltron.conf etc/netdata/health.d/stiebeleltron.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/retroshare.conf etc/netdata/health.d/retroshare.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/mysql.conf etc/netdata/health.d/mysql.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/beanstalkd.conf etc/netdata/health.d/beanstalkd.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/postgres.conf etc/netdata/health.d/postgres.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/tcp_orphans.conf etc/netdata/health.d/tcp_orphans.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/haproxy.conf etc/netdata/health.d/haproxy.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/entropy.conf etc/netdata/health.d/entropy.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/cpu.conf etc/netdata/health.d/cpu.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/ipfs.conf etc/netdata/health.d/ipfs.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/varnish.conf etc/netdata/health.d/varnish.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/disks.conf etc/netdata/health.d/disks.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/tcp_conn.conf etc/netdata/health.d/tcp_conn.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/btrfs.conf etc/netdata/health.d/btrfs.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/lighttpd.conf etc/netdata/health.d/lighttpd.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/net.conf etc/netdata/health.d/net.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/softnet.conf etc/netdata/health.d/softnet.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/redis.conf etc/netdata/health.d/redis.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/web_log.conf etc/netdata/health.d/web_log.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/memory.conf etc/netdata/health.d/memory.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/ipmi.conf etc/netdata/health.d/ipmi.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/ram.conf etc/netdata/health.d/ram.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/netfilter.conf etc/netdata/health.d/netfilter.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/tcp_mem.conf etc/netdata/health.d/tcp_mem.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/mongodb.conf etc/netdata/health.d/mongodb.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/boinc.conf etc/netdata/health.d/boinc.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/swap.conf etc/netdata/health.d/swap.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/backend.conf etc/netdata/health.d/backend.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/ipc.conf etc/netdata/health.d/ipc.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/fronius.conf etc/netdata/health.d/fronius.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/apcupsd.conf etc/netdata/health.d/apcupsd.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/mdstat.conf etc/netdata/health.d/mdstat.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/couchdb.conf etc/netdata/health.d/couchdb.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/memcached.conf etc/netdata/health.d/memcached.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/megacli.conf etc/netdata/health.d/megacli.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/fping.conf etc/netdata/health.d/fping.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/httpcheck.conf etc/netdata/health.d/httpcheck.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health.d/bind_rndc.conf etc/netdata/health.d/bind_rndc.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d.conf etc/netdata/python.d.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health_alarm_notify.conf etc/netdata/health_alarm_notify.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/health_email_recipients.conf etc/netdata/health_email_recipients.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/apps_groups.conf etc/netdata/apps_groups.conf 
 OK   

[/opt/netdata]# mkdir -p etc/netdata/python.d 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/nginx.conf etc/netdata/python.d/nginx.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/dovecot.conf etc/netdata/python.d/dovecot.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/apache.conf etc/netdata/python.d/apache.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/exim.conf etc/netdata/python.d/exim.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/rabbitmq.conf etc/netdata/python.d/rabbitmq.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/spigotmc.conf etc/netdata/python.d/spigotmc.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/nginx_plus.conf etc/netdata/python.d/nginx_plus.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/squid.conf etc/netdata/python.d/squid.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/w1sensor.conf etc/netdata/python.d/w1sensor.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/tomcat.conf etc/netdata/python.d/tomcat.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/fail2ban.conf etc/netdata/python.d/fail2ban.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/postfix.conf etc/netdata/python.d/postfix.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/powerdns.conf etc/netdata/python.d/powerdns.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/ntpd.conf etc/netdata/python.d/ntpd.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/portcheck.conf etc/netdata/python.d/portcheck.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/dns_query_time.conf etc/netdata/python.d/dns_query_time.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/elasticsearch.conf etc/netdata/python.d/elasticsearch.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/freeradius.conf etc/netdata/python.d/freeradius.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/ceph.conf etc/netdata/python.d/ceph.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/isc_dhcpd.conf etc/netdata/python.d/isc_dhcpd.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/nsd.conf etc/netdata/python.d/nsd.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/logind.conf etc/netdata/python.d/logind.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/samba.conf etc/netdata/python.d/samba.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/retroshare.conf etc/netdata/python.d/retroshare.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/phpfpm.conf etc/netdata/python.d/phpfpm.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/mysql.conf etc/netdata/python.d/mysql.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/smartd_log.conf etc/netdata/python.d/smartd_log.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/postgres.conf etc/netdata/python.d/postgres.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/haproxy.conf etc/netdata/python.d/haproxy.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/cpufreq.conf etc/netdata/python.d/cpufreq.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/ipfs.conf etc/netdata/python.d/ipfs.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/varnish.conf etc/netdata/python.d/varnish.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/hddtemp.conf etc/netdata/python.d/hddtemp.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/puppet.conf etc/netdata/python.d/puppet.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/unbound.conf etc/netdata/python.d/unbound.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/redis.conf etc/netdata/python.d/redis.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/web_log.conf etc/netdata/python.d/web_log.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/dnsdist.conf etc/netdata/python.d/dnsdist.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/mongodb.conf etc/netdata/python.d/mongodb.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/boinc.conf etc/netdata/python.d/boinc.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/springboot.conf etc/netdata/python.d/springboot.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/litespeed.conf etc/netdata/python.d/litespeed.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/icecast.conf etc/netdata/python.d/icecast.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/example.conf etc/netdata/python.d/example.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/mdstat.conf etc/netdata/python.d/mdstat.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/couchdb.conf etc/netdata/python.d/couchdb.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/chrony.conf etc/netdata/python.d/chrony.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/memcached.conf etc/netdata/python.d/memcached.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/megacli.conf etc/netdata/python.d/megacli.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/traefik.conf etc/netdata/python.d/traefik.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/httpcheck.conf etc/netdata/python.d/httpcheck.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/ovpn_status_log.conf etc/netdata/python.d/ovpn_status_log.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/sensors.conf etc/netdata/python.d/sensors.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/bind_rndc.conf etc/netdata/python.d/bind_rndc.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/go_expvar.conf etc/netdata/python.d/go_expvar.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/python.d/beanstalk.conf etc/netdata/python.d/beanstalk.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d.conf etc/netdata/charts.d.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/stream.conf etc/netdata/stream.conf 
 OK   

[/opt/netdata]# mkdir -p etc/netdata/statsd.d 
 OK   

[/opt/netdata]# cp etc.new/netdata/statsd.d/example.conf etc/netdata/statsd.d/example.conf 
 OK   

[/opt/netdata]# mkdir -p etc/netdata/node.d 
 OK   

[/opt/netdata]# cp etc.new/netdata/node.d/named.conf.md etc/netdata/node.d/named.conf.md 
 OK   

[/opt/netdata]# cp etc.new/netdata/node.d/README.md etc/netdata/node.d/README.md 
 OK   

[/opt/netdata]# cp etc.new/netdata/node.d/sma_webbox.conf.md etc/netdata/node.d/sma_webbox.conf.md 
 OK   

[/opt/netdata]# cp etc.new/netdata/node.d/stiebeleltron.conf.md etc/netdata/node.d/stiebeleltron.conf.md 
 OK   

[/opt/netdata]# cp etc.new/netdata/node.d/snmp.conf.md etc/netdata/node.d/snmp.conf.md 
 OK   

[/opt/netdata]# cp etc.new/netdata/node.d/fronius.conf.md etc/netdata/node.d/fronius.conf.md 
 OK   

[/opt/netdata]# mkdir -p etc/netdata/charts.d 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/nginx.conf etc/netdata/charts.d/nginx.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/nut.conf etc/netdata/charts.d/nut.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/libreswan.conf etc/netdata/charts.d/libreswan.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/apache.conf etc/netdata/charts.d/apache.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/exim.conf etc/netdata/charts.d/exim.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/squid.conf etc/netdata/charts.d/squid.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/tomcat.conf etc/netdata/charts.d/tomcat.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/postfix.conf etc/netdata/charts.d/postfix.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/phpfpm.conf etc/netdata/charts.d/phpfpm.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/mysql.conf etc/netdata/charts.d/mysql.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/cpufreq.conf etc/netdata/charts.d/cpufreq.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/hddtemp.conf etc/netdata/charts.d/hddtemp.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/cpu_apps.conf etc/netdata/charts.d/cpu_apps.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/load_average.conf etc/netdata/charts.d/load_average.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/opensips.conf etc/netdata/charts.d/opensips.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/apcupsd.conf etc/netdata/charts.d/apcupsd.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/example.conf etc/netdata/charts.d/example.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/mem_apps.conf etc/netdata/charts.d/mem_apps.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/ap.conf etc/netdata/charts.d/ap.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/charts.d/sensors.conf etc/netdata/charts.d/sensors.conf 
 OK   

[/opt/netdata]# cp etc.new/netdata/fping.conf etc/netdata/fping.conf 
 OK   

[/opt/netdata]# rm -rf etc.new 
 OK   

 --- Add user netdata to required user groups --- 
Adding netdata user group ...
[/opt/netdata]# groupadd -r netdata 
 OK   

Adding netdata user account with home /opt/netdata ...
[/opt/netdata]# useradd -r -g netdata -c netdata -s /usr/sbin/nologin --no-create-home -d /opt/netdata netdata 
 OK   

Group 'docker' does not exist.
Adding netdata user to the nginx group ...
[/opt/netdata]# usermod -a -G nginx netdata 
 OK   

Group 'varnish' does not exist.
Group 'haproxy' does not exist.
Adding netdata user to the adm group ...
[/opt/netdata]# usermod -a -G adm netdata 
 OK   

Group 'nsd' does not exist.
Group 'proxy' does not exist.
Group 'squid' does not exist.
Group 'ceph' does not exist.
Adding netdata user to the nobody group ...
[/opt/netdata]# usermod -a -G nobody netdata 
 OK   

 --- Check SSL certificates paths --- 
Creating /opt/netdata/.curlrc with cacert=/etc/ssl/certs/ca-bundle.crt
 --- Install logrotate configuration for netdata --- 
[/opt/netdata]# cp system/netdata.logrotate /etc/logrotate.d/netdata 
 OK   

[/opt/netdata]# chmod 644 /etc/logrotate.d/netdata 
 OK   

 --- Install netdata at system init --- 
Installing systemd service...
[/opt/netdata]# cp system/netdata.service /etc/systemd/system/netdata.service 
 OK   

[/opt/netdata]# systemctl daemon-reload 
 OK   

[/opt/netdata]# systemctl enable netdata 
Created symlink from /etc/systemd/system/multi-user.target.wants/netdata.service to /etc/systemd/system/netdata.service.
 OK   

 --- creating quick links --- 
[/opt/netdata]# ln -s bin sbin 
 OK   

[/opt/netdata/usr]# ln -s ../bin bin 
 OK   

[/opt/netdata/usr]# ln -s ../bin sbin 
 OK   

[/opt/netdata/usr]# ln -s . local 
 OK   

[/opt/netdata]# ln -s etc/netdata netdata-configs 
 OK   

[/opt/netdata]# ln -s usr/share/netdata/web netdata-web-files 
 OK   

[/opt/netdata]# ln -s usr/libexec/netdata netdata-plugins 
 OK   

[/opt/netdata]# ln -s var/lib/netdata netdata-dbs 
 OK   

[/opt/netdata]# ln -s var/cache/netdata netdata-metrics 
 OK   

[/opt/netdata]# ln -s var/log/netdata netdata-logs 
 OK   

 --- fix permissions --- 
[/opt/netdata]# chmod g+rx\,o+rx /opt 
 OK   

[/opt/netdata]# chown -R netdata:netdata /opt/netdata 
 OK   

 --- fix plugin permissions --- 
[/opt/netdata]# chown root:netdata usr/libexec/netdata/plugins.d/apps.plugin 
 OK   

[/opt/netdata]# chmod 4750 usr/libexec/netdata/plugins.d/apps.plugin 
 OK   

[/opt/netdata]# chown root:netdata usr/libexec/netdata/plugins.d/cgroup-network 
 OK   

[/opt/netdata]# chmod 4750 usr/libexec/netdata/plugins.d/cgroup-network 
 OK   

[/opt/netdata]# chown root:netdata bin/fping 
 OK   

[/opt/netdata]# chmod 4750 bin/fping 
 OK   

 --- starting netdata --- 
 --- Start netdata --- 
[/opt/netdata]# /usr/bin/systemctl stop netdata 
 OK   

[/opt/netdata]# /usr/bin/systemctl restart netdata 
 OK   


-------------------------------------------------------------------------------

Downloading default configuration from netdata...
[/opt/netdata]# curl -s -o /opt/netdata/etc/netdata/netdata.conf.new http://localhost:19999/netdata.conf 
 OK   

[/opt/netdata]# mv /opt/netdata/etc/netdata/netdata.conf.new /opt/netdata/etc/netdata/netdata.conf 
 OK   

 OK  New configuration saved for you to edit at /opt/netdata/etc/netdata/netdata.conf 

[/opt/netdata]# chown netdata:netdata /opt/netdata/etc/netdata/netdata.conf 
 OK   

[/opt/netdata]# chmod 0664 /opt/netdata/etc/netdata/netdata.conf 
 OK   


  ^
  |.-.   .-.   .-.   .-.   .-.   .  netdata                          .-.   .-
  |   '-'   '-'   '-'   '-'   '-'   is installed and running now!  -'   '-'  
  +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->

 OK   


           

安裝後預設是通過

http://xxx:19999/

通路

由于netdata沒有帳号密碼體系,為保護伺服器隐私,我們要使用nginx反代,通過域名通路,并使用賬号密碼授權。

首先,我們安裝apache工具集,我們需要其中的

htpasswd

為我們生成使用者資訊(PS:網上找到的資料是apache2-utils,但我們在CentOS7的源中已經搜尋不到這個包)。

yum install httpd-tools -y
           

安裝過程如下:

Loaded plugins: fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package httpd-tools.x86_64 0:2.4.6-80.el7.centos.1 will be installed
--> Processing Dependency: libaprutil-1.so.0()(64bit) for package: httpd-tools-2.4.6-80.el7.centos.1.x86_64
--> Processing Dependency: libapr-1.so.0()(64bit) for package: httpd-tools-2.4.6-80.el7.centos.1.x86_64
--> Running transaction check
---> Package apr.x86_64 0:1.4.8-3.el7_4.1 will be installed
---> Package apr-util.x86_64 0:1.5.2-6.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

============================================================================================================================================================
 Package                              Arch                            Version                                        Repository                        Size
============================================================================================================================================================
Installing:
 httpd-tools                          x86_64                          2.4.6-80.el7.centos.1                          updates                           90 k
Installing for dependencies:
 apr                                  x86_64                          1.4.8-3.el7_4.1                                os                               103 k
 apr-util                             x86_64                          1.5.2-6.el7                                    os                                92 k

Transaction Summary
============================================================================================================================================================
Install  1 Package (+2 Dependent packages)

Total download size: 285 k
Installed size: 584 k
Is this ok [y/d/N]: y
Downloading packages:
(1/3): apr-util-1.5.2-6.el7.x86_64.rpm                                                                                               |  92 kB  00:00:00     
(2/3): apr-1.4.8-3.el7_4.1.x86_64.rpm                                                                                                | 103 kB  00:00:00     
(3/3): httpd-tools-2.4.6-80.el7.centos.1.x86_64.rpm                                                                                  |  90 kB  00:00:00     
------------------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                                       1.7 MB/s | 285 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : apr-1.4.8-3.el7_4.1.x86_64                                                                                                               1/3 
  Installing : apr-util-1.5.2-6.el7.x86_64                                                                                                              2/3 
  Installing : httpd-tools-2.4.6-80.el7.centos.1.x86_64                                                                                                 3/3 
  Verifying  : httpd-tools-2.4.6-80.el7.centos.1.x86_64                                                                                                 1/3 
  Verifying  : apr-util-1.5.2-6.el7.x86_64                                                                                                              2/3 
  Verifying  : apr-1.4.8-3.el7_4.1.x86_64                                                                                                               3/3 

Installed:
  httpd-tools.x86_64 0:2.4.6-80.el7.centos.1                                                                                                                

Dependency Installed:
  apr.x86_64 0:1.4.8-3.el7_4.1                                                 apr-util.x86_64 0:1.5.2-6.el7                                                

Complete!

           

接下來建立目錄,建立賬号

mkdir /usr/local/nginx
htpasswd -c /usr/local/nginx/passwd.db username
pwd
re-type pwd
           

添加一個nginx的配置

vim /etc/nginx/conf.d/netdata.conf

,内容如下

upstream netdatahttp
{
        server 127.0.0.1:19999;
}

server {

  listen *:80;
  server_name netdata.xxx.com;
  auth_basic "netdata";
  auth_basic_user_file /usr/local/nginx/passwd.db;

  location /
  {
        proxy_pass http://netdatahttp;

        proxy_redirect off;
        proxy_set_header        Host $host;
        proxy_set_header        X-Real_IP $remote_addr;
        proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

           

打開域名測試一下效果

IT基礎設施:使用netdata監控CentOS7性能背景工具過程引用

要求輸入賬号密碼

輸入密碼後

IT基礎設施:使用netdata監控CentOS7性能背景工具過程引用

總覽

IT基礎設施:使用netdata監控CentOS7性能背景工具過程引用

應用的記憶體使用情況

引用

1.netdata官方安裝指南 2.Running behind nginx(通過 nginx 保護 netdata) 3.netdata開源位址