zabbix-agent(数据采集)–>zabbix-server(数据分析|报警)–> 数据库(数据存储)<–zabbix web(数据展示)


Zabbix监控一台主机

1,在需要管理的机器上安装zabbix-agent

[root@web01-7 /]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm
[root@web01-7 /]# yum -y install zabbix-agent

2,更改agent配置文件

[root@web01-7 /]# grep "^Server" /etc/zabbix/zabbix_agentd.conf    
Server=172.16.1.71

3,启动zabbix-agent服务

[root@web01-7 /]# systemctl start zabbix-agent
[root@web01-7 /]# systemctl enable zabbix-agent
[root@web01-7 /]# netstat  -ntalp | grep [z]abbix
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      7086/zabbix_agentd  
tcp6       0      0 :::10050                :::*                    LISTEN      7086/zabbix_agentd

然后到Zabbix-web端上点点点

4,配置ZabbixWeb页面

点击配置->选择主机->创建主机



5.点击模板->选择连接指示器->选择->搜索Linux->点击小按钮添加->最后添加



6,查看监控到的信息

点击监测中->最新数据->主机栏点击选择->选择对应的主机->应用


Zabbix自定义监控

自定义监控的基本步骤

1)写一个脚本用于获取需要监控的一些状态信息
2)在Zabbix客户端的/etc/zabbix/zabbix_agentd.d/*.conf写上对应的UserParameter=KEY,shell command,目的是方便zabbix server调获取需要监控服务的信息,然后重启zabbix agent服务systemctl restart zabbix-agent.service3)在客户端测试自定义的监控项是否正常zabbix_agentd -p | grep KEY,如果获取到值则正常
4)在Zabbix_server端测试agent端自定义的监控项是否正常zabbix_get -s IP_addr -k KEY5) 只要在Zabbix_get获取到正确的值,那么该监控项就可以在zabbix-web界面上配置(只能在这个主机上)
6)然后去查看是否能正常的获取到图标信息

1,最简单的自定义监控
监控Nginx是否存活

1)先获取到我们需要监控的值,可以通过脚本,也可以通过命令
ps aux | egrep "[n]ginx: master" | wc -l

2) 修改/etc/zabbix/zabbix_agentd.d/*.conf文件
echo 'UserParameter=Nginx_Num,ps aux | egrep "[n]ginx: master" | wc -l ' > /etc/zabbix/zabbix_agentd.d/Nginx_Num.conf

3)在客户端测试看看是否正常

[root@web01-7 /]# zabbix_agentd -p | grep Nginx_Num
Nginx_Num                                     [t|1]

Bash

Copy

4)去服务端测试是否正常

[root@zabbix /]# zabbix_get -s 172.16.1.7 -k Nginx_Num
1

Bash

Copy

5)在Zabbix-web中添加监控项

1.选择配置->主机->对应主机->监控项->创建监控项->名称->键值(监控项目名称)->信息类型->单位
2.选择监测中->最新数据->等待3s





然后我们去:监测中->最新数据->找到对应的监控项->点击图形查看图表信息

6)自定义阀值,配置触发器

1.选择配置->主机->对应主机->触发器->创建触发器->名称->表达式构造器->编辑->选择对应要填入的信息->一定要选择对应的监控项进行设定({web01-172.16.1.7:Nginx_Num.last()}<1)->测试->关闭表达式构造器->允许手动关闭->添加



选择配置->主机->对应主机->监控项->找到对应的项


关闭Nginx测试前端报警


报警成功,我们开启前端声音报警

前端报警开启方式->右上角->小人头->正在发送消息->开启即可

2,自定义监控tcp11种状态(传参方式)的模版


//tcp的十一种连接状态
ESTABLISHED
SYN_SENT
SYN_RECV
FIN_WAIT1
FIN_WAIT2
TIME_WAIT
CLOSE
CLOSE_WAIT
LAST_ACK
LISTEN
CLOSING
UNKNOWN

1)在客户端配置对应的agent文件

[root@web01 zabbix_agentd.d]# cat tcp-11-status.conf
UserParameter=tcp[*],netstat -ntal | awk 'NR>1{print $NF}'|grep -i "$1"|wc -l
                 [*]代表变量  可以传递到后面的$1 也可以设置多个 中间用逗号隔开
                 如果是两个变量 [*,*]

Bash

Copy

2)重启Zabbix-agent服务
[root@zabbix-agent ~]# systemctl restart zabbix-agent

3)Zabbix-server测试

[root@zabbix-server ~]# zabbix_get -s 10.0.0.7 -k tcp_state[LISTEN]
8

Bash

Copy

4)在Zabbix-web进行模版添加

此处自定义的模板是全局可以使用的
不单单局限到某一台主机 而是所有主机均可以调用
但是模板都得配备对应的客户端zabbix-agent的配置文件才行







选择对应的模板即可正常添加

Zabbix监控(CPU、内存、磁盘、网络 监控tcp11状态(自己编写脚本取值,将取到值传递给ZabbixServer))

添加一台被监控主机(agent->server)
新增监控项、新增触发器、新增图形—-> Teamplate OS Linux 模板(人工新增模板)
1. 自定义监控
2. 自定义触发器
3. 自定义报警(邮件|微信)
4. 自定义图形(screen 幻灯片)
5. 自定义模板
系统自带的监控项,默认设定的触发器比较的低【设置不合理,需要根据实际场景进行调整】