使用 zabbix + grafana 監控和繪圖


配置前已將 zabbix 的 web 網頁部署完成

第一次登錄頁面后,頁面首頁為英文,並且不可用主機為1,原因是部署 zabbix 的主機沒有安裝 zabbix-agent

 

 

 

 首先將 zabbix 界面的語言切換至中文,然后在 zabbix 主機上安裝 zabbix-agent2

[root@zabbix-test ~]# yum -y install zabbix-agent2

 安裝后啟動並設置下次開機啟動 zabbix-agent2

[root@zabbix-test ~]# systemctl enable zabbix-agent2 --now

此時 zabbix 已經通過 agent2 監控到本機

 添加其它監控主機,此處以我的 k8s-master 節點為例

先在 master 節點上安裝 zabbix-agent2,然后修改代理的配置文件

[root@master ~]# yum -y install zabbix-agent2

 配置文件中我們只將 Server 和 ServerActive 改為監控節點的IP地址(Server 表示允許哪個主機到我這里獲取數據, ServerActive 表示主動向哪個主機發送數據)

 Server 為被動模式,ServerActive 為主動模式。主動模式和被動模式可同時開啟並指向同一個 IP

然后在配置中找到主機選項

 點進去后右上角有創建主機選項

 主機和模板必填,模板選擇如上所示模板,然后點擊添加

添加后在 zabbix server 端重啟 zabbix 服務

[root@zabbix-test ~]# systemctl restart zabbix-server

此時,儀表盤頁面可用主機已變成兩個

 然后給 zabbix server 端創建監控項,一個監控項即為一個監控指標

[root@zabbix-test ~]# vim /etc/zabbix/zabbix_agent2.conf

找到 Userparameter 參數,如下所示,下圖告訴你該如何自定義監控項

 Include 表示的文件為自定義監控項的配置文件

 我們進到此目錄下,發現該目錄下是空的,然后我們自定義一個 conf 后綴結尾的配置文件

[root@zabbix-test ~]# cd /etc/zabbix/zabbix_agent2.d/
[root@zabbix-test zabbix_agent2.d]# ll
total 0

[root@zabbix-test zabbix_agent2.d]# vim monitor.conf

[root@zabbix-test zabbix_agent2.d]# cat monitor.conf
UserParameter=sda_tps,iostat |awk '$1 ~/sda/{print $2}'

我們定義一個參數來監控 sda 磁盤的每秒傳輸次數,前提 zabbix 被監控端得有 iostat 命令

自定義一個監控項后記得重啟 zabbix-agent2 服務

[root@zabbix-test zabbix_agent2.d]# systemctl restart zabbix-agent2

然后我們安裝一個 zabbix 取監控項的值的命令

[root@zabbix-test zabbix_agent2.d]# yum -y install zabbix-get 

我們通過 zabbix_get 查看 sda_tps 的 key 是否能取到值

[root@zabbix-test zabbix_agent2.d]# zabbix_get -s 127.0.0.1 -k sda_tps
11.16

可以取到值后我們在 zabbix 的 web 頁面給 zabbix 監控端添加 sda_tps 這個監控項

依然在配置里點擊主機,然后找到監控項

 在右上角點擊創建監控項

 名稱在這里我們可以選擇中文,鍵值就填我們之前自定義的鍵值,信息類型因為我們之前取到的值為浮點數,所以這里我們選擇浮點數,更新間隔可自定義,在這里我們定義間隔為10秒,應用集我們可以選擇添加新應用集,也可以將此監控項添加到已有的應用集中,為的是方便我們后面的 grafana 監控繪圖

添加后我們在左側選項欄中找到監測-->最新數據,可以查看是否監測到我們新添加的監控項

 如上圖所示,我們監控到最近數據,並且在右邊還可以查看對應的圖形

同時,我們已可以將此監控項復制給我們的 k8s-master 節點

我們在配置-->主機--> zabbix server 的監控項里找到我們新添加的監控項選中復制給我們的 k8s-master 節點

 當然,我們后續也可以創建主機群組,將監控項復制給主機群組

復制后,我們在我們的 k8s-master 節點編輯我們的配置文件

 然后重啟我們 master 節點的 agent2 服務

[root@master ~]# systemctl restart zabbix-agent2

此時,我們再點擊監測-->最新數據,此時兩台機器都已監控到我們自定義的監控項

 添加觸發器

點擊配置-->主機,然后點擊觸發器

 右上角創建觸發器

此處我們以之前創建的監控項為例,創建一個 sda 磁盤每秒傳輸速度過高的觸發器

 

 允許手動關閉可根據情況選擇是否開啟,創建后如果我們 zabbix server 端的 sda 磁盤的傳輸速度大於8,則在儀表盤界面就能看到告警信息

 觸發器我們同樣可以通過復制監控項的方法復制給我們的 k8s-mater 節點,此處不再舉例

 然后我們配置郵箱告警,即當 zabbix server 端發現告警時可通過郵箱發送給自己

點擊配置-->動作,將可發送消息狀態改為啟用

 然后點擊管理-->告警媒介類型,右上角點擊創建媒體類型

SMTP 服務下面有介紹在哪查看,SMTP 服務器端口可選擇 465 或 25,SMTP HELO 填 SMTP 服務器的后半部分,SMTP 電郵則為發件人,SSL/TLS 用 QQ 郵箱作為告警媒介時一定要勾選

認證選擇用戶名和密碼,用戶名稱為發件人的郵箱,密碼為 QQ 郵箱的授權碼。注:不是你的 QQ 郵箱密碼,授權碼下面有介紹從哪獲得

在 QQ 郵箱中點擊設置-->賬戶

 找到 SMTP 服務,並點擊"什么是IMAP,它又如何設置?"

找到發送郵件服務器的域名

 

 然后點擊 User settings -->報警媒介,添加收件人

 類型選擇我們剛創建的 QQ 郵箱告警,收件人自己定義,當啟動時和哪種嚴重性發送郵件都可自定義

添加完后記得點擊更新

 報警媒介定義成功后,當 zabbix 出現告警時會通過郵件的形式發送到收件人的郵箱

 接下來,我們通過安裝 grafana 插件來對我們定義的監控項進行繪圖

 在 grafana 官網根據相應的 Linux 發行版本找到軟件包,此文以 grafana-7.5.8 為例

 將命令復制粘貼到終端,然后啟動 grafana 服務

[root@zabbix-test ~]# systemctl enable grafana-server --now

此時查看 grafana 服務監聽的端口

 如上所示,監聽 3000 端口,因此我們用 zabbix server 端 IP 加 3000 端口即可訪問 grafana 頁面

grafana 的登錄界面如下所示

 默認登錄的 username 和 password 都為 admin

第一次登錄會讓你修改登錄密碼,當然也可以任性跳過

 登錄后

 搜索 zabbix 發現搜不到

 原因是沒有安裝 zabbix 的插件

因此接下來我們安裝插件並重啟 grafana 服務

 [root@zabbix-test ~]# systemctl restart grafana-server

然后重新在插件頁面搜索 zabbix

此時已有 zabbix

 點擊 zabbix 並啟動

 然后添加數據源

 

 搜索 zabbix

 

 

 基礎認證打開,然后用戶名和密碼都是 zabbix 登錄頁面的賬號和密碼

信息無誤后,顯示如下所示

 然后創建一個儀表盤

 

 

將我們創建的監控項添加上去


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM