2016年7月30日 星期六

在 CentOS7/RHEL7 上使用 Collectd 套件

設定目標:
  • 即時監控系統資源運作情形!
快速設定流程:
  1. 利用 yum 進行相關套件安裝:
    #yum -y install collectd.x86_64 collectd-web collectd-rrdtool collectd-notify_email
    
  2. 啟動 Collectd 服務:
    #systemctl enable collectd
    #systemctl start collectd
    
  3. 複製 Collectd 的網頁檔案至網頁目錄:
    #cd /usr/share/nginx/html/
    #git clone https://github.com/pommi/CGP.git
    #mv CGP Collectd
    
  4. 打開 Firefox 查看網頁即可!
    # firefox http://localhost/Collectd
    
    ※注意:本次實作未考慮 SELinux 的影響!
  5. 若考慮 SELinux 的限制,需使用下列指令:
    #setenforce 0
    # grep php-fpm /var/log/audit/audit.log | audit2allow -M mypol
    # semodule -i mypol.pp
    # grep rrdtool /var/log/audit/audit.log | audit2allow -M mypol
    # semodule -i mypol.pp
    #setenforce 1
    
    ※注意:上述步驟需要不停的重試,直到網站運作正常為止!
Plugin套件快速設定流程:
※以收集 Nginx 連線資料為例:
  1. 安裝 Nginx for Collectd 套件:
    #yum -y install collectd-nginx
    
  2. 查詢 nginx 是否有支援 stub_status 模組:
    #nginx -V 2>&1 | sed 's,--,n--,g' | grep stub_status
    
  3. 修改 Collectd 設定檔:
    #vim /etc/collectd.d/nginx.conf
    <LoadPlugin nginx>
          URL "http://192.168.5.104/nginx_status?auto"
          User "nginx"
    #      Password "secret"
    #      CACert "/etc/ssl/ca.crt"
    </plugin>
    
    
  4. 修改 Nginx 設定檔:
    # vim /etc/nginx/conf.d/default.conf
    (追加設定:)
    location /nginx_status {
          stub_status on;
          access_log off;
          allow 192.168.4.0/23;
          deny all;
        }
    
    
  5. 重新啟動相關服務
    #systemctl restart collectd
    #systemctl restart nginx
    
  6. 設定 SELinux:
    #setsebool -P collectd_tcp_network_connect on
    
  7. 打開 firefox 查看結果!

參考文獻: