2023年9月30日 星期六

Zabbix Proxy 設定-被動模式

Zabbix Proxy 設定-被動模式

將Zabbix Proxy設定為Passive mode,在Zabbix WEB介面新增Proxies主機(Passive mode),並新增加遠端主機應用Zabbix Prxoy傳送資料。

設備環境

Zabbix Proxy 主機 (Passive mode)
OS:Oracle Linux 9.x,Hostname:ol9-1,IP:192.168.203.198,安裝 Zabbix Proxy 6.0

遠端主機 (Passive mode)
OS:Oracle Linux 7.x,Hostname:mgm01,IP:192.168.203.184,安裝 Zabbix agent2 6.0

遠端主機設定

遠端主機安裝Zabbix agent2

在Zabbix agent主機的Zabbix agent2設定檔將Server及ServerActive設定為Zabbix Proxy主機IP。
# vi /etc/zabbix/zabbix-agent2.conf
---
Server=192.168.203.198
ServerActive=192.168.203.198
Hostname=mgm01
---
07-zabbix agent2 setup

重啟Zabbix agent2服務,讓設定生效。
# systemctl restart zabbix-agent2

Zabbix WEB設定

在Zabbix WEB介面,選擇Administrator>Proxies,右上方點選Create proxy。
在Proxy name 輸入主機名稱ol9-1,一定要和主機Hostname相同。
在Prxory mode 確認為Passive,被動模式。
在Proxy address 輸入Proxy主機IP。
在Description 輸入你想寫入的資訊。
05-add passive proxyies

新增完成後,在Administrator>Proxies頁面,會看到新增的Proxy主機ol9-1。未設定使用此Proxy主機監控其它主機,所以資料都為 0。
06-add proxies

在Zabbix WEB介面,選擇Configuration>Hosts,新增遠端主機。
08-add zabbix agent2 host
在Monitored by proxy 選項,就可以選定建立的Zabbix Proxy主機。

新增完成後,可以在頁面看到主機的Proxy出現你設定的Zabbix Proxy主機。
09-add zabbix agent2

在Zabbix WEB介面,選擇Monitoring>Hosts,檢查發現收集到資料。
09-moniting hosts


在Zabbix WEB介面,選擇Administrator>Proxies,會看到的Proxy主機傳送的資料紀錄,使用的主機。
10-proxies status


2023年9月29日 星期五

Zabbix Proxy 安裝-被動模式

Zabbix Proxy 安裝-被動模式

在Zabbix Prxoy安裝時,除了使用Active mode主動傳送數據至Zabbix Server外。也可以使用Passive mode讓Zabbix Server定時來捉取數據。
將Zabbix Proxy設定為Passive mode,在Zabbix WEB介面新增Proxies主機(Passive mode),並新增加遠端主機應用Zabbix Prxoy傳送資料。

設備環境

Zabbix Server 主機

OS:Ubuntu Linux LTS 22.04,Hostname:u22-z6,IP:192.168.203.193,安裝 Zabbix Server 6.0 LTS

Zabbix Proxy 主機 (Passive mode)

OS:Oracle Linux 9.x,Hostname:ol9-1,IP:192.168.203.198,安裝 Zabbix Proxy 6.0
將Zabbix Proxy 6.0 LTS安裝於Oracle Linux 9.x。Zabbix Proxy 資料庫將使用SQLite3建置

Zabbix Proxy 主機設定

SQLite3安裝

# dnf install sqlite

Zabbix Poxy安裝

Zabbix Proxy安裝時使用原廠網頁,選擇OS,Zabbix Proxy,SQLite3, 產生相關安裝指令。

# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm
# dnf clean all
# dnf install zabbix-proxy-sqlite3 zabbix-selinux-policy zabbix-sql-scripts

02-oracle install proxy

Zabbix資料庫欄位資料都在zabbix-sql-scripts,請一定要安裝執行匯入資料時才不會錯誤。

