天天看點

Flume【環境搭建 02】【Flume監控工具Ganglia的安裝與配置】【Linux環境線上安裝系統監控工具Ganglia+權限問題處理+Flume接入監控配置舉例】(已完成)

Ganglia是一款為HPC(高性能計算) 叢集設計的可擴充性的分布式監控系統,它可以監視和顯示叢集中節點的各種狀态資訊,他由運作在各個節點上的gmond守護程序來采集 CPU、記憶體、磁盤使用率、I/O負載、網絡流量情況等方面的資料。然後彙總到gmetad守護程序下,使用rrdtool存儲資料,然後将曆史資料以曲線方式通過PHP頁面呈現。這裡用來監控Flume的運作資訊。

1. 安裝配置

  1. 安裝epel軟體源和httpd、php服務
yum install epel-release
yum -y install httpd php
           
  1. 安裝其他依賴
yum -y install rrdtool perl-rrdtool rrdtool-devel
yum -y install apr-devel
           
  1. 安裝ganglia的三大元件
yum -y install ganglia-gmetad 
# 安裝ganglia-web時間比較久【也有可能是我的網絡不好】
yum -y install ganglia-web
yum install -y ganglia-gmond
           
  1. 修改配置檔案

【養成好習慣,修改配置檔案前先備份一下,正所謂有備無患 😏 這裡要修改4個配置檔案】

【第 1️⃣ 個配置:ganglia.conf】

這裡解決了Web頁面報:You don’t have permission to access /ganglia on this server. 的問題。

vim /etc/httpd/conf.d/ganglia.conf
           
# 原内容
Alias /ganglia /usr/share/ganglia

<Location /ganglia>
  Order deny,allow
  Deny from all
  Allow from 127.0.0.1
  Allow from ::1
  # Allow from .example.com
</Location>

# 修改後
Alias /ganglia /usr/share/ganglia

<Location /ganglia>
 Require all granted
</Location>
           

【第 2️⃣ 個配置檔案:gmetad.conf】

vim /etc/ganglia/gmetad.conf
# 配置資料源 名稱 IP位址
data_source "tcloud_source" tcloud
           

【第 3️⃣ 個配置檔案:gmond.conf】

vim /etc/ganglia/gmond.conf 
           
# 修改後的模樣
cluster {
 name = "tcloud_source"
 owner = "unspecified"
 latlong = "unspecified"
 url = "unspecified"
}
udp_send_channel {
 host = tcloud
 port = 8649
 ttl = 1
}
udp_recv_channel {
 port = 8649
 bind = tcloud
 retry_bind = true
}
           

【第 4️⃣ 個配置檔案:/etc/selinux/config】

vim /etc/selinux/config
           
# 配置這兩項
SELINUX=disabled
SELINUXTYPE=targeted
# selinux修改需要重新開機才能生效 臨時生效指令
[[email protected] ~]# setenforce 0
setenforce: SELinux is disabled
           

2. 啟動驗證

# 啟動 httpd 服務
[[email protected] ~]# systemctl start httpd.service
# 啟動 gmetad 服務
[[email protected] ~]# systemctl start gmetad.service
# 啟動 gmond 服務
[[email protected] ~]# systemctl start gmond.service
           

通路 http://tcloud/ganglia 進行驗證

Flume【環境搭建 02】【Flume監控工具Ganglia的安裝與配置】【Linux環境線上安裝系統監控工具Ganglia+權限問題處理+Flume接入監控配置舉例】(已完成)

如果出現以上權限問題,修改/var/lib/ganglia目錄的權限:

chmod -R 777 /var/lib/ganglia
           

成功頁面為:

Flume【環境搭建 02】【Flume監控工具Ganglia的安裝與配置】【Linux環境線上安裝系統監控工具Ganglia+權限問題處理+Flume接入監控配置舉例】(已完成)

3. 監控測試

  1. 修改 ${FLUME_HOME}/conf/flume-env.sh配置
vim /usr/local/flume/conf/flume-env.sh
# 添加一下配置【添加的時候不要換行】這裡是為了大家看得清楚
	JAVA_OPTS="
	-Dflume.monitoring.type=ganglia 
	-Dflume.monitoring.hosts=tcloud:8649 
	-Xms100m -Xmx200m
	"
           
  1. 啟動一個Flume任務進行測試【我們用 付諸實踐 01 裡的第一個進行舉例】需要注意的是要增加一些監控參數。
# 1.啟動
[[email protected] ~]# flume-ng agent \
-n a1 \
-c conf \
-f /home/flume/test/test-exec-memory-logger.properties \
-Dflume.root.logger=INFO,console \
-Dflume.monitoring.type=ganglia \
-Dflume.monitoring.hosts=tcloud:8649
           
# 2.發送資料進行測試
[[email protected] ~]# echo "Test" >> /tmp/log.txt
[[email protected] ~]# echo "Ganglia" >> /tmp/log.txt
           

頁面顯示【雲伺服器性能不行,為了截這張圖等了很久 🚥】:

Flume【環境搭建 02】【Flume監控工具Ganglia的安裝與配置】【Linux環境線上安裝系統監控工具Ganglia+權限問題處理+Flume接入監控配置舉例】(已完成)

點選小圖可以看詳情:

Flume【環境搭建 02】【Flume監控工具Ganglia的安裝與配置】【Linux環境線上安裝系統監控工具Ganglia+權限問題處理+Flume接入監控配置舉例】(已完成)

圖例說明:

字段(圖表名稱) 字段含義
EventPutAttemptCount source嘗試寫入channel的事件總數量
EventPutSuccessCount 成功寫入channel且送出的事件總數量
EventTakeAttemptCount sink嘗試從channel拉取事件的總數量。這不意味着每次事件都被傳回,因為sink拉取的時候channel可能沒有任何資料。
EventTakeSuccessCount sink成功讀取的事件的總數量
StartTime channel啟動的時間(毫秒)
StopTime channel停止的時間(毫秒)
ChannelSize 目前channel中事件的總數量
ChannelFillPercentage channel占用百分比
ChannelCapacity channel的容量