偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

開(kāi)源 | Sensu監(jiān)控入門

開(kāi)源
Sensu 是一個(gè)開(kāi)源的基礎(chǔ)設(shè)施和應(yīng)用程序監(jiān)控解決方案,它可以監(jiān)控服務(wù)器、相關(guān)服務(wù)和應(yīng)用程序健康狀況,并通過(guò)第三方集成發(fā)送警報(bào)和通知。Sensu 用 Ruby 編寫(xiě),可以使用 RabbitMQ 或 Redis 來(lái)處理消息,它使用 Redis 來(lái)存儲(chǔ)數(shù)據(jù)。

 [[264060]]

這個(gè)開(kāi)源解決方案可以簡(jiǎn)單而有效地監(jiān)控你的云基礎(chǔ)設(shè)施。

Sensu 是一個(gè)開(kāi)源的基礎(chǔ)設(shè)施和應(yīng)用程序監(jiān)控解決方案,它可以監(jiān)控服務(wù)器、相關(guān)服務(wù)和應(yīng)用程序健康狀況,并通過(guò)第三方集成發(fā)送警報(bào)和通知。Sensu 用 Ruby 編寫(xiě),可以使用 RabbitMQRedis 來(lái)處理消息,它使用 Redis 來(lái)存儲(chǔ)數(shù)據(jù)。

如果你想以一種簡(jiǎn)單而有效的方式監(jiān)控云基礎(chǔ)設(shè)施,Sensu 是一個(gè)不錯(cuò)的選擇。它可以與你的組織已經(jīng)使用的許多現(xiàn)代 DevOps 組件集成,比如 Slack、HipChatIRC,它甚至可以用 PagerDuty 發(fā)送移動(dòng)或?qū)ず魴C(jī)的警報(bào)。

Sensu 的模塊化架構(gòu)意味著每個(gè)組件都可以安裝在同一臺(tái)服務(wù)器上或者在完全獨(dú)立的機(jī)器上。

結(jié)構(gòu)

Sensu 的主要通信機(jī)制是 Transport。每個(gè) Sensu 組件必須連接到 Transport 才能相互發(fā)送消息。Transport 可以使用 RabbitMQ(在生產(chǎn)環(huán)境中推薦使用)或 Redis。

Sensu 服務(wù)器處理事件數(shù)據(jù)并采取行動(dòng)。它注冊(cè)客戶端并使用過(guò)濾器、增變器和處理程序檢查結(jié)果和監(jiān)視事件。服務(wù)器向客戶端發(fā)布檢查說(shuō)明,Sensu API 提供 RESTful API,提供對(duì)監(jiān)控?cái)?shù)據(jù)和核心功能的訪問(wèn)。

Sensu 客戶端執(zhí)行 Sensu 服務(wù)器安排的檢查或本地檢查定義。Sensu 使用數(shù)據(jù)存儲(chǔ)(Redis)來(lái)保存所有的持久數(shù)據(jù)。***,Uchiwa 是與 Sensu API 進(jìn)行通信的 Web 界面。

sensu_system.png

安裝 Sensu

條件

  • 一個(gè) Linux 系統(tǒng)作為服務(wù)器節(jié)點(diǎn)(本文使用了 CentOS 7)
  • 要監(jiān)控的一臺(tái)或多臺(tái) Linux 機(jī)器(客戶機(jī))

服務(wù)器側(cè)

Sensu 需要安裝 Redis。要安裝 Redis,啟用 EPEL 倉(cāng)庫(kù):

  1. $ sudo yum install epel-release -y

然后安裝 Redis:

  1. $ sudo yum install redis -y

修改 /etc/redis.conf 來(lái)禁用保護(hù)模式,監(jiān)聽(tīng)每個(gè)地址并設(shè)置密碼:

  1. $ sudo sed -i 's/^protected-mode yes/protected-mode no/g' /etc/redis.conf
  2. $ sudo sed -i 's/^bind 127.0.0.1/bind 0.0.0.0/g' /etc/redis.conf
  3. $ sudo sed -i 's/^# requirepass foobared/requirepass password123/g' /etc/redis.conf

啟用并啟動(dòng) Redis 服務(wù):

  1. $ sudo systemctl enable redis
  2. $ sudo systemctl start redis

Redis 現(xiàn)在已經(jīng)安裝并準(zhǔn)備好被 Sensu 使用。

現(xiàn)在讓我們來(lái)安裝 Sensu。

首先,配置 Sensu 倉(cāng)庫(kù)并安裝軟件包:

  1. $ sudo tee /etc/yum.repos.d/sensu.repo << EOF
  2. [sensu]
  3. name=sensu
  4. baseurl=https://sensu.global.ssl.fastly.net/yum/\$releasever/\$basearch/
  5. gpgcheck=0
  6. enabled=1
  7. EOF
  8.  
  9. $ sudo yum install sensu uchiwa -y

