2024年2月4日 星期日

投資-202402

投資-202402

2/5
台積電1月法說會優於預期,外資大買站上625,帶動台股突破萬八,舊曆年18096高點封關。美股持續向上,聯準會不會於3月降息。
台股站上萬八會調整市值型和高股息定期比例。

總投入金額 99479
市值 112527

20240205


2月份除息ETF
00929 配息0.13元,2/29除息,3/26領息。
00850 配息0.43元,2/27除息,3/25領息。
00878 配息0.40元,2/27除息,3/25領息。

2024年1月20日 星期六

Debian 12 install Proxmox VE 8.x

Debian 12 install Proxmox VE 8.x

之前使用Debian 11 安裝 Proxmox VE 7.x,重新使用Debian 12 安裝 Proxmox VE 8.x。
參考原廠官網安裝介紹
https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_12_Bookworm

整個安裝請使用root 或 sudo 權限執行
1.檢查主機名稱及DNS
確認/etc/hosts設定,移除127.0.0.1 主機名稱 
cat /etc/hosts
hostname --ip-address
確認/etc/resolv.conf,DNS設定
cat /etc/resolv.conf
debina 12 check


2.新增 Proxmox VE repository
增加 Proxmox VE repository
echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bookworm pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list

增加 Proxmox VE repository key
wget https://enterprise.proxmox.com/debian/proxmox-release-bookworm.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg 

使用sha512sum驗證gpg 
sha512sum /etc/apt/trusted.gpg.d/proxmox-release-bookworm.gpg 

7da6fe34168adc6e479327ba517796d4702fa2f8b4f0a9833f5ea6e6b48f6507a6da403a274fe201595edc86a84463d50383d07f64bdde2e3658108db7d6dc87 

3.更新系統及Proxmox VE repository
apt update && apt full-upgrade

4.安裝 Proxmox VE Kernel及重新啟動
apt install proxmox-default-kernel
systemctl reboot

5.安裝 Proxmox VE 及相關套件
apt install proxmox-ve postfix open-iscsi chrony

相關套件可以依需求自行安裝調整
postfix-Proxmox VE 各項mail通知
open-iscsi-Proxmox VE 連接iscsi設備
chrony-主機校時系統

6.移除 Debian Kernel
apt remove linux-image-amd64 'linux-image-6.1*'
update-grub

系統沒有使用多重開機,新官網建議移除os-prober,相關說明參考官網連結
apt remove os-prober

7.連接 Proxmox VE web 介面 
https://your-ip-address:8006,輸入帳號/密碼,語言依個人需求
pve8 login



8.Network設定,建立 Linux Bridge
pve8 network setup


   建立vmbr0,設定IP及Gateway,指定主機實體網卡(enp5s0)
pve create bridge

   如果規劃多網段架構,分別建立Linux Bridge。

9.確認主機DNS
pve8 setup dns







2024年1月1日 星期一

投資-202401

投資-202401

1/1
定期投資持續累計進入第3年。今年預期加大投入,將以市值型ETF為主,高股息ETF為輔。
重新調整為每月統計,方便自已紀錄投資過程。

總投入金額 97559元
市值 11076元

1月份除息ETF
00929 配息0.13元,1/18除息,2/22領息。











2023年10月17日 星期二

Linux主機閒置自動登出

Linux主機閒置自動登出 

設定Linux 主機在一定時間未操作時,自動登出系統。Redhat官網How to keep TCP sessions alive for extended periods of time? ,可以shellsshftp等項目設定自動斷線。

Bash Shell timeout基本設定

檢查是否有設定timeout時間
# export | grep TMOUT

一次性設定 ( 10分鐘自動登出 )
# export TMOUT=600

固定性更改  ( 10分鐘自動登出 )
對於特定使用者,在 $HOME/.bashrc 進行設定。
# echo "TMOUT=600" >> ~/.bashrc

對於所有用戶,在 /etc/bashrc 設定。
# echo "TMOUT=600" >> /etc/bashrc

增加檔案
# vi /etc/profile.d/auto-logout.sh
---
#!/bin/bash
#Auto-logout in 600 seconds if the session is idle
export TMOUT=600
readonly TMOUT
---

# chmod +x /etc/profile.d/auto-logout.sh
# source /etc/profil
readonly 設定變數和函數為只有讀取權限。
使用者將無法變更名為 TMOUT 的變數的值。

