顯示具有 linux 標籤的文章。 顯示所有文章
顯示具有 linux 標籤的文章。 顯示所有文章

2024年3月30日 星期六

在 Oracle Linux 8/9 使用pam_pwquality設定密碼原則和複雜性

在 Oracle Linux 8/9 中設定以下密碼原則和複雜性需求

在Oracle Linux 8/9設定密碼原則和複雜性,參考Red Hat Enterprise Linux 資料1。有說明以下設定
1.強制 root 密碼複雜性。
2.密碼大小(新密碼可接受的最小長度)。
3.設定密碼的位數限制。
4.設定密碼中大寫字元的數量限制。
5.設定密碼中小寫字元的數量限制。
6.設定密碼中其他字元的數量限制。
7.設定密碼中所需類別的最小數量(數字、大寫字母、小寫字母、其他)。
8.設定密碼中允許的連續相同字元的最大數量。
9.設定密碼中允許的同一類連續字元的最大數量。
10.設定舊密碼中不得出現在新密碼中的字元數。
11.不應允許使用者在密碼中包含使用者名稱。
上述要求可以透過pam_pwquality達成。預設情況下,此模組在所有 SSSD 設定檔中啟用。

設定說明

可以依據需求將以下設定加入/etc/security/pwquality.conf中。

1.強制 root 密碼複雜性。

enforce_for_root

2.密碼大小(新密碼可接受的最小長度)。

minlen = 9       
密碼最小長度為9個字元

3.密碼中包含數字的最大信用。

dcredit = -1
密碼必須包含數字的數量

4.密碼中包含大寫字元的最大信用。

ucredit = -1
密碼必須包含大寫字母的數量

5.密碼中包含小寫字元的最大信用。

lcredit = 1
密碼必須包含小寫字母的個數

6.密碼中包含特殊字元的最大信用。

ocredit = 1
密碼必須包含特殊字元的數量

7.密碼中所需字元類別的最小數量。

minclass = 1

8.密碼中允許的連續相同字元的最大數量。

maxrepeat = 2
最多只允許2個連續字元(如果是0,則停用該選項)

9.密碼中允許的同類連續字元的最大數量。

maxclassrepeat = 2
最多只允許2個連續字元(如果是0,則停用該選項)

10.設定舊密碼中不得出現在新密碼中的字元數。

difok = 5
新密碼最多可以有5個字元和舊密碼相同
此選項對root沒有作用,因為root不會被要求輸入舊密碼,因此不會執行比較新舊密碼的檢查

11.不應允許使用者在密碼中包含使用者名稱。

啟用pam_pwquality,預設強制執行這個條件。
可以檢查/etc/security/pwquality.conf
---
# Whether to check if it contains the user name in some form.
# The check is enabled if the value is not 0.
# usercheck = 1
#
# Length of substrings from the username to check for in the password
# The check is enabled if the value is greater than 0 and usercheck is enabled.
# usersubstr = 0
---

關於3.4.5.6選項設定使用信用(credit),可根據要求以不同方式配置信用值。
信用值評估如下:
信用值 > 0:新密碼中包含對應字元的最大信用值。
信用值 < 0:新密碼中包含對應字元所需的最低強制信用值。
信用值 = 0:對於新密碼中的對應字元類別沒有強制要求。

另外以下參數在網路上查到參考使用
1.只限定本機帳號
local_users_only

2.密碼3次嘗誤後產生錯誤提示
retry=3

3.新密碼不能和最近用過的4次密碼相同
remember=4

4.使用sha512 加密方法加密
sha512

2024年3月21日 星期四

SSH 使用公鑰無法登入問題:Not a RSA1 key file

SSH使用公鑰登入時遇到的問題:Not a RSA1 key file


之前是一般使用者建立ssh金鑰免密碼登入,後來有需求是root使用一般使用者登入主機,發生無法登入狀況。

建立過程

