|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1. Zabbixコンテナの説明
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
(1)zabbix-mysql
|
|
概要:
|
|
zabbix-serverがDB構造やデータを**流し込むための「箱(データベース環境)」**として事前に作成・起動しておく必要があります。
|
|
|
|
注意点:
|
|
DB内の各テーブルを作成(流し込み)するのはzabbix-server側の役割であり、mysqlコンテナ自体が自動でテーブルを
|
|
作るわけではありません。また、server側からのSQL実行や関数作成の許可設定を init.sql 等で事前定義しておかないと、serverからの
|
|
流し込み処理が失敗するため、権限設定を含めた初期化ファイルの作成には細心の注意が必要です。
|
|
|
|
(2)zabbix-server
|
|
概要:
|
|
起動時にzabbix-mysqlへ接続し、初期スキーマ(SQLデータ)を流し込む役割を担います。
|
|
|
|
注意点:
|
|
デフォルトの状態ではテーブル数が207個に留まり、LDAP連携用の設定が含まれません。
|
|
そのため、事前に /usr/share/doc/zabbix-server-mysql/create.sql.gz を取得・加工し、LDAP用テーブル等の定義を追加した
|
|
カスタム済みのSQLファイルを準備しておく必要があります。この「最強の設計図」を起動時に流し込むことで、管理画面での
|
|
手動設定を介さない、完全自動化された環境構築が可能となります。。
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
2.ダウンロードのURLの一覧の資材の理解
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
https://www.jobarranger.info/jpn/download/index.html
|
|
|
|
接続先の新規コンテナ(jobarg-server):
|
|
18-1.下記は今回のコンテナでの構築に必要であるため対象である
|
|
①Server
|
|
→ジョブを実行させる機能そのものの「司令塔(土台)」
|
|
https://www.jobarranger.info/download/7.2.1//Server/jobarranger-server-7.2.1-1.el9.x86_64.rpm
|
|
|
|
②LinuxAgent
|
|
→実際にコマンドを動かし、その結果(成功・失敗)をあなたに報告する「実務担当」
|
|
https://www.jobarranger.info/download/7.2.1//LinuxAgent/jobarranger-agentd-7.2.1-1.el9.x86_64.rpm
|
|
|
|
|
|
接続元の既存コンテナ(zabbix-web):
|
|
①Manager
|
|
→ジョブを実行させる機能そのものの「司令塔(土台)」
|
|
https://www.jobarranger.info/download/7.2.1//Manager/jobarranger-manager-7.2.1-1.el9.x86_64.rpm
|
|
|
|
18-2.個別のコンテナでの対応
|
|
②Other (jobarranger-7.2.1.tar.gz):【必須】
|
|
→Zabbixの管理画面の中に「Jaz Manager」の画面を表示させるための本体だからです。
|
|
https://www.jobarranger.info/download/7.2.1//Other/jobarranger-7.2.1.tar.gz
|
|
|
|
18-3.Otherや既にzabbixのログイン画面等を表示させるzabbix-webコンテでカバーするので理解だけで十分である
|
|
|
|
|
|
多分下記は不要かも
|
|
Utils
|
|
https://www.jobarranger.info/download/7.2.1//Utils/jobarranger-utils-7.2.1-1.el9.x86_64.rpm
|
|
|
|
18-4.そもそもクライアントでの作業になるのでサーバー構築では以下は完全対象外となる
|
|
WindowsAgent
|
|
https://www.jobarranger.info/download/7.2.1//WindowsAgent/Job_Arranger_Agent_x64.msi
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
3.データベースまたテーブルの作成
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
1.3 Job Arranger のシステム構成
|
|
既存の Zabbix データベースを JobArranger でも使用することで、Zabbix で登録しているユーザやホスト等の情報を
|
|
共有し、スムーズな機能連携を実現させています。
|
|
https://www.jobarranger.info/download/0.9.1//Job%20Arranger_%E6%93%8D%E4%BD%9C%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB(%CE%B2%E7%89%88).pdf
|
|
|
|
Zabbixデータベース上にJob Arrangerデータを作成することは必須ですが、Job Serverは別で問題ありません。
|
|
必須ではありません。Zabbixデータベース上にJob Arrangerデータを作成することは必須ですが、Job Serverは別で問題ありません。」
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
4. ログから見る「実効時間」の分析
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
ログの時間軸を整理すると、以下のようになっています。
|
|
|
|
MySQL (zabbix-mysql)
|
|
12:44:32: 初期化開始(Initializing database files)
|
|
|
|
12:47:18: 初期化完了(Database files initialized)
|
|
|
|
12:47:38: init.sql 実行開始
|
|
|
|
12:48:22: 完全に受付可能状態(ready for connections)
|
|
|
|
【分析】: ゼロからの構築時、MySQLが「Healthy」になるまで 約4分(240秒) かかっています。
|
|
|
|
Zabbix Server (zabbix-server)
|
|
13:48:26: スキーマ作成開始(Creating 'zabbix' schema)
|
|
|
|
14:31:39: 作成完了(Database schema successfully created!)
|
|
|
|
【分析】: ここが衝撃的ですが、スキーマ作成に 約43分 かかっています。
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
5. IPv6の無効化
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
★課題
|
|
Dockerのイメージ取得でIPv6で突然行わなれる可能性があるためOSインストール時に設定置いたほうが良いかもしれません。
|
|
|
|
────────────────────────────────────────────────────────
|
|
/etc/docker/daemon.json
|
|
|
|
[root@om01 zabbix]# cat /etc/docker/daemon.json
|
|
{
|
|
"ipv6": false,
|
|
"dns": ["8.8.8.8", "1.1.1.1"]
|
|
}
|
|
|
|
[root@om01 zabbix]#
|
|
|
|
systemctl restart docker
|
|
-----------------------------------------------------------------------------------------------------------------
|
|
|
|
[root@om01 zabbix]# cat /etc/docker/daemon.json
|
|
{
|
|
"ipv6": false,
|
|
"dns": ["8.8.8.8", "1.1.1.1"]
|
|
}
|
|
|
|
[root@om01 zabbix]#
|
|
|
|
────────────────────────────────────────────────────────
|
|
nmcli connection modify ens192 ipv6.method disabled
|
|
|
|
nmcli connection modify ens224 ipv6.method disabled
|
|
|
|
nmcli connection modify ens256 ipv6.method disabled
|
|
|
|
nmcli connection reload
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
6. DockerNetworkの作成
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
まず、コンテナが通信するためのネットワークと、データを保存するためのディレクトリを作成します。
|
|
|
|
(1).ネットワークの事前作成(※かなり重要)
|
|
# ネットワークがない場合は作成(すでにある場合はエラーになりますが無視してOK)
|
|
docker network create monitor_net
|
|
docker network create gitlab_net
|
|
docker network create mail_net
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
7. Nginxかつサーバー証明書の格納先の準備
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
(1).フォルダの有無の確認
|
|
ls -la /Container/cert
|
|
ls -l /Container/nginx/conf.d
|
|
|
|
[root@om01 zabbix]# ls -la /Container/cert
|
|
合計 32
|
|
drwxr-xr-x 2 root root 4096 4月 21 07:23 .
|
|
drwxr-xr-x. 8 root root 4096 4月 21 07:19 ..
|
|
-rw-r--r-- 1 root root 2855 4月 18 13:49 gitlab_cert.pem
|
|
-rw------- 1 root root 227 4月 18 13:50 gitlab_privkey.pem
|
|
-rw-r--r-- 1 root root 2847 4月 18 07:55 mail_cert.pem
|
|
-rw------- 1 root root 227 4月 18 07:55 mail_privkey.pem
|
|
[root@om01 zabbix]#
|
|
|
|
(2).ディレクトリの作成
|
|
mkdir -p /Container/cert
|
|
mkdir -p /Container/nginx/conf.d
|
|
mkdir -p /Container/nginx/logs
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
8. Zabbixコンテナのコードの格納先の準備
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
(1).ディレクトリの一括作成
|
|
mkdir -p /Container/zabbix/mysql/data
|
|
mkdir -p /Container/zabbix/mysql/conf.d
|
|
|
|
(2)追加機能向けのディレクトリの一括作成
|
|
mkdir -p /Container/zabbix/jobarg-build
|
|
mkdir -p /Container/zabbix/web-modules
|
|
|
|
(3)パーミッションの変更
|
|
chown -R root:root /Container/zabbix/web-modules
|
|
chmod -R 755 /Container/zabbix/web-modules
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
9. Nginxコンテナの再構築情報のコンテナの作成
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
nano /Container/nginx/compose.yml
|
|
|
|
[root@om01 zabbix]# cat /Container/nginx/compose.yml
|
|
services:
|
|
nginx:
|
|
image: nginx:latest
|
|
container_name: nginx
|
|
restart: always
|
|
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
|
|
volumes:
|
|
- /Container/nginx/conf.d:/etc/nginx/conf.d
|
|
- /Container/nginx/logs:/var/log/nginx
|
|
- /Container/cert:/etc/nginx/cert
|
|
|
|
networks:
|
|
- gitlab_net
|
|
- monitor_net # ★ Zabbix に接続するため追加
|
|
|
|
networks:
|
|
gitlab_net:
|
|
external: true
|
|
monitor_net:
|
|
external: true
|
|
[root@om01 zabbix]#
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
10. 設定ファイルの作成
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
以下の内容で各設定ファイルを作成・配置してください。
|
|
nano /Container/nginx/conf.d/zabbix.conf
|
|
|
|
[root@om01 zabbix]# cat /Container/nginx/conf.d/zabbix.conf
|
|
server {
|
|
listen 443 ssl;
|
|
server_name zabbix.sasio.jp;
|
|
|
|
ssl_certificate /etc/nginx/cert/zabbix_cert.pem;
|
|
ssl_certificate_key /etc/nginx/cert/zabbix_privkey.pem;
|
|
|
|
# ★ Docker内部のDNSサーバーを指定(名前解決の即死を防ぐ)
|
|
resolver 127.0.0.11 valid=30s;
|
|
|
|
# SSLの推奨設定(セキュリティ向上)
|
|
ssl_protocols TLSv1.2 TLSv1.3;
|
|
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
|
|
|
|
location / {
|
|
# ★ 変数に入れることで、起動時のチェックをスキップさせます
|
|
set $upstream_endpoint http://zabbix-web:80;
|
|
proxy_pass $upstream_endpoint;
|
|
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto https;
|
|
|
|
}
|
|
}
|
|
[root@om01 zabbix]#
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
11. 事前準備としてDB圧縮ファイルを取得する
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
docker run --rm --user root zabbix/zabbix-server-mysql:latest \
|
|
sh -c "cat /usr/share/doc/zabbix-server-mysql/create.sql.gz" > /Container/zabbix/mysql/conf.d/create.sql.gz
|
|
|
|
[root@om01 ~]# docker run --rm --user root zabbix/zabbix-server-mysql:latest \
|
|
> sh -c "cat /usr/share/doc/zabbix-server-mysql/create.sql.gz" > /Container/zabbix/mysql/conf.d/create.sql.gz
|
|
Unable to find image 'zabbix/zabbix-server-mysql:latest' locally
|
|
latest: Pulling from zabbix/zabbix-server-mysql
|
|
6a0ac1617861: Pull complete
|
|
d764f9797cc7: Pull complete
|
|
940c279f6983: Pull complete
|
|
4f4fb700ef54: Pull complete
|
|
08a37832fa7c: Pull complete
|
|
7c1589460779: Pull complete
|
|
9a4a826b506f: Pull complete
|
|
13d239f8e7f6: Pull complete
|
|
44833abc7568: Pull complete
|
|
1f919662e15f: Download complete
|
|
064dd68848e9: Download complete
|
|
Digest: sha256:4cddcdaff354b097c234625afc2990b10be355639c329cf297170c8ae0686248
|
|
Status: Downloaded newer image for zabbix/zabbix-server-mysql:latest
|
|
[root@om01 ~]#
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
12. 事前準備としてLDAPの設定情報の追加作業実施
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
(1)対象フォルダに移動する
|
|
cd /Container/zabbix/mysql/conf.d;pwd
|
|
|
|
(2)圧縮ファイルを解凍する
|
|
gunzip create.sql.gz
|
|
|
|
(3)下記のファイルを開いて最終行に追加する
|
|
nano /Container/zabbix/mysql/conf.d/create.sql
|
|
|
|
[Ctrl]+[End]を押して再就業に移動する
|
|
|
|
-- ================================================================================================================
|
|
-- Custom LDAP Configuration (Added for Initial Build)
|
|
-- ================================================================================================================
|
|
-- ① userdirectoryテーブルへの登録
|
|
-- カラム名を実機に合わせて「provision_status」に修正済み
|
|
INSERT INTO userdirectory (userdirectoryid, name, description, idp_type, provision_status)
|
|
VALUES (1, 'SASIO-AD', 'Auto-configured', 1, 1);
|
|
|
|
-- ② userdirectory_ldapテーブルへの登録
|
|
-- 各カラム名(host, port, base_dn, bind_dn等)が実機と一致していることを確認済み
|
|
INSERT INTO userdirectory_ldap (
|
|
userdirectoryid, host, port, base_dn, search_attribute,
|
|
bind_dn, bind_password, start_tls, search_filter
|
|
) VALUES (
|
|
1, '172.26.4.43', 389, 'DC=sasio,DC=jp', 'sAMAccountName',
|
|
'CN=Administrator,CN=Users,DC=sasio,DC=jp', 'get04F15fr34!x07r008', 0, ''
|
|
);
|
|
|
|
-- ③ 認証全体のスイッチをONにする(今回の検証で判明した重要ポイント)
|
|
-- Default authentication を LDAP に切り替え
|
|
UPDATE settings SET value_int = 1 WHERE name = 'authentication_type';
|
|
|
|
-- ④ 使用するディレクトリを ID:1 (SASIO-AD) に指定する
|
|
-- すでにレコードがある場合は更新、ない場合は挿入する安全な構文です
|
|
INSERT INTO settings (name, type, value_userdirectoryid, value_str)
|
|
VALUES ('userdirectoryid', 2, 1, '')
|
|
ON DUPLICATE KEY UPDATE value_userdirectoryid = 1;
|
|
|
|
-- ⑤ 「Enable LDAP authentication」のチェックボックスをONにする
|
|
INSERT INTO settings (name, type, value_int, value_str)
|
|
VALUES ('ldap_auth_enabled', 0, 1, ''),
|
|
('ldap_jit_status', 0, 1, '')
|
|
ON DUPLICATE KEY UPDATE value_int = 1;
|
|
|
|
-- ⑥ ステップA: マッピングルール(パターンとロール)を登録
|
|
-- userdirectoryid は SASIO-AD のID(通常は 1 または 2)を確認して指定する
|
|
INSERT INTO userdirectory_idpgroup (userdirectory_idpgroupid, userdirectoryid, name, roleid)
|
|
SELECT
|
|
1, -- ここでIDを指定
|
|
ud.userdirectoryid,
|
|
'*', -- LDAP group pattern
|
|
r.roleid -- Super admin role のID
|
|
FROM userdirectory ud, role r
|
|
WHERE ud.name = 'SASIO-AD' AND r.name = 'Super admin role';
|
|
|
|
-- ⑦ ステップB: 上記のマッピングと Zabbixグループ(Zabbix administrators)を紐付け
|
|
-- 明示的に userdirectory_usrgrpid に '1'、親IDにも '1' を指定します
|
|
INSERT INTO userdirectory_usrgrp (userdirectory_usrgrpid, userdirectory_idpgroupid, usrgrpid)
|
|
SELECT
|
|
1, -- 自身のIDを指定
|
|
1, -- ステップAで指定した親IDを指定
|
|
ug.usrgrpid
|
|
FROM usrgrp ug
|
|
WHERE ug.name = 'Zabbix administrators';
|
|
|
|
-- ⑧ JITプロビジョニング自体のスイッチをONにする
|
|
INSERT INTO settings (name, type, value_int, value_str)
|
|
VALUES ('jit_provisioning_enabled', 0, 1, '')
|
|
ON DUPLICATE KEY UPDATE value_int = 1;
|
|
|
|
-- ⑨ 「受け皿グループ(Disabled)」を設定して保存エラーを回避する
|
|
-- 先ほどの実機 DESC 確認結果に基づき value_usrgrpid を使用
|
|
INSERT INTO settings (name, type, value_usrgrpid, value_str)
|
|
VALUES ('disabled_usrgrpid', 1, 9, '')
|
|
ON DUPLICATE KEY UPDATE value_usrgrpid = 9;
|
|
|
|
-- ⑩ ID管理テーブルを更新し、構築後のGUI操作での衝突を防ぐ
|
|
INSERT INTO ids (table_name, field_name, nextid)
|
|
VALUES ('userdirectory_idpgroup', 'userdirectory_idpgroupid', 2),
|
|
('userdirectory_usrgrp', 'userdirectory_usrgrpid', 2)
|
|
ON DUPLICATE KEY UPDATE nextid = 2;
|
|
|
|
────────────────────────────────────────────────────────────
|
|
(4)下記のコマンドで設定を確認する
|
|
|
|
[root@om01 zabbix]# cat /Container/zabbix/mysql/conf.d/create.sql | tail -n 72
|
|
|
|
-- ================================================================================================================
|
|
-- Custom LDAP Configuration (Added for Initial Build)
|
|
-- ================================================================================================================
|
|
-- ① userdirectoryテーブルへの登録
|
|
-- カラム名を実機に合わせて「provision_status」に修正済み
|
|
INSERT INTO userdirectory (userdirectoryid, name, description, idp_type, provision_status)
|
|
VALUES (1, 'SASIO-AD', 'Auto-configured', 1, 1);
|
|
|
|
-- ② userdirectory_ldapテーブルへの登録
|
|
-- 各カラム名(host, port, base_dn, bind_dn等)が実機と一致していることを確認済み
|
|
INSERT INTO userdirectory_ldap (
|
|
userdirectoryid, host, port, base_dn, search_attribute,
|
|
bind_dn, bind_password, start_tls, search_filter
|
|
) VALUES (
|
|
1, '172.26.4.43', 389, 'DC=sasio,DC=jp', 'sAMAccountName',
|
|
'CN=Administrator,CN=Users,DC=sasio,DC=jp', 'get04F15fr34!x07r008', 0, ''
|
|
);
|
|
|
|
-- ③ 認証全体のスイッチをONにする(今回の検証で判明した重要ポイント)
|
|
-- Default authentication を LDAP に切り替え
|
|
UPDATE settings SET value_int = 1 WHERE name = 'authentication_type';
|
|
|
|
-- ④ 使用するディレクトリを ID:1 (SASIO-AD) に指定する
|
|
-- すでにレコードがある場合は更新、ない場合は挿入する安全な構文です
|
|
INSERT INTO settings (name, type, value_userdirectoryid, value_str)
|
|
VALUES ('userdirectoryid', 2, 1, '')
|
|
ON DUPLICATE KEY UPDATE value_userdirectoryid = 1;
|
|
|
|
-- ⑤ 「Enable LDAP authentication」のチェックボックスをONにする
|
|
INSERT INTO settings (name, type, value_int, value_str)
|
|
VALUES ('ldap_auth_enabled', 0, 1, ''),
|
|
('ldap_jit_status', 0, 1, '')
|
|
ON DUPLICATE KEY UPDATE value_int = 1;
|
|
|
|
-- ⑥ ステップA: マッピングルール(パターンとロール)を登録
|
|
-- userdirectoryid は SASIO-AD のID(通常は 1 または 2)を確認して指定する
|
|
INSERT INTO userdirectory_idpgroup (userdirectory_idpgroupid, userdirectoryid, name, roleid)
|
|
SELECT
|
|
1, -- ここでIDを指定
|
|
ud.userdirectoryid,
|
|
'*', -- LDAP group pattern
|
|
r.roleid -- Super admin role のID
|
|
FROM userdirectory ud, role r
|
|
WHERE ud.name = 'SASIO-AD' AND r.name = 'Super admin role';
|
|
|
|
-- ⑦ ステップB: 上記のマッピングと Zabbixグループ(Zabbix administrators)を紐付け
|
|
-- 明示的に userdirectory_usrgrpid に '1'、親IDにも '1' を指定します
|
|
INSERT INTO userdirectory_usrgrp (userdirectory_usrgrpid, userdirectory_idpgroupid, usrgrpid)
|
|
SELECT
|
|
1, -- 自身のIDを指定
|
|
1, -- ステップAで指定した親IDを指定
|
|
ug.usrgrpid
|
|
FROM usrgrp ug
|
|
WHERE ug.name = 'Zabbix administrators';
|
|
|
|
-- ⑧ JITプロビジョニング自体のスイッチをONにする
|
|
INSERT INTO settings (name, type, value_int, value_str)
|
|
VALUES ('jit_provisioning_enabled', 0, 1, '')
|
|
ON DUPLICATE KEY UPDATE value_int = 1;
|
|
|
|
-- ⑨ 「受け皿グループ(Disabled)」を設定して保存エラーを回避する
|
|
-- 先ほどの実機 DESC 確認結果に基づき value_usrgrpid を使用
|
|
INSERT INTO settings (name, type, value_usrgrpid, value_str)
|
|
VALUES ('disabled_usrgrpid', 1, 9, '')
|
|
ON DUPLICATE KEY UPDATE value_usrgrpid = 9;
|
|
|
|
-- ⑩ ID管理テーブルを更新し、構築後のGUI操作での衝突を防ぐ
|
|
INSERT INTO ids (table_name, field_name, nextid)
|
|
VALUES ('userdirectory_idpgroup', 'userdirectory_idpgroupid', 2),
|
|
('userdirectory_usrgrp', 'userdirectory_usrgrpid', 2)
|
|
ON DUPLICATE KEY UPDATE nextid = 2;
|
|
[root@om01 zabbix]#
|
|
|
|
────────────────────────────────────────────────────────
|
|
(5)-c オプションで元のファイルを残しつつ、.gz ファイルを作成します
|
|
|
|
gzip -c create.sql > create.sql.gz
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
13. 事前準備としてzabbix-serverからzabbix-mysqlへのコンテナの流し込みの許可の設定ファイルの準備
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
vi /Container/zabbix/mysql/conf.d/init.sql
|
|
|
|
root@om01 zabbix]# cat /Container/zabbix/mysql/conf.d/init.sql
|
|
-- ① 既存の不完全なDBを消し、Zabbix 7.0専用の規格で作り直す
|
|
DROP DATABASE IF EXISTS zabbix;
|
|
CREATE DATABASE zabbix CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
|
|
|
|
-- ② 関数作成の制限を解除(インポートの中断防止)
|
|
SET GLOBAL log_bin_trust_function_creators = 1;
|
|
|
|
-- ③ 権限の付与
|
|
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'%';
|
|
[root@om01 zabbix]#
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14.zabbix-webコンテナの追加機能の圧縮ファイルの展開(jobarranger)
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
tar --strip-components=1 \
|
|
-xzf /Container/zabbix/jobarg-build/jobarranger-7.2.1.tar.gz \
|
|
-C /Container/zabbix/web-modules
|
|
|
|
[root@om01 jobarg-build]# ls -la /Container/zabbix/web-modules/
|
|
合計 136
|
|
drwxr-xr-x 12 root root 4096 5月 6 09:36 .
|
|
drwxr-xr-x 5 root root 4096 5月 5 20:05 ..
|
|
-rwxrwxrwx 1 root root 32 1月 26 12:25 AUTHORS
|
|
-rwxrwxrwx 1 root root 18332 1月 26 12:26 COPYING
|
|
-rwxrwxrwx 1 root root 122 1月 26 12:26 ChangeLog
|
|
-rwxrwxrwx 1 root root 19776 1月 26 12:26 Makefile.am
|
|
-rwxrwxrwx 1 root root 53 1月 26 12:26 NEWS
|
|
-rwxrwxrwx 1 root root 1124 1月 26 12:26 README.md
|
|
drwxrwxrwx 4 root root 4096 1月 26 12:33 conf
|
|
-rwxrwxrwx 1 root root 11136 1月 26 12:26 configure.ac
|
|
drwxrwxrwx 5 root root 4096 1月 26 12:33 database
|
|
drwxrwxrwx 3 root root 4096 1月 26 12:33 docker
|
|
drwxrwxrwx 3 root root 4096 1月 26 12:33 frontend
|
|
-rwxrwxrwx 1 root root 1249 1月 26 12:26 go.mod
|
|
-rwxrwxrwx 1 root root 10156 1月 26 12:26 go.sum
|
|
-rwxrwxrwx 1 root root 207 1月 26 12:26 install-gen.sh
|
|
drwxrwxrwx 2 root root 4096 1月 26 12:33 man
|
|
drwxrwxrwx 5 root root 4096 1月 26 12:33 misc
|
|
drwxrwxrwx 5 root root 4096 1月 26 12:33 specs
|
|
drwxrwxrwx 13 root root 4096 1月 26 12:33 src
|
|
drwxrwxrwx 4 root root 4096 1月 26 12:33 tools
|
|
drwxrwxrwx 4 root root 4096 1月 26 12:33 vendor
|
|
|
|
---------------------------------------------------------------------------------------------------------------------
|
|
|
|
find /Container/zabbix/web-modules -type d -name "jobarranger"
|
|
|
|
[root@om01 jobarg-build]# find /Container/zabbix/web-modules -type d -name "jobarranger"
|
|
/Container/zabbix/web-modules/frontend/jobarranger
|
|
[root@om01 jobarg-build]#
|
|
|
|
ls -la /Container/zabbix/web-modules/frontend/jobarranger
|
|
|
|
[root@om01 jobarg-build]# ls -la /Container/zabbix/web-modules/frontend/jobarranger
|
|
合計 32
|
|
drwxrwxrwx 5 root root 4096 1月 26 12:33 .
|
|
drwxrwxrwx 3 root root 4096 1月 26 12:33 ..
|
|
drwxrwxrwx 6 root root 4096 1月 26 12:33 api
|
|
-rwxrwxrwx 1 root root 239 1月 26 12:25 jam-cleanup.service
|
|
-rwxrwxrwx 1 root root 324 1月 26 12:25 jobarranger-api.conf
|
|
-rwxrwxrwx 1 root root 593 1月 26 12:25 jobarranger-ui.conf
|
|
drwxrwxrwx 3 root root 4096 1月 26 12:33 modules
|
|
drwxrwxrwx 4 root root 4096 1月 26 12:33 ui
|
|
[root@om01 jobarg-build]#
|
|
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
15.jobarranger-managerのRPMの組み込みのDockerfileの作成
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
[root@om01 zabbix]# cat /Container/zabbix/Dockerfile
|
|
FROM zabbix/zabbix-web-apache-mysql:latest
|
|
|
|
USER root
|
|
|
|
# 1. 配置先ディレクトリを公式コンテナの正規Webルート(/usr/share/zabbix/)配下に直接作成
|
|
# 今回URLジャンプ先となる「/jobarranger/redirect」を物理フォルダとして掘っておきます
|
|
RUN mkdir -p /usr/share/zabbix/modules/JazManager \
|
|
/usr/share/zabbix/jobarranger/redirect \
|
|
/usr/share/zabbix/jobarranger/api
|
|
|
|
# 2. ホスト側の解凍ルート「web-modules」を丸ごとコンテナに一度安全転送
|
|
COPY web-modules /tmp/web-modules
|
|
|
|
# 3. コンテナ内部のクリーンなシェルで各物理領域へ直接コピー
|
|
RUN if [ -d /tmp/web-modules/frontend/jobarranger/modules/JazManager ]; then \
|
|
cp -r /tmp/web-modules/frontend/jobarranger/modules/JazManager/* /usr/share/zabbix/modules/JazManager/; \
|
|
else \
|
|
cp -r /tmp/web-modules/frontend/jobarranger/modules/jazmanager/* /usr/share/zabbix/modules/JazManager/; \
|
|
fi && \
|
|
# ① 公開ルートの直下へUI画面とAPIを焼き付けます
|
|
cp -r /tmp/web-modules/frontend/jobarranger/ui/* /usr/share/zabbix/jobarranger/ && \
|
|
cp -r /tmp/web-modules/frontend/jobarranger/api/* /usr/share/zabbix/jobarranger/api/ && \
|
|
# ②【404完全解決】mod_rewriteが使えないコンテナの仕様に合わせ、
|
|
# ジャンプ先である「redirect」フォルダの直下にも画面資産(index.html等)を丸ごと物理コピーします
|
|
cp -r /tmp/web-modules/frontend/jobarranger/ui/* /usr/share/zabbix/jobarranger/redirect/ && \
|
|
# 一時フォルダの消去
|
|
rm -rf /tmp/web-modules
|
|
|
|
# 4. 権限設定(Webサーバーユーザーへオーナーを一括変更)
|
|
RUN chown -R apache:apache /usr/share/zabbix/modules/JazManager \
|
|
/usr/share/zabbix/jobarranger || \
|
|
chown -R zabbix:zabbix /usr/share/zabbix/modules/JazManager \
|
|
/usr/share/zabbix/jobarranger
|
|
|
|
# 5. 元の実行ユーザーに戻す
|
|
USER 1997
|
|
WORKDIR /usr/share/zabbix
|
|
[root@om01 zabbix]#
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16. Zabbixコンテナの構築情報
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
nano /Container/zabbix/compose.yml
|
|
|
|
[root@om01 zabbix]# cat /Container/zabbix/compose.yml
|
|
services:
|
|
mysql:
|
|
image: mysql:8.0
|
|
container_name: zabbix-mysql
|
|
restart: always
|
|
command: --log-bin-trust-function-creators=1 --character-set-server=utf8mb4 --collation-server=utf8mb4_bin
|
|
environment:
|
|
TZ: Asia/Tokyo
|
|
MYSQL_ROOT_PASSWORD: zabbixroot
|
|
MYSQL_DATABASE: zabbix
|
|
MYSQL_USER: zabbix
|
|
MYSQL_PASSWORD: zabbixpass
|
|
volumes:
|
|
- /Container/zabbix/mysql/data:/var/lib/mysql
|
|
- /Container/zabbix/mysql/conf.d:/etc/mysql/conf.d
|
|
- /Container/zabbix/mysql/conf.d/init.sql:/docker-entrypoint-initdb.d/init.sql:ro
|
|
networks:
|
|
- monitor_net
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-uroot", "-pzabbixroot", "--ssl-mode=DISABLED"]
|
|
interval: 60s
|
|
timeout: 10s
|
|
retries: 5
|
|
start_period: 480s
|
|
|
|
zabbix-server:
|
|
image: zabbix/zabbix-server-mysql:latest
|
|
container_name: zabbix-server
|
|
restart: always
|
|
volumes:
|
|
- /Container/zabbix/mysql/conf.d/create.sql.gz:/usr/share/doc/zabbix-server-mysql/create.sql.gz:ro
|
|
environment:
|
|
TZ: Asia/Tokyo
|
|
DB_SERVER_HOST: mysql
|
|
MYSQL_USER: zabbix
|
|
MYSQL_PASSWORD: zabbixpass
|
|
MYSQL_DATABASE: zabbix
|
|
healthcheck:
|
|
test: ["CMD", "zabbix_server", "-R", "config_cache_reload"]
|
|
interval: 300s
|
|
timeout: 60s
|
|
retries: 3
|
|
start_period: 3600s
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
ports:
|
|
- "10051:10051"
|
|
networks:
|
|
- monitor_net
|
|
|
|
zabbix-web:
|
|
# ★ 焼き付けを行ったカスタムイメージを指定します
|
|
image: local/zabbix-web-jobarg:7.2.1
|
|
container_name: zabbix-web
|
|
restart: always
|
|
environment:
|
|
DB_SERVER_HOST: mysql
|
|
DB_SERVER_PORT: 3306
|
|
MYSQL_USER: zabbix
|
|
MYSQL_PASSWORD: zabbixpass
|
|
MYSQL_DATABASE: zabbix
|
|
ZBX_SERVER_HOST: zabbix-server
|
|
ZBX_SERVER_PORT: 10051
|
|
PHP_TZ: Asia/Tokyo
|
|
ZBX_LOGIN: ldap
|
|
ZBX_LDAP_HOST: "172.26.4.43"
|
|
ZBX_LDAP_PORT: "389"
|
|
ZBX_LDAP_BASE_DN: "DC=sasio,DC=jp"
|
|
ZBX_LDAP_BIND_DN: "CN=Administrator,CN=Users,DC=sasio,DC=jp"
|
|
ZBX_LDAP_BIND_PASSWORD: "get04F15fr34!x07r008"
|
|
ZBX_LDAP_SEARCH_ATTRIBUTE: "sAMAccountName"
|
|
ZBX_NGINX_PROXY_READ_TIMEOUT: 3600
|
|
ZBX_NGINX_PROXY_SEND_TIMEOUT: 3600
|
|
JA_SERVER_HOST: jobarg-server
|
|
JA_SERVER_PORT: 8080
|
|
volumes:
|
|
# ★修正点②:成功したマウント実績のコンテナ内パスを、確実に同期させます
|
|
# ① Jaz Manager本体(Zabbixのメニュー出現用)
|
|
- /Container/zabbix/web-modules/frontend/jobarranger/modules/JazManager:/usr/share/zabbix/modules/JazManager:rw
|
|
# ② JobArrangerの共通プログラム一式(画面表示用)
|
|
- /Container/zabbix/web-modules/frontend/jobarranger/ui:/usr/share/zabbix/jobarranger/ui:rw
|
|
- /Container/zabbix/web-modules/frontend/jobarranger/api:/usr/share/zabbix/jobarranger/api:rw
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
zabbix-server:
|
|
condition: service_healthy
|
|
ports:
|
|
- "8080:8080"
|
|
networks:
|
|
- monitor_net
|
|
- mail_net
|
|
- gitlab_net
|
|
|
|
networks:
|
|
monitor_net:
|
|
external: true
|
|
mail_net:
|
|
external: true
|
|
gitlab_net:
|
|
external: true
|
|
[root@om01 zabbix]#
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
17.コンテナの構築の実施
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
[root@om01 zabbix]# cat /Container/zabbix/web-modules/frontend/jobarranger/modules/JazManager/config/jam.module.config.php
|
|
<?php
|
|
//Jobarranger Manager Path
|
|
define('JAM_URL' , 'https://zabbix.sasio.jp/');
|
|
[root@om01 zabbix]#
|
|
[root@om01 zabbix]#
|
|
|
|
|
|
cd /Container/zabbix;pwd
|
|
|
|
# 1. 修正したURL設定をコンテナ内に確実に焼き直します
|
|
docker build \
|
|
--no-cache \
|
|
-t local/zabbix-web-jobarg:7.2.1 \
|
|
-f /Container/zabbix/Dockerfile \
|
|
/Container/zabbix
|
|
|
|
docker compose up -d
|
|
|
|
|
|
https://zabbix.sasio.jp/zabbix.php?action=authentication.edit
|
|
|
|
Enable JIT provisioningで有効→無効→有効
|
|
|
|
techopでログインができるようになった
|
|
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
18.モジュールの確認
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
[root@om01 jobarg-build]# docker exec -it zabbix-web ls -la /usr/share/zabbix/jobarranger
|
|
total 144
|
|
drwxr-xr-x 1 nginx nginx 4096 May 6 02:14 .
|
|
drwxr-xr-x 1 nginx nginx 4096 May 6 01:20 ..
|
|
-rwxrwxrwx 1 nginx nginx 108 Jan 26 03:26 .env
|
|
-rwxrwxrwx 1 nginx nginx 593 Jan 26 03:26 .gitignore
|
|
-rwxrwxrwx 1 nginx nginx 32 Jan 26 03:25 AUTHORS
|
|
-rwxrwxrwx 1 nginx nginx 18332 Jan 26 03:26 COPYING
|
|
-rwxrwxrwx 1 nginx nginx 122 Jan 26 03:26 ChangeLog
|
|
-rwxrwxrwx 1 nginx nginx 19776 Jan 26 03:26 Makefile.am
|
|
-rwxrwxrwx 1 nginx nginx 53 Jan 26 03:26 NEWS
|
|
-rwxrwxrwx 1 nginx nginx 1124 Jan 26 03:26 README.md
|
|
drwxrwxrwx 1 nginx nginx 4096 Jan 26 03:33 conf
|
|
-rwxrwxrwx 1 nginx nginx 11136 Jan 26 03:26 configure.ac
|
|
drwxrwxrwx 1 nginx nginx 4096 Jan 26 03:33 database
|
|
drwxrwxrwx 1 nginx nginx 4096 Jan 26 03:33 docker
|
|
drwxrwxrwx 1 nginx nginx 4096 Jan 26 03:33 frontend
|
|
-rwxrwxrwx 1 nginx nginx 1249 Jan 26 03:26 go.mod
|
|
-rwxrwxrwx 1 nginx nginx 10156 Jan 26 03:26 go.sum
|
|
-rwxrwxrwx 1 nginx nginx 207 Jan 26 03:26 install-gen.sh
|
|
drwxrwxrwx 1 nginx nginx 4096 Jan 26 03:33 man
|
|
drwxrwxrwx 1 nginx nginx 4096 Jan 26 03:33 misc
|
|
drwxrwxrwx 1 nginx nginx 4096 Jan 26 03:33 specs
|
|
drwxrwxrwx 1 nginx nginx 4096 Jan 26 03:33 src
|
|
drwxrwxrwx 1 nginx nginx 4096 Jan 26 03:33 tools
|
|
drwxrwxrwx 1 nginx nginx 4096 Jan 26 03:33 vendor
|
|
[root@om01 jobarg-build]#
|
|
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
19.追加オプションの新規設定(Job Arranger)
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
[root@om01 zabbix]# cat /Container/zabbix/jobarg-build/Dockerfile
|
|
FROM almalinux:9
|
|
|
|
# 1. MySQL公式リポジトリを追加し、mysql-community-libs をインストール (維持)
|
|
RUN dnf install -y epel-release && \
|
|
dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm && \
|
|
dnf install -y --allowerasing \
|
|
mariadb-connector-c \
|
|
net-snmp-libs \
|
|
curl \
|
|
libvterm \
|
|
mariadb \
|
|
mysql-community-libs
|
|
|
|
# 2. 【再進化】Server と Agent の両方の RPM をインストール
|
|
RUN curl -L -O https://www.jobarranger.info/download/7.2.1/Server/jobarranger-server-7.2.1-1.el9.x86_64.rpm && \
|
|
curl -L -O https://www.jobarranger.info/download/7.2.1/LinuxAgent/jobarranger-agentd-7.2.1-1.el9.x86_64.rpm && \
|
|
dnf localinstall -y jobarranger-server-7.2.1-1.el9.x86_64.rpm \
|
|
jobarranger-agentd-7.2.1-1.el9.x86_64.rpm && \
|
|
rm jobarranger-server-7.2.1-1.el9.x86_64.rpm jobarranger-agentd-7.2.1-1.el9.x86_64.rpm
|
|
|
|
# 3. SQL配置と実行権限・ログディレクトリの整備
|
|
RUN mkdir -p /usr/share/jobarranger/sql && \
|
|
cp /usr/share/doc/jobarranger-server/database/mysql/MySQL_JA_CREATE_TABLE.sql /usr/share/jobarranger/sql/mysql_schema.sql && \
|
|
cp /usr/share/doc/jobarranger-server/database/data/JA_2_INSERT_TABLE.sql /usr/share/jobarranger/sql/mysql_data.sql && \
|
|
mkdir -p /var/log/jobarranger /var/run/jobarranger /usr/local/bin/jobarranger/server_socks && \
|
|
chown -R zabbix:zabbix /var/log/jobarranger /var/run/jobarranger /usr/local/bin/jobarranger/server_socks
|
|
|
|
# 4. 設定修正
|
|
# 【重要】混ぜる設計のため、DBName も JazDBName もすべて "zabbix" に統一します
|
|
RUN sed -i -e '/^DBType=/d' \
|
|
-e '/^DBHost=/d' \
|
|
-e '/^DBName=/d' \
|
|
-e '/^DBUser=/d' \
|
|
-e '/^DBPassword=/d' \
|
|
-e '/^DBPort=/d' \
|
|
-e '/^DBPasswordExternal=/d' \
|
|
-e '/^JazDBHost=/d' \
|
|
-e '/^JazDBName=/d' \
|
|
-e '/^JazDBUser=/d' \
|
|
-e '/^JazDBPassword=/d' \
|
|
-e '/^JazDBPort=/d' \
|
|
-e '/^ListenIP=/d' \
|
|
-e '/^ListenPort=/d' /etc/jobarranger/jobarg_server.conf && \
|
|
sed -i '/### Option: DBType$/a DBType=mysql' /etc/jobarranger/jobarg_server.conf && \
|
|
sed -i '/### Option: DBHost$/a DBHost=zabbix-mysql' /etc/jobarranger/jobarg_server.conf && \
|
|
sed -i '/### Option: DBName$/a DBName=zabbix' /etc/jobarranger/jobarg_server.conf && \
|
|
sed -i '/### Option: DBUser$/a DBUser=zabbix' /etc/jobarranger/jobarg_server.conf && \
|
|
sed -i '/### Option: DBPassword$/a DBPassword=zabbixpass' /etc/jobarranger/jobarg_server.conf && \
|
|
sed -i '/### Option: DBPort$/a DBPort=3306' /etc/jobarranger/jobarg_server.conf && \
|
|
sed -i '/### Option: JazDBHost$/a JazDBHost=zabbix-mysql' /etc/jobarranger/jobarg_server.conf && \
|
|
sed -i '/### Option: JazDBName$/a JazDBName=zabbix' /etc/jobarranger/jobarg_server.conf && \
|
|
sed -i '/### Option: JazDBUser$/a JazDBUser=zabbix' /etc/jobarranger/jobarg_server.conf && \
|
|
sed -i '/### Option: JazDBPassword$/a JazDBPassword=zabbixpass' /etc/jobarranger/jobarg_server.conf && \
|
|
sed -i '/### Option: JazDBPort$/a JazDBPort=3306' /etc/jobarranger/jobarg_server.conf && \
|
|
sed -i '/### Option: ListenIP$/a ListenIP=0.0.0.0' /etc/jobarranger/jobarg_server.conf && \
|
|
sed -i '/### Option: ListenPort$/a ListenPort=10061' /etc/jobarranger/jobarg_server.conf
|
|
|
|
# 5. Agent設定の修正例
|
|
RUN sed -i -e '/^Server=/d' \
|
|
-e '/^Hostname=/d' /etc/jobarranger/jobarg_agentd.conf && \
|
|
sed -i '/### Option: Server$/a Server=127.0.0.1' /etc/jobarranger/jobarg_agentd.conf && \
|
|
sed -i '/### Option: Hostname$/a Hostname=jobarg-server' /etc/jobarranger/jobarg_agentd.conf
|
|
|
|
# 6. コンテナが内部で10061ポートを使用することを明示します
|
|
EXPOSE 10061
|
|
|
|
# 7. 実行設定
|
|
# 【修正】exec を使わず、スクリプトを PID 1 として常駐させ、両方のプロセスを安全にバックグラウンドで維持します
|
|
CMD ["sh", "-c", "\
|
|
echo 'Setting permissions for logs and sockets...'; \
|
|
chown -R zabbix:zabbix /var/log/jobarranger /usr/local/bin/jobarranger/server_socks; \
|
|
echo 'Initializing database...'; \
|
|
mysql -h zabbix-mysql -u zabbix -pzabbixpass zabbix -f < /usr/share/jobarranger/sql/mysql_schema.sql; \
|
|
mysql -h zabbix-mysql -u zabbix -pzabbixpass zabbix -f < /usr/share/jobarranger/sql/mysql_data.sql; \
|
|
echo 'Starting JobArranger Agent...'; \
|
|
/usr/local/sbin/jobarg_agentd; \
|
|
echo 'Starting JobArranger Server...'; \
|
|
/usr/local/sbin/jobarg_server -c /etc/jobarranger/jobarg_server.conf; \
|
|
echo 'JobArranger processes started. Keeping container alive...'; \
|
|
tail -f /var/log/jobarranger/jobarg_server.log"]
|
|
[root@om01 zabbix]#
|
|
|
|
─────────────────────────────────────────────────────────────
|
|
|
|
[root@om01 zabbix]# cat /Container/zabbix/jobarg-build/compose.yml
|
|
services:
|
|
job-arg-server:
|
|
image: local/jobarg-server:7.2.1
|
|
container_name: jobarg-server
|
|
restart: always
|
|
ports:
|
|
- "10061:10061"
|
|
networks:
|
|
- monitor_net
|
|
|
|
networks:
|
|
monitor_net:
|
|
external: true
|
|
[root@om01 zabbix]#
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
20.追加オプションの新規設定(Job Arranger)
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
cd /Container/zabbix/jobarg-build;pwd
|
|
|
|
docker build --network=host -t local/jobarg-server:7.2.1 .
|
|
|
|
[root@om01 jobarg-build]# docker build --network=host -t local/jobarg-server:7.2.1 .
|
|
[+] Building 1443.5s (10/10) FINISHED docker:default
|
|
=> [internal] load build definition from Dockerfile 5.1s
|
|
=> => transferring dockerfile: 4.88kB 0.1s
|
|
=> [internal] load metadata for docker.io/library/almalinux:9 7.8s
|
|
=> [internal] load .dockerignore 6.3s
|
|
=> => transferring context: 2B 0.0s
|
|
=> [1/6] FROM docker.io/library/almalinux:9@sha256:cefd7d6e6b713c8904f700554b9d1eccedf19251edd46b5560d9dee9cc6b 79.3s
|
|
=> => resolve docker.io/library/almalinux:9@sha256:cefd7d6e6b713c8904f700554b9d1eccedf19251edd46b5560d9dee9cc6bd 0.2s
|
|
=> => sha256:75ff8ef6fc06907460843cff1f59ebdc722ab275e27e28a61230ad181d6ecedf 71.28MB / 71.28MB 15.8s
|
|
=> => extracting sha256:75ff8ef6fc06907460843cff1f59ebdc722ab275e27e28a61230ad181d6ecedf 61.9s
|
|
=> [2/6] RUN dnf install -y epel-release && dnf install -y https://dev.mysql.com/get/mysql80-community-rel 674.7s
|
|
=> [3/6] RUN curl -L -O https://www.jobarranger.info/download/7.2.1/Server/jobarranger-server-7.2.1-1.el9.x86_6 82.8s
|
|
=> [4/6] RUN mkdir -p /usr/share/jobarranger/sql && cp /usr/share/doc/jobarranger-server/database/mysql/MySQ 2.9s
|
|
=> [5/6] RUN sed -i -e '/^DBType=/d' -e '/^DBHost=/d' -e '/^DBName=/d' -e '/^DB 2.0s
|
|
=> [6/6] RUN sed -i -e '/^Server=/d' -e '/^Hostname=/d' /etc/jobarranger/jobarg_agentd.conf && se 4.7s
|
|
=> exporting to image 529.1s
|
|
=> => exporting layers 272.3s
|
|
=> => exporting manifest sha256:35b4b399c4f51db156d83b0cee3a0793d7221987b5d1b8eac374c67fd56d3bae 0.2s
|
|
=> => exporting config sha256:dd5f3e53ee06dc881a2b95f0b53ff5f3d29ff0aa3f938812bbc9ba8a753648e0 0.1s
|
|
=> => exporting attestation manifest sha256:e072060484cff13410d4593d1e2cc8637430b87c6f31d195628fe6f87f311a2c 2.3s
|
|
=> => exporting manifest list sha256:e6b2e5edbbd10f66c61596e0d00e99f9a3a82ecbfcb2894f070bf79749bd5705 0.7s
|
|
=> => naming to docker.io/local/jobarg-server:7.2.1 1.4s
|
|
=> => unpacking to docker.io/local/jobarg-server:7.2.1 247.8s
|
|
[root@om01 jobarg-build]#
|
|
|
|
----------------------------------------------------------------------------------------------------------------
|
|
|
|
|
|
# コンテナ起動(サービス名は job-arg-server)
|
|
docker compose -f /Container/zabbix/jobarg-build/docker-compose-jobarg.yml up -d
|
|
|
|
[root@om01 jobarg-build]# docker compose -f /Container/zabbix/jobarg-build/docker-compose-jobarg.yml up -d
|
|
[+] up 1/1
|
|
✔ Container jobarg-server Started 131.4s
|
|
[root@om01 jobarg-build]#
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
21.新規コンテナ構築の起動確認と設定確認(Job Arranger)
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
# 状態確認
|
|
docker ps -f name=jobarg-server
|
|
|
|
[root@om01 jobarg-build]# docker ps -f name=jobarg-server
|
|
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
|
bf334a4c9335 local/jobarg-server:7.2.1 "sh -c ' echo 'Se…" 6 minutes ago Up 6 minutes 0.0.0.0:10061->10061/tcp, [::]:10061->10061/tcp jobarg-server
|
|
[root@om01 jobarg-build]#
|
|
|
|
|
|
────────────────────────────────────────────────────────────
|
|
[root@om01 jobarg-build]# docker exec -it jobarg-server rpm -qa | grep jobarranger
|
|
jobarranger-server-7.2.1-1.el9.x86_64
|
|
jobarranger-agentd-7.2.1-1.el9.x86_64
|
|
[root@om01 jobarg-build]#
|
|
|
|
|
|
────────────────────────────────────────────────────────────
|
|
③ ネットワーク待ち受け確認
|
|
ホストOSから 10061 ポートで接続を受け付ける準備ができているか確認します。
|
|
|
|
ss -nlt | grep 10061
|
|
|
|
[root@om01 jobarg-build]# ss -nlt | grep 10061
|
|
LISTEN 0 4096 0.0.0.0:10061 0.0.0.0:*
|
|
LISTEN 0 4096 [::]:10061 [::]:*
|
|
[root@om01 jobarg-build]#
|
|
|
|
────────────────────────────────────────────────────────────
|
|
① プロセス稼働確認
|
|
Server と Agent がコンテナ内で共存して動いているかを確認します。
|
|
|
|
docker exec -it jobarg-server ps aux | grep jobarg
|
|
|
|
[root@om01 jobarg-build]# docker exec -it jobarg-server ps aux | grep jobarg
|
|
zabbix 20 0.0 0.0 1672148 6752 ? Sl 11:36 0:00 jobarg_manage
|
|
zabbix 39 0.0 0.0 0 0 ? Zs 11:36 0:00 [jobarg_serve
|
|
zabbix 41 0.0 0.0 1745880 8620 ? Sl 11:36 0:00 jobarg_server
|
|
[root@om01 jobarg-build]#
|
|
|
|
|
|
────────────────────────────────────────────────────────────
|
|
docker exec -it jobarg-server grep -E "DBHost|DBPort|DBUser|DBPassword|DBName|ListenPort|ListenIP" /etc/jobarranger/jobarg_server.conf
|
|
|
|
[root@om01 jobarg-build]#
|
|
[root@om01 jobarg-build]# docker exec -it jobarg-server grep -E "DBHost|DBPort|DBUser|DBPassword|DBName|ListenPort|ListenIP" /etc/jobarranger/jobarg_server.conf
|
|
### Option: DBHost
|
|
DBHost=zabbix-mysql
|
|
# DBHost=localhost
|
|
### Option: DBName
|
|
DBName=zabbix
|
|
# DBName=
|
|
### Option: DBUser
|
|
DBUser=zabbix
|
|
# DBUser=
|
|
### Option: DBPassword
|
|
DBPassword=zabbixpass
|
|
# DBPassword=
|
|
### Option: DBPasswordExternal
|
|
# JAZ will get Database password by running DBPasswordExternal's script on shell.
|
|
# DBPasswordExternal=
|
|
### Option: DBPort
|
|
DBPort=3306
|
|
# DBPort=3306
|
|
### Option: JazDBHost
|
|
JazDBHost=zabbix-mysql
|
|
# JazDBHost=localhost
|
|
### Option: JazDBName
|
|
JazDBName=zabbix
|
|
# JazDBName=
|
|
### Option: JazDBUser
|
|
JazDBUser=zabbix
|
|
# JazDBUser=
|
|
### Option: JazDBPassword
|
|
JazDBPassword=zabbixpass
|
|
# JazDBPassword=
|
|
### Option: JazDBPasswordExternal
|
|
# JAZ will get Database password by running JazDBPasswordExternal's script on shell.
|
|
# JazDBPasswordExternal=
|
|
### Option: JazDBPort
|
|
JazDBPort=3306
|
|
# JazDBPort=3306
|
|
# verify_full - connect using TLS, verify certificate and verify that database identity specified by DBHost
|
|
# verify_full - connect using TLS, verify certificate and verify that database identity specified by JazDBHost
|
|
### Option: ListenIP
|
|
ListenIP=0.0.0.0
|
|
# ListenIP=0.0.0.0
|
|
### Option: JaTrapperListenPort
|
|
# JaTrapperListenPort=10061
|
|
### Option: JaAgentListenPort
|
|
# JaAgentListenPort=10055
|
|
[root@om01 jobarg-build]#
|
|
|
|
────────────────────────────────────────────────────────────
|
|
② 接続ログの確認(最重要)
|
|
設定ファイル (jobarg_server.conf) の DBName 等の修正が正しく反映され、DB接続に成功しているかをログで確認します。
|
|
|
|
docker exec -it jobarg-server tail -n 50 /var/log/jobarranger/jobarg_server.log
|
|
|
|
[root@om01 jobarg-build]# docker exec -it jobarg-server tail -n 50 /var/log/jobarranger/jobarg_server.log
|
|
1:20260511:112525.320 [INFO] [JASERVER000001] Starting Job Arranger Server. Job Arranger 7.2.1 (revision 3786).
|
|
1:20260511:112525.320 [INFO] [JASERVER000003] server #0 started [main process]
|
|
33:20260511:112525.320 [INFO] [JASERVER000004] server #0 started [jobarg_server_monitor #1]
|
|
35:20260511:112525.322 [INFO] [JASERVER000004] server #1 started [notification_manager #1]
|
|
54:20260511:112526.657 [INFO] [JASERVER000004] server #2 started [zabbix_link_manager #1]
|
|
35:20260511:112527.657 [ERROR] [JAFRAMEWORK200009 notificationmanager] Parent process not found.Exiting the process. manager: notificationmanager
|
|
35:20260511:112527.657 [INFO] [JAFRAMEWORK000003 notificationmanager] Exiting go manager framework. manager: notificationmanager
|
|
54:20260511:112527.698 [ERROR] [JAFRAMEWORK200009 zabbixlinkmanager] Parent process not found.Exiting the process. manager: zabbixlinkmanager
|
|
54:20260511:112527.698 [INFO] [JAFRAMEWORK000003 zabbixlinkmanager] Exiting go manager framework. manager: zabbixlinkmanager
|
|
35:20260511:112537.666 [WARNING] [JAFRAMEWORK300001 notificationmanager] Stopping workers timeout.Sending SIGKILL. manager: notificationmanager
|
|
54:20260511:112537.706 [WARNING] [JAFRAMEWORK300001 zabbixlinkmanager] Stopping workers timeout.Sending SIGKILL. manager: zabbixlinkmanager
|
|
[root@om01 jobarg-build]#
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
22.標準機能のZabbixテーブルの一覧の確認
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
[root@om01 jobarg-build]# docker exec -it jobarg-server mysql -h zabbix-mysql -u zabbix -pzabbixpass zabbix -e "SHOW TABLES;"
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
+-----------------------------------+
|
|
| Tables_in_zabbix |
|
|
+-----------------------------------+
|
|
| acknowledges |
|
|
| actions |
|
|
| alerts |
|
|
| auditlog |
|
|
| autoreg_host |
|
|
| changelog |
|
|
| conditions |
|
|
| config_autoreg_tls |
|
|
| connector |
|
|
| connector_tag |
|
|
| corr_condition |
|
|
| corr_condition_group |
|
|
| corr_condition_tag |
|
|
| corr_condition_tagpair |
|
|
| corr_condition_tagvalue |
|
|
| corr_operation |
|
|
| correlation |
|
|
| dashboard |
|
|
| dashboard_page |
|
|
| dashboard_user |
|
|
| dashboard_usrgrp |
|
|
| dbversion |
|
|
| dchecks |
|
|
| dhosts |
|
|
| drules |
|
|
| dservices |
|
|
| escalations |
|
|
| event_recovery |
|
|
| event_suppress |
|
|
| event_symptom |
|
|
| event_tag |
|
|
| events |
|
|
| expressions |
|
|
| functions |
|
|
| globalmacro |
|
|
| globalvars |
|
|
| graph_discovery |
|
|
| graph_theme |
|
|
| graphs |
|
|
| graphs_items |
|
|
| group_discovery |
|
|
| group_prototype |
|
|
| ha_node |
|
|
| hgset |
|
|
| hgset_group |
|
|
| history |
|
|
| history_bin |
|
|
| history_log |
|
|
| history_str |
|
|
| history_text |
|
|
| history_uint |
|
|
| host_discovery |
|
|
| host_hgset |
|
|
| host_inventory |
|
|
| host_proxy |
|
|
| host_rtdata |
|
|
| host_tag |
|
|
| hostmacro |
|
|
| hostmacro_config |
|
|
| hosts |
|
|
| hosts_groups |
|
|
| hosts_templates |
|
|
| housekeeper |
|
|
| hstgrp |
|
|
| httpstep |
|
|
| httpstep_field |
|
|
| httpstepitem |
|
|
| httptest |
|
|
| httptest_field |
|
|
| httptest_tag |
|
|
| httptestitem |
|
|
| icon_map |
|
|
| icon_mapping |
|
|
| ids |
|
|
| images |
|
|
| interface |
|
|
| interface_discovery |
|
|
| interface_snmp |
|
|
| item_condition |
|
|
| item_discovery |
|
|
| item_parameter |
|
|
| item_preproc |
|
|
| item_rtdata |
|
|
| item_rtname |
|
|
| item_tag |
|
|
| items |
|
|
| ja_2_calendar_control_table |
|
|
| ja_2_calendar_detail_table |
|
|
| ja_2_define_extjob_table |
|
|
| ja_2_define_run_log_message_table |
|
|
| ja_2_define_value_jobcon_table |
|
|
| ja_2_filter_control_table |
|
|
| ja_2_flow_control_table |
|
|
| ja_2_host_lock_table |
|
|
| ja_2_icon_agentless_table |
|
|
| ja_2_icon_calc_table |
|
|
| ja_2_icon_end_table |
|
|
| ja_2_icon_extjob_table |
|
|
| ja_2_icon_fcopy_table |
|
|
| ja_2_icon_fwait_table |
|
|
| ja_2_icon_if_table |
|
|
| ja_2_icon_info_table |
|
|
| ja_2_icon_job_table |
|
|
| ja_2_icon_jobnet_table |
|
|
| ja_2_icon_reboot_table |
|
|
| ja_2_icon_release_table |
|
|
| ja_2_icon_task_table |
|
|
| ja_2_icon_value_table |
|
|
| ja_2_icon_zabbix_link_table |
|
|
| ja_2_index_table |
|
|
| ja_2_job_command_table |
|
|
| ja_2_job_control_table |
|
|
| ja_2_jobnet_control_table |
|
|
| ja_2_object_lock_table |
|
|
| ja_2_parameter_table |
|
|
| ja_2_ran_flow_table |
|
|
| ja_2_ran_job_table |
|
|
| ja_2_ran_job_variable_table |
|
|
| ja_2_ran_jobnet_summary_table |
|
|
| ja_2_ran_jobnet_table |
|
|
| ja_2_ran_jobnet_variable_table |
|
|
| ja_2_ran_log_table |
|
|
| ja_2_ran_value_job_table |
|
|
| ja_2_ran_value_jobcon_table |
|
|
| ja_2_run_action_table |
|
|
| ja_2_run_flow_table |
|
|
| ja_2_run_job_table |
|
|
| ja_2_run_job_variable_table |
|
|
| ja_2_run_jobnet_summary_table |
|
|
| ja_2_run_jobnet_table |
|
|
| ja_2_run_jobnet_variable_table |
|
|
| ja_2_run_log_table |
|
|
| ja_2_run_timeout_table |
|
|
| ja_2_run_value_job_table |
|
|
| ja_2_run_value_jobcon_table |
|
|
| ja_2_schedule_control_table |
|
|
| ja_2_schedule_detail_table |
|
|
| ja_2_schedule_jobnet_table |
|
|
| ja_2_send_message_table |
|
|
| ja_2_session_table |
|
|
| ja_2_value_job_table |
|
|
| ja_2_value_jobcon_table |
|
|
| ja_2_zbx_hosts_table |
|
|
| lld_macro_export |
|
|
| lld_macro_path |
|
|
| lld_override |
|
|
| lld_override_condition |
|
|
| lld_override_opdiscover |
|
|
| lld_override_operation |
|
|
| lld_override_ophistory |
|
|
| lld_override_opinventory |
|
|
| lld_override_opperiod |
|
|
| lld_override_opseverity |
|
|
| lld_override_opstatus |
|
|
| lld_override_optag |
|
|
| lld_override_optemplate |
|
|
| lld_override_optrends |
|
|
| maintenance_tag |
|
|
| maintenances |
|
|
| maintenances_groups |
|
|
| maintenances_hosts |
|
|
| maintenances_windows |
|
|
| media |
|
|
| media_type |
|
|
| media_type_message |
|
|
| media_type_oauth |
|
|
| media_type_param |
|
|
| mfa |
|
|
| mfa_totp_secret |
|
|
| module |
|
|
| opcommand |
|
|
| opcommand_grp |
|
|
| opcommand_hst |
|
|
| opconditions |
|
|
| operations |
|
|
| opgroup |
|
|
| opinventory |
|
|
| opmessage |
|
|
| opmessage_grp |
|
|
| opmessage_usr |
|
|
| optag |
|
|
| optemplate |
|
|
| permission |
|
|
| problem |
|
|
| problem_tag |
|
|
| profiles |
|
|
| proxy |
|
|
| proxy_autoreg_host |
|
|
| proxy_dhistory |
|
|
| proxy_group |
|
|
| proxy_group_rtdata |
|
|
| proxy_history |
|
|
| proxy_rtdata |
|
|
| regexps |
|
|
| report |
|
|
| report_param |
|
|
| report_user |
|
|
| report_usrgrp |
|
|
| rights |
|
|
| role |
|
|
| role_rule |
|
|
| scim_group |
|
|
| script_param |
|
|
| scripts |
|
|
| service_alarms |
|
|
| service_problem |
|
|
| service_problem_tag |
|
|
| service_status_rule |
|
|
| service_tag |
|
|
| services |
|
|
| services_links |
|
|
| sessions |
|
|
| settings |
|
|
| sla |
|
|
| sla_excluded_downtime |
|
|
| sla_schedule |
|
|
| sla_service_tag |
|
|
| sysmap_element_trigger |
|
|
| sysmap_element_url |
|
|
| sysmap_link_threshold |
|
|
| sysmap_shape |
|
|
| sysmap_url |
|
|
| sysmap_user |
|
|
| sysmap_usrgrp |
|
|
| sysmaps |
|
|
| sysmaps_element_tag |
|
|
| sysmaps_elements |
|
|
| sysmaps_link_triggers |
|
|
| sysmaps_links |
|
|
| tag_filter |
|
|
| task |
|
|
| task_acknowledge |
|
|
| task_check_now |
|
|
| task_close_problem |
|
|
| task_data |
|
|
| task_remote_command |
|
|
| task_remote_command_result |
|
|
| task_result |
|
|
| timeperiods |
|
|
| token |
|
|
| trends |
|
|
| trends_uint |
|
|
| trigger_depends |
|
|
| trigger_discovery |
|
|
| trigger_queue |
|
|
| trigger_tag |
|
|
| triggers |
|
|
| ugset |
|
|
| ugset_group |
|
|
| user_scim_group |
|
|
| user_ugset |
|
|
| userdirectory |
|
|
| userdirectory_idpgroup |
|
|
| userdirectory_ldap |
|
|
| userdirectory_media |
|
|
| userdirectory_saml |
|
|
| userdirectory_usrgrp |
|
|
| users |
|
|
| users_groups |
|
|
| usrgrp |
|
|
| valuemap |
|
|
| valuemap_mapping |
|
|
| widget |
|
|
| widget_field |
|
|
+-----------------------------------+
|
|
[root@om01 jobarg-build]#
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
23.zabbix-serverからzabbix-mysqlへの接続確認
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
docker exec zabbix-mysql mysql -uroot -pzabbixroot zabbix -e "SELECT count(*) FROM information_schema.tables WHERE table_schema='zabbix';"
|
|
|
|
docker exec -it zabbix-server bash
|
|
|
|
mysql -h mysql -uzabbix -pzabbixpass --skip-ssl
|
|
|
|
MySQL [(none)]> USE zabbix;
|
|
|
|
SHOW TABLES LIKE 'config';
|
|
|
|
SELECT count(*) FROM information_schema.tables WHERE table_schema='zabbix';
|
|
|
|
|
|
[root@om01 zabbix]# docker exec -it zabbix-server bash
|
|
57082fc4c465:~$
|
|
57082fc4c465:~$
|
|
57082fc4c465:~$ mysql -h mysql -uzabbix -pzabbixpass --skip-ssl
|
|
mysql: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb' instead
|
|
Welcome to the MariaDB monitor. Commands end with ; or \g.
|
|
Your MySQL connection id is 14
|
|
Server version: 8.0.46 MySQL Community Server - GPL
|
|
|
|
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
|
|
|
|
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
|
|
|
|
MySQL [(none)]>
|
|
MySQL [(none)]> USE zabbix;
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
24.zabbix-mysqlのレコード状態の確認(実行結果)
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
[root@om01 zabbix]# docker exec -it zabbix-mysql mysql -u root -pzabbixroot -e "SHOW GRANTS FOR 'zabbix'@'%';"
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
+----------------------------------------------------+
|
|
| Grants for zabbix@% |
|
|
+----------------------------------------------------+
|
|
| GRANT USAGE ON *.* TO `zabbix`@`%` |
|
|
| GRANT ALL PRIVILEGES ON `zabbix`.* TO `zabbix`@`%` |
|
|
+----------------------------------------------------+
|
|
[root@om01 zabbix]#
|
|
|
|
────────────────────────────────────────────────────────────────────────────────────────
|
|
|
|
[root@om01 zabbix]# docker exec zabbix-mysql mysql -uroot -pzabbixroot zabbix -t -e "SELECT host, port, base_dn, bind_dn FROM userdirectory_ldap WHERE userdirectoryid = 1;"
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
+-------------+------+----------------+------------------------------------------+
|
|
| host | port | base_dn | bind_dn |
|
|
+-------------+------+----------------+------------------------------------------+
|
|
| 172.26.4.43 | 389 | DC=sasio,DC=jp | CN=Administrator,CN=Users,DC=sasio,DC=jp |
|
|
+-------------+------+----------------+------------------------------------------+
|
|
[root@om01 zabbix]#
|
|
|
|
────────────────────────────────────────────────────────────────────────────────────────
|
|
|
|
[root@om01 zabbix]# docker exec zabbix-mysql mysql -uroot -pzabbixroot zabbix -e "SELECT userdirectoryid, name, provision_status FROM userdirectory WHERE userdirectoryid = 1;"
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
userdirectoryid name provision_status
|
|
1 SASIO-AD 1
|
|
|
|
────────────────────────────────────────────────────────────────────────────────────────
|
|
|
|
[root@om01 zabbix]# docker exec -it zabbix-mysql mysql -uroot -pzabbixroot zabbix -e "SELECT userdirectoryid, name FROM userdirectory;"
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
+-----------------+----------+
|
|
| userdirectoryid | name |
|
|
+-----------------+----------+
|
|
| 1 | SASIO-AD |
|
|
+-----------------+----------+
|
|
[root@om01 zabbix]#
|
|
|
|
────────────────────────────────────────────────────────────────────────────────────────
|
|
|
|
[root@om01 zabbix]# docker exec zabbix-mysql mysql -uroot -pzabbixroot zabbix -e "SELECT host, port, base_dn, bind_dn FROM userdirectory_ldap WHERE userdirectoryid = 1;"
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
host port base_dn bind_dn
|
|
172.26.4.43 389 DC=sasio,DC=jp CN=Administrator,CN=Users,DC=sasio,DC=jp
|
|
|
|
|
|
[root@om01 zabbix]# docker exec zabbix-mysql mysql -uroot -pzabbixroot zabbix -e "SELECT count(*) FROM information_schema.tables WHERE table_schema='zabbix';"
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
count(*)
|
|
207
|
|
[root@om01 zabbix]#
|
|
[root@om01 zabbix]# docker exec -it zabbix-mysql mysql -uroot -pzabbixroot zabbix -e "SELECT * FROM settings WHERE name IN ('authentication_type', 'userdirectoryid');"
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
+---------------------+------+-----------+-----------+----------------+-------------------+-----------------------+-------------+
|
|
| name | type | value_str | value_int | value_usrgrpid | value_hostgroupid | value_userdirectoryid | value_mfaid |
|
|
+---------------------+------+-----------+-----------+----------------+-------------------+-----------------------+-------------+
|
|
| authentication_type | 2 | | 0 | NULL | NULL | NULL | NULL |
|
|
+---------------------+------+-----------+-----------+----------------+-------------------+-----------------------+-------------+
|
|
[root@om01 zabbix]#
|
|
|
|
────────────────────────────────────────────────────────────────────────────────────────
|
|
[root@om01 zabbix]# docker exec -it zabbix-mysql mysql -uroot -pzabbixroot zabbix -e "SELECT name, host, bind_password FROM userdirectory JOIN userdirectory_ldap USING(userdirectoryid);"
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
+----------+-------------+----------------------+
|
|
| name | host | bind_password |
|
|
+----------+-------------+----------------------+
|
|
| SASIO-AD | 172.26.4.43 | get04F15fr34!x07r008 |
|
|
+----------+-------------+----------------------+
|
|
[root@om01 zabbix]#
|
|
|
|
────────────────────────────────────────────────────────────────────────────────────────
|
|
docker exec -t zabbix-mysql mysql -uroot -pzabbixroot zabbix -e "
|
|
SELECT '--- [userdirectory] ---' AS table_name;
|
|
SELECT userdirectoryid, name, idp_type FROM userdirectory;
|
|
|
|
SELECT '--- [userdirectory_ldap] ---' AS table_name;
|
|
SELECT host, port, base_dn, search_attribute FROM userdirectory_ldap;
|
|
|
|
SELECT '--- [settings (Auth Status)] ---' AS table_name;
|
|
SELECT name, value_int, value_userdirectoryid FROM settings WHERE name IN ('authentication_type', 'userdirectoryid');
|
|
"
|
|
|
|
[root@om01 zabbix]# docker exec -t zabbix-mysql mysql -uroot -pzabbixroot zabbix -e "
|
|
> SELECT '--- [userdirectory] ---' AS table_name;
|
|
> SELECT userdirectoryid, name, idp_type FROM userdirectory;
|
|
>
|
|
> SELECT '--- [userdirectory_ldap] ---' AS table_name;
|
|
> SELECT host, port, base_dn, search_attribute FROM userdirectory_ldap;
|
|
>
|
|
> SELECT '--- [settings (Auth Status)] ---' AS table_name;
|
|
> SELECT name, value_int, value_userdirectoryid FROM settings WHERE name IN ('authentication_type', 'userdirectoryid');
|
|
> "
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
+-------------------------+
|
|
| table_name |
|
|
+-------------------------+
|
|
| --- [userdirectory] --- |
|
|
+-------------------------+
|
|
+-----------------+----------+----------+
|
|
| userdirectoryid | name | idp_type |
|
|
+-----------------+----------+----------+
|
|
| 1 | SASIO-AD | 1 |
|
|
+-----------------+----------+----------+
|
|
+------------------------------+
|
|
| table_name |
|
|
+------------------------------+
|
|
| --- [userdirectory_ldap] --- |
|
|
+------------------------------+
|
|
+-------------+------+----------------+------------------+
|
|
| host | port | base_dn | search_attribute |
|
|
+-------------+------+----------------+------------------+
|
|
| 172.26.4.43 | 389 | DC=sasio,DC=jp | sAMAccountName |
|
|
+-------------+------+----------------+------------------+
|
|
+----------------------------------+
|
|
| table_name |
|
|
+----------------------------------+
|
|
| --- [settings (Auth Status)] --- |
|
|
+----------------------------------+
|
|
+---------------------+-----------+-----------------------+
|
|
| name | value_int | value_userdirectoryid |
|
|
+---------------------+-----------+-----------------------+
|
|
| authentication_type | 1 | NULL |
|
|
| userdirectoryid | 0 | 1 |
|
|
+---------------------+-----------+-----------------------+
|
|
[root@om01 zabbix]#
|
|
|
|
────────────────────────────────────────────────────────────────────────────────────────
|
|
|
|
[root@om01 zabbix]#
|
|
[root@om01 zabbix]#
|
|
[root@om01 zabbix]# docker exec -t zabbix-mysql mysql -uzabbix -pzabbixpass zabbix -e "
|
|
> SELECT
|
|
> uig.name AS pattern,
|
|
> r.name AS role,
|
|
> ug.name AS zabbix_group
|
|
> FROM userdirectory_idpgroup uig
|
|
> JOIN role r ON uig.roleid = r.roleid
|
|
> JOIN userdirectory_usrgrp uug ON uig.userdirectory_idpgroupid = uug.userdirectory_idpgroupid
|
|
> JOIN usrgrp ug ON uug.usrgrpid = ug.usrgrpid;"
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
+---------+------------------+-----------------------+
|
|
| pattern | role | zabbix_group |
|
|
+---------+------------------+-----------------------+
|
|
| * | Super admin role | Zabbix administrators |
|
|
+---------+------------------+-----------------------+
|
|
[root@om01 zabbix]#
|