Openssh 伺服器設定自動登出

Openssh 伺服器自動登出參考官網Which options can be used to configure ssh's timeout?

新增 ClientAliveInterval和ClientAliveCountMax到/etc/ssh/sshd_config檔案
ClientAliveCountMax:使用者活動訊息的統計次數。
ClientAliveInterval:等待使用者輸入的逾時時間。

伺服器每25秒發送訊息給用戶端,當沒有收到任何回應,累計2次後終止連線。所以是50秒沒有任何輸入自動斷線。
---
        ClientAliveInterval 25
        ClientAliveCountMax 2
---

使用者2分鐘無使用動作,自動中斷使用者連線。
---
        ClientAliveInterval 2m
        ClientAliveCountMax 0
---
正常設定 ClientAliveCountMax 0 是禁止伺服器發送活動訊息及使設定用者輸入的逾時時間 ClientAliveInterval 是可以實現。
但RHEL 8.6 和 RHEL9 中的設定ClientAliveCountMax 0會導致不同的行為,參考官網SSH server no longer terminate inactive sessions when setting ClientAliveCountMax=0,所以建議設定ClientAliveCountMax=1。


參考資料: 
How to keep TCP sessions alive for extended periods of time?
https://access.redhat.com/solutions/23874
Which options can be used to configure ssh's timeout?
https://access.redhat.com/solutions/25773
SSH server no longer terminate inactive sessions when setting ClientAliveCountMax=0
https://access.redhat.com/solutions/6962538
Linux / UNIX Automatically Logout BASH / TCSH / SSH Users After a Period of Inactivity
https://www.cyberciti.biz/faq/linux-unix-login-bash-shell-force-time-outs/

2023年10月15日 星期日

Zabbix系統效能調整

Zabbix系統效能調整

當Zabbix運作一段時間,不斷加入主機及監控項目,可能會有產生以下狀況時。
  • item資料太多,有些item沒有數據或Zabbix繪圖中常出現斷圖。
  • 前端WEB頁面無回應,或回應速度慢。
  • 在Administration > Queue中,有太多被延遲的item。

可以先觀察Zabbix 內建的監控項目-Zabbix server:Data gatherig processes。
process

及在 Reports > System information 的Required server performance, new values per second ,了解NVPS (每秒處理數值數),來評估Zabbix 運作狀態,進行相關設定調整。
nvps


Zabbix設定

參考官網Performance tuning ,以Zabbix系統參數調整為主。
在Zabbix 使用正常HistoryPollers、Pollers、unreachable poller數量,依監控方式調整其它Poller輪詢器的種類數量,僅設定監控所需參數,避免系統過載。
如果設備數量較多,可以使用Proxy分散架構,將所有輪詢委託給Proxy主機執行。

在Template中,調整所有item(項目)的Update interva(更新間隔)。
保持較小的更新間隔可能對圖表呈現有好處,但是可能會使 Zabbix 過載。

在Template中,調整預設的參數,包含item的啟用或停用,降低item數量,減低系統負載。

不要監視返回相同訊息的參數。

避免使用作為函數參數給出的較長週期的觸發器。例如,max(/host/key,1h) 的計算速度將明顯慢於 max(/host/key,1m)。

Zabbix Server設定

zabbix_server.conf 設定調整,相關數字依狀況調整。
---
StartPollers=80
主動收集資料輪詢器執行數量

StartPrepprocessors=20
預處理工作執行數量

StartPingers=10
ICMP pinger 執行數量

StartTrappers=20
Trappers 接受 Zabbix sender、Agent和Proxy 的傳入數量

StartDBSyncers=6
history syncers的執行數量,也是DB同步數量。

StartEscalators=10
告警升級執行數量

StartAlerters=10
告警執行數量
 
CacheSize=128M
用於儲存主機、item和trigger資料的共享記憶體大小

Timeout=3
等待Agent、SNMP 或外部檢查的時間(以秒為單位)
----

Zabbix agent 設定

Agent監控應合理使用主動或被動模式設定,建議使用主動模式,提高server效能。

Zabbix_agent2.conf 設定檔調整
--
Timeout=15
輪詢器將等待處理時間(秒),預設為三秒。

StartAgents=3
Agent同時處理的進程數量,被動模式。