讓我們?yōu)?Sensu 創(chuàng)建最簡(jiǎn)單的配置文件:

  1. $ sudo tee /etc/sensu/conf.d/api.json << EOF
  2. {
  3.   "api": {
  4.         "host": "127.0.0.1",
  5.         "port": 4567
  6.   }
  7. }
  8. EOF

然后,配置 sensu-api 在本地主機(jī)上使用端口 4567 監(jiān)聽(tīng):

  1. $ sudo tee /etc/sensu/conf.d/redis.json << EOF
  2. {
  3.   "redis": {
  4.         "host": "<IP of server>",
  5.         "port": 6379,
  6.         "password": "password123"
  7.   }
  8. }
  9. EOF
  10.  
  11.  
  12. $ sudo tee /etc/sensu/conf.d/transport.json << EOF
  13. {
  14.   "transport": {
  15.         "name": "redis"
  16.   }
  17. }
  18. EOF

在這兩個(gè)文件中,我們將 Sensu 配置為使用 Redis 作為傳輸機(jī)制,還有 Reids 監(jiān)聽(tīng)的地址??蛻舳诵枰苯舆B接到傳輸機(jī)制。每臺(tái)客戶機(jī)都需要這兩個(gè)文件。

  1. $ sudo tee /etc/sensu/uchiwa.json << EOF
  2. {
  3.    "sensu": [
  4.         {
  5.         "name": "sensu",
  6.         "host": "127.0.0.1",
  7.         "port": 4567
  8.         }
  9.    ],
  10.    "uchiwa": {
  11.         "host": "0.0.0.0",
  12.         "port": 3000
  13.    }
  14. }
  15. EOF

在這個(gè)文件中,我們配置 Uchiwa 監(jiān)聽(tīng)每個(gè)地址(0.0.0.0)的端口 3000。我們還配置 Uchiwa 使用 sensu-api(已配置好)。

出于安全原因,更改剛剛創(chuàng)建的配置文件的所有者:

  1. $ sudo chown -R sensu:sensu /etc/sensu

啟用并啟動(dòng) Sensu 服務(wù):

  1. $ sudo systemctl enable sensu-server sensu-api sensu-client
  2. $ sudo systemctl start sensu-server sensu-api sensu-client
  3. $ sudo systemctl enable uchiwa
  4. $ sudo systemctl start uchiwa

嘗試訪問(wèn) Uchiwa 網(wǎng)站:http://<服務(wù)器的 IP 地址>:3000

對(duì)于生產(chǎn)環(huán)境,建議運(yùn)行 RabbitMQ 集群作為 Transport 而不是 Redis(雖然 Redis 集群也可以用于生產(chǎn)環(huán)境),運(yùn)行多個(gè) Sensu 服務(wù)器實(shí)例和 API 實(shí)例,以實(shí)現(xiàn)負(fù)載均衡和高可用性。

Sensu 現(xiàn)在安裝完成,讓我們來(lái)配置客戶端。

客戶端側(cè)

要添加一個(gè)新客戶端,你需要通過(guò)創(chuàng)建 /etc/yum.repos.d/sensu.repo 文件在客戶機(jī)上啟用 Sensu 倉(cāng)庫(kù)。

  1. $ sudo tee /etc/yum.repos.d/sensu.repo << EOF
  2. [sensu]
  3. name=sensu
  4. baseurl=https://sensu.global.ssl.fastly.net/yum/\$releasever/\$basearch/
  5. gpgcheck=0
  6. enabled=1
  7. EOF

啟用倉(cāng)庫(kù)后,安裝 Sensu:

  1. $ sudo yum install sensu -y

要配置 sensu-client,創(chuàng)建在服務(wù)器中相同的 redis.jsontransport.json,還有 client.json 配置文件:

  1. $ sudo tee /etc/sensu/conf.d/client.json << EOF
  2. {
  3.   "client": {
  4.         "name": "rhel-client",
  5.         "environment": "development",
  6.         "subscriptions": [
  7.         "frontend"
  8.         ]
  9.   }
  10. }
  11. EOF

name 字段中,指定一個(gè)名稱來(lái)標(biāo)識(shí)此客戶機(jī)(通常是主機(jī)名)。environment 字段可以幫助你過(guò)濾,而 subscriptions 定義了客戶機(jī)將執(zhí)行哪些監(jiān)視檢查。

***,啟用并啟動(dòng)服務(wù)并簽入 Uchiwa,因?yàn)榭蛻魴C(jī)會(huì)自動(dòng)注冊(cè):

  1. $ sudo systemctl enable sensu-client
  2. $ sudo systemctl start sensu-client