修改Zabbix Proxy設定檔,檔案為/etc/zabbix/zabbix_proxy.conf
# vi /etc/zabbix/zabbix_proxy.conf
---
passive mode
ProxyMode=1
Server=Zabbix Server IP
Hostname=ol9-1
DBName=/tmp/zabbix.db
---
03-edit proxy config

Zabbix Proxy要設為被動模式,ProxyMode=1
將Hostname設定為Zabbix Proxy主機名稱,後續在Zabbix WEB設定時要相同名稱。
將Server設定Zabbix Server主機IP。
將DBName設定上面建立的SQLite3 DB,檔案為/tmp/zabbix.db

匯入資料

資料庫檔案設定為/tmp/zabbix.db
# cat /usr/share/zabbix-sql-scripts/sqlite3/proxy.sql | sqlite3 /tmp/zabbix.db
修改/tmp/zabbix.db權限為zabbix
# chown zabbix:zabbix /tmp/zabbix.db
04-setup sqlite

啟動Zabbx Proxy

請確認遠端主機selinux狀態。
# getenforce
00-disable selinux

請將selinux關閉或執行以下指令讓Zabbix 服務可以在selinux下運作。
# dnf install setroubleshoot setools setools-console policycoreutils-python-utils
# semanage permissive –add zabbix_t

00-setup selinux

啟動Zabbx Proxy,確認Zabbx Proxy狀態。
# systemctl restart zabbix-proxy
# systemctl status zabbix-proxy


安裝完成後就可以進行Zabbix WEB設定。


2023年9月28日 星期四

Zabbix Proxy 設定-主動模式

Zabbix Proxy 設定-主動模式

在Zabbix Prxoy安裝過程時,設定使用Active mode主動傳送數據至Zabbix Server。
將在Zabbix WEB介面設定Proxies,並新增加遠端主機應用Zabbix Prxoy傳送資料。

設備環境

Zabbix Proxy 主機 (Active mode)

OS:Ubuntu Linux LTS 22.04,Hostname:u22-1,IP:192.168.203.122,安裝 Zabbix Proxy 6.0

遠端主機 (Active mode)

OS:Debian Linux 11,Hostname:debian11,IP:192.168.203.162,安裝 Zabbix agent2 6.0

遠端主機設定

在Zabbix agent主機的Zabbix agent2設定檔將Server及ServerActive設定為Zabbix Proxy主機IP。
# sudo /etc/zabbix/zabbix-agent2.conf
---
Server=192.168.203.122
ServerActive=192.168.203.122
---
重啟Zabbix agent2服務,讓設定生效。
# sudo systemctl restart zabbix-agent2

Zabbix WEB設定

在Zabbix WEB介面,選擇Administrator>Proxies,右上方點選Create proxy。
08-setup zabbix proxy

在Proxy name 輸入Proxy主機名稱,一定要和主機Hostnamet相同。
在Prxory mode 確認為Active,主動模式。
在Proxy address 輸入Proxy主機IP。
在Description 輸入你想寫入的資訊。
09-create zabbix proxy

新增完成後,在Administrator>Proxies頁面,會看到新增的Proxy主機。未設定使用此Proxy主機監控其它主機,所以資料都為0。
12-create zabbix proxy host

在Zabbix WEB介面,選擇Configuration>Hosts,新增遠端主機。
12-create zabbix proxy host

在Monitored by proxy 選項,就可以選定建立的Zabbix Proxy主機。

新增完成後,可以在頁面看到主機的Proxy出現你設定的Zabbix Proxy主機。
14-zabbix proxy host

在Zabbix WEB介面,選擇Monitoring>Hosts,檢查發現收集到資料。
15-zabbix proxy moniting

在Zabbix WEB介面,選擇Administrator>Proxies,會看到的Proxy主機傳送的資料紀錄,使用的主機。
16-zabbix proxy status


2023年9月27日 星期三

Zabbix Proxy 安裝-主動模式

Zabbix Proxy 安裝-主動模式

Zabbix Proxy 官網介紹:

https://www.zabbix.com/documentation/6.0/en/manual/concepts/proxy

