星期六, 3月 05, 2022

Zabbix Agent2 6.0 with container in Azure 安裝小記

Zabbix Agent2 6.0 with container in Azure  安裝小記


OS: openSUSE Leap 15.3 in Azure

Zabbix: Zabbix agent 2 6.0 docker image



上一篇文章寫如何使用 container 的方式來建立 Zabbix 6.0


今天來實作使用 container 的方式來建立 Zabbix Agent 進行資訊回報


首先先在 Azure 上面建立 VM

  • openSUSE Leap 15.3

  • 大小: Standard B1ms (1 vcpu,2 GiB 記憶體) ( NT$ 596.76 / 每月, 0.8175 TWD/hr ), Blog 是實驗性質所以沒有開太大, 請依照實際的專案調整. 


接下來可以觀察 Zabbix 原廠的 Download 頁面



Zabbix Agent 的頁面會被導向到 https://hub.docker.com/r/zabbix/zabbix-agent 


但是如同我們上一篇文章所提到的, Zabbix agent 有分 zabbix agent 與 zabbix agent2


這次我們要實作的是 Zabbix Agent 2

  • 因為他有 Docker for Zabbix Agent 2 的範本可以套用, 可以觀察主機上的 container 相關資訊

  • 聽說效率比較好


相關頁面在這邊 https://hub.docker.com/r/zabbix/zabbix-agent2


我們要執行的方式是 使用 Active 方式來對 Zabbix Server 進行回報


測試 Zabbix Agent 2 安裝 with Privileged ( 其他 Linux 使用, active 方式 )

  • 建立一台新的 openSUSE Leap 15.3 


==== 在 Zabbix Client 主機上面 ====


啟用 docker 服務

# systemctl  start  docker


設定開機啟用 docker 服務


# systemctl  enable  docker


還沒有執行 Zabbix agent 之前先到 Zabbix Dashboard 觀察資訊



目前的 hosts 只有 Server 自己 1 個


執行 Zabbix Agent2 的 container


# docker run --name test-client-20220305-zabbix-agent \

    -e ZBX_HOSTNAME="test-client-20220305" \

    -e ZBX_ACTIVESERVERS="210.59.6.220" \

    --privileged \

    --restart unless-stopped \

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


  • ZBX_ACTIVESERVERS 為Server 的 IP 或是 FQDN

    • ZBX_SERVER_HOST 不知道為何會跟 ZBX_ACTIVESERVERS 相衝突, 取消就可以存取的到了

  • ZBX_HOSTNAME 為要登記到 host 的主機名稱, 必須與 Configuration -- > Host 上面的 Host name 一致

  • 使用 --privileged 來啟用 Privileged mode, 有使用 Privileged 的話 Graph 會多了磁碟的相關資訊

  • 使用 --restart 來控制重啟方式


觀察資訊


# docker  ps


CONTAINER ID   IMAGE                                    COMMAND                  CREATED              STATUS              PORTS                  NAMES

e5f9a1130b56   zabbix/zabbix-agent2:alpine-6.0-latest   "/sbin/tini -- /usr/…"   About a minute ago   Up About a minute   10050/tcp, 31999/tcp   test-client-20220305-zabbix-agent


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


# docker  logs  test-client-20220305-zabbix-agent




因為我們沒有採取自動註冊的方式

所以在 Zabbix Server 的 Dashboard 目前看到的 hosts 還是 1 台

  • 之後會來寫自動註冊的小記 :)



接下來就要進行相關設定

登入 Zabbix Server 管理頁面 


Configuration -- > Hosts -- > 點選 Create host



  • 這邊主要輸入 Host name

    • 必須與 Client 的 HOSTNAME 符合, 剛剛已經說過

  • 選取要歸屬的 Group 以及套用的 Template

    • 這邊我是選 Linux by Zabbix agent active 


點選 Add 加入 Host


觀察 Dashboard 的 System information



觀察 Monitoring 的 Hosts



  • 這邊如果是使用 Active 的方式來進行回報, 會沒有 Availabitty 的 ZBX icon


點選 Graph 來觀察相關資訊



接下來對 client 進行主機大小的調整, 看看 Zabbix Agent 會不會發現

我將原來的主機從 Standard B1ms (1 vcpu,2 GiB 記憶體) 調整為 Standard B2ms (2 vcpu,8 GiB 記憶體)

  • 調整的過程中, Azure 會進行機器重開機

  • 另外也測試 再執行 zabbix agent 的 container 時, --restart 有沒有生效


觀察 Zabbix Server 上面的 Dashboard


  • 果然就有看到 restarted 的告警


另外觀察 Graph



也有看到相關變化


接下來就是放著進行一系列觀察 :)


~ enjoy it


Reference:


沒有留言: