文章目录
- 一、介绍
- zabbix zabbix专有词汇
- 二、zabbix zabbix实践
- 修改zabbix zabbix语⾔
- 服务器可视化指标
- 解决zabbix zabbix乱码问题
- 查看监控内容
- 可视化监控agent agent的cpu cpu动态
- 查看模板--监控项
- ⾃定义监控项语法
一、介绍
Zabbix 是由 Alexei Vladishev 开发的⼀种⽹络监视、管理系统,基于Server-Client 架构。可⽤于监视各种⽹络服务、服务器和⽹络机器等状态。使⽤各种 Database-end 如 MySQL, PostgreSQL, SQLite, Oracle 或 IBMDB2 储存资料。Server 端基于 C语⾔、Web 管理端 frontend 则是基于 PHP 所制作的。
Zabbix 可以使⽤多种⽅式监视。可以只使⽤ Simple Check 不需要安装 Client端,亦可基于 SMTP 或 HTTP … 各种协议定制监视。
在客户端如 UNIX, Windows 中安装 Zabbix Agent 之后,可监视 CPULoad、⽹络使⽤状况、硬盘容量等各种状态。⽽就算没有安装 Agent 在监视对象中,Zabbix 也可以经由 SNMP、TCP、ICMP、利⽤ IPMI、SSH、telnet 对⽬标进⾏监视。
Zabbbix⾃带的Item⾜够满⾜普通⼩公司的监控需求,对于⼤公司也可以设定⾃定义的Item,⾃动⽣成报表,也有API可以和其他系统集成。
zabbix zabbix专有词汇
对于英⽂的掌握,是IT⼈员必须学习的技能,以下是使⽤zabbix必须掌握的⼀些关
键词
zabbix server,服务端,收集数据,写⼊数据
zabbix agent,部署在被监控的机器上,是⼀个进程,和zabbix server进⾏交互,以及负责执⾏命令
Host,服务器的概念,指zabbix监控的实体,服务器,交换机等
Hosts,主机组
Applications,应⽤
Events,事件
Media,发送通知的通道
Remote command,远程命令
Template,模板
Item,对于某⼀个指标的监控,称之为Items,如某台服务器的内存使⽤状况,就是⼀个item监控项
Trigger,触发器,定义报警的逻辑,有正常,异常,未知三个状态
Action,当Trigger符合设定值后,zabbix指定的动作,如发个邮件给超哥,说服务器有问题了
二、zabbix zabbix实践
修改zabbix zabbix语⾔
主⻚的仪表盘是可以编辑,随意拖动修改⼤⼩的
服务器可视化指标
点击对应主机的【图形】即可看⻅
解决zabbix zabbix乱码问题
上述的图标数据,下⾯的⼩⽩框表示乱码含义,是因为我们改了zabbix的语⾔为中⽂
服务器需要安装字体
[root@zabbix-server01 ~]# yum -y install wqy-microhei-fonts
[root@zabbix-server01 ~]# \cp /usr/share/fonts/wqymicrohei/wqy-microhei.ttc
/usr/share/fonts/dejavu/DejaVuSans.ttf
[root@zabbix-server01 ~]#
此时zabbix已然正确展示中⽂数据
查看监控内容
在最新数据中,可以进⾏筛选,输⼊ip或者主机名都可以搜索出来
可视化监控agent agent的cpu cpu动态
在agent01机器上,执⾏程序,消耗cpu
利⽤shell或者python皆可
查看模板–监控项
监控项⾥的 【键值】
就是zabbix-get 使⽤的key
例如 ,检测客户端存活
[root@zabbix-server01 ~]# zabbix_get -s 10.0.1.51 -p 10050 -k “agent.ping”
检根⽂件系统空间⼤⼩
[root@zabbix-server01 ~]# zabbix_get -s 10.0.1.51 -p 10050 -k"vfs.fs.size[/,used]"
1217146880
⾃定义监控项语法
当zabbix⾃带模板,以及监控项,⽆法满⾜我们需求,我们就可以⾃定义监控项⾃定义监控其实就是添加监控的key,监控的命令
⾸先显示⽤户登录命令
who
who |wc -l # 显示登录⼈数
需要添加监控项配置⽂件,路径
/etc/zabbix/zabbix_agent2.d/
# zabbix配置⽂件,⼤多数软件配置都会使⽤include形式来优化配置⽂件
[root@zbz-agent01 zabbix_agent2.d]# grep -i '^include'
/etc/zabbix/zabbix_agent2.conf
Include=/etc/zabbix/zabbix_agent2.d/*.conf
# ⾃定义的配置⽂件,语法是
UserParameter=<key>,<shell command>
UserParameter=login-user,who|wc -l
UserParameter=login-user,/bin/sh /server/scripts/login.sh
# 超哥定义的配置⽂件,要注意的是key名要唯⼀,可以写⼊多个key
[root@zbz-agent01 zabbix_agent2.d]# cat
/etc/zabbix/zabbix_agent2.d/userparameter_login.conf
UserParameter=login.user,who|wc -l
UserParameter=login.user2,who|wc -l
# 重启agent
systemctl restart zabbix-agent2
在服务端zabbix,⽤命令检测⾃定义的key
[root@zabbix-server01 ~]# zabbix_get -s 10.0.1.51 -p 10050 -k
"login.user"
1
[root@zabbix-server01 ~]# zabbix_get -s 10.0.1.51 -p 10050 -k
"login.user"
2
# 客户端
[root@zbz-agent01 zabbix_agent2.d]# who
root pts/0 2020-08-11 01:39 (10.0.1.1)
root pts/1 2020-08-11 09:52 (10.0.1.1)