Sensu 檢查

Sensu 檢查有兩個(gè)組件:一個(gè)插件和一個(gè)定義。

Sensu 與 Nagios 檢查插件規(guī)范兼容,因此無(wú)需修改即可使用用于 Nagios 的任何檢查。檢查是可執(zhí)行文件,由 Sensu 客戶機(jī)運(yùn)行。

檢查定義可以讓 Sensu 知道如何、在哪以及何時(shí)運(yùn)行插件。

客戶端側(cè)

讓我們?cè)诳蛻魴C(jī)上安裝一個(gè)檢查插件。請(qǐng)記住,此插件將在客戶機(jī)上執(zhí)行。

啟用 EPEL 并安裝 nagios-plugins-http

  1. $ sudo yum install -y epel-release
  2. $ sudo yum install -y nagios-plugins-http

現(xiàn)在讓我們通過(guò)手動(dòng)執(zhí)行它來(lái)了解這個(gè)插件。嘗試檢查客戶機(jī)上運(yùn)行的 Web 服務(wù)器的狀態(tài)。它應(yīng)該會(huì)失敗,因?yàn)槲覀儾](méi)有運(yùn)行 Web 服務(wù)器:

  1. $ /usr/lib64/nagios/plugins/check_http -I 127.0.0.1
  2. connect to address 127.0.0.1 and port 80: Connection refused
  3. HTTP CRITICAL - Unable to open TCP socket

不出所料,它失敗了。檢查執(zhí)行的返回值:

  1. $ echo $?
  2. 2

Nagios 檢查插件規(guī)范定義了插件執(zhí)行的四個(gè)返回值:

插件返回碼 狀態(tài)
0 OK
1 WARNING
2 CRITICAL
3 UNKNOWN

有了這些信息,我們現(xiàn)在可以在服務(wù)器上創(chuàng)建檢查定義。

服務(wù)器側(cè)

在服務(wù)器機(jī)器上,創(chuàng)建 /etc/sensu/conf.d/check_http.json 文件:

  1. {
  2.   "checks": {
  3.     "check_http": {
  4.       "command": "/usr/lib64/nagios/plugins/check_http -I 127.0.0.1",
  5.       "interval": 10,
  6.       "subscribers": [
  7.         "frontend"
  8.       ]
  9.     }
  10.   }
  11. }

command 字段中,使用我們之前測(cè)試過(guò)的命令。interval 會(huì)告訴 Sensu 這個(gè)檢查的頻率,以秒為單位。***,subscribers 將定義執(zhí)行檢查的客戶機(jī)。

重新啟動(dòng) sensu-apisensu-server 并確認(rèn)新檢查在 Uchiwa 中可用。

  1. $ sudo systemctl restart sensu-api sensu-server

接下來(lái)

Sensu 是一個(gè)功能強(qiáng)大的工具,本文只簡(jiǎn)要介紹它可以干什么。參閱文檔了解更多信息,訪問(wèn) Sensu 網(wǎng)站了解有關(guān) Sensu 社區(qū)的更多信息。

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2013-08-28 09:51:43

亞馬遜Web服務(wù)Clo云監(jiān)控云自動(dòng)化

2012-02-22 23:17:10

2012-02-22 22:21:15

nagios開(kāi)源

2019-03-08 11:29:05

開(kāi)源自動(dòng)化工具Ansible

2023-11-13 08:15:36

2022-02-25 11:51:11

KubeScrape開(kāi)源監(jiān)控工具

2011-03-28 16:37:38

2020-08-25 18:56:19

前端開(kāi)發(fā)技術(shù)

2018-11-06 20:30:23

Python開(kāi)源工具機(jī)器學(xué)習(xí)

2014-06-26 14:53:48

開(kāi)源開(kāi)源軟件

2009-03-09 21:25:11

Linuxnagios開(kāi)源

2009-03-31 16:41:38

網(wǎng)絡(luò)性能網(wǎng)絡(luò)監(jiān)控開(kāi)源

2016-01-08 13:28:00

開(kāi)源GrafanaZabbix

2011-03-28 16:23:23

nagios開(kāi)源監(jiān)控

2019-11-01 09:00:00

Kubernetes開(kāi)源監(jiān)控工具

2012-05-25 15:35:43

JMSJava

2017-06-13 16:07:21

開(kāi)源網(wǎng)絡(luò)監(jiān)控服務(wù)器

2020-05-03 12:50:19

開(kāi)源監(jiān)控工具網(wǎng)絡(luò)監(jiān)控開(kāi)源

2023-08-20 16:51:28

Kubernetes開(kāi)源工具

2022-09-26 08:25:56

監(jiān)控平臺(tái)微服務(wù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)