先记一下命令,查看zabbix服务器进程是否起来的
# netstat -ntpl | grep zabbix
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 2273/zabbix_server
tcp6 0 0 :::10051 :::* LISTEN 2273/zabbix_server
查看Zabbix日志的
# tail /var/log/zabbix/zabbix_server.log
Cannot adopt OID in UCD-SNMP-MIB: laLoad ::= { laEntry 3 }
Cannot adopt OID in UCD-SNMP-MIB: laNames ::= { laEntry 2 }
Cannot adopt OID in UCD-SNMP-MIB: laIndex ::= { laEntry 1 }
2321:20181125:233058.077 server #31 started [preprocessing worker #1]
2322:20181125:233058.077 server #32 started [preprocessing worker #2]
2323:20181125:233058.077 server #33 started [preprocessing worker #3]
修改server配置,增加CacheSize,我的虚拟机内存8G,所以改成下面这样。
/etc/zabbix/zabbix_server.conf
### Option: CacheSize
# Size of configuration cache, in bytes.
# Shared memory size for storing host, item and trigger data.
#
# Mandatory: no
# Range: 128K-8G
# Default:
CacheSize=2G
...
### Option: HistoryIndexCacheSize
# Size of history index cache, in bytes.
# Shared memory size for indexing history cache.
#
# Mandatory: no
# Range: 128K-2G
# Default:
HistoryIndexCacheSize=512M
...
### Option: ValueCacheSize
# Size of history value cache, in bytes.
# Shared memory size for caching item history data requests.
# Setting to 0 disables value cache.
#
# Mandatory: no
# Range: 0,128K-64G
# Default:
ValueCacheSize=400M
OK,接着上次写的,增加华为路由器和ONT设备。
其实很简单,只要注意你的community字串不要写错了,使用SNMP的都按同样流程添加,第一步,创建主机 Hosts - Create host

添加SNMPv2的community字串,就是在Macro里对”{$SNMP_COMMUNITY}“ 变量赋值,右边的Value里填写的是你自己的密码。

链接模板。路由器设备要看端口流量等信息,可以使用 “Template Module Interfaces SNMPv2”,“Template Module EtherLike-MIB SNMPv2”类似模板,思科华为等厂商有预制模板,看你要监控什么内容。

添加完以后,过一会在hosts页面就可以看到 “Availability"这一列下面的SNMP变绿了,表示成功添加上了。
OK, 现在配置自动发现,自动发现有三种方式:自动网络发现,主动客户端注册,低级别发现。
我有一个/24的网段内全是路由器的Loopback0地址,要做到扫描这个网段,并添加所有路由器,使用第一种方式,自动网络发现。
在Configuration - Discovery 页面,点击 ”Create discovery rule",输入名称,扫描的地址段,增加一个“Check”的规则。我使用 了SNMPv2 agent "1.3.6.1.6.3.10.2.1.3.0",意思是检查通过SNMP能否获取OID是"1.3.6.1.6.3.10.2.1.3.0"值。

然后添加Actions,这里我添加了以下4个条件,一般也就是添加这几项,如果是主机的话就把Service type改成Zabbix客户端。

最后添加动作,基本上也就是添加主机,加入组,连接模板,启用主机这几项。

这三步搞定以后,就可以坐等添加主机了。
要注意的是,添加的主机名如果在 /etc/hosts里没有写好的话,发现的主机名就是IP地址,最好先编辑好hosts文件,自动发现的主机名会根据这个来。
另外,如果要在发现的时候就添加community字符串,可以自动创建一个模板,在宏那里,添加SNMP Community字串就好可以。

明天继续写主机自动注册的方式,用于添加我的linux主机。