您好,登錄后才能下訂單哦!
這篇文章主要介紹Linux下Sensu如何安裝使用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Sensu 是一款開源的監(jiān)控框架。 Sensu 采用 C/S 結(jié)構(gòu),有用來發(fā)送指令、存儲數(shù)據(jù)的 Sensu Server 和被監(jiān)控的對象 Sensu Client。
一個 Linux 系統(tǒng)作為服務(wù)器節(jié)點(本文使用了 CentOS 7)
要監(jiān)控的一臺或多臺 Linux 機器(客戶機)
Sensu 需要安裝 Redis。要安裝 Redis,啟用 EPEL 倉庫:
$ sudo yum install epel-release -y
然后安裝 Redis:
$ sudo yum install redis -y
修改 /etc/redis.conf 來禁用保護模式,監(jiān)聽每個地址并設(shè)置密碼:
$ sudo sed -i 's/^protected-mode yes/protected-mode no/g' /etc/redis.conf $ sudo sed -i 's/^bind 127.0.0.1/bind 0.0.0.0/g' /etc/redis.conf $ sudo sed -i 's/^# requirepass foobared/requirepass password123/g' /etc/redis.conf
啟用并啟動 Redis 服務(wù):
$ sudo systemctl enable redis $ sudo systemctl start redis
Redis 現(xiàn)在已經(jīng)安裝并準(zhǔn)備好被 Sensu 使用。
現(xiàn)在讓我們來安裝 Sensu。
首先,配置 Sensu 倉庫并安裝軟件包:
$ sudo tee /etc/yum.repos.d/sensu.repo讓我們?yōu)?nbsp;Sensu 創(chuàng)建最簡單的配置文件:$ sudo tee /etc/sensu/conf.d/api.json然后,配置 sensu-api 在本地主機上使用端口 4567 監(jiān)聽:$ sudo tee /etc/sensu/conf.d/redis.json ", "port": 6379, "password": "password123" } } EOF $ sudo tee /etc/sensu/conf.d/transport.json在這兩個文件中,我們將 Sensu 配置為使用 Redis 作為傳輸機制,還有 Reids 監(jiān)聽的地址。客戶端需要直接連接到傳輸機制。每臺客戶機都需要這兩個文件。$ sudo tee /etc/sensu/uchiwa.json在這個文件中,我們配置 Uchiwa 監(jiān)聽每個地址(0.0.0.0)的端口 3000。我們還配置 Uchiwa 使用 sensu-api(已配置好)。出于安全原因,更改剛剛創(chuàng)建的配置文件的所有者:$ sudo chown -R sensu:sensu /etc/sensu啟用并啟動 Sensu 服務(wù):$ sudo systemctl enable sensu-server sensu-api sensu-client $ sudo systemctl start sensu-server sensu-api sensu-client $ sudo systemctl enable uchiwa $ sudo systemctl start uchiwa嘗試訪問 Uchiwa 網(wǎng)站:http://:3000對于生產(chǎn)環(huán)境,建議運行 RabbitMQ 集群作為 Transport 而不是 Redis(雖然 Redis 集群也可以用于生產(chǎn)環(huán)境),運行多個 Sensu 服務(wù)器實例和 API 實例,以實現(xiàn)負載均衡和高可用性。Sensu 現(xiàn)在安裝完成,讓我們來配置客戶端。客戶端側(cè)要添加一個新客戶端,你需要通過創(chuàng)建 /etc/yum.repos.d/sensu.repo 文件在客戶機上啟用 Sensu 倉庫。$ sudo tee /etc/yum.repos.d/sensu.repo啟用倉庫后,安裝 Sensu:$ sudo yum install sensu -y要配置 sensu-client,創(chuàng)建在服務(wù)器中相同的 redis.json 和 transport.json,還有 client.json 配置文件:$ sudo tee /etc/sensu/conf.d/client.json在 name 字段中,指定一個名稱來標(biāo)識此客戶機(通常是主機名)。environment 字段可以幫助你過濾,而 subscriptions 定義了客戶機將執(zhí)行哪些監(jiān)視檢查。最后,啟用并啟動服務(wù)并簽入 Uchiwa,因為客戶機會自動注冊:$ sudo systemctl enable sensu-client $ sudo systemctl start sensu-clientSensu 檢查Sensu 檢查有兩個組件:一個插件和一個定義。Sensu 與 Nagios 檢查插件規(guī)范兼容,因此無需修改即可使用用于 Nagios 的任何檢查。檢查是可執(zhí)行文件,由 Sensu 客戶機運行。檢查定義可以讓 Sensu 知道如何、在哪以及何時運行插件。客戶端側(cè)讓我們在客戶機上安裝一個檢查插件。請記住,此插件將在客戶機上執(zhí)行。啟用 EPEL 并安裝 nagios-plugins-http:$ sudo yum install -y epel-release $ sudo yum install -y nagios-plugins-http現(xiàn)在讓我們通過手動執(zhí)行它來了解這個插件。嘗試檢查客戶機上運行的 Web 服務(wù)器的狀態(tài)。它應(yīng)該會失敗,因為我們并沒有運行 Web 服務(wù)器:$ /usr/lib64/nagios/plugins/check_http -I 127.0.0.1 connect to address 127.0.0.1 and port 80: Connection refused HTTP CRITICAL - Unable to open TCP socket不出所料,它失敗了。檢查執(zhí)行的返回值:$ echo $? 2Nagios 檢查插件規(guī)范定義了插件執(zhí)行的四個返回值:
插件返回碼 | 狀態(tài) |
---|---|
0 | OK |
1 | WARNING |
2 | CRITICAL |
3 | UNKNOWN |
有了這些信息,我們現(xiàn)在可以在服務(wù)器上創(chuàng)建檢查定義。
在服務(wù)器機器上,創(chuàng)建 /etc/sensu/conf.d/check_http.json 文件:
{ "checks": { "check_http": { "command": "/usr/lib64/nagios/plugins/check_http -I 127.0.0.1", "interval": 10, "subscribers": [ "frontend" ] } } }
在 command 字段中,使用我們之前測試過的命令。interval 會告訴 Sensu 這個檢查的頻率,以秒為單位。最后,subscribers 將定義執(zhí)行檢查的客戶機。
重新啟動 sensu-api 和 sensu-server 并確認(rèn)新檢查在 Uchiwa 中可用。
$ sudo systemctl restart sensu-api sensu-server
以上是“Linux下Sensu如何安裝使用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。