zabbix+grafana从零到快速入门


zabbix架构:

snmp:zabbix监控网络性能所依赖协议

IPMI:用于监控物理硬件性能指标,可以获取物理设备的温度、CPU温度,风扇转速

JMX:监控java项目所使用的出口。

SSH:支持ssh登陆的设备都能获得到数据,比如交换机的、linux等等,但前提是设备有ssh功能。比如使用ssh方式收集linux的文件系统挂载情况

部署环境:

分为Server端和Client端

Server端:(即搭建zabbix的服务端)

Client端:(即zabbix服务监控的一端,也叫做Agent端)

 Server端安装并部署zabbix(此处将写好的脚本上传直接跑脚本搭建zabbix)

 脚本执行成功后,用Server端IP访问web页面

然后server端安装agent代理设置服务启动并重启zabbix服务以确保agent代理能采集到server端的数据

此时就可以监控到server端

 然后,将语言换成中文

 添加zabbix的agent客户端,首先客户端先下载对应的安装包(并编辑配置文件使其向server端发送数据)

 通过web界面添加agent端的主机,点击配置-->主机-->右上角创建主机

 此时可用主机已变成3,告警的原因是因为没有做时钟同步

 各节点安装chrony时钟同步并配置server端作为被同步的ntp服务器(这里ubuntu采用的是12小时制的时间,可以看到那个PM表示下午,因此时钟同步是成功的)

 然后查看web页面,此时始终不同步的告警已消失(出现下面的信息是由于安装了chrony,/etc/passwd文件中多了chrony用户,并不是告警)

查看自定义监控项如何设置

 添加两个自定义监控项,添加后记得重启zabbix-agent2服务

安装zabbix-get验证能否取到监控值

 第二个监控项虽然取到值了,但有如下提示,原因是netstat命令的-p参数只能root使用(-s后面跟主机名或IP,-p后面跟zabbix-agent的端口,默认为10050,-k后面跟自定义监控项的key)

 因此,我们修改一下netstat命令的权限

 因为zabbix服务端取值的时候用的是zabbix用户,并非root用户,因此当netstat命令设置了suid的权限后,普通用户再执行netstat命令时就会获得文件属主的权限,即root用户的权限

此时再取值,就不会出现那个提示

 在web界面添加我们的自定义监控项

点击配置-->主机-->zabbix server的监控项,然后点击右上角的创建监控项

 添加自定义监控项后,查看是否添加成功

点击监测-->最新数据

 我们定义的两个自定义监控项都是动态的数据,因此这里1并不表示我们监测的数据是错的

点击配置-->主机-->zabbix server的监控项,我们可以将刚才自定义的监控项添加到client端的两台主机(这里不再举例)

 能监测到client端的前提是client端也必须具有iostat和netstat命令

我们也可以在web界面查看我们自定义监控项的图形

 上图这么多矩形是因为原生的zabbix对中文的支持并没有英文那么好,因此我们需要上传中文字体到zabbix-server端的指定目录下

在c盘里找到字体所在的目录,选择一个字体进行上传,这里以华文楷体为例(我们在这里可以右键点击这个字体复制粘贴到桌面然后通过rz命令上传)

 mv命令前面加个反斜杠表示临时取消mv命令的别名

此时,重启zabbix服务端,然后再查看web页面,这时已没有矩形

 添加邮箱报警

首先点击配置-->动作,将状态改为启用状态

 添加邮箱报警发件人之前要确保163邮箱的smtp服务器开启,并且找到对应的smtp服务器

 也可以通过foxmail登录163邮箱查看对应的smtp发件服务器

 得到上述信息后再添加发件人,点击管理-->报警媒介类型

 定义收件人

 添加比较容易触发告警的触发器,点击配置-->主机-->zabbix server的触发器,然后点击右上角创建触发器

点击添加表达式,添加一个用户登录数大于5的触发器

 然后我们模拟用户登录数过多

 然后在web界面查看

 同时查看对应邮件

 接下来,我们通过安装grafana将采集到的数据绘制成图形

 按照提示将框中的命令执行一下

 然后查看grafana服务监听的端口

通过3000端口访问web页面

 登录后,将时区改为和zabbix服务端的时区一致,然后查看是否有zabbix的插件

 点开zabibix后,发现并没有安装

 我们可以通过点击install进行安装,也可以通过命令行的方式安装zabbix插件,此处以命令行为例

 刷新grafana的web界面,启动zabbix插件

 启动后,添加数据源

 到此并未完结,后期会在此基础上追加内容