|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
Docker Network構成のイメージ図 [修正不要]
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
STEP2の手順 STEP2の手順 STEP3の手順 STEP1の手順
|
|
┌─────┐ ┌─────┐ ┌─────┐ ┌──────┐
|
|
│ Nginx │ │ GitLab │ │ Zabbix │ │ MailServer │
|
|
└──┬──┘ └──┬──┘ └──┬──┘ └──┬───┘
|
|
↑ │ │ │ │
|
|
| └────────┴─────────┴─────────┴──────[ Docker Network]
|
|
|
|
|
|┌──────────┐
|
|
└┤Windows(10.26.3.31) |
|
|
└──────────┘
|
|
前提確認作業(Windows/hostsの設定情報)
|
|
|
|
----------------------------------------------------------------------------------------------------------------------------
|
|
<接続先>
|
|
STEP4の手順 /Container/gitlab https://git.sasio.jp
|
|
STEP5の手順 /Container/jenkins https://jenkins.sasio.jp
|
|
STEP6の手順 /var/lib/subako/zabbix https://zabbix.sasio.jp
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
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. Zabbixコンテナの説明注意 [追記済み]
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
JobArrangerの最新版を使うにはzabbix7.2までが限界であるため、
|
|
下記の手順を見直す必要がる
|
|
|
|
(1)URL
|
|
|
|
■zabbix/zabbix-server-mysql
|
|
[名称]
|
|
zabbix/zabbix-server-mysql:7.2-centos-latest
|
|
|
|
[URL]
|
|
https://hub.docker.com/r/zabbix/zabbix-server-mysql/tags?name=7.2
|
|
|
|
■zabbix/zabbix-agent2
|
|
[名称]
|
|
zabbix/zabbix-agent2:7.2-centos-latest
|
|
|
|
[URL]
|
|
https://hub.docker.com/r/zabbix/zabbix-agent2/tags?name=7.2
|
|
|
|
■zabbix-web-apache-mysql
|
|
[名称]
|
|
zabbix/zabbix-web-apache-mysql:7.2-centos-latest
|
|
|
|
[URL]
|
|
https://hub.docker.com/r/zabbix/zabbix-web-apache-mysql/tags?name=7.2
|
|
|
|
もしくは下記の手順の順場にに従ってアクセスをする
|
|
|
|
(1)下記のURLにアクセスをする
|
|
https://hub.docker.com/u/zabbix
|
|
|
|
(2)「Zabbix SIA」であることを確認する
|
|
|
|
※アカウント名「Zabbix SIA」の右横に、青色のチェックマークが付いています。
|
|
これはDocker社が企業の身元を直接審査し、本物の公式アカウントであることを証明する
|
|
|
|
(3)対象の種類をクリックする
|
|
|
|
(4)[Tag]から7.2を検索する
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
2. Zabbixコンテナの説明注意 [追記済み]
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
(1)DBの数の確認
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
203
|
|
|
|
(2)Zabbixのバージョン
|
|
jobarranger7.2を利用するためにはzabbix 7.0とする必要がある。zabbix7.2以上は互換性はない。
|
|
|
|
(3)zabbixの接続確認
|
|
コンテナの作成は時間がかからないのですが、初回のDBの流し込みが時間がかかるためすぐには接続ができない。
|
|
|
|
(4)LDAP認証の確認
|
|
zabbix/zabbix-server-mysql:7.0-centos-latestの「create.sql.gz」をダウンロードしてSQL文を追加する
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
3. ログから見る「実効時間」の分析 [修正不要]
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
ログの時間軸を整理すると、以下のようになっています。
|
|
|
|
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分 かかっています。
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
3.運用監視サーバーへの接続 [修正不要]
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
ssh -p 10902 kbmnt@172.26.4.45
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
4.管理者権限に切り替える [修正不要]
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
su -
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
5.zabbix用のサーバー証明書の作成 [修正不要]
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
[root@om01 cert]# ls -la /Container/cert
|
|
合計 32
|
|
drwxr-xr-x 2 root root 4096 6月 14 10:21 .
|
|
drwxr-xr-x. 7 root root 4096 6月 13 07:44 ..
|
|
-rw-r--r-- 1 root root 4812 6月 14 10:20 gitlab_cert.pem
|
|
-rw------- 1 root root 227 6月 14 10:21 gitlab_privkey.pem
|
|
-rw-r--r-- 1 root root 4808 6月 13 08:06 mail_cert.pem
|
|
-rw------- 1 root root 227 6月 13 08:07 mail_privkey.pem
|
|
[root@om01 cert]#
|
|
|
|
----------------------------------------------------------------------------------------------------------------------------
|
|
|
|
cd /Container/cert;pwd
|
|
|
|
sudo certbot certonly \
|
|
--manual \
|
|
--preferred-challenges=dns \
|
|
--email sasio-technologies@outlook.jp \
|
|
--agree-tos \
|
|
--no-eff-email \
|
|
-d zabbix.sasio.jp
|
|
|
|
|
|
[root@om01 cert]# sudo certbot certonly \
|
|
> --manual \
|
|
> --preferred-challenges=dns \
|
|
> --email sasio-technologies@outlook.jp \
|
|
> --agree-tos \
|
|
> --no-eff-email \
|
|
> -d zabbix.sasio.jp
|
|
Saving debug log to /var/log/letsencrypt/letsencrypt.log
|
|
Requesting a certificate for zabbix.sasio.jp
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
6.Job Arranger用のサーバー証明書の作成 [修正不要]
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
sudo certbot certonly \
|
|
--manual \
|
|
--preferred-challenges=dns \
|
|
--email sasio-technologies@outlook.jp \
|
|
--agree-tos \
|
|
--no-eff-email \
|
|
-d jobarg.sasio.jp
|
|
|
|
[root@om01 ~]# sudo certbot certonly \
|
|
> --manual \
|
|
> --preferred-challenges=dns \
|
|
> --email sasio-technologies@outlook.jp \
|
|
> --agree-tos \
|
|
> --no-eff-email \
|
|
> -d jobarg.sasio.jp
|
|
Saving debug log to /var/log/letsencrypt/letsencrypt.log
|
|
Requesting a certificate for gitlab.sasio.jp
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
7.Job Arranger用のサーバー証明書の作成 [修正不要]
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
(1)zabbixのサーバー証明書をコピーする
|
|
cp /etc/letsencrypt/live/zabbix.sasio.jp/fullchain.pem /Container/cert/zabbix_cert.pem
|
|
cp /etc/letsencrypt/live/zabbix.sasio.jp/privkey.pem /Container/cert/zabbix_privkey.pem;
|
|
|
|
(2)Job Arrangerのサーバー証明書をコピーする
|
|
cp /etc/letsencrypt/live/jobarg.sasio.jp/fullchain.pem /Container/cert/jobarg_cert.pem
|
|
cp /etc/letsencrypt/live/jobarg.sasio.jp/privkey.pem /Container/cert/jobarg_privkey.pem
|
|
|
|
----------------------------------------------------------------------------------------------------------------------------
|
|
(3)サーバ証明書の格納先にファイルが配置されていることを確認する
|
|
|
|
[root@om01 cert]# ls -la /Container/cert
|
|
合計 56
|
|
drwxr-xr-x 2 root root 4096 6月 14 13:13 .
|
|
drwxr-xr-x. 7 root root 4096 6月 13 07:44 ..
|
|
-rw-r--r-- 1 root root 4812 6月 14 10:20 gitlab_cert.pem
|
|
-rw------- 1 root root 227 6月 14 10:21 gitlab_privkey.pem
|
|
-rw-r--r-- 1 root root 4812 6月 14 13:12 jobarg_cert.pem
|
|
-rw------- 1 root root 227 6月 14 13:13 jobarg_privkey.pem
|
|
-rw-r--r-- 1 root root 4808 6月 13 08:06 mail_cert.pem
|
|
-rw------- 1 root root 227 6月 13 08:07 mail_privkey.pem
|
|
-rw-r--r-- 1 root root 4817 6月 14 13:06 zabbix_cert.pem
|
|
-rw------- 1 root root 227 6月 14 13:08 zabbix_privkey.pem
|
|
[root@om01 cert]#
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
8. hostsの設定 ★DNSに登録するまでは暫定で追加する
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
[root@om01 cert]# cat /etc/hosts
|
|
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
|
|
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
|
|
|
|
172.26.4.45 om01.sasio.jp om01
|
|
172.26.4.45 jobarg.sasio.jp jobarg
|
|
[root@om01 cert]#
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
9. Zabbixコンテナのコードの格納先の準備 [修正不要]
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
(1).ディレクトリの一括作成
|
|
mkdir -p /Container/zabbix/mysql/data
|
|
mkdir -p /Container/zabbix/mysql/conf.d
|
|
|
|
(2)追加機能向けのディレクトリの一括作成
|
|
mkdir -p /Container/zabbix/jobarg-build
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
11. 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]#
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
12. Nginxコンテナからzabbixへの接続の設定ファイルの作成 [修正不要]
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
以下の内容で各設定ファイルを作成・配置してください。
|
|
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';
|
|
|
|
# =========================================================================
|
|
# ★【最重要:新規追加】
|
|
# zabbix.sasio.jp/jobarranger 宛てのリダイレクトパケットが来たら、
|
|
# Zabbix側ではなく、JobArrangerの画面実体がある「jobargコンテナの80番」へバイパスします。
|
|
# =========================================================================
|
|
location /jobarranger {
|
|
set $jobarg_endpoint http://jobarg:80;
|
|
proxy_pass $jobarg_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;
|
|
|
|
# 中のApacheが「http://...」で返してきたリダイレクトURLを「https://...」に自動補正
|
|
proxy_redirect http:// https://;
|
|
}
|
|
|
|
# =========================================================================
|
|
# 通常のZabbixの通信(ルートパス)の処理
|
|
# Zabbix公式Webの仕様に合わせて、内部ポート「8080」へ正しく転送します(既存のまま)
|
|
# =========================================================================
|
|
location / {
|
|
set $upstream_endpoint http://zabbix-web:8080;
|
|
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]#
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
13. 事前準備としてzabbixのDB圧縮ファイルを取得する [修正済み]
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
docker run --rm --user root zabbix/zabbix-server-mysql:7.0-centos-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:7.0-centos-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 ~]#
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
14. 事前準備として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 (Fixed for Zabbix 7.0)
|
|
-- ================================================================================================================
|
|
|
|
-- ① userdirectoryテーブルへの登録
|
|
INSERT INTO userdirectory (userdirectoryid, name, description, idp_type, provision_status)
|
|
VALUES (1, 'SASIO-AD', 'Auto-configured', 1, 1)
|
|
ON DUPLICATE KEY UPDATE name='SASIO-AD', description='Auto-configured', idp_type=1, provision_status=1;
|
|
|
|
-- ② userdirectory_ldapテーブルへの登録(動作確認済みの原本構成)
|
|
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 DUPLICATE KEY UPDATE
|
|
host='172.26.4.43', port=389, base_dn='DC=sasio,DC=jp',
|
|
search_attribute='sAMAccountName', bind_dn='CN=Administrator,CN=Users,DC=sasio,DC=jp',
|
|
bind_password='get04F15fr34!x07r008';
|
|
|
|
-- ③ Default authentication を LDAP に切り替え
|
|
UPDATE config SET authentication_type = 1 WHERE configid = 1;
|
|
|
|
-- ④ 使用するディレクトリを ID:1 (SASIO-AD) に指定
|
|
UPDATE config SET ldap_userdirectoryid = 1 WHERE configid = 1;
|
|
|
|
-- ⑤ 「Enable LDAP authentication」および「Enable JIT provisioning」のスイッチをONにする
|
|
UPDATE config SET ldap_auth_enabled = 1, ldap_jit_status = 1 WHERE configid = 1;
|
|
|
|
-- ⑥ ステップA: マッピングルール(パターンとロール)を登録
|
|
INSERT INTO userdirectory_idpgroup (userdirectory_idpgroupid, userdirectoryid, name, roleid)
|
|
SELECT
|
|
1,
|
|
ud.userdirectoryid,
|
|
'*',
|
|
r.roleid
|
|
FROM userdirectory ud, role r
|
|
WHERE ud.name = 'SASIO-AD' AND r.name = 'Super admin role'
|
|
ON DUPLICATE KEY UPDATE userdirectoryid=1, name='*', roleid=VALUES(roleid);
|
|
|
|
-- ⑦ ステップB: マッピングと Zabbixグループの紐付け
|
|
INSERT INTO userdirectory_usrgrp (userdirectory_usrgrpid, userdirectory_idpgroupid, usrgrpid)
|
|
SELECT
|
|
1,
|
|
1,
|
|
ug.usrgrpid
|
|
FROM usrgrp ug
|
|
WHERE ug.name = 'Zabbix administrators'
|
|
ON DUPLICATE KEY UPDATE userdirectory_idpgroupid=1, usrgrpid=VALUES(usrgrpid);
|
|
|
|
-- ⑧ Deprovisioned users group を Disabled グループ(ID: 9 または名前判定)に設定
|
|
UPDATE config
|
|
SET disabled_usrgrpid = IFNULL((SELECT usrgrpid FROM usrgrp WHERE name = 'Disabled'), 9)
|
|
WHERE configid = 1;
|
|
|
|
-- ⑨ 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 63
|
|
|
|
-- ================================================================================================================
|
|
-- Custom LDAP Configuration (Fixed for Zabbix 7.0)
|
|
-- ================================================================================================================
|
|
|
|
-- ① userdirectoryテーブルへの登録
|
|
INSERT INTO userdirectory (userdirectoryid, name, description, idp_type, provision_status)
|
|
VALUES (1, 'SASIO-AD', 'Auto-configured', 1, 1)
|
|
ON DUPLICATE KEY UPDATE name='SASIO-AD', description='Auto-configured', idp_type=1, provision_status=1;
|
|
|
|
-- ② userdirectory_ldapテーブルへの登録(動作確認済みの原本構成)
|
|
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 DUPLICATE KEY UPDATE
|
|
host='172.26.4.43', port=389, base_dn='DC=sasio,DC=jp',
|
|
search_attribute='sAMAccountName', bind_dn='CN=Administrator,CN=Users,DC=sasio,DC=jp',
|
|
bind_password='get04F15fr34!x07r008';
|
|
|
|
-- ③ Default authentication を LDAP に切り替え
|
|
UPDATE config SET authentication_type = 1 WHERE configid = 1;
|
|
|
|
-- ④ 使用するディレクトリを ID:1 (SASIO-AD) に指定
|
|
UPDATE config SET ldap_userdirectoryid = 1 WHERE configid = 1;
|
|
|
|
-- ⑤ 「Enable LDAP authentication」および「Enable JIT provisioning」のスイッチをONにする
|
|
UPDATE config SET ldap_auth_enabled = 1, ldap_jit_status = 1 WHERE configid = 1;
|
|
|
|
-- ⑥ ステップA: マッピングルール(パターンとロール)を登録
|
|
INSERT INTO userdirectory_idpgroup (userdirectory_idpgroupid, userdirectoryid, name, roleid)
|
|
SELECT
|
|
1,
|
|
ud.userdirectoryid,
|
|
'*',
|
|
r.roleid
|
|
FROM userdirectory ud, role r
|
|
WHERE ud.name = 'SASIO-AD' AND r.name = 'Super admin role'
|
|
ON DUPLICATE KEY UPDATE userdirectoryid=1, name='*', roleid=VALUES(roleid);
|
|
|
|
-- ⑦ ステップB: マッピングと Zabbixグループの紐付け
|
|
INSERT INTO userdirectory_usrgrp (userdirectory_usrgrpid, userdirectory_idpgroupid, usrgrpid)
|
|
SELECT
|
|
1,
|
|
1,
|
|
ug.usrgrpid
|
|
FROM usrgrp ug
|
|
WHERE ug.name = 'Zabbix administrators'
|
|
ON DUPLICATE KEY UPDATE userdirectory_idpgroupid=1, usrgrpid=VALUES(usrgrpid);
|
|
|
|
-- ⑧ Deprovisioned users group を Disabled グループ(ID: 9 または名前判定)に設定
|
|
UPDATE config
|
|
SET disabled_usrgrpid = IFNULL((SELECT usrgrpid FROM usrgrp WHERE name = 'Disabled'), 9)
|
|
WHERE configid = 1;
|
|
|
|
-- ⑨ 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
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
15. 事前準備として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]#
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
16. Dockerfile [修正済み]
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
[root@om01 zabbix]# cat /Container/zabbix/Dockerfile
|
|
FROM zabbix/zabbix-web-apache-mysql:7.0-centos-latest
|
|
|
|
USER root
|
|
|
|
# OS更新と必要パッケージ
|
|
RUN microdnf update -y && \
|
|
microdnf install -y tar gzip && \
|
|
microdnf clean all
|
|
|
|
WORKDIR /tmp
|
|
|
|
# JobArrangerの展開と配置
|
|
RUN curl -L -o jobarranger.tar.gz https://www.jobarranger.info/download/7.2.1/Other/jobarranger-7.2.1.tar.gz && \
|
|
mkdir -p /tmp/jobarg_extracted && \
|
|
tar -xzf jobarranger.tar.gz -C /tmp/jobarg_extracted && \
|
|
mkdir -p /usr/share/jobarranger && \
|
|
cp -R /tmp/jobarg_extracted/*/* /usr/share/jobarranger/ 2>/dev/null || cp -R /tmp/jobarg_extracted/* /usr/share/jobarranger/
|
|
|
|
# 設定置換
|
|
RUN sed -i "s|http://localhost/jobarranger|https://zabbix.sasio.jp/jobarranger|g" /usr/share/jobarranger/frontend/jobarranger/modules/JazManager/config/jam.module.config.php && \
|
|
sed -i "s|http://localhost/zabbix|https://zabbix.sasio.jp/zabbix|g" /usr/share/jobarranger/frontend/jobarranger/api/app/config/jam.config.php && \
|
|
sed -i "s|'localhost'|'zabbix-mysql'|g" /usr/share/jobarranger/frontend/jobarranger/api/app/config/jam.config.php && \
|
|
sed -i 's|"localhost"|"zabbix-mysql"|g' /usr/share/jobarranger/frontend/jobarranger/api/app/config/jam.config.php
|
|
|
|
# モジュールコピー
|
|
RUN mkdir -p /usr/share/zabbix/modules && \
|
|
if [ -d "/usr/share/jobarranger/frontend/jobarranger/modules/JazManager" ]; then \
|
|
cp -R /usr/share/jobarranger/frontend/jobarranger/modules/JazManager /usr/share/zabbix/modules/; \
|
|
fi
|
|
|
|
# 不要ファイル削除
|
|
RUN rm -rf /tmp/jobarg_extracted /tmp/jobarranger.tar.gz
|
|
|
|
# 【重要】Apache の設定エラーを回避するため、conf.d 配下の不要ファイルを無効化
|
|
RUN for f in autoindex.conf userdir.conf welcome.conf ssl.conf; do \
|
|
if [ -f /etc/httpd/conf.d/$f ]; then \
|
|
mv /etc/httpd/conf.d/$f /etc/httpd/conf.d/$f.disabled; \
|
|
fi; \
|
|
done
|
|
|
|
# 権限設定
|
|
RUN chown -R 1997:0 /usr/share/jobarranger /usr/share/zabbix/modules && \
|
|
chmod -R 755 /usr/share/zabbix/modules
|
|
[root@om01 zabbix]#
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
17. 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
|
|
# ★ 自分自身のDBサーバーへの接続確認(healthcheck)を追加
|
|
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:7.0-centos-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:
|
|
# サーバーが起動し、設定を読み込める状態かを5分おきに確認
|
|
test: ["CMD", "zabbix_server", "-V"]
|
|
interval: 300s
|
|
timeout: 60s
|
|
retries: 3
|
|
# ★次回の「スナップショット戻し」後の初期化に備えて1時間に設定
|
|
start_period: 3600s
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy # MySQLが完全に「Healthy」になるのを待つ
|
|
ports:
|
|
- "10051:10051"
|
|
networks:
|
|
- monitor_net
|
|
|
|
zabbix-web:
|
|
image: zabbix-jobarranger:latest
|
|
container_name: zabbix-web
|
|
restart: always
|
|
environment:
|
|
DB_SERVER_HOST: zabbix-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
|
|
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]#
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
18.コンテナの構築の実施 [修正不要]
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
(1)構築のコマンド
|
|
|
|
cd /Container/zabbix;pwd
|
|
|
|
docker build -t zabbix-jobarranger:latest .
|
|
|
|
docker compose up -d
|
|
|
|
|
|
※コンテナの作成は時間が掛からないが、DBの流し込みは最長約50分以上かかるため待機する
|
|
|
|
------------------------------------------------------------------------------------------------------------------------
|
|
|
|
[root@om01 zabbix]# watch -n 2 'docker exec -i jobarg mysql -h zabbix-mysql -u zabbix -pzabbixpass zabbix -e "SHOW TABLES;" | grep -v "Tables_in_zabbix" | wc -l'
|
|
|
|
|
|
Every 2.0s: docker exec -i jobarg mysql -h zabbix-mysql -u zabbix -pzabbixpa... om01.sasio.jp: Fri Aug 7 23:56:22 2026
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
203
|
|
------------------------------------------------------------------------------------------------------------------------
|
|
(2)構築後のサーバー証明書の配置確認
|
|
|
|
[root@om01 cert]# docker exec -it nginx ls -la /etc/nginx/cert/
|
|
total 40
|
|
drwxr-xr-x 2 root root 4096 May 17 03:37 .
|
|
drwxr-xr-x 1 root root 4096 Apr 18 07:09 ..
|
|
-rw-r--r-- 1 root root 2855 Apr 18 04:49 gitlab_cert.pem
|
|
-rw------- 1 root root 227 Apr 18 04:50 gitlab_privkey.pem
|
|
-rw-r--r-- 1 root root 2851 May 17 03:37 jobarg_cert.pem
|
|
-rw------- 1 root root 227 May 17 03:37 jobarg_privkey.pem
|
|
-rw-r--r-- 1 root root 2847 Apr 17 22:55 mail_cert.pem
|
|
-rw------- 1 root root 227 Apr 17 22:55 mail_privkey.pem
|
|
-rw-r--r-- 1 root root 2855 Apr 20 22:23 zabbix_cert.pem
|
|
-rw------- 1 root root 227 Apr 20 22:23 zabbix_privkey.pem
|
|
[root@om01 cert]#
|
|
|
|
------------------------------------------------------------------------------------------------------------------------
|
|
(3)構築後の接続確認
|
|
https://zabbix.sasio.jp/zabbix.php?action=authentication.edit
|
|
|
|
(4)初回ログイン
|
|
ユーザー名:Admin
|
|
パスワード:zabbix
|
|
|
|
------------------------------------------------------------------------------------------------------------------------
|
|
[Authentication](タブ名:Authentication)
|
|
|
|
Default authentication
|
|
[Internal]→[LDAP]
|
|
|
|
Deprovisioned users group
|
|
[未設定]→[Disable]
|
|
|
|
------------------------------------------------------------------------------------------------------------------------
|
|
[Authentication](タブ名:LDAP settings)
|
|
|
|
Enable LDAP authentication
|
|
□ → ■
|
|
|
|
Enable JIT provisioning
|
|
□ → ■
|
|
|
|
Server
|
|
SASIO-AD
|
|
|
|
User group mapping
|
|
|
|
|
|
LDAP group pattern
|
|
[未設定] → [*]
|
|
|
|
User groups
|
|
[未設定] → [Zabbix administrators]
|
|
|
|
User role
|
|
[未設定] → [Super admin role]
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
19.zabbix-serverからzabbix-mysqlへの接続確認
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
|
|
docker exec zabbix-mysql mysql -uroot -pzabbixroot zabbix -e "SELECT count(*) FROM information_schema.tables WHERE table_schema='zabbix';"
|
|
|
|
[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(*)
|
|
203
|
|
[root@om01 zabbix]#
|
|
|
|
--------------------------------------------------------------------------------------------------------------------------
|
|
|
|
docker exec -it zabbix-server bash
|
|
|
|
mysql -h mysql -uzabbix -pzabbixpass zabbix
|
|
|
|
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
|
|
bash-5.2$
|
|
bash-5.2$ mysql -h mysql -uzabbix -pzabbixpass zabbix
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
Reading table information for completion of table and column names
|
|
You can turn off this feature to get a quicker startup with -A
|
|
|
|
Welcome to the MySQL monitor. Commands end with ; or \g.
|
|
Your MySQL connection id is 8414
|
|
Server version: 8.0.46 MySQL Community Server - GPL
|
|
|
|
Copyright (c) 2000, 2026, Oracle and/or its affiliates.
|
|
|
|
Oracle is a registered trademark of Oracle Corporation and/or its
|
|
affiliates. Other names may be trademarks of their respective
|
|
owners.
|
|
|
|
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
|
|
|
|
mysql> USE zabbix;
|
|
Database changed
|
|
mysql>
|
|
mysql> SHOW TABLES LIKE 'config';
|
|
+---------------------------+
|
|
| Tables_in_zabbix (config) |
|
|
+---------------------------+
|
|
| config |
|
|
+---------------------------+
|
|
1 row in set (0.00 sec)
|
|
|
|
mysql>
|
|
mysql> SELECT count(*) FROM information_schema.tables WHERE table_schema='zabbix';
|
|
+----------+
|
|
| count(*) |
|
|
+----------+
|
|
| 203 |
|
|
+----------+
|
|
1 row in set (0.00 sec)
|
|
|
|
mysql>
|
|
mysql> exit
|
|
Bye
|
|
bash-5.2$ exit
|
|
exit
|
|
[root@om01 zabbix]#
|
|
|
|
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
20.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]#
|
|
|
|
────────────────────────────────────────────────────────────────────────────────────────
|
|
|
|
[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]#
|
|
|
|
────────────────────────────────────────────────────────────────────────────────────────
|
|
|
|
[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(*)
|
|
203
|
|
[root@om01 zabbix]#
|
|
|
|
────────────────────────────────────────────────────────────────────────────────────────
|
|
|
|
[root@om01 zabbix]# docker exec -it zabbix-mysql mysql -uroot -pzabbixroot zabbix -e "SELECT authentication_type, ldap_userdirectoryid FROM config;"
|
|
mysql: [Warning] Using a password on the command line interface can be insecure.
|
|
+---------------------+----------------------+
|
|
| authentication_type | ldap_userdirectoryid |
|
|
+---------------------+----------------------+
|
|
| 1 | 1 |
|
|
+---------------------+----------------------+
|
|
[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 '--- [config (Auth Status)] ---' AS table_name;
|
|
SELECT authentication_type, ldap_auth_enabled, ldap_jit_status, ldap_userdirectoryid FROM config;
|
|
"
|
|
|
|
[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;
|
|
>
|
|
atus)] > SELECT '--- [config (Auth Status)] ---' AS table_name;
|
|
> SELECT authentication_type, ldap_auth_enabled, ldap_jit_status, ldap_userdirectoryid FROM config;
|
|
> "
|
|
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 |
|
|
+--------------------------------+
|
|
| --- [config (Auth Status)] --- |
|
|
+--------------------------------+
|
|
+---------------------+-------------------+-----------------+----------------------+
|
|
| authentication_type | ldap_auth_enabled | ldap_jit_status | ldap_userdirectoryid |
|
|
+---------------------+-------------------+-----------------+----------------------+
|
|
| 1 | 1 | 1 | 1 |
|
|
+---------------------+-------------------+-----------------+----------------------+
|
|
[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]#
|