๐ Zabbix ไปฃ็่ไธปๅ็ฃๆง:ๆจกๆฟ่จญ่จ่่งธ็ผๆขไปถ่ชฟๆ ก
ๅจๅคงๅ็ฐๅข(ๅค็ซ้ป、ๅค็ถฒๆฎต、่ทจ้ฒ็ซ็、ๆ้ ปๅฏฌ/ๅปถ้ฒไธ็ฉฉ)ๅฐๅ ฅ Zabbix ๆ,ๆๅธธ้ๅฐ็ๅ ฉไปถไบๅฐฑๆฏ:
- ็ฃๆง้ป่ถๅค,Zabbix Server ๅฃๅ่ถๅคง(poller / history sync / DB I/O ไธ่ตท้ฃ)。
- ๅ่ญฆ่ถๅค,่ถๅฎนๆ「็ๅ้ฃ่พจ」(้พๅผๅคช็ท、ๆๅ、้่คไบไปถ、ๆๆ นๅ ๆฒ่ขซๅธ้กฏ)。
้็ฏ็จ「Zabbix Proxy + Active Check」็ถไฝๆ ธๅฟ,ๅธถไฝ ๆๆจกๆฟ(Template)่่งธ็ผๆขไปถ(Trigger)ๅๆๅฏ็ถญ่ญท、ๅฏๆดๅฑ、ไนๆด่ฒผ่ฟๅฏฆๅ็็ๆฌ。
๐ ็ฎ้
- 1. Proxy ่ Active Check ็ๅฎไฝ
- 2. ๆถๆง่ๆต้่ทฏๅพ(่ชฐ้ฃ่ชฐ)
- 3. Proxy ๅฎ่ฃ่ๅบๆฌ่จญๅฎ่ฆ้ป
- 4. ไธปๅ็ฃๆง(Active Check)่จญ่จ็ญ็ฅ
- 5. ๆจกๆฟ่จญ่จ:Item / Trigger / Graph / LLD
- 6. ่งธ็ผๆขไปถ่ชฟๆ ก:ๅปๆๅ、้ๅช、ๆๆ นๅ
- 7. ไธ็ท่้ฉๆถ:้ๆญฅ rollout ็ๅๆณ
- 8. ๅธธ่ฆๅ้กๆๆฅๆธ ๅฎ
- FAQ
- ๐ ๅปถไผธ้ฑ่ฎ
1. Proxy ่ Active Check ็ๅฎไฝ
✅ Zabbix Proxy ๆฏไป้บผ?
Zabbix Proxy ๆฏ「็ซ้ปๅด็็ฃๆงๅๅจ็ซ」:ๅฎๅฏไปฅไปฃๆฟ Zabbix Server ๅปๆถ่ณๆ、ๆซๅญ่ณๆ、ๅๅ้ๅฐ Server。 ๅฅฝ่ๆฏ:
- ้ไฝ Zabbix Server ็็ด้ฃๅฃๅ(poller ๆธ้、้ฃ็ทๆธ、่ทจ็ถฒๆฎตๅปถ้ฒ)。
- ็ซ้ป็ญๆซๆท็ทๆ,Proxy ๅฏ็ทฉ่ก่ณๆ,ๆขๅพฉๅพๅ่ฃ้。
- ่ทจ้ฒ็ซ็ๆ,Proxy ๅฏๅๆ「ๅฎๅๅฏๆง」็้ฃ็ท็ญ็ฅ(ๆดๅฎๅ จ、ๆดๅฅฝ็ถญ้)。
✅ Active Check(ไธปๅ็ฃๆง)ๆฏไป้บผ?
Active Check ็ๆฆๅฟตๆฏ「Agent ไธปๅๅบๅปๆฟ่จญๅฎ,ๅไธปๅๅๅ ฑ่ณๆ」:
- Agent →(ไธปๅ้ฃ็ท)→ Server / Proxy
- Agent ๅๅพๅพ ็ฃๆง็ item ๆธ ๅฎๅพ,ๅฎๆๆ่ณๆ push ๅๅป
็นๅฅ้ฉๅ้ไบๆ ๅข:
- ็ซ้ปๅ งไธปๆฉ็กๆณ่ขซ Server/Proxy ๅๅ้ฃๅ(NAT、ๅดๆ ผ ACL、้ถไฟกไปป็ถฒๆฎต)。
- ๅคง้็ซฏ้ป(ๆกๆฉ、็ญ้ป、POS、IoT)ไธ้ฉๅ่ขซๅ่ผช่ฉข。
- ๅธๆ้ไฝ poller ๅฃๅ,ๆนๆ็ซฏ้ปๅๆฃๅๅ ฑ。
ไธๅฅ่ฉฑ: Proxy ่งฃๆฑบ「ๆถ้่็ทฉ่ก」,Active Check ่งฃๆฑบ「้ฃ็ทๆนๅ่่ฒ ่ผๅๆฃ」。ๅ ฉ่ ๆญ่ตทไพ้ๅธธๅฐฑๆฏๅคง่ฆๆจก็ฐๅข็ๆจ้ 。
2. ๆถๆง่ๆต้่ทฏๅพ(่ชฐ้ฃ่ชฐ)
ๅ ธๅๆจกๅผ A:Proxy ๅจ็ซ้ปๅ งๆถ่ณๆ(่ขซๅ + ไธปๅๆททๅ)
[Agents (Passive/Active)] → [Zabbix Proxy] → [Zabbix Server] → [DB]
- ็ซ้ปๅ ง็ซฏ้ปๅค:Agent ่ขซๅ(Proxy poll)ๆไธปๅ(Agent push)้ฝๅฏไปฅ。
- ็ซ้ปๅฐๅคๅช้่ฆๅ ่จฑ Proxy → Server ็ไธๆข่ทฏ(ๆดๅฅฝๆง)。
ๅ ธๅๆจกๅผ B:็ซฏ้ปไธปๅๅๅ ฑๅฐ Proxy(ไธปๅ็บไธป)
[Agents (Active)] → [Zabbix Proxy] → [Zabbix Server] → [DB]
- ่ทจ็ถฒๆฎต、่ทจ้ฒ็ซ็、NAT:ๅช่ฆ็ซฏ้ป่ฝไธปๅๆๅฐ Proxy ๅณๅฏ。
- Proxy ๅ้ไธญๅ้ๅฐ Server。
3. Proxy ๅฎ่ฃ่ๅบๆฌ่จญๅฎ่ฆ้ป
ไปฅไธไปฅ「Proxy + SQLite」ๅ็คบ็ฏ(ๅฐไธญๅ็ซ้ปๅพๅฏฆ็จ、้จ็ฝฒๅฟซ)。่ฅ็ซ้ปๅพๅคงๆ Proxy ๅฃๅ้ซ,ๅๆน PostgreSQL/MySQL。
3.1 Proxy ่จญๅฎๆ ธๅฟๅๆธ(zabbix_proxy.conf)
### Proxy identity
Server=10.0.0.10 # Zabbix Server IP/DNS
Hostname=SITE-A-PROXY # ๅฟ
้ ่ Zabbix ๅๅฐๅปบ็ซ็ Proxy ๅ็จฑไธ่ด
### Proxy mode
ProxyMode=0 # 0=active proxy(Proxy ไธปๅ้ฃๅ Server)ๅปบ่ญฐ
# ProxyMode=1 # 1=passive proxy
### Local DB(็คบ็ฏ SQLite)
DBName=/var/lib/zabbix/zabbix_proxy.db
### Cache / queue
CacheSize=256M
HistoryCacheSize=128M
HistoryIndexCacheSize=64M
Timeout=4
### Logs
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
ๅปบ่ญฐ: ProxyMode ไฝฟ็จ active proxy(Proxy ไธปๅ้ฃๅ Server),่ทจ้ฒ็ซ็ๆๆ็ไบ;ๅๆไฝ ๅช่ฆๅจ Server ๅด้ไธๅๆธ
ๆฅ็ๆฅๆถ่ฆๅๅณๅฏ。
3.2 Proxy ๅจ Zabbix ๅๅฐ็่จญๅฎ้้ป
- Administration → Proxies:ๅปบ็ซ Proxy,ๅ็จฑ่ฆ่
Hostnameๅฎๅ จไธ่ด。 - Proxy mode:Active(้ๅธธๆด็ฉฉ)
- Hosts ๆๆดพ:ๆ็ซ้ปๅ ง็ไธปๆฉๆๆดพๅฐ่ฉฒ Proxy
4. ไธปๅ็ฃๆง(Active Check)่จญ่จ็ญ็ฅ
4.1 Agent2(ๅปบ่ญฐ)Active ่จญๅฎ็คบ็ฏ
### /etc/zabbix/zabbix_agent2.conf
Server=127.0.0.1
ServerActive=10.0.1.20 # Proxy IP(ๅปบ่ญฐๆๅ็ซ้ป Proxy)
Hostname=HOST-001 # ๅฟ
้ ่ๅๅฐ host name ไธ่ด
### ไธปๅๅๅ ฑ้ ป็็ธ้(ไพ็ฐๅข่ชฟๆด)
RefreshActiveChecks=120
่ฅไฝ ๅธๆ「็ซฏ้ปๅชๅบ็ซ、ไธๅ ฅ็ซ」,้ฃๅฐฑไปฅ Active Check ็บไธป:
- ้ฒ็ซ็ๅช้ๅ ่จฑ Agent → Proxy(้ๅธธ 10051/tcp)。
- Proxy ๅๅ้ Server,ไธๅฟ ่ฎ Server ็ดๆฅ็ขฐ็ซ้ป็ซฏ้ป。
4.2 Active Check ็「ๅคง่ฆๆจก」ๆณจๆไบ้
- ไธ่ฆๆๆๆ item ้ฝๅๆ็ง็ดๆดๆฐ(้ฃๆ่ฎๆ่ชๅทฑๆ่ชๅทฑ)。
- ๆ「้ซ้ ป(10~30s)」็็ตฆ้้ตๆๅ(ๆ ธๅฟ DB / API / GW),ๅ ถ้คไปฅ 60~300s ็บไธป。
- ๆ「่ณๆ้ๅทจๅคง」็้ ็ฎ(ไพๅฆๅคง้ log / ๅค็ถญๅบฆ็ตฑ่จ)ๆน็จ LLD ๆๆกๆจฃ。
5. ๆจกๆฟ่จญ่จ:Item / Trigger / Graph / LLD
5.1 ๆจกๆฟๅๅฑค:ๅ ฑ็จๅฑค + ่ง่ฒๅฑค
ๅปบ่ญฐไฝ ๆๆจกๆฟๅๆๅ ฉๅฑค(็ถญ่ญทๆๅทฎ้ๅธธๅค):
- ๅ ฑ็จๅฑค:OS ๅบ็ค(CPU/RAM/Disk/Net)、ๆ้ๅๆญฅ、ๅบๆฌๅฏ็จๆง
- ่ง่ฒๅฑค:DB、Web、Cache、Queue、Proxy、Firewall…(ไพไธปๆฉ่ง่ฒๅฅ็จ)
5.2 Item ่จญ่จ:ๅ ๆฑบๅฎ「่ฆๅ็ญ็ๅ้ก」
ไธๅๅฅฝ Item ไธๆฏ「่ฝๆๅฐ」่ๅทฒ,่ๆฏ่ฆๅ็ญ้ๅนพ็จฎๅ้ก:
- ็พๅจ็ๆ ๅฆไฝ?(current)
- ่ถจๅขๅฆไฝ?(trend)
- ๆ นๅ ๅฏ่ฝๅจๅช?(diagnostic)
็ฏไพ(Linux):
system.cpu.util[,user]
vm.memory.size[available]
vfs.fs.size[/,pfree]
net.tcp.service[http,,80]
5.3 Trigger ่จญ่จ:ๅ ๅ「ๅด้ๅบฆๅ็ด」
ๅฏฆๅๅปบ่ญฐ่ณๅฐๅไธ็ด(ไฝ ๅพ็บ็ๅ่ญฆ่ทฏ็ฑ/ๅผ็ญๆๆๅฅฝๅ):
- Info:ๅฏ่งๅฏ,ไฝไธๆฅ(ไพๅฆ็ญๆซๅฐๅณฐ)
- Warning:้่ฆ่็(ไพๅฆๆ็บ้ซ่ฒ ่ผ/็ฉบ้้ผ่ฟ)
- High/Disaster:็ซๅณ่็(ๆๅไธญๆท、็ฃ็ขๆปฟ、DB down)
็ฏไพ Trigger(็ฃ็ข็ฉบ้,ๅซๆๅ้ๆฟพ):
{Template OS Linux:vfs.fs.size[/,pfree].max(5m)}<10
AND
{Template OS Linux:vfs.fs.size[/,pfree].min(5m)}<12
ไธ้ข็จ max(5m) ่ min(5m) ๅ「้ฃ็บๆง」ๅคๆท,ๆฏๅฎ้ปๅผๆดไธๅฎนๆ่ชคๅ ฑ。
5.4 LLD(่ชๅ็ผ็พ)็ญ็ฅ:ๆ「ๆ่ฎๅ็ๆฑ่ฅฟ」ไบค็ตฆๆฉๅจ
ๆๅธธ็จ LLD ็้ ็ฎ:
- ็ฃ็ข/ๆ่ผ้ป(ๆฐๅ ็ค、ๆฐ mount)
- ็ถฒๅกไป้ข(ๆฐๅข bond/vlan)
- ๆๅ/็จๅบ(ๅคๅฏฆไพ)
็คบไพ:ๅฐๆๆๆ่ผ้ป่ชๅ็ข็ๅฉ้ค็ฉบ้ๅ่ญฆ(ๆฆๅฟต็คบๆ)
LLD rule:vfs.fs.discovery
Item prototype:vfs.fs.size[{#FSNAME},pfree]
Trigger prototype:
{Template OS Linux:vfs.fs.size[{#FSNAME},pfree].min(10m)}<10
6. ่งธ็ผๆขไปถ่ชฟๆ ก:ๅปๆๅ、้ๅช、ๆๆ นๅ
6.1 ไธๅๆๆๆ็้ๅชๆๅทง
ๆๅทง A:็จๆ้็ชๅคๆท(min/max/avg)
{host:key.min(5m)}<threshold
ๆๅทง B:็จ hysteresis(ๅๅพฉๆขไปถไธๅๆผ่งธ็ผๆขไปถ)
ไพๅฆ:CPU > 90% ๆ็บ 10 ๅ้ๆๅ่ญฆ;ๅๅพฉ้้ๅฐ 70% ๆ็บ 5 ๅ้。
ๆๅทง C:็จไพ่ณด้ไฟ(Trigger dependencies)ๆๆ นๅ
็ถ「ไธๆธธๆท็ท」ๆ,่ฎไธๆธธๅ่ญฆ่ขซๆๅถ,้ฟๅ ไธๆท็ทๅ จ็ซ็ด ไธ็。
- ไพ:็ซ้ป Gateway Ping Down → ไพ่ณดๅฎ็ๆๅๅ่ญฆๅ จ้จๆๅถ
- ไพ:DB Down → API error rate ็ๅ่ญฆๅฏไปฅไพ่ณด DB
6.2 ๅปบ่ญฐ็่ชฟๆ ก้ ๅบ(ๅพ็ๆ้)
- ๅ ๆ「ๆ็ขบไธญๆท」้ก(ๆๅ down、ping ๆท、port ๆท)ๅๆบ。
- ๅๅ「่ณๆบ่็ก」้ก(disk、inode、memory、fd、conn)。
- ๆๅพๆๆฏ「ๆ่ฝ้ๅ」้ก(latency、qps、response time、queue)。
6.3 Proxy / Active Check ็นๆ็็ฒ้ป:ไฝ ่ฆๅๆธ ๆฅ「็ซฏ้ปๅ้ก」้ๆฏ「ๅๅ ฑ่ทฏๅพๅ้ก」
- ็ซฏ้ป็็ๆฒ่ณๆ?(agent ๆไบ、key ๅคฑๆ)
- ็ซฏ้ปๆ่ณๆ,ไฝๅๅ ฑๅกไฝ?(Proxy queue、history sync)
ๅ ๆญคๅปบ่ญฐไฝ ๅจ Proxy ไธไน็ฃๆง้ไบ:
- Proxy queue size / history sync ็ๆ
- Proxy ่ช่บซ CPU / I/O / DB(SQLite ๆชๆกๅคงๅฐ、ๅฏซๅ ฅๅปถ้ฒ)
- Proxy ↔ Server ็ถฒ่ทฏๅปถ้ฒ/ไธๅ
7. ไธ็ท่้ฉๆถ:้ๆญฅ rollout ็ๅๆณ
- ๅ ๆ 5 ๅฐไปฃ่กจๆงไธปๆฉ(ไธๅ่ง่ฒ:DB/Web/ไธ่ฌไธปๆฉ/็ซ้ป้็)。
- ๆจกๆฟๅ ไธๅ ฑ็จๅฑค,่งๅฏ 48 ๅฐๆ,ไฟฎๆญฃ่ชคๅ ฑ。
- ๅ้ๆญฅๅ ๅ ฅ่ง่ฒๅฑคๆจกๆฟ(ๆฏๆฌกๅชๅ ไธๅฑค,ๅฎนๆๅฎไฝๅช้ณไพๆบ)。
- ๅ่ญฆๅไฝ(email/IM/ๅทฅๅฎ)ๆๅพๆ้,้ฟๅ ไธ้ๅงๅฐฑ่ขซๆด็。
้ฉๆถๆๆจๅปบ่ญฐ:
- ๅ่ญฆๆธ้ไธ้,ไฝ็ๆญฃ็ฐๅธธๆ่ขซๆๅฐ(ๅช้ณไธ้、ๅฝไธญ็ไธๅ)
- Proxy queue ไธ้ทๆๅ ็ฉ(็ซ้ปๆท็ทๅฏๆฅๅ,ไฝๆขๅพฉๅพ่ฝ่ฟฝไธ)
- Zabbix Server poller / DB I/O ๆๆ้กฏ็ทฉ่งฃ
8. ๅธธ่ฆๅ้กๆๆฅๆธ ๅฎ
8.1 Active Check ๆฒ่ณๆ
- ็ขบ่ช host name ๆฏๅฆๅฎๅ จไธ่ด(Agent ็ Hostname vs ๅๅฐ host name)。
- ็ขบ่ช Agent ่ฝ้ฃๅฐ Proxy ็ 10051/tcp。
- ็ขบ่ชๅๅฐ host ็็ฃๆง้ ็ฎ็ขบๅฏฆๆฏ「Zabbix agent (active)」。
- ๆฅ็ Agent log:ๆฏๅฆๆฟๅพๅฐ active check ๆธ ๅฎ。
8.2 Proxy queue ๅ ็ฉๅพไน
- Proxy ๆฌ่บซ่ณๆบไธ่ถณ(I/O、CPU、็ฃ็ขๆปฟ、DB ้ๅคง)。
- Proxy ↔ Server ็ถฒ่ทฏไธ็ฉฉ(ๅปถ้ฒ、ไธๅ 、้ ปๅฏฌไธ่ถณ)。
- CacheSize ๅคชๅฐๅฐ่ด้ ป็น flush/้่ฉฆ(้่ชฟๅคง)。
8.3 ๅ่ญฆๅคชๅค、่ชคๅ ฑๅค
- ๆ「ๅฎ้ปๅคๆท」ๆนๆ「ๆ้็ชๅคๆท」:min/max/avg。
- ๅ ไธไพ่ณด้ไฟ(ไธๆธธๆท็ทๆๆๅถไธๆธธ)。
- ๆๅ่ญฆๅ็ด,ไธฆๆไฝๅด้ๅบฆๅ่ญฆๅ ไธ่ฆๆจ้ๅฐๅณๆ้็ฅ。
FAQ
Q1:็ซ้ป่ฆ็จ Proxy ็ DB ็จ SQLite ้ๆฏ PostgreSQL?
็ซ้ปๅฐ(ๅนพๅๅฐไธๅ ฉ็พๅฐ)ไธไฝ ่ฟฝๆฑ้จ็ฝฒๅฟซ、็ถญ่ญทๅฐ:SQLite ้ๅธธๅพๅค ็จ。 ่ฅ็ซ้ปๅคง、่ณๆ้้ซ、ๆ Proxy ๅฃๅ้ทๆๅ้ซ:็จ PostgreSQL/MySQL ๆๆด็ฉฉ。
Q2:Active Check ไธๅฎๆฏ Passive ๅฅฝๅ?
ไธๆฏ็ตๅฐ。Active ๆด้ฉๅ「็ซฏ้ปไธๅฏ่ขซ้ฃๅ」่「ๆณๆ่ฒ ่ผๅๆฃ」็ๆ ๅข;Passive ๅๅจๅ ง็ถฒ็ฉฉๅฎ、็ถฒ่ทฏๆๆจธๅฎ็ดๆๅพ็ด่ฆบ。 ๅฏฆๅไธๅธธๆฏๆทท็จ:้้ตๆๅ/่ทจ็ถฒๆฎต็ซฏ้ป็จ Active,ๅ ถ้ค็จ Passive。
Q3:ๆจกๆฟ่ฆไธ่ฆ「ไธๅฐไธๅฅ」ๅฎข่ฃฝ?
ไธๅปบ่ญฐ。ๆจกๆฟ็ๅนๅผๅฐฑๆฏๅฏ้็จ่ๅฏ็ถญ่ญท。 ่ฅ็็่ฆๅฎข่ฃฝ,ๅชๅ ็จ:User macros({$THRESHOLD})、Host tags、ๆ Template inheritance(ๅๅฑค)。
ไฝ ๆฏ็จ Active、Passive,้ๆฏๆทท็จ?Proxy ็จ SQLite ้ๆฏ PostgreSQL?
่ฅไฝ ้กๆ่ฒผไธไธไฝ ็่ฆๆจก(ไธปๆฉๆธ、็ซ้ปๆธ、DB ้กๅ、ๅนณๅๅ่ญฆ้),ๆๅฏไปฅๅนซไฝ ไธ่ตทๆๆจกๆฟๅๅฑค่่งธ็ผๆขไปถๅๅพๆด่ฒผ่ฟไฝ ็ๅฏฆ้็ๆณ。
ๆฒๆ็่จ:
ๅผต่ฒผ็่จ