RefreshActiveChecks=60
刷新活動檢查清單的頻率(秒)。刷新活動檢查失敗後,將在60秒進行下一次刷新。
---

Zabbix Proxy設定

使用Proxy 分散式架構,合理使用主動或被動模式,設定正確的Pollers 輪詢器,減少了server負載。

zabbix_prxoy.conf 設定檔調整
---
ConfigFrequency=3600
調整Proxy 與 Server配置更新時間(以秒為單位)。Active mode參數。

StartDBSyncers=4
history syncers的執行數量

ProxyLocalBuffer=0
Proxy 將在本地保留資料 N 小時,即使資料已經與伺服器同步。

ProxyOfflineBuffer=1
如果與 Zabbix Server 沒有連接,Proxy 將保留資料 N 小時。
---

DB調整參數

MariaDB調整InnoDB參數

---
innodb_file_per_table = 1
innodb_buffer_pool_size=主機RAM的50%~75% 
innodb_buffer_pool_instances = 4
innodb_flush_log_at_trx_commit = 2
innodb_flush_method = O_DIRECT
innodb_log_file_size = 256M
---

其它調整

在Zabbix 調整housekeeping管理參數或關閉housekeeper,調整DB的history分區。
在OS中使用ps和top查看Zabbix進程效能。


要讓Zabbix 穩定運作發揮作用,明確建立Zabbix監控項目,減少不必要的資料收集非常重要。將有助於提高監控效率,避免被監控系統過載,並使管理和分析收集到的資料變得更容易。

參考資料:


2023年10月14日 星期六

Zabbix High availability 設定

Zabbix High availability 設定

High availability (HA) 高可用性是應用在IT環境的重要項目,當服務出現故障時進行移轉,由其它設備接手服務,減少服務故障的影嚮。

Zabbix 6.0 LTS 提供簡單設定的高可用性(HA)解決方案,提供Zabbix Server 軟體/硬體故障的額外保護,或減少因維護而導致的停機時間。
在Zabbix 高可用性模式中,多個 Zabbix Server會作為cluster 叢集中的節點。
當cluster 叢集中的有Zabbix Server 處於active時,其他 Server 處於 standby,當有狀況時接手服務。
Zabbix 高可用性只有針對Zabbix 相關服務,並不包含DB。DB 高可用性需要搭配其它方案。

設備環境

Zabbix Server 主機
OS:Ubuntu Linux LTS 22.04,Hostname:u22-z6,IP:192.168.203.193,
安裝 Zabbix Server 6.0 LTS,MariaDB 10.6.12
OS:Debian Linux LTS 11,Hostname:dnode01,IP:192.168.203.171,
安裝 Zabbix Server 6.0 LTS

將新增第2台Zabbix Server主機dnode01,在原有u22-z6主機的DB服務開啟dnode01連線權限,來測試Zabbix  High availability功能。
Zabbix Server服務安裝請參考,只需要安裝Zabbix 相關套件,不需要安裝DB。
DB設定指向u22-z6的IP:192.168.203.193

高可用性實現

設定Zabbix Server 作為叢集節點

在Zabbix Server設定檔設定兩個參數將 Zabbix Server作為叢集節點。
HANodeName=節點名稱
NodeAddress=節點IP:Port
如果不指定HANodeName,則Zabbix Server將以獨立模式啟動。
Zabbix 前端網頁將使用 NodeAddress 參數連接到活動伺服器節點。

# sudo nano /etc/zabbix/zabbix_server.conf
---
HANodeName=節點名稱
NodeAddress=節點IP:Port
---
01-u22-z6 config
02-dnode01 config
更新所有Zabbix Server,並重新啟動。
另外確認Zabbix 前端網頁沒有定義ZBX_SERVER和ZBX_SERVER_PORT。
檔案位置/etc/zabbix/web/zabbix.conf.php
grep zabbix.conf

Zabbix Agent設定

Zabbix agent 2 在HA 叢集環境要依被動或主動模式設定。
被動passive agent,所有節點名稱或IP必須寫在Server參數中,並以逗號分隔。
Server=u22-z6,dnode01,192.168.203.192,192.168.203.171
主動active agent,所有節點名稱或IP必須寫在ServerActive,並以分號分隔。
ServerActive=u22-z6:dnode01:192.168.203.192:192.168.203.171
請注意,對於主動檢查,節點與任何其他伺服器必須以逗號分隔,而節點本身必須以分號分隔。