https://www.zabbix.com/documentation/6.0/en/manual/distributed_monitoring/proxies

Zabbix Proxy可以代替 Zabbix server收集性能和可用性數據。
通過這種方式,Zabbix proxy可以自己承擔部分收集數據的負載,並減輕Zabbix Server的負擔。
此外,當所有agents和proxy都向同一台Zabbix server報告並且所有數據都集中收集時,使用Zabbix Proxy是實現集中式和分佈式監控的最簡單方法。
Zabbix proxy僅需要一個 TCP port連接Zabbix server。只需要設定一條防火牆規則,可以更輕鬆地繞過防火牆。
Zabbix proxy 是一個資料收集器。它不計算觸發器、處理事件或發送警報。
Zabbix proxy 需要使用獨立的數據庫。
Zabbix proxy支援主動和被動模式,因此可以依需求將資料主動發送到Zabbix Server或讓Zabbix Sever 向Zabbix proxy拉取資料2種方式。這也允許將資料收集和預處理效能負載從Zabbix Server移轉到Zabbix Porxy。

設備環境

Zabbix Server 主機

OS:Ubuntu Linux LTS 22.04,Hostname:u22-z6,IP:192.168.203.193,安裝 Zabbix Server 6.0 LTS

Zabbix Proxy 主機 (Active mode)

OS:Ubuntu Linux LTS 22.04,Hostname:u22-1,IP:192.168.203.122,安裝 Zabbix Proxy 6.0

將Zabbix Proxy 6.0 LTS安裝於Ubuntu Linux 22.04 LTS。Zabbix Proxy 資料庫將使用SQLite3建置。


安裝流程

Zabbix Proxy安裝時使用原廠網頁,選擇OS,Zabbix Proxy,SQLite3, 產生相關安裝指令。

01-package download

SQLite3安裝

# sudo apt install sqlite3
03-install sqlit3

Zabbix Poxy安裝

# sudo  apt install zabbix-proxy-sqlite3 zabbix-sql-scripts
04-install zabbix proxy
Zabbix資料庫欄位資料都在zabbix-sql-scripts,請一定要安裝執行匯入資料時才不會錯誤。

匯入資料

先建立資料庫檔案,再匯入資料
# sudo mkdir /data/zabbix
# cd /data/zabbix
# sudo cat /usr/share/zabbix-sql-scripts/sqlite3/proxy.sql | sudo sqlite3 zabbix.db

05-import data

Zabbix Proxy設定

修改Zabbix Proxy設定檔,檔案為/etc/zabbix/zabbix_proxy.conf
# sudo chown zabbix:zabbix /data/zabbix -R
# sudo  nano /etc/zabbix/zabbix_proxy.conf
---
ProxyMode=0
Hostname=u22-1
Server=Zabbix Server IP
DBName=/data/zabbix/zabbix.db
---
06-edit config proxyMode

Zabbix Proxy預設為主動模式,ProxyMode=0不用更改
06-edit config

將Hostname設定為Zabbix Proxy主機名稱,後續在Zabbix WEB設定時要相同名稱。
將Server設定Zabbix Server主機IP。

06-edit config db

將DBName設定上面建立的SQLite3 DB,檔案為/data/zabbix/zabbix.db

修改/data/zabbix/zabbix.db權限為zabbix
# sudo chown zabbix:zabbix /data/zabbix -R
啟動Zabbx Proxy,確認Zabbx Proxy狀態。
# sudo systemctl start zabbix-proxy
# sudo systemctl status zabbix-proxy
07-start zabbix proxy

安裝完成後就可以進行Zabbix WEB設定。


2023年9月26日 星期二

Zabbix monitor Dell Server use IPMI

Zabbix monitor Dell Server use IPMI

Zabbix 對於Dell Server硬體設備的監控,除了使用SNMP進行監控,也可應用IPMI的方式對Dell Server進行監控。

Zabbix 支援監控智慧型平台管理介面 (IPMI) 設備的運作狀況和可用性。Zabbix IPMI 監控僅適用於支援 IPMI 的設備(HP iLO、DELL DRAC、IBM RSA、Sun SSP 等)。

