星期五, 5月 20, 2022

Zabbix agent 自動註冊 與 openSUSE Leap 15.3 Zabbix agent 2 安裝小記

Zabbix agent 自動註冊 與 openSUSE Leap 15.3 Zabbix agent 2 安裝小記


OS: openSUSE Leap 15.3 in Azure

Zabbix: 6.0 docker image



上次的文章寫了在 GCP 上面架設 Zabbix Server with container + Cloud SQL + LB 方式


今天這一篇文章要來講 2 個部份

  • 在 Zabbix 上面設定自動註冊機制, 讓 Active 方式的 Zabbix Agent 自動註冊主機, 套用 Host Group 以及設定 Template.

  • openSUSE Leap Linux 安裝 zabbix agent 2 來對 Zabbix Server 進行註冊


首先來談談 Zabbix 的自動註冊機制

想法

  • 透過不同的 Metadata 關鍵字將主機註冊到

    • 不同的主機群組 / 套用不同的 Template


初步規劃, 來自不同的雲平台加到到不同的 Host Group

  • 也可以進一步將主機加到不同的專案 Host Group, 看看需求來規劃

  • 依據專案需求來套用要監控的 Template


首先來建立 Host group


登入 Zabbix 管理介面


點選 Configuration -- > Host groups

點選右上角的 Create host group



輸入 名稱

點選 Add


確認 Host group 已經建立



接下來設定自動註冊機制


點選 Configuration -- > Actions -- > Autoregistration actions 

點選右上角的 Create action 



輸入 名稱

點選 Add 


Type: 選取 Host metadata

Operator: Contains

Value: 輸入 AzureHost

點選 Add



  • 這邊就是設定自動註冊的條件, 就是 Zabbix Agent 來進行註冊的時候, 如果他的 Metadata 有包含 AzureHost 這個關鍵字, 就符合自動註冊的條件


確認已經設定完成



接下來設定自動註冊要套用的行為

點選 Operations



點選 Operations 的 Add


點選 Operation 的 Add host

點選 Add


觀察設定, 再次點選 Add


點選 Operation 的 Add to host group

點選 Host groups 的 Select 按鈕, 選取要加入的 Host group

點選 Add



觀察設定, 再次點選 Add



點選 Operation 的 Link to template

點選 Templates 的 Select 按鈕, 選取要套用的 Template

點選 Add


確認相關資訊

點選下方的 Add 完成設定



觀察相關設定


  • 可以套用多個 Host Group 或是 Template, 請依照實際的需求來設定


這樣就完成 Zabbix 的自動註冊機制


接下來我們來進行 openSUSE Zabbix 的安裝


參考官方網頁


登入 openSUSE Leap, 切換身份為 root


安裝 Zabbix 套件 

# rpm  -Uvh  --nosignature  https://repo.zabbix.com/zabbix/6.0/sles/15/x86_64/zabbix-release-6.0-1.sles15.noarch.rpm


  • 這個動作其實是將 Zabbix 的 repos 安裝進來


匯入 GPG Key

# zypper  --gpg-auto-import-keys  refresh  'Zabbix Official Repository'


Automatically importing the following key:


  Repository:       Zabbix Official Repository

  Key Fingerprint:  A184 8F53 52D0 22B9 471D 83D0 082A B56B A14F E591

  Key Name:         Zabbix LLC <packager@zabbix.com>

  Key Algorithm:    RSA 2048

  Key Created:      Fri Jul 15 05:39:09 2016

  Key Expires:      (does not expire)

  Subkey:           DF517F33E709712C 2016-07-15 [does not expire]

  Rpm Name:         gpg-pubkey-a14fe591-578876fd




    Note: A GPG pubkey is clearly identified by it's fingerprint. Do not rely the keys name. If you

    are not sure whether the presented key is authentic, ask the repository provider or check his

    web site. Many provider maintain a web page showing the fingerprints of the GPG keys they are

    using.

Retrieving repository 'Zabbix Official Repository' metadata .......................................................[done]

Building repository 'Zabbix Official Repository' cache ............................................................[done]

Specified repositories have been refreshed.



安裝 zabbix agent 2

# zypper  install  zabbix-agent2


接下來修改相關設定檔

# vi   /etc/zabbix/zabbix_agent2.conf


修改相關設定


ServerActive=YOUR_ZABBIX_IP

#Hostname=Zabbix server

HostnameItem=system.hostname

HostMetadata=AzureHost


  • 將ServerActive 設定為 Zabbix Server IP 或是 之前文章的 L4 LB IP

  • 註解 Hostname, 因為我們要使用 HostnameItem 來自動帶入主機名稱

  • 取消註解 HostnameItem, 他會帶入主機的名稱來登記

  • 取消註解 HostMetada, 帶入剛剛自動註冊設定的 Metadata 內容



觀察設定資訊

# egrep  -v  '^#|^$'  /etc/zabbix/zabbix_agent2.conf 


PidFile=/var/run/zabbix/zabbix_agent2.pid

LogFile=/var/log/zabbix/zabbix_agent2.log

LogFileSize=0

Server=127.0.0.1

ServerActive=YOUR_ZABBIX_IP

HostnameItem=system.hostname

HostMetadata=AzureHost

Include=/etc/zabbix/zabbix_agent2.d/*.conf

ControlSocket=/tmp/agent.sock

Include=./zabbix_agent2.d/plugins.d/*.conf


啟動 Zabbix Agent 2 並設定開機啟動


# systemctl start zabbix-agent2

# systemctl status zabbix-agent2

# systemctl enable zabbix-agent2


可從 log 查詢相關資訊

# tail  /var/log/zabbix/zabbix_agent2.log


接下來可以到 Zabbix 的管理介面觀察是否有被加入




同場加映: 使用 Zabbix Agent with container 方式如何自動註冊


參考之前的文章, 來設定 Zabbix Agent


作法如下


# docker run --name test-20220520-2 \

    -e ZBX_HOSTNAME="test-20220520-2" \

    -e ZBX_ACTIVESERVERS="YOUR_ZABBIX_IP" \

   -e ZBX_METADATA="AzureHost" \

    --privileged \

    --restart unless-stopped \

    -d zabbix/zabbix-agent2:alpine-6.0-latest


  • 這邊跟上篇文章的差異就是, 有使用 ZBX_METADATA 使用 metadata 配合自動註冊來加入


也可以使用 docker logs 指令來觀察相關資訊


# docker  logs  test-20220520-2


又向 Zabbix 前進一步


~ enjoy it


References



沒有留言: