๐ Zabbix 7.0 ๅฏฆๆฐ:็ตๅ Grafana ๆ้ ไผๆฅญ็ด IT ๅบ็ค่จญๆฝ่็ถฒ่ทฏๆต้่ฆ่ฆบๅ็ฃๆง็ๆฟ
ๅจไผๆฅญ็ฐๅขไธญ,็ฃๆง็ณป็ตฑ็ๅนๅผไธๅชๆฏ「ๆๆฒๆๅ่ญฆ」,่ๆฏ่ฝๅฆๆไผบๆๅจ、็ถฒ่ทฏ่จญๅ、ๆๅๅฅๅบทๅบฆ、ๅฎน้่ถจๅข่ไบไปถ่็ตก,ๅฟซ้ๅฏ่ๆๅฏๆฑบ็ญ็่ฆ่ฆบๅ็ๆฟ。 ๆฌ็ฏไปฅ Zabbix 7.0 LTS ็บๆ ธๅฟ็ฃๆงๅนณๅฐ,ไธฆ็ตๅ Grafana ็ๅ่กจๆฟ่ฝๅ,ๅปบ็ซไธๅฅๅฏ่ฝๅฐๆผ NOC / ๅผ็ญๆต็จ็「ไผๆฅญ็ด็ฃๆง่็ถฒ่ทฏๆต้ๅฏ่ฆๅ」ๅฏฆไฝ็ฏๆฌ。
๐งญ ็ฎ้
- ✅ ็บไป้บผ้ธ Zabbix 7.0 + Grafana
- ๐งฑ ไผๆฅญ็ด้จ็ฝฒๆถๆงๅปบ่ญฐ
- ๐ Zabbix 7.0 LTS ้จ็ฝฒๅฏฆไฝ(Server / DB / Frontend)
- ๐งฉ ่ณๆๆถ้:Agent2 + SNMP ็ถฒ่ทฏๆต้
- ๐ Grafana ๆดๅ:Zabbix Plugin + Data Source
- ๐ ็ๆฟ่จญ่จ:KPI / ๅฎน้ / ๆต้(ๅฏ็ดๆฅๅฅ็จ็้ขๆฟๆ่ทฏ)
- ๐จ ๅ่ญฆๆดๅ่ๅผ็ญ SOP ๅปบ่ญฐ
- ๐งฐ ็ถญ้:ไฟ็็ญ็ฅ、ๆ่ฝ、ๅธธ่ฆๆ้ฏ
- ๐ ๅ่่ณๆ(ๅฎๆนๆไปถ)
- ๐ฌ ไบๅ็่จๅผๅฐ
- ๐ ๅปถไผธ้ฑ่ฎ
✅ ็บไป้บผ้ธ Zabbix 7.0 + Grafana
- Zabbix:ๆจกๆฟๅ็ฃๆง、ไบไปถ/่งธ็ผๅจ、ๅ่ญฆ、ๆฌ้่่ณ็ขๆจกๅๆ็,้ฉๅๅ「็ฃๆงไธญๆจ」。
- Grafana:ๅ่กจๆฟๅ็พ่ช็ฑๅบฆ้ซ、้ฉๅ่ทจๅ้ KPI、็ฎก็ๅฑค่ฆ่ง、ๅฎน้้ ๆธฌ่ๆต้่ถจๅข。
- Zabbix 7.0 LTS:ไปฅ LTS ๅไผๆฅญ่ฝๅฐๆด็ฉฉๅฅ;Proxy ้ซๅฏ็จ、MFA ็ญ็นๆงๆด่ฒผ่ฟไผๆฅญ้ๆฑ(่ฉณ่ฆๅฎๆน What's new ่็ๅฝ้ฑๆๆฟ็ญ)。
๐งญ ่กๅๆธ ๅฎ(ไฝ ่ฆๅฎๆไป้บผ)
- ้จ็ฝฒ Zabbix Server + DB + Frontend,็ขบ่ชๅฏ็ปๅ ฅ่ๆถ่ณๆ。
- ็จ Agent2 ็ฃๆงไธปๆฉๅฅๅบทๅบฆ,็จ SNMP ็ฃๆงไบคๆๅจ/่ทฏ็ฑๅจไป้ขๆต้。
- ๅจ Grafana ๅฎ่ฃ Zabbix Plugin,ๅปบ็ซ Zabbix Data Source(ๅฟ ่ฆๆๅ Direct DB)。
- ๅปบ็ซ「ไผๆฅญ็ด็ๆฟ」:ๆๅๅฅๅบท、ๅฎน้่ถจๅข、็ถฒ่ทฏๆต้่ๅ่ญฆ่ฆ่ง。
๐งฑ ไผๆฅญ็ด้จ็ฝฒๆถๆงๅปบ่ญฐ
ๅปบ่ญฐไปฅ「ๅๅฑค」ๆนๅผ่จญ่จ,้ฟๅ ๆๆๆก้้ฝ็ดๆ Zabbix Server:
| ๅฑค็ด | ๅ ไปถ | ็จ้ | ้้ป |
|---|---|---|---|
| ็ฃๆงๆ ธๅฟ | Zabbix Server + DB | ไบไปถ、่งธ็ผๅจ、ๆญทๅฒ/่ถจๅขๅฒๅญ | DB IOPS、Housekeeper、ๅๅ/ไฟ็็ญ็ฅ |
| ้็ทฃๆก้ | Zabbix Proxy(ๅฏๅคๅฐ) | ่ทจ็ซ้ป、ๅๆฎต็ถฒ่ทฏ、้ไฝๆ ธๅฟๅฃๅ | ็ซ้ป้้ข、็ทฉ่ก、ๅฏ็จๆง่จญ่จ |
| ไธปๆฉๆก้ | Zabbix Agent2 | CPU/RAM/Disk/Process/Service ็ญ | ไธปๅ/่ขซๅๆจกๅผ、TLS、ๆจกๆฟๆจๆบๅ |
| ็ถฒ่ทฏๆก้ | SNMP(่จญๅ็ซฏ) | ไป้ขๆต้、้ฏ่ชค、ไธๅ 、CPU/Memory | LLD、ไป้ขๅฝๅ้ๆฟพ、bps ่จ็ฎ |
| ่ฆ่ฆบๅๅฑค | Grafana + Zabbix Plugin | ๅ่กจๆฟ、่ทจๅ่ฆ่ฆบๅ | API/Direct DB、้ขๆฟๆจๆบ、ๆฌ้่่ณๆ้้ข |
๐ Zabbix 7.0 LTS ้จ็ฝฒๅฏฆไฝ(Server / DB / Frontend)
็บ้ไฝ็ๆฌ่ธฉ้ท,ๅปบ่ญฐ็ดๆฅไฝฟ็จ Zabbix ๅฎๆนไธ่ผ้ ็ข็ๅฐๆ OS / DB / Web Server ็ๆไปค(ๆ็ฉฉ)。 ไปฅไธไปฅ「Ubuntu 22.04 + PostgreSQL + Nginx(็คบๆ)」็คบ็ฏๆต็จ,ๅฏฆ้ๆไปค่ซไปฅๅฎๆน้ ้ข็ๆ็บๆบ。
๐งฉ 1) OS ๅ็ฝฎๆบๅ(ๆ้、DNS、ๅฅไปถ、Firewall)
# ๆ้ๅๆญฅ(ๅๅฟ
)
timedatectl
sudo timedatectl set-timezone Asia/Taipei
# ๅบๆฌๅทฅๅ
ท
sudo apt update
sudo apt -y install curl wget gnupg lsb-release
# (็ฏไพ)้ๆพ Zabbix / Web ้ฃ็ท(ไพไฝ ็ๆถๆง่ชฟๆด)
# 10051: Zabbix Server/Proxy
# 80/443: Web Frontend
sudo ufw allow 10051/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw status
๐งฉ 2) ๅฎ่ฃ Zabbix Server / Frontend
่ซ่ณๅฎๆนไธ่ผ้ ้ธๆ:Zabbix 7.0 LTS、ไฝ ็ OS、DB、Web Server,ไธฆ่ค่ฃฝๅฎ่ฃๆไปค:
- ๅฎๆนไธ่ผ้ (7.0 LTS):https://www.zabbix.com/download?zabbix=7.0
ๅฎ่ฃๅฎๆๅพ,็ขบ่ชๆๅ็ๆ :
# ๆๅๅ็จฑๆไพๅฎ่ฃ้ธ้
ไธๅ่็ฅๆๅทฎ็ฐ(ไพๅฆ zabbix-server-pgsql / zabbix-server-mysql)
sudo systemctl status zabbix-server
sudo systemctl status nginx
sudo systemctl status php-fpm
# Log ๆๆฅ
sudo journalctl -u zabbix-server -n 200 --no-pager
๐งฉ 3) ๅๅงๅ DB ่ Zabbix Schema(ๆฆๅฟตๆต็จ)
่ฅไฝ ็จ PostgreSQL(ๆฆๅฟต็คบๆ):
# ๅปบ็ซ DB ่ๅธณ่(็คบๆ)
sudo -u postgres createuser --pwprompt zabbix
sudo -u postgres createdb -O zabbix zabbix
# ๅฏๅ
ฅ schema(ๅฏฆ้่ทฏๅพไพๅฅไปถ่็ฐ)
# zcat /usr/share/zabbix-sql-scripts/postgresql/server.sql.gz | sudo -u zabbix psql zabbix
ๅจ /etc/zabbix/zabbix_server.conf ่จญๅฎ DB ้ฃ็ท(็คบๆ):
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=********
๐งฉ 4) ๅ็ซฏๅๅงๅ(Web Installer)
็่ฆฝๅจ้ๅไฝ ็ Zabbix URL(ไพๅฆ https://zabbix.example.com),ไพ็ฒพ้ๅฎๆ:
- ๆชขๆฅ PHP ้ๆฑ
- ๅกซๅ ฅ DB ้ฃ็ท
- ่จญๅฎ Zabbix Server Name
๐งฉ ่ณๆๆถ้:Agent2 + SNMP ็ถฒ่ทฏๆต้
๐งฉ 1) Zabbix Agent2 ไฝ็ฝฒ(Linux ็คบๆ)
Agent2 ่ๅณ็ตฑ agent ็ๅทฎ็ฐ、ๆฏๆด้ขๅ(Docker / DB / systemd ็ญ)ๅฏๅ่ๅฎๆนๆฏ่ผ้ 。
# ๅฎ่ฃ(ๅฏฆ้ไพไฝ ็ OS ่ repo ๆไปค็บๆบ)
sudo apt update
sudo apt -y install zabbix-agent2
# ่จญๅฎ Server / Proxy(ๆไธๆไธฆ็จ)
sudo nano /etc/zabbix/zabbix_agent2.conf
# ๅๅ
sudo systemctl enable --now zabbix-agent2
sudo systemctl status zabbix-agent2
ๅธธ่ฆ้้ตๅๆธ(็คบๆ):
Server=10.0.0.10
ServerActive=10.0.0.10
Hostname=host-01
# ๅปบ่ญฐ:ๅ็จ TLS(ไผๆฅญ็ฐๅข)
๐งฉ 2) SNMP ็ฃๆง็ถฒ่ทฏ่จญๅ(ไป้ขๆต้ In/Out)
ๆๅ ธๅ็็ถฒ่ทฏๆต้็ๆฟ,ๅฐฑๆฏๆไบคๆๅจ/่ทฏ็ฑๅจ「ๆฏๅไป้ข」็ in/out bps、้ฏ่ชค、ไธๅ ๅ่ถจๅขๅ。ๅปบ่ญฐๅๆณ:
- ๅจ Zabbix ๅปบ็ซ Host,ๆฐๅข SNMP interface
- ๅฅ็จ้็จๆจกๆฟๆๅป ็ๆจกๆฟ(ไพๅฆ Generic by SNMP、Cisco/Juniper/HPE ็ญ)
- ๅ็จ LLD(ไป้ข่ชๅๆข็ดข),ไธฆ้้่ฆๅ้ๆฟพไธ้่ฆ็ไป้ข(ไพๅฆ lo、vlan、tunnel)
ไป้ขๆต้ๅธธ่ฆ้ ็ฎ(ๆฆๅฟต):
ifInOctets / ifHCInOctets → ่ฝๆ็บ bps
ifOutOctets / ifHCOutOctets → ่ฝๆ็บ bps
ifInErrors / ifOutErrors
ifInDiscards / ifOutDiscards
๐ Grafana ๆดๅ:Zabbix Plugin + Data Source
๐งฉ 1) ๅฎ่ฃ Grafana Zabbix Plugin
Grafana ็ซฏไฝฟ็จ Zabbix App(alexanderzobnin-zabbix-app)。ๅธธ่ฆไฝๆณ:
# ๆนๅผ A:grafana-cli(่ฆไฝ ็ Grafana ็ๆฌ/็ฐๅข่ๅฎ)
sudo grafana-cli plugins install alexanderzobnin-zabbix-app
sudo systemctl restart grafana-server
ๅจ Grafana UI:
- Plugins(ๆ Apps) → ๆพๅฐ Zabbix → Enable
- Data sources → Add data source → ้ธ Zabbix
๐งฉ 2) ๅปบ็ซ Zabbix Data Source(API ๆจกๅผ)
ๅกซๅ ฅ:
- Zabbix API URL:
https://zabbix.example.com/api_jsonrpc.php - User / Password:ๅปบ่ญฐๅปบ็ซ「ๅช่ฎ่ง่ฒ」็ API ๅธณ่
- Trends / History:ไพไฝ ็่ณๆไฟ็็ญ็ฅ่ชฟๆดๆฅ่ฉข็ฏๅ
๐งฉ 3)(้ฒ้)Direct DB:็จ DB ็ด่ฎๆๅ้ทๆๆฎต/้ซ้ ป็ๆฟๆ่ฝ
่ฅไฝ ็ Grafana ็ๆฟๅพๅค、ๆ้็ฏๅๅพ้ท、ๆๆฅ่ฉข้ ป็้ซ,ๅปบ่ญฐไฝฟ็จ Direct DB ้ไฝ Zabbix API ๅฃๅ:
-- ๆฆๅฟต:ๅปบ็ซๅช่ฎๅธณ่(ไปฅ PostgreSQL ็คบๆ,ๅฏฆ้ๆฌ้้ไพ DB ็ๆฌ่ชฟๆด)
-- ๅปบ่ญฐๅชๆๆฌๅฟ
่ฆ่กจ:history / history_uint / trends / trends_uint
-- ๅปบ็ซๅธณ่
CREATE USER grafana_ro WITH PASSWORD 'CHANGE_ME';
-- ๆๆฌ(็คบๆ)
GRANT CONNECT ON DATABASE zabbix TO grafana_ro;
GRANT USAGE ON SCHEMA public TO grafana_ro;
GRANT SELECT ON history, history_uint, trends, trends_uint TO grafana_ro;
Grafana ็ซฏๅๆฐๅขไธๅ PostgreSQL/MySQL Data Source,ไธฆๅจ Zabbix Data Source ๅ งๅ็จ Direct DB(ไพ plugin ่ชชๆ่จญๅฎ)。
๐ ็ๆฟ่จญ่จ:KPI / ๅฎน้ / ๆต้(ๅฏ็ดๆฅๅฅ็จ็้ขๆฟๆ่ทฏ)
๐งญ ไผๆฅญ็ด「ไธ้ ็ธฝ่ฆฝ」ๅปบ่ญฐๅๅ
| ๅๅก | ้ขๆฟๅปบ่ญฐ | ็ฎ็ |
|---|---|---|
| ๆๅๅฅๅบท | Problems(่ฟ 1h/24h)、Top triggers、SLA(่ฅๆ) | ๅผ็ญ็ฌฌไธ็ผๅฐฑ่ฝๅคๆทๆฏๅฆ้ฒๅ ฅไบๆ ๆจกๅผ |
| ไธปๆฉ่ณๆบ | CPU/Load、Memory、Disk Usage、IOPS/Latency(่ฅๆ) | ๅฟซ้ๅฎไฝๆฏๅฆ่ณๆบ้ฃฝๅ |
| ็ถฒ่ทฏๆต้ | ๆ ธๅฟไป้ข In/Out bps、้ฏ่ชค/ไธๅ 、Top N ไป้ข | ๅคๆทๆฏๅฆๅก่ป、่ฟด่ทฏ、ไป้ข็ฐๅธธ |
| ๅฎน้่ถจๅข | ่ฟ 7/30/90 ๅคฉ่ถจๅข(Trends)、้ ๆธฌ็ท(ๅฏ้ธ) | ๅๅฎน้่ฆๅ่ๆก่ณผไพๆ |
๐งฉ SNMP ไป้ขๆต้้ขๆฟ(In/Out bps)่จญ่จ่ฆ้ป
- ็ตฑไธๆ็ฎๅฎไฝ:bps / Mbps / Gbps。
- ๅไธ้ขๆฟๅๆๅ็พ In/Out,้ก่ฒ่ๅไพไธ่ด。
- ็จ่ฎๆธ(Variables)ๅ「็ซ้ป/่จญๅ/ไป้ข」ๅๆ,่ฎ NOC ็ๆฟๅฏ้็จ。
- ้ๅฐๅคไป้ข:ๅ「Top N(ๆ้ซๆต้)ไป้ขๅ่กจ」,ๅฟซ้ๅฎไฝ็ฑ้ป。
๐งญ ่กๅๆธ ๅฎ:ไฝ ๅฏไปฅๅ ๅๅบ 3 ๅๆๆๆ้ขๆฟ
- Problems(่ฟ 1 ๅฐๆ):ๆๅด้ๅบฆๆๅบ,็ดๆฅ็ถๅผ็ญ้ฆ้ 。
- ๆ ธๅฟไบคๆๅจไธ่กไป้ขๆต้:In/Out bps + errors/discards。
- ้้ตๆๅไธปๆฉ่ณๆบ:CPU/Memory/Disk ่ถจๅข + ้พๅผ็ท。
๐จ ๅ่ญฆๆดๅ่ๅผ็ญ SOP ๅปบ่ญฐ
- ๅ่ญฆไธปๆงๅปบ่ญฐ็ๅจ Zabbix:่งธ็ผๅจ、ๅ็ด่ฆๅ、็ถญ่ญทๆ、้่ฏ/ๆๅถๆดๅฎๆด。
- Grafana ็จๆผ「่ฆ่ฆบๅ + ไบไปถ่ผๅฉ」:ๅจ็ๆฟไธๅ็พ Problems、่ฎๆธๅๆ、้่ฏๅ่กจ。
- ๅผ็ญ SOP ๅปบ่ญฐ:ๅ่ญฆ → ้ฃๅฐ Grafana ็ๆฟ(ๅ่จญๅ/ๅไป้ข/ๅๆ้็ช)→ ๅๅๅฐ Zabbix ๆฅไบไปถ็ดฐ็ฏ。
๐งฐ ็ถญ้:ไฟ็็ญ็ฅ、ๆ่ฝ、ๅธธ่ฆๆ้ฏ
๐งฉ 1) History / Trends ไฟ็็ญ็ฅ
- History(้ซ็ฒพๅบฆ):ไฟ็่ผ็ญ(ไพๅฆ 7~30 ๅคฉ)。
- Trends(ๅฝ็ธฝ):ไฟ็่ผ้ท(ไพๅฆ 180~365 ๅคฉไปฅไธ)。
- ๅคง้ๆๅบ่ณๆ่ซ้ๆณจ DB I/O ่ๅๅ็ญ็ฅ(ๅคงๅ็ฐๅขๅปบ่ญฐ่ฆๅ)。
๐งฉ 2) ๅธธ่ฆๅ้กๆๆฅ
# Server ๆๅ็ๆ
sudo systemctl status zabbix-server
sudo journalctl -u zabbix-server -n 200 --no-pager
# Agent2 ๆๅ็ๆ
sudo systemctl status zabbix-agent2
sudo journalctl -u zabbix-agent2 -n 200 --no-pager
# ๅ็ซฏ PHP / Web
sudo systemctl status nginx
sudo journalctl -u nginx -n 200 --no-pager
- Grafana ้ขๆฟ็ก่ณๆ:ๅ ็ขบ่ช Zabbix ่ฉฒ Item ๅจ Zabbix ็ซฏๆฏๅฆๆๆๆฐๅผ;ๅๆชขๆฅ Grafana Data Source ๆฏๅฆ้ฃๅฐๆญฃ็ขบ API URL;ๆๅพๆชขๆฅ Grafana ๆ้็ฏๅ่ๆๅ。
- SNMP ็ก่ณๆ:็ขบ่ช SNMP ็ๆฌ/Community(ๆ v3)、ACL、Firewall;ๅฟ ่ฆๆๅจ Zabbix Server/Proxy ไธ็จ snmpwalk ้ฉ่ญ。
- ๅคง้้ขๆฟๆฅ่ฉขๅพๆ ข:ๅชๅ ๅ็จ Trends、็ธฎๅฐๆ้็ช、ๆๅฐๅ ฅ Direct DB。
๐ ๅ่่ณๆ(ๅฎๆนๆไปถ)
- Zabbix 7.0 LTS What's new:https://www.zabbix.com/whats_new_7_0
- Zabbix Life cycle & Release policy:https://www.zabbix.com/life_cycle_and_release_policy
- Zabbix ๅฎๆนไธ่ผ้ (็ข็ๅฎ่ฃๆไปค):https://www.zabbix.com/download?zabbix=7.0
- Grafana Zabbix Plugin(Configuration):https://grafana.com/docs/plugins/alexanderzobnin-zabbix-app/latest/configuration/
- Grafana Zabbix Plugin(Direct DB):https://grafana.com/docs/plugins/alexanderzobnin-zabbix-app/latest/configuration/direct-db-datasource/
๐ฌ ไบๅ็่จๅผๅฐ
่ฅไฝ ๆญฃๅจๅฐๅ ฅ Zabbix / Grafana,ๆญก่ฟๅจ็่จๅๅไบซไฝ ็็ฐๅข่้ๅฐ็ๅ้ก,ๆๅฏไปฅ็จ「ๅฏ็ดๆฅ่ฝๅฐ」็ๆนๅผๅๅฉไฝ ๆ้ค่ๅชๅ:
- ไฝ ็ OS / Zabbix ็ๆฌ / DB(MySQL ๆ PostgreSQL)/ Web Server(Nginx ๆ Apache)
- ็ฎๅๆก้ๆนๅผ:Agent2 / SNMP / Proxy(ๆ็ก่ทจ็ซ้ป)
- ไฝ ๆณๅ็็ๆฟ:ๆ ธๅฟๆต้、Top N ไป้ข、ๆๅๅฅๅบท、ๅฎน้่ถจๅข、SLA ็ญ
- ไฝ ๅกไฝ็้ป:็ก่ณๆ、ๆฅ่ฉขๅพๆ ข、SNMP ๆขไธๅฐ、ๅ่ญฆๅคชๅค、ๅผ็ญๆต็จไธ้ ็ญ
ๆฒๆ็่จ:
ๅผต่ฒผ็่จ