IPMI 是一種標準化接口,用於電腦系統的遠端「無人值守」或「帶外」管理。它允許直接從所謂的「帶外」管理卡監控硬體狀態,獨立於作業系統或機器是否已開啟。

設備環境

Dell R730xd Server
iDrac 8

Dell Server設定

登入Dell Server的idrac 管理介面,開啟IPMI Service,並設定帳號權限。
01-dell idrac setup

02-dell idrac ipmi

Zabbix Server設定

預設情況下,Zabbix Server未配置為啟動 IPMIPollers(輪詢器),因此新增的 IPMI 主機設備都無法運作。
修改 Zabbix Server設定檔,開啟IPMI檢查功能。
sudo nano /etc/zabbix/zabbix_server.conf
---
# StartIPMIPollers=0

新增IPMI輪詢器計數設為 3

StartIPMIPollers=3
---
03-add ipmipollers

# sudo systemctl restart zabbix-server
04- zabbix-server restart

如果想要了解主機設備的感測器,可以將Zabbix Server log等級調整為DebugLevel=4。等待一段時間,在 Zabbix Server log檔案中找到感測器發現記錄。

Zabbix WEB設定


此範本用於使用 BMC over IPMI 監控伺服器的模板,無需任何外部腳本即可運作。
由於 Zabbix 的大量資料收集,所有指標都會立即收集。
它透過使用 IPMI 代理遠端輪詢 BMC 來收集指標。
03-templates ipmi

新增頁面設定如下:
04-add ipmi host
新增interfaces,點選IPMI,寫入Dell Server idrac IP。

在IPMI頁面新增,並在username及Password填入idrac WEB登入的帳號及密碼。
04-add ipmi values

在Configuration > Host中新增Host。
05-ipmi host

在Monitoring > Host查看資料。
06-moniting ipmi host

Zabbix使用IPMI監控Dell Server,是由Zabbix Server對Dell Server IPMI Service捉取資料,屬於被動模式。

參考資料:
原廠手冊:IPMI checks

2023年9月25日 星期一

Zabbix monitor Dell Server use SNMP

Zabbix  monitor Dell Server use SNMP

Zabbix除了可以用於監控主機系統及服務,也可以對Server硬體設備進行監控。將介紹Zabbix使用內建的Templates-Dell iDRAC by SNMP  經由Dell idrac 提供的SNMP Service對Dell Server進行狀態監控。

設備環境

Dell R730xd Server
iDrac 8

Dell Server設定

登入Dell Server的idrac管理介面,開啟Snmp Service,並設定community
01-dell idrac snmp


Zabbix WEB設定



此範本讓 Zabbix 透過Dell idrac 提供的 SNMP 對Dell Server進行狀態監控。
支援監控項目:Disks/Storage、Fans、Memory、Network Cards、Power、Processor、System Info、Temperatures、Voltages等。
02-Dell iDRAC by SNMP

新增頁面設定如下:

03-add dell idrac snmp

在Maros頁面新增{$SNMP_COMMUNITY},並填入上面在iDrac的SNMP設定的值。
{$SNMP_COMMUNITY}
public
04-add dell idrac snmp macros

在Configuration > Host中新增Host。
05-add dell idrac snmp host

在Monitoring > Host查看資料。
06-moniting dell idrac snmp host


Zabbix使用SNMP監控Dell Server,是由Zabbix Server對Dell Server idrac SNMP Service捉取資料,屬於被動模式。

2023年9月24日 星期日

Zabbix Monitoring Linux use SNMP

Zabbix Monitoring Linux use SNMP

Zabbix除了使用Zabbix agent2來監控Linux主機,如果主機無法安裝Zabbix agent 2進行監控,可以使用snmp service進行監控。

設備環境

Ubuntu Linux LTS 22.04
snmp-5.9.1
snmpd-5.9.1

SNMP設定

在被監控主機安裝SNMP Service,可以參考網頁