Zabbix Proxy設定

Zabbix Proxy在HA 叢集環境要依被動或主動模式設定。
被動代理passive proxy,所有節點名稱或IP必須寫在Server參數中,並以逗號分隔。
Server=u22-z6,dnode01,192.168.203.192,192.168.203.171
主動代理active proxy,所有節點名稱或IP必須寫在Server參數中,並以分號分隔。
Server=u22-z6:dnode01:192.168.203.192:192.168.203.171

運作檢查

在Reports > System infornation 中
05-cluster status
可以看到High availability cluster、Fail-over delay: 1 minute及節點主機運作狀態。

在Active 節點上使用zabbix_server -R ha_status 確認。
03-u22-z6 status

在Standby節點檢查zabbix_server.log
04-dnode01 status

停用Active Server-u22-z6
u22-stop

服務會自動移動到-dnode01
dnode start

根據官網說明故障轉移到備用節點只要5秒
因為所有節點每 5 秒更新一次檢查狀態。
如果Active節點關閉並報告其狀態為"已停止",則另一個節點將在5 秒內接管。
如果Active節點關閉/變得不可用而無法更新其狀態,備用節點將等待Fail-over delay+ 5 秒來接管
Fail-over delay是可設定的,支援的範圍為 10 秒到 15 分鐘(預設為一分鐘)。
若要變更故障轉移延遲,可以在Active Server執行:
zabbix_server -R ha_set_failover_delay=5

經過測試了解Zabbix High availability 是方便可行的,後續將研究DB建置ha架構,將功能更完善。


2023年10月13日 星期五

Zabbix 使用scheduled reports 功能

Zabbix  使用 scheduled reports

Zabbix 6.0 LTS提供scheduled reports 功能,
安裝 Zabbix Web service 並設定 Zabbix Server 定期產生報告。
官網Scheduled reports
https://www.zabbix.com/documentation/6.0/en/manual/config/reports

但目前scheduled reports 的支援處於實驗階段。
scheduled reports 是利用Zabbix Web service 和 Google Chrome 瀏覽器來產生定期報告pdf。
所以需要安裝 Zabbix Web service和 Google Chrome 瀏覽器。Zabbix Web service可以和Zabbix Server 安裝在同一台機器上,也可以安裝在不同的機器上。Google Chrome 瀏覽器一定要和 Zabbix Web service 安裝在相同的電腦。

設備環境

Zabbix Server 主機

OS:Ubuntu Linux LTS 22.04,Hostname:u22-z6,IP:192.168.203.193,
安裝 Zabbix Server 6.0 LTS、Zabbix Web service、google chrome

安裝設定

google chrome安裝

在Zabbix Server直接下載google-chrome-stable套件進行安裝
# wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
# sudo apt install ./google-chrome-stable_current_amd64.deb
01-install chrome

Zabbix Web service安裝

在Zabbix Server直接安裝Zabbix web service,並設定開機啟動。
# sudo apt install zabbix-web-service
# sudo systemctl restart zabbix-web-service
# sudo systemctl enable zabbix-web-service
02-zabbix web install

Zabbix Server設定

修改zabbix_server.conf,增加StartReportWriters,WebServiceURL參數,並重新啟動。
# sudo nano /etc/zabbix/zabbix_server.conf
---
StartReportWriters=3
WebServiceURL=http://localhost:10053/report
---
# sudo systemctl restart zabbix-server
03-edit zabbix server

Zabbix web 設定

設定Frontend URL

在Administration > Other,設定Frontend URL:http://localhost/zabbix/
04-fronted url setup

Scheduled reports 設定

在Reports > Scheduled reports,右上方Create repor新增
05-create scheduled repots

設定Name:repo-Zabbix server (可自行輸入)
06-setup scheduled reports
Owner點選Select,選擇使用者
07-select owner
Dashboard點選Select,選擇要產生報告的Dashboard
08-select dashboard
Period:Previouv day
Cycle:Daily
Subject:repo-Zabbix server (可自行輸入)
Message:repo-Zabbix server (可自行輸入)
選取Test進行測試,請收件者要先設定可以接收email通知才會成功。
09-test
測試成功就可以Add新增。

Report結果

mail

10-test ok

附件pdf

11-test pdf
對於多頁儀表板,PDF 報告中僅包含第一頁。