Zabbixのサーバーから直接つながらないサーバ監視に、Zabbix Proxyを使って情報取得させてみました!
意外と日本語ドキュメントが充実していなかったので残しておきます~
もくじ
想定イメージ
Firewallの配下にあるサーバーをネットワーク越しにって、いう教科書通りではなく・・・すでに別セグメントから、監視を行っていてさらに別ネットワークにあるサーバーを監視したかったのです。
構築環境
- CentOS 7
- Zabbix Proxy 3.0.x
- MariaDB
- Ansible
- dj-wasabi/ansible-zabbix-proxy
Ansibleを使った「Zabbix Proxy」の構築
ansible-galaxy install dj-wasabi.zabbix-proxy -p . # -p はroleの場所指定 cd dj-wasabi.zabbix-proxy ansible-galaxy install geerlingguy.mysql
inventoryファイル作成
- inventory
[mysql] zabbix-proxy ansible_ssh_host=192.168.X.Xmysqlと、外部から接続したかったのでその設定を入れました。
mysqlの設定
geerlingguy.mysql/defaults/main.ymlを参考に
geerlingguy.mysql/vars/main.yml を作成して編集
主に、パスワード部分の変更ですね。
mysql_root_password: hogehogeなど
Zabbix Proxyの設定
dj-wasabi.zabbix-proxy/defaults/main.ymlを参考に
dj-wasabi.zabbix-proxy/vars/main.yml を編集
主に、zabbix-serverの変更ですね。
zabbix_server_host: 192.168.1.X
paybookの作成
- playbook.yml
- hosts: zabbix-proxy sudo: yes roles: - { role: dj-wasabi.zabbix-proxy, zabbix_server_host: 192.168.1.X, database_type: mysql, database_type_long: mysql }
Ansibleの実行
ansible-playbook playbook.yml -i inventory -c ssh
- パスワード必要な場合
ansible-playbook playbook.yml -i inventory -c ssh --ask-pass --ask-sudo-pass
あれよあれよとできる
CentOS7なので、- MariaDB入れて
- MariaDBセットアップ(root)
- Zabbix Proxy入れて
- MariaDBセットアップ(zabbix-proxy)
Zabbix Serverに「Zabbix Proxy」を設定
管理ユーザーで
管理 ⇒ プロキシ ⇒ プロキシ作成
管理 ⇒ プロキシ ⇒ プロキシ作成
この後は、ホストの設定で「プロキシによる監視」で先ほど作成した「zabbix-server」を指定
参考サイト
AnsibleのPlaybookやRoleは中身をよく見ておいた方がいいです~mysqlの設定はまだ変えようと思います。
dj-wasabi/ansible-zabbix-proxy
書籍
池田大輔 技術評論社 2014-03-10