Ubuntu 20.04へZABBIXを導入し、BIG-IPからSNMPを使い情報を取得、監視できるようにします。
1)MariaDB(10.6)導入・設定
2)ZABBIX導入
3)BIG-IP設定
4)ZABBIX設定・確認
1)MariaDB(10.6)導入・設定
ZABBIX 6.2はMariaDBは10.6以上が必要との記載があったため10.6を選択。
OSを確認
#cat /etc/lsb-release
この部分で確認
DISTRIB_RELEASE=20.04
#apt install apt-transport-https curl
#curl -o /etc/apt/trusted.gpg.d/mariadb_release_signing_key.asc 'https://mariadb.org/mariadb_release_signing_key.asc'
パッケージ更新
#sudo apt update
#add-apt-repository 'deb [arch=amd64,arm64,ppc64el] https://mirror.yongbok.net/mariadb/repo/10.6/ubuntu focal main'
レポジトリへの追加確認
#cat /etc/apt/sources.list
以下の2行が追加されているはずです。
``
deb [arch=arm64,ppc64el,amd64] https://mirror.yongbok.net/mariadb/repo/10.6/ubuntu focal main
#deb-src [arch=arm64,ppc64el,amd64] https://mirror.yongbok.net/mariadb/repo/10.6/ubuntu focal main
``
※2行目はコメント文となります
MariaDBはどのバージョンが入るか確認
#apt info mariadb-server
事前準備として、MariaDBをDBとして使うための導入を行います。
#apt install zabbix-server-mysql
これをインストールされるプログラムの中で最も重要なのが「zabbix-server-mysql」。
これがないZABBIXを設定する時、DBタイプにおいて「MySQL」が選べません。
2)ZABBIX導入:Zabbix Server 6.2 のインストール
ダウンロードサイトへアクセスします。
以後のインストールはこちらのサイトを参考にします。
https://www.zabbix.com/jp/download
a. Install Zabbix repository を実行します。
#dpkg -i zabbix-release_6.2-4+ubuntu22.04_all.deb
#apt update
``
b. Install Zabbix server, frontend, agent
プログラムをインストールします。
#apt install zabbix-server-mysql zabbix-frontend-php zabbix-apache-conf zabbix-sql-scripts zabbix-agent
c. Create initial database
#mysql -uroot -p
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin; mysql> create user zabbix@localhost identified by 'password'; mysql> grant all privileges on zabbix.* to zabbix@localhost; mysql> set global log_bin_trust_function_creators = 1; mysql> quit;
簡単に解説しますと、
1行目、DBの作成と使用する文字コードの定義
2行目、ユーザー作成とパスワード設定
3行目、DBへのアクセス権設定
4行目、上記の反映
#zcat /usr/share/zabbix-sql-scripts/mysql/server.sql.gz | mysql --default-character-set=utf8mb4 -uzabbix -p zabbix
#mysql -uroot -p password mysql> set global log_bin_trust_function_creators = 0; mysql> quit;
d. Configure the database for Zabbix server
設定ファイル /etc/zabbix/zabbix_server.conf にてパスワードを設定します。
これはMariaDBのzabbixスキームにアクセスするためのものです。
DBPassword=password
e. Start Zabbix server and agent processes
Start Zabbix server and agent processes and make it start at system boot.
``
systemctl restart zabbix-server zabbix-agent apache2
systemctl enable zabbix-server zabbix-agent apache2
``
f. Open Zabbix UI web page
The default URL for Zabbix UI when using Apache web server is http://host/zabbix
ID: Admin PASS: zabbix
#すぐにパスワードは変更しましょう
3)BIG-IP設定
ZABBIXサーバーからBIG-IPへアクセスできるようにします。
BIG-IPへログインし「システム」-「SNMP」(Configration)を選択します。
「Client Allow List」項目にZABBIXサーバーのIPアドレス(BIG-IPへアクセスする送信元IPアドレス)を設定。
次にコミュニティ名を設定します。
「システム」-「SNMP」(Access v1,v2c)を選択。
(上部項目「Agent」をプルダウン)
今回ここではCommunity名は「public」を設定します。
※上記アクセス制限によりデータを取得できるIPは限られます。万が一それを間違えた場合でもコミュニティ名を独自の物にしておくことで流出は(ある程度)防げるかと思われます。
※蛇足ですが、このコミュニティ名(public)を使いSNMP通信にてBIG-IPへアクセスします
4)ZABBIX設定・確認
ログインし、設定を選択。
設定内容を以下のように行います。
テンプレートにて「big」あるいは「big-ip」と入力しますと「F5 Big-IP by SNMP」テンプレートが選択可能となります。
インターフェイスは「SNMP」を追加。
IPはBIG-IPのManagementポートのIPを設定します。
※Managementポート以外は、BIG-IP側でSNMPのアクセスを可能にする設定が必要です。
ポート番号は通常通り「161」
SNMPバージョンは今回は「SNMPv2」を選択。
コミュニティ名は変数ですが、そのまま使用します。
ZABBIXではコミュニティ名の設定はメニュー項目「管理」「一般設定」の中の「マクロ」にて定義しています。下のような設定がされていますが、これを利用します。
うまくいかない場合は、グレーアウトの「SNMP」表示になります。
また一度、うまくアクセスできたが、通信できなくなった場合は緑から赤色の「SNMP」となります。
設定が完了するとDiscovery機能により各種機能が設定されていきます。
ただし一度には取得できないようで何回かに分けて取得しています。そのため徐々に監視項目が増えていく形となります。
※これをスピードアップする場合はDiscovery間隔を短くします(デフォルトでは1時間)
オートディスカバリーを活かしておくことで、BIG-IP上に追加作成した仮想サーバーが、自動的に設定され、グラフも見えるようになります。
さらに、仮想サーバーを削除すると、30日?後にZABBIX上から削除してくれるようです。便利になったものです。
以上です。