zabbix3.4.7实操总结一

时间:2023-03-09 21:55:30
zabbix3.4.7实操总结一

一、zabbix_server的配置说明

#需要修改的内容为如下:
[root@localhost ~]# cd /usr/local/zabbix/etc/
[root@localhost etc]# cat -n zabbix_server.conf | sed -n '12p;38p;87p;103p;111p;118p;136p;165p;181p;297p;447p'
12 # ListenPort=10051
38 LogFile=/tmp/zabbix_server.log
87 DBName=zabbix
103 DBUser=zabbix
111 # DBPassword=
118 # DBSocket=/tmp/mysql.sock
136 # StartPollers=5
165 # StartTrappers=5
181 # StartDiscoverers=1
297 # ListenIP=0.0.0.0
447 # AlertScriptsPath=${datadir}/zabbix/alertscripts

#将zabbix_server.conf文件内容修改成如下所示:
[root@localhost etc]# cat -n zabbix_server.conf | sed -n '12p;38p;87p;103p;111p;118p;136p;165p;181p;297p;447p'
12 ListenPort=10051 #zabbix server监听端口
38 LogFile=/tmp/zabbix_server.log #zabbix server日志路径
87 DBName=zabbix #zabbix server连接MySQL数据库的数据库名
103 DBUser=zabbix #zabbix server连接MySQL数据库的用户名
111 DBPassword=123123 #zabbix server连接MySQL数据库的密码
118 DBSocket=/tmp/mysql.sock #MySQL的实例文件位置
136 StartPollers=5 #用于设置zabbix server服务启动时启动Pollers(主动收集数据进程)的数量,数量越多,则服务端吞吐能力越强,同时对系统资源消耗越大
165 StartTrappers=10 #用于设置zabbix server服务启动时启动Trappers(负责处理Agentd推送过来的数据的进程)的数量。Agentd为主动模式时,zabbix server需要设置这个值大一些。
181 StartDiscoverers=10 #用于设置zabbix server服务启动时启动Discoverers进程的数量,如果zabbix监控报Discoverers进程忙时,需要提高该值。
297 ListenIP=0.0.0.0 #zabbix server启动的监听端口对哪些ip开放,Agentd为主动模式时,这个值建议设置为0.0.0.0
447 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix server运行脚本存放目录,一些供zabbix server使用的脚本,都可以放在这里。

二、zabbix_agent的配置说明

zabbix agent端的配置文件