使用root 建立金鑰
[root@MGM01 .ssh]# ssh-keygen
使用root 經由使用者安裝金鑰成功無錯誤
[root@MGM01 .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub mysql@192.168.203.101
[root@MGM01 .ssh]# ssh mysql@192.168.203.101
但無法登入成功。
ssh-keygen01

問題檢查過程

1.檔案目錄權限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_key


2.ssh 啟用debug登入檢查
2-1.修改遠端遠機/etc/ssh/sshd_config文件,新增 LogLevel Debug 

2-2.[root@MGM01 .ssh]# ssh -vvv mysql@192.168.203.101
訊息出現 Not a RSA1 key file 的問題


3.遠端主機另外建立ssh 測試,也都無法正常連線。
/usr/sbin/sshd -d -p 2222
ssh -vv localhost -p 2222

4.確認遠端系統為舊板本Suse Linux 10, 本機為CentOS 7.X。遠端主機沒有selinux.
查到資料1,資料2,資料3就只能參考。
紀錄一下。
確認目錄權限
ls -laZ .ssh目錄
重設權限
restorecon -r -w /home
restorecon -FRvv ~/.ssh
chcon -Rv -t ssh_home_t ~/.ssh

結論
網路有人遇到同樣的問題,但沒有標準的解決辦法。
都提到可能是key檔案權限問題,ssh_config,sshd_config設定問題。
檢查過後都沒有異常,也重新建立金鑰,都無法成功,之後連一般使用者登入都出現問題,最後只有用傳說大法(reboot),重開機就正常。



2024年3月14日 星期四

How to setup SSH Key passwordless login in Linux

在 Linux 中設定 SSH Key 免密碼登入

為了某些目的,登入遠端主機時不需要輸入密碼,先在使用者主機生成一組key,
包含公鑰(Public Key)與私鑰(Private Key),再將公鑰傳送至遠端主機,達成登入免輸入密碼。
現在環境使用Centos 7,參考RedHat 原廠文件進行設定。參考資料1

1.在使用者主機使用想要遠端登入的帳號執行ssh-keygen生成金鑰SSH-Key

在預設執行ssh-keygen 會產生2048位元的RSA金鑰。
在生成過程當提示輸入密碼時,如果需要完全無密碼登錄,請使用空白密碼。
01-ssh-keygen

如果想要用長度更長的 key 如 3,072 或 4,096 bits,可使用 -b 3072 或 -b 4096。
也可以使用不同加密方式如ssh-keygen -t ecdsa或ssh-keygen -t ed25519,產生密鑰。
 不同加密方式產生的檔案名稱會有不同,RSA是id_rsa,ECDSA是id_ecdsa。

2. 將公鑰安裝到遠端主機的使用者帳戶
選擇以下任一方法將公鑰安裝到遠端主機中的使用者帳戶。
2.a.使用ssh-copy-id
可以使用ssh-copy-id指令將產生的身份驗證金鑰的公鑰部分安裝到遠端主機使用者的主目錄中
ssh-copy-id -i ~/.ssh/id_rsa.pub user@ssh-server.example.com
02-ssh-copy-id


出現提示時,提供遠端使用者的密碼。 
ssh-copy-id會自動將使用者資訊附加到遠端主機上指定使用者的檔案~/.ssh/authorized_keys。
ssh-copy-id是包含在openssh-clients中,如要使用此方法請先確認是否安裝openssh-clients。
安裝過程請確認公鑰檔案。

2.b.使用ssh和cat
可以 ssh 登入遠端主機,但是openssh-clients 未安裝,使用以下命令有助於將公鑰複製到伺服器:
cat ~/.ssh/id_rsa.pub | ssh user@ssh-server.example.com "cat >> ~/.ssh/authorized_keys"

2.c.直接編輯遠端主機主機~/.ssh/authorized_keys
可以 ssh 登入遠端主機,直接將使用者公鑰內容編輯寫入遠端主機~/.ssh/authorized_keys中

3.檢查檔案權限
.ssh目錄及authorized_keys 不能具有寫入權限。
如果檔案模式不正確,使用以下命令修復:
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh/

4.停用密碼認證,只允許金鑰認證登入,避免網路亂猜密碼的攻擊。
在主機的 /etc/ssh/sshd_config 修改以下的設定
---
PasswordAuthentication no
PubkeyAuthentication yes
---

修改完成後,請重新啟動sshd。

5.關於加密方法的選擇,依據參考資料2
如果連線舊的作業系統,選用 RSA,並指定至少 3,072 bits 長度。
如果連線比較新的系統,選用 ED25519 。GitHub 和 GitLab 都能支援設定 ED25519。

參考資料:
1.如何在 Red Hat Enterprise Linux 中設定 SSH Key 免密碼登入
2.選擇 SSH key 的加密演算法

2023年10月4日 星期三

Zabbix Autoregistration

Zabbix Autoregistration 自動註冊

官網說明Autoregistration是可以允許使用Active模式的Zabbix agent主機主動註冊,讓Zabbix Server進行監視。應用此功能就可以自動新增主機進行監控,而無需在Zabbix Server上手動設定。
此功能對於自動監控新的雲端節點可能非常方便。一旦雲端出現新節點,Zabbix 將自動開始收集主機的效能和可用性資料。

Autoregistration的操作

當Zabbix Server收到來自Zabbix agent的自動註冊請求時,會先執行預先配置的autoregistration actions。依據actions指定的條件。在Hostaname/Host Metadata 進行字串比對或正規表示式比對。再進行相關操作,例如新增主機、新增主機群組、連結到範本等。

預設情況下,在設定檔 zabbix_agentd.conf中配置ServerActive=Zabbix Server IP。當agent程式向Server發送自動註冊請求時,會發送其主機名稱。在某些情況下(例如,Amazon 雲端節點),主機名稱不足以讓 Zabbix Server區分已發現的主機。為了確保將正確的操作套用至主機,可以選擇使用Host Metadata,將其他資訊從agent程式傳送到Sever。

HostMetadata在Zabbix agnet設定檔  zabbix_agentd.conf中配置。
在設定檔中指定Host Metadata有兩種:
HostMetadata
HostMetadataItem
例如:HostMetadata=Linux    21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae
可以自行寫入文字,其中Linux是平台說明,字串的其餘部分是難以猜測的秘密文字。
例如:HostMetadataItem=system.uname
透過Zabbix agent執行的主機會回應Host Metadata,內容作為HostMetadataItem條件判斷。

應用Autoregistration 自動註冊Linux主機。

讓Active Zabbix agnet的Linux 主機自動註冊Zabbix Server。並使用HostMetadata 作為基本的保護。
當主機註冊時,將自動加入NDB Groups ,且將Linux by Zabbix agent active範本套用到正在註冊的主機。

設備環境

Zabbix Server 主機

OS:Ubuntu Linux LTS 22.04,Hostname:u22-z6,IP:192.168.203.193,安裝 Zabbix Server 6.0 LTS

遠端主機 

OS:Oracle Linux 7.9,Hostname:mgm01,IP:192.168.203.186

Zabbix agent配定

在遠端主機Zabbix agent設定檔,指定Zabbix Server,加入HostMetadata、HostMetadataItem。
# vi /etc/zabbix/zabbix-agent2.conf
---
Server=Zabbix Server IP
ServerActive=Zabbix Server IP
HostMetadata=Linux    21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae
HostMetadataItem=system.uname
---
重啟Zabbix-agent2
06-zabbix agent2 setup


Zabbix WEB設定

Autoregistration actions 設定

在Configuration>Actions>Autoregistration actions,新增actions 
04-Autoregistration actions-2
Name:Active agent autoregistration-2
Type of calculation:And
Conditions :A HostMetadata contains Linux
                  B HostMetadata contains 
21df83bf21bf0be663090bb8d4128558ab9b95fba66a6dbf834f8b91ae5e08ae
Conditions為HostMetadata同時包含A、B條件。

設定Operations
05-Autoregistration actions-2 operations
Add to host groups: NDB
Link to templates: Linux by Zabbix agent active
主機新增至 NDB 群組。
主機使用Linux by Zabbix agent active 模板。

將新增的Active agent autoregistration-2 啟動Enable。
07-Autoregistration actions-2 enable

至Configuration>Hosts 的NDB Groups 可以看到自動加入的主機sql02。
08-Autoregistration actions-2 add hosts

檢查sql02主機
09-Autoregistration actions-2 hosts sql02
依據 Autoregistration actions 設定,將主機加入 NDB groups,使用Linux by Zabbix agent active 模板。
Autoregistration actions 可以新增Zabbix agent interfaces,支援透過被動模式來監控新增的主機及服務。

上面依照官網說明的基本測試,如果有大量主機要佈建可以使用Autoregistration 自動註冊佈建。
也可以和之前Network discovery應用SNMPZabbix agent方式比較,依實際需求去使用。


2023年10月3日 星期二

Zabbix Network discovery use Zabbix Agent

Zabbix Network discovery使用Zabbix Agent


Zabbix Network discovery的檢查可以利用外部服務的可用性(FTP、SSH、WEB、POP3、IMAP、TCP 等)、Zabbix agent(僅支援未加密模式)或SNMP代理程式等方式進行檢查。
利用SNMP的設定方式可以參考,現在將應用Zabbix agent2 檢查方式來自動增加主機。
將新增 Network discovery rules 使用Zabbix agent2(被動模式)檢查,當發現啟動的Linux主機,自動增加主機、新增至群組(Linux servers)、並連結到Linux by Zabbix agent模板。

將需求分為為Discovery和Action Discoversy,分別設定rules。

Discovery rules:

每小時運行一次發現,當發現運行Zabbix agent的主機,且system.uname回應值包含"Linux"。

Action Discoversy rules:

將主機新增至 Linux servers 群組。
對主機使用Linux by Zbbbix agent 模板。

設備環境

Zabbix Server 主機

OS:Ubuntu Linux LTS 22.04,Hostname:u22-z6,IP:192.168.203.193,安裝 Zabbix Server 6.0 LTS

遠端主機 

OS:Oracle Linux 7.9,Hostname:mgm01,IP:192.168.203.184
OS:Oracle Linux 7.9,Hostname:sql01,IP:192.168.203.185

遠端主機設定

安裝Zabbix agent2
可以參考之前安裝網頁,一台一台安裝。
如果主機數量多且OS都相同,可以參考以下方法。
將一台主機安裝Zabbix repository,將Zabbix agent2套件直接下載,再進行安裝。
Redhat/Oracle linux Zabbix agent2套件直接下載至/tmp
# yum install --downloadonly --downloaddir=/tmp zabbix-agent2 zabbix-agent2-plugin-* 
傳送至其它主機直接安裝。
# yum localinstall zabbix-agent2-*
Zabbix agent2設定
# vi /etc/zabbix/zabbix-agent2
---
Server=Zabbix Server IP
ServerActive=Zabbix Server IP
Hostname=主機Hostname
---

00-zabbix-agent2 config


Zabbix WEB設定

Discovery rules 設定

在Configuration>Discovery,新增Discoversy rules 

03-Discoversy rules new 203
03-Discoversy rules new 203 add checks
Name:Local network-203
IP range:掃描的網段 
Update interval:1h
checks 新增使用:zabbix agent
            Port range:10050
              key:system.uname
Device uniqueness criteria : IP address 
Host name : Host name
Visible name : Host name

Action Discoversy rules 設定

在Configuration>Action>Discoversy actions,新增Discoversy actions 

06-Discovery ations 203 new
Name:Auto discovery. Linux servers.-203
Type of calculation: And/Or
Conditions :A Received value contains Linux
            B Discovery status equals Up
            C Service type equals SNMPv2 agent
Conditions為運行Zabbix agent的主機,且system.uname回應值包含"Linux"條件。

設定Operations
07-Discovery ations 203 operations
Add to host groups: Linux servers
Link to templates: Linux by Zabbix agen2
將主機新增至 Linux servers 群組。
對主機使用Linux by Zbbbix agent 模板。

Network discovery 結果
將新增的Local network-203、Auto discovery. Linux servers.-203啟動Enable後,Zabbix Server將依照Local network-203設定的時間及檢查方式執行。
08-Discoversy rules 203 enable

09-Discovery ations 203 enable

等待時間後可以至Monitoring>Discovery的Status of discovery確認是否找到主機。
10-Status of Discovery ations 203
發現找到2台主機,名稱呈現對照Local network-203設定。
Discovered device是用IP,是evice uniqueness criteria:IP address

如果要使用DNS,要使用DNS Server。如果沒有DNS Server,也可以直接在Zabbix Server的/etc/hosts 加入主機名稱。

至Configuration>Hosts可以看到自動加入的主機
11-Discoversy rules 203 add hosts
會發現sql01加入成功,mgm01變成mgm01_2

檢查sql01主機
13-Discoversy rules 203 hosts sql01
Hostname和Visible name 是依照Local network-203設定。
依據 Auto discovery. Linux servers.-203的設定,將主機加入Linux servers groups,新增Zabbix agent interfaces,使用 Linux by Zabbix agent templates。因為使用Discovery功能,自動加入Discovered hosts groups。

檢查mgm01_2
12-Discoversy rules 203 hosts mgm01_2
Hostname變成mgm01_2是因為之前手動設定過mgm01主機使用,名稱重覆系統自動改名。Visible name 是依照Local network-203設定。
依據 Auto discovery. Linux servers.-203的設定,將主機加入Linux servers groups,新增Zabbix agent interfaces,使用 Linux by Zabbix agent templates。因為使用Discovery功能,自動加入Discovered hosts groups。


如果有大量主機要佈建可以使用Zabbix Network Discovery,應用Zabbix agent服務來進行大量佈建。


2023年10月1日 星期日

Zabbix Proxy主機及服務監控

Zabbix Proxy主機及服務監控

Zabbix Proxy服務是長時間運作,持續蒐集後端主機資料,先儲放於本機資料庫,再定時傳送至Zabbix Server。了解Zabbix Proxy服務及主機的運作狀態也是重要的。

設備環境

Zabbix Proxy 主機

OS:Ubuntu Linux LTS 22.04,Hostname:u22-1,IP:192.168.203.122,安裝 Zabbix Proxy 6.0 (Active mode)
OS:Oracle Linux 9.x,Hostname:ol9-1,IP:192.168.203.198,安裝 Zabbix Proxy 6.0 (Passive mode)

遠端主機 

OS:Debian Linux 11,Hostname:debian11,IP:192.168.203.162,安裝 Zabbix agent2 6.0,使用u22-1 Proxy  (Active mode)
OS:Oracle Linux 7.x,Hostname:mgm01,IP:192.168.203.184,安裝 Zabbix agent2 6.0,使用ol9-1 Proxy  (Passive mode)

Zabbix Proxy 服務監控

使用Zabbix Serve內建Templates/Applications的Zabbix proxy health來了解Zabbix Proxy 服務運作狀態。

Zabbix Proxy Active模式

01-u22-1 proxy hosts

Zabbix Proxy Passive模式

02-ol9-1 proxy hosts
Zabbix Proxy 服務監控會依據使用的模式主動或被動將資料傳送至Zabbix Server主機。

Zabbix Proxy 主機監控

Zabbix Proxy 主機監控可以選擇使用Zabbix agent2的2種模式(Active、Passive)或SNMP服務來了解Zabbix Proxy主機運作狀態。
進行Zabbix Proxy 主機監控,需調整Zabbix Porxy和Zabbix Agen2設定檔,才可以正常運作。

Zabbix Proxy Active模式

Zabbix Porxy主機的Zabbix Porxy設定檔 /var/log/zabbix/zabbix_prxoy.conf
01-u22-1-proxy config
Server設為Zabbix Server IP

Zabbix Porxy主機的abbix Agen2設定檔 /var/log/zabbix/zabbix_agent2.conf
01-u22-1-agent2 config
Server設為127.0.0.1及Zabbix Proxy IP
ServerActive設為127.0.0.1

Zabbix Proxy Passive模式

Zabbix Porxy主機的Zabbix Porxy設定檔 /var/log/zabbix/zabbix_prxoy.conf
02-ol9-1-proxy config
Server設為127.0.0.1及Zabbix Server 網段

Zabbix Porxy主機的abbix Agen2設定檔 /var/log/zabbix/zabbix_agent2.conf
02-ol9-1-agent2 config
Server設為127.0.0.1及Zabbix Proxy IP
ServerActive設為127.0.0.1

遠端主機監控設定

Zabbix Proxy有分為Active和Passive模式運作,且監控遠端主機可以使用Zabbix agent2 2種模式(Active、Passive)或snmp服務進行運作。
列出Zabbix Porxy運作模式下,測試過監控正常運作的Zabbix Agen2設定檔。

Zabbix Proxy Active模式
Zabbix Agen2設定檔 /var/log/zabbix/zabbix_agent2.conf
03-debian11-agent2 config
Server設為127.0.0.1及Zabbix Proxy 網段
ServerActive設為Zabbix Proxy IP

Zabbix Proxy Passive模式
Zabbix Agen2設定檔 /var/log/zabbix/zabbix_agent2.conf
04-mgm01-agent2 config
Server設為Zabbix Proxy IP
ServerActive設為Zabbix Proxy IP

Zabbix WEB設定

Configuration>Hosts設定畫面。
add hosts

Monitoring>Hosts資料畫面。
monitoring


Zabbix Porxy設定檔 /var/log/zabbix/zabbix_prxoy.conf 有說明不同運作模式設定參考。
proxy server setup

Zabbix Porxy或Zabbix agent2 設定後如果沒有資料出現,請檢查/var/log/zabbix的zabbix_prxoy.log或zabbix_agent2.log中的異常訊息。

2023年9月30日 星期六

Zabbix Proxy 設定-被動模式

Zabbix Proxy 設定-被動模式

將Zabbix Proxy設定為Passive mode,在Zabbix WEB介面新增Proxies主機(Passive mode),並新增加遠端主機應用Zabbix Prxoy傳送資料。

設備環境

Zabbix Proxy 主機 (Passive mode)
OS:Oracle Linux 9.x,Hostname:ol9-1,IP:192.168.203.198,安裝 Zabbix Proxy 6.0

遠端主機 (Passive mode)
OS:Oracle Linux 7.x,Hostname:mgm01,IP:192.168.203.184,安裝 Zabbix agent2 6.0

遠端主機設定

遠端主機安裝Zabbix agent2

在Zabbix agent主機的Zabbix agent2設定檔將Server及ServerActive設定為Zabbix Proxy主機IP。
# vi /etc/zabbix/zabbix-agent2.conf
---
Server=192.168.203.198
ServerActive=192.168.203.198
Hostname=mgm01
---
07-zabbix agent2 setup

重啟Zabbix agent2服務,讓設定生效。
# systemctl restart zabbix-agent2

Zabbix WEB設定

在Zabbix WEB介面,選擇Administrator>Proxies,右上方點選Create proxy。
在Proxy name 輸入主機名稱ol9-1,一定要和主機Hostname相同。
在Prxory mode 確認為Passive,被動模式。
在Proxy address 輸入Proxy主機IP。
在Description 輸入你想寫入的資訊。
05-add passive proxyies

新增完成後,在Administrator>Proxies頁面,會看到新增的Proxy主機ol9-1。未設定使用此Proxy主機監控其它主機,所以資料都為 0。
06-add proxies

在Zabbix WEB介面,選擇Configuration>Hosts,新增遠端主機。
08-add zabbix agent2 host
在Monitored by proxy 選項,就可以選定建立的Zabbix Proxy主機。

新增完成後,可以在頁面看到主機的Proxy出現你設定的Zabbix Proxy主機。
09-add zabbix agent2

在Zabbix WEB介面,選擇Monitoring>Hosts,檢查發現收集到資料。
09-moniting hosts


在Zabbix WEB介面,選擇Administrator>Proxies,會看到的Proxy主機傳送的資料紀錄,使用的主機。
10-proxies status


2023年9月29日 星期五

Zabbix Proxy 安裝-被動模式

Zabbix Proxy 安裝-被動模式

在Zabbix Prxoy安裝時,除了使用Active mode主動傳送數據至Zabbix Server外。也可以使用Passive mode讓Zabbix Server定時來捉取數據。
將Zabbix Proxy設定為Passive mode,在Zabbix WEB介面新增Proxies主機(Passive mode),並新增加遠端主機應用Zabbix Prxoy傳送資料。

設備環境

Zabbix Server 主機

OS:Ubuntu Linux LTS 22.04,Hostname:u22-z6,IP:192.168.203.193,安裝 Zabbix Server 6.0 LTS

Zabbix Proxy 主機 (Passive mode)

OS:Oracle Linux 9.x,Hostname:ol9-1,IP:192.168.203.198,安裝 Zabbix Proxy 6.0
將Zabbix Proxy 6.0 LTS安裝於Oracle Linux 9.x。Zabbix Proxy 資料庫將使用SQLite3建置

Zabbix Proxy 主機設定

SQLite3安裝

# dnf install sqlite

Zabbix Poxy安裝

Zabbix Proxy安裝時使用原廠網頁,選擇OS,Zabbix Proxy,SQLite3, 產生相關安裝指令。

# rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-6.0-4.el9.noarch.rpm
# dnf clean all
# dnf install zabbix-proxy-sqlite3 zabbix-selinux-policy zabbix-sql-scripts

02-oracle install proxy

Zabbix資料庫欄位資料都在zabbix-sql-scripts,請一定要安裝執行匯入資料時才不會錯誤。

修改Zabbix Proxy設定檔,檔案為/etc/zabbix/zabbix_proxy.conf
# vi /etc/zabbix/zabbix_proxy.conf
---
passive mode
ProxyMode=1
Server=Zabbix Server IP
Hostname=ol9-1
DBName=/tmp/zabbix.db
---
03-edit proxy config

Zabbix Proxy要設為被動模式,ProxyMode=1
將Hostname設定為Zabbix Proxy主機名稱,後續在Zabbix WEB設定時要相同名稱。
將Server設定Zabbix Server主機IP。
將DBName設定上面建立的SQLite3 DB,檔案為/tmp/zabbix.db

匯入資料

資料庫檔案設定為/tmp/zabbix.db
# cat /usr/share/zabbix-sql-scripts/sqlite3/proxy.sql | sqlite3 /tmp/zabbix.db
修改/tmp/zabbix.db權限為zabbix
# chown zabbix:zabbix /tmp/zabbix.db
04-setup sqlite

啟動Zabbx Proxy

請確認遠端主機selinux狀態。
# getenforce
00-disable selinux

請將selinux關閉或執行以下指令讓Zabbix 服務可以在selinux下運作。
# dnf install setroubleshoot setools setools-console policycoreutils-python-utils
# semanage permissive –add zabbix_t

00-setup selinux

啟動Zabbx Proxy,確認Zabbx Proxy狀態。
# systemctl restart zabbix-proxy
# systemctl status zabbix-proxy


安裝完成後就可以進行Zabbix WEB設定。


2023年9月28日 星期四

Zabbix Proxy 設定-主動模式

Zabbix Proxy 設定-主動模式

在Zabbix Prxoy安裝過程時,設定使用Active mode主動傳送數據至Zabbix Server。
將在Zabbix WEB介面設定Proxies,並新增加遠端主機應用Zabbix Prxoy傳送資料。

設備環境

Zabbix Proxy 主機 (Active mode)

OS:Ubuntu Linux LTS 22.04,Hostname:u22-1,IP:192.168.203.122,安裝 Zabbix Proxy 6.0

遠端主機 (Active mode)

OS:Debian Linux 11,Hostname:debian11,IP:192.168.203.162,安裝 Zabbix agent2 6.0

遠端主機設定

在Zabbix agent主機的Zabbix agent2設定檔將Server及ServerActive設定為Zabbix Proxy主機IP。
# sudo /etc/zabbix/zabbix-agent2.conf
---
Server=192.168.203.122
ServerActive=192.168.203.122
---
重啟Zabbix agent2服務,讓設定生效。
# sudo systemctl restart zabbix-agent2

Zabbix WEB設定

在Zabbix WEB介面,選擇Administrator>Proxies,右上方點選Create proxy。
08-setup zabbix proxy

在Proxy name 輸入Proxy主機名稱,一定要和主機Hostnamet相同。
在Prxory mode 確認為Active,主動模式。
在Proxy address 輸入Proxy主機IP。
在Description 輸入你想寫入的資訊。
09-create zabbix proxy

新增完成後,在Administrator>Proxies頁面,會看到新增的Proxy主機。未設定使用此Proxy主機監控其它主機,所以資料都為0。
12-create zabbix proxy host

在Zabbix WEB介面,選擇Configuration>Hosts,新增遠端主機。
12-create zabbix proxy host

在Monitored by proxy 選項,就可以選定建立的Zabbix Proxy主機。

新增完成後,可以在頁面看到主機的Proxy出現你設定的Zabbix Proxy主機。
14-zabbix proxy host

在Zabbix WEB介面,選擇Monitoring>Hosts,檢查發現收集到資料。
15-zabbix proxy moniting

在Zabbix WEB介面,選擇Administrator>Proxies,會看到的Proxy主機傳送的資料紀錄,使用的主機。
16-zabbix proxy status