zabbix agent主動模式監(jiān)控
在我們的zabbixserver端主機(jī)數(shù)量過多的時候响蓉,如果有由server端去收集數(shù)據(jù)酷含,zabbix會出現(xiàn)嚴(yán)重的性能問題鄙早,主要的表現(xiàn)有3點(diǎn)
- 當(dāng)被監(jiān)控端到達(dá)一個量級的時候,web會操作卡椅亚,容易出現(xiàn)502
- 圖層斷裂 也就是數(shù)據(jù)丟失
- 開啟的進(jìn)程太多 即使減少item的數(shù)量限番,以后加入機(jī)器也會出現(xiàn)問題
既然這么容易出問題,那么肯定有非常好的解決方案
- 添加proxy節(jié)點(diǎn)做分布式監(jiān)控
- 調(diào)整agentd為主動模式
我們先來說一下主動模式
首先了解一下什么是主動模式 什么是被動模式
主動模式就是主動發(fā)起請求到zabbix server 詢問我需要干的事情
并主動把數(shù)據(jù)發(fā)給zabbixserver
被動模式就是等待zabbix server主動請求我的數(shù)據(jù)
server端和agent端的關(guān)系
如果server端是主動呀舔,那么agent端就是被動
如果agentd端是被動弥虐,那么server就是主動
第一步是修改我們的agentd配置文件
172.16.147.26 agentd
172.16.147.23 server
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm
yum -y install zabbix-agent zabbix-proxy-mysql
grep '^[a-Z]' /etc/zabbix/zabbix-agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
StartAgents=0
ServerActive=172.16.147.26
Hostname=linuxnode2
RefreshActiveChecks=60
BufferSize=200
Timeout=10
Include=/etc/zabbix/zabbix_agentd.d/*.conf
客戶端agent模式扩灯,設(shè)置為0表示關(guān)閉被動模式,被監(jiān)控端的 zabbix_agentd 不監(jiān)聽本地端口霜瘪,所以無法在 netstat -tunpl 中查看到zabbix_agentd進(jìn)程
取值范圍:0-100
默認(rèn)值:3
zabbix啟動之后開啟被動監(jiān)控的進(jìn)程數(shù)量珠插,如果設(shè)置為0,那么zabbix被動監(jiān)控被禁用颖对,并且不會監(jiān)聽相應(yīng)端口捻撑,也就是說10050端口不會開啟。
Server=10.10.10.201 如果設(shè)置為純被動模式缤底,則應(yīng)該注釋掉這一條指令
ServerActive=... #主動模式的server IP地址
Hostname=test_host #重要:客戶端的hostname顾患,不配置則使用主機(jī)名
RefreshActiveChecks=120 #被監(jiān)控端到服務(wù)器獲取監(jiān)控項(xiàng)的周期,默認(rèn)120s即可
BufferSize=200 #被監(jiān)控端存儲監(jiān)控信息的空間大小
Timeout=10 #超時時間
第二步調(diào)整監(jiān)控模板
我們一般做ACTIVE是修改我們模板里面的items改為active模式
- 點(diǎn)擊template OS linux 模板名稱
- 點(diǎn)擊最下方的full clone 完全克隆
- 修改名字 template OS linux Active
- 點(diǎn)擊添加
- 進(jìn)入模板列表找到剛才添加的模板 并點(diǎn)擊監(jiān)控項(xiàng)
- 全選
- 最下方找到批量更新
- 類型打鉤 選擇主動模式
- 更新
第三步 添加主機(jī)
- 配置主機(jī)
- 配置模板完成
添加完成后个唧,你會發(fā)現(xiàn)zabbix的Z燈不亮 因?yàn)槟闶褂玫氖侵鲃幽J?/li>
proxy代理模式
zabbix proxy 只是一個進(jìn)程 需要一個數(shù)據(jù)庫 沒有web界面 不會處理事件 也不會發(fā)送郵件 只是一個采集數(shù)據(jù)的功能
千萬要注意數(shù)據(jù)庫 如果你數(shù)據(jù)庫配置錯誤 不會報數(shù)據(jù)庫錯誤 只會包獲取不到數(shù)據(jù)
需要數(shù)據(jù)庫
yum -y install zabbix-proxy-mysql
find / -name schema.sql
create database zabbix_proxy charset utf8;
grant all on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';
讀寫 用proxy_r proxy_rw flush provilges
use zabbix_proxy
source /usr/share/doc/zabbix-proxy-mysql/create/schema.sql
hostnanme= proxy-node1 zabbixserver就是靠這個來識別
[root@vagrant-centos65 zabbix]# grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf
ProxyMode=0
Server=172.16.83.15
Hostname=proxy-node1
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix
DBSocket=/tmp/mysql.sock
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
[root@vagrant-centos65 zabbix]# grep '^[a-Z]' /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
ListenPort=10050
StartAgents=0
ServerActive=172.16.83.14
Hostname=linux_node3
Include=/etc/zabbix/zabbix_agentd.d/*.conf
再來一個配置文件 注意一個關(guān)鍵點(diǎn) 如果獲取不到數(shù)據(jù)很有可能就是database沒有配置好(老師踩過2次坑了)
[root@vagrant-centos65 zabbix]# grep '^[a-Z]' /etc/zabbix/zabbix_proxy.conf
ProxyMode=0
Server=172.16.147.23
Hostname=proxy_node1
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_proxy.pid
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
web添加 proxy
- 主動模式
- 使用proxy的方式 代理