#需要修改的内容如下所示:
[root@Zabbix_Server ~]# cd /etc/zabbix/
[root@localhost zabbix]# cat -n zabbix_agentd.conf | sed -n '13p;32p;95p;103p;120p;136p;147p;265p;284p'
13 PidFile=/var/run/zabbix/zabbix_agentd.pid
32 LogFile=/var/log/zabbix/zabbix_agentd.log
95 Server=127.0.0.1
103 # ListenPort=10050
120 # StartAgents=3
136 ServerActive=127.0.0.1
147 Hostname=Zabbix server
265 Include=/etc/zabbix/zabbix_agentd.d/*.conf
284 # UnsafeUserParameters=0 #将内容修改为如下所示:
[root@localhost zabbix]# cat -n zabbix_agentd.conf | sed -n '13p;32p;95p;103p;120p;136p;147p;265p;284p'
13 PidFile=/var/run/zabbix/zabbix_agentd.pid #进程pid存放路径
32 LogFile=/var/log/zabbix/zabbix_agentd.log #zabbix agent日志存放路径
95 Server=127.0.0.1,192.168.0.220 #指定zabbix server端IP地址
103 ListenPort=10050 #指定agentd的监听端口
120 StartAgents=3 #指定启动agentd进程数量。设置0表示关闭
136 ServerActive=192.168.0.220:10051 #启用agnetd主动模式,启动主动模式后,agentd将主动将收集到的数据发送到zabbix server端,Server Active后面指定的IP就是zabbix server端IP
147 Hostname=192.168.0.220 #需要监控服务器的主机名或者IP地址,此选项的设置一定要和zabbix web端主机配置中对应的主机名一致。
265 Include=/etc/zabbix/zabbix_agentd.d/ #相关配置都可以放到此目录下,自动生效
284 UnsafeUserParameters=1 #启用agent端自定义item功能,设置此参数为1后,就可以使用UserParameter指令了。UserParameter用于自定义item

三、测试zabbix server监控

如何知道zabbix server监控已经生效呢,可通过zabbix server上的zabbix_get命令来完成,在zabbix server上执行如下命令即可进行测试:

#利用如下命令进行测试
/usr/local/zabbix/bin/zabbix_get -s 192.168.0.221 -p 10050 -k "system.uptime" -s 是指定zabbix agent端的IP地址
-p 是指定zabbix agent端的监听端口
-k 是监控项,即item
如果有输出结果,表面zabbix server可以从zabbix agent获取数据,配置成功。

具体操作如下:

#在监控端zabbix_server端进行如下操作
[root@localhost init.d]# /usr/local/zabbix/bin/zabbix_get -s 192.168.0.221 -p 10050 -k "system.uptime"
26330 #有数据显示就代表监控正常
[root@localhost init.d]# /usr/local/zabbix/bin/zabbix_get -s 192.168.0.220 -p 10050 -k "system.uptime"
55653 #有数据显示就代表监控正常

四、Zabbix的web操作入门

6.1 Zabbix Web 操作概述

6.1.1 Zabbix首页仪表提示面板

zabbix3.4.7实操总结一

  • 常用的图形:可以根据自己喜好,添加按主机按监控项添加快捷的查看链接
  • 常用的聚合图形:可以将多个监控图形的曲线合并显示
  • 常用的拓扑图:集群的架构图
  • 主机状态:被监控的主机的实时状态
  • Web检测:发一个http请求,看看web是否能正常访问
  • 系统状态:监控端zabbix server服务器的状态
  • 最近20个问题:最后发生的20个告警信息
  • Zabbix状态:zabbix server监控的详细汇总信息

6.1.2 自定义首页面板

zabbix3.4.7实操总结一

调整后,如下所示:

zabbix3.4.7实操总结一

6.1.3 追加常用的监控图形

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

6.1.4 修改账户密码

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

6.1.5 设置报警提示声音

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

6.1.6 获取最新的zabbix共享模版

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

6.2 自定义被监控的服务器

6.2.1 自定义一个主机组

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

特别提示
在生产环境时,主机组的名字一定要用英文,不然,当zabbix进行二次开发的时候,中文名称都是乱码。那感觉很让人想死...

6.2.2 自定义一个主机

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

特别提示
在生产环境中主机的名字一定要是英文,并且务必和真实主机的主机名一致,且必须归类加入到主机组中。不然zabbix在进行二次开发的时候会非常麻烦(需要建立类似索引形式的东西去关联真实服务器)

6.3 自定义一个监控项

6.3.1 进行监控项的后台定义

现在假如我们要定义一个获取nginx连接数的监控项,那么我们先得去尝试能够获取这个值。在之前的nginx配置文件里我们已经加入了status模块的获取

zabbix3.4.7实操总结一

(1)我们登录网页获取这个信息

zabbix3.4.7实操总结一

(2)我们尝试通过命令获取这个信息

[root@localhost zabbix_agentd.d]# curl -s "http://192.168.0.220:80/nginx-status"
Active connections: 6
server accepts handled requests
301 301 8833
Reading: 0 Writing: 1 Waiting: 5
[root@localhost zabbix_agentd.d]# curl -s "http://192.168.0.220:80/nginx-status" | grep "Active"
Active connections: 6
[root@localhost zabbix_agentd.d]# curl -s "http://192.168.0.220:80/nginx-status" | grep "Active" | awk '{print $NF}'
6

(3)在zabbix agent配置文件里定义这个监控项

[root@localhost ~]# cd /etc/zabbix/     #进入zabbix agent目录
[root@localhost zabbix]# ls
zabbix_agentd.conf zabbix_agentd.d
[root@localhost zabbix]# vim zabbix_agentd.conf
[root@localhost zabbix]# sed -n '257,270p' zabbix_agentd.conf
### Option: Include
# You may include individual files or all files in a directory in the configuration file.
# Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.
#
# Mandatory: no
# Default:
# Include= Include=/etc/zabbix/zabbix_agentd.d/ #我们发现zabbix_agentd.d目录已经默认被include进入了主配置文件。 # Include=/usr/local/etc/zabbix_agentd.userparams.conf
# Include=/usr/local/etc/zabbix_agentd.conf.d/
# Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf

由于zabbix_agentd.conf配置文件默认导入了所有zabbix_agentd.d目录下的内容,因此我们可以将监控项定义到zabbix_agentd.d目录下。

zabbix3.4.7实操总结一

(4)参考模版,自己定义监控项的获取命令

[root@localhost zabbix_agentd.d]# pwd
/etc/zabbix/zabbix_agentd.d
[root@localhost zabbix_agentd.d]# vim nginx.conf
[root@localhost zabbix_agentd.d]# cat nginx.conf
[root@localhost zabbix_agentd.d]# cat nginx.conf
UserParameter=nginx.active,/usr/bin/curl -s "http://192.168.0.220:80/nginx-status" | grep "Active" | awk '{print $NF}'

(5)自定义监控项,等于改变了配置文件,自然需要重启zabbix_agentd

[root@localhost ~]# /etc/init.d/zabbix-agent restart
Shutting down Zabbix agent: [ OK ]
Starting Zabbix agent: [ OK ]

(6)在zabbix server端测试获取自定义的监控项信息

[root@localhost ~]# zabbix_get -s 192.168.0.220 -p 10050 -k "nginx.active"
6

至此zabbix自定义监控项的后台定义全部完成

6.3.2 进行监控项的前台定义

(1)点选一个被监控的主机

zabbix3.4.7实操总结一

(2)进入监控项创建模版

zabbix3.4.7实操总结一

(3)创建监控项

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

(4)创建完成的监控项

zabbix3.4.7实操总结一

监控项创建完成以后,在zabbix server这个主机里就出现这个新定义的监控项了。

6.4 自定义一个监控项的图形

(1)点选一个被监控的主机

zabbix3.4.7实操总结一

(2)进入图形创建模版

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

(3)查看图形绘图

zabbix3.4.7实操总结一

(4)关于图形的各种显示效果

zabbix3.4.7实操总结一

正常图形:

zabbix3.4.7实操总结一

层积图形

zabbix3.4.7实操总结一

Pie图形

zabbix3.4.7实操总结一

爆发的图形

zabbix3.4.7实操总结一

6.5 自定义一个聚合图形

(1)创建一个聚合图形

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

(2)编辑聚合图形

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

(3)选择展示图形

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

(4)将聚合图形添加到zabbix web首页面板

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

6.6 自定义一个拓扑图形

(1)进入拓扑图编辑界面

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

(2)添加一个新的拓扑图形

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

(3)拓扑图链接拓扑图

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

(4)拓扑图显示时时的连接带宽

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

zabbix3.4.7实操总结一

上图中的标签内容如下:
{linux-node1.yunjisuan.com:net.if.out[eth0].last(0)}
linux-node1.yunjisuan.com为定义的主机名
net.if.out[eth0]为监控项的表达式
last(0)为取监控项的最后一个值

zabbix3.4.7实操总结一