在被監控主機修改snmpd.conf設定檔。
# sudo nano /etc/snmp/snmpd.conf
---
修改前
rocommunity  public default

rocommunity  public default -V systemonly
rocommunity6 public default -V systemonly

修改後
rocommunity  public 192.168.203.0/24
#rocommunity  public default

#rocommunity  public default -V systemonly
#rocommunity6 public default -V systemonly
---
01-edit snmpd.conf

SNMP預設rocommunity public  default    -V systemonly,只能讀取基本系統訊息。
修改rocommunity  public 192.168.203.0/24 為特定網段(192.168.203.0),讀取所有訊息。

在被監控主機重啟snmpd服務,使用snmpwalk進行測試
# sudo systemctl restart snmpd
# snmpwalk -v2c -c public 192.168.203.122
02-snmpwalk test


Zabbix WEB設定

Linux by SNMP

此範本專為 Zabbix 透過 SNMP 輕鬆部署 Linux 監控而設計,不需要任何外部腳本。

新增頁面設定如下:
03 add snmp host

在Maros頁面新增{$SNMP_COMMUNITY},並填入上面SNMP設定的值。
{$SNMP_COMMUNITY}
public
04 add snmp host macros

在Configuration > Host中新增Host。
05 Configuration snmp host

在Monitoring > Host查看資料,

06 Moniting snmp host

Zabbix使用SNMP監控Linux主機,是由Zabbix Server對Linux主機SNMP Service捉取資料,屬於被動模式。

2023年9月23日 星期六

Zabbix monitor Docker Service

Zabbix monitor Docker Service

在Zabbix agent2安裝過程會加裝各種plugin,將使用Docker plugin來監控Docker service。
Zabbix agent2 plugin的安裝目錄為/etc/zabbix/zabbix_agent2.d/plugins.d/。使用設定檔為Docker.conf,預設是連結 unix://var/run/docker.sock。
04-zabbix-agent2 plugins

設備環境

Debian Linux 11
Docker version 20.10.23
Zabbix Agent 2 6.0.21

Docker設定

開啟Docker API

在監控主機修改docker.service設定檔。
nano /usr/lib/systemd/system/docker.service
---
修改前
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

修改後
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H unix://var/run/docker.sock
---
05-edit docker api

重新啟動docker.service
# systemctl daemon-reload
# systemctl restart docker
# systemctl status docker

API測試

在Zabbix Server主機使用zabbix-get對監控主機進行測試。
先安裝zabbix-get
# sudo apt install zabbix-get
# zabbix_get -s 192.168.203.162 -k docker.info
06-check docker api

增加Zabbix agent2權限

在監控主機將zabbix加入docer群組。
# usermod -aG docker zabbix
07-fix zabbix agent2 user



Zabbix WEB設定

預計使用Zabbix Server內建Templates/Applications  的Docker by Zabbix agent 2 進行監控。

https://www.zabbix.com/integrations/docker

官方連結說明翻譯:
Zabbix 監控 Docker 引擎的模板,無需任何外部腳本即可運作。由於 Zabbix 批量資料收集,大部分指標都是一次性收集的。
模板Docker by Zabbix agent 2— 透過輪詢 zabbix-agent2 收集指標。

新增頁面設定如下:
08-add host


依官網說明在Maros頁面新增7組參數,並填入對應的值。
{$DOCKER.LLD.FILTER.CONTAINER.MATCHES}
.*
{$DOCKER.LLD.FILTER.CONTAINER.NOT_MATCHES}
CHANGE_IF_NEEDED
{$DOCKER.LLD.FILTER.IMAGE.MATCHES}
.*
{$DOCKER.LLD.FILTER.IMAGE.NOT_MATCHES}
CHANGE_IF_NEEDED
09-add host marcos

在Configuration > Host中新增Host。
10-host

在Monitoring > Host查看資料,有Problems。
11-data

在Monitoring > Problems,container停止有異常。
12-problem

Zabbix使用Zabbix agent2監控Docker Service,是由Zabbix Server透過監控主機的Zabbix agent2捉取資料,屬於被動模式。