背景
作為一個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;
}
}
打開域名測試一下效果

要求輸入賬号密碼
輸入密碼後
總覽
應用的記憶體使用情況