使用 zabbix + grafana 监控和绘图

搭建 zabbix 可参考:安装部署 zabbix5.0

# 第一次登录页面后,仪表盘界面不可用主机为1,原因是部署 zabbix 的主机没有安装 zabbix-agent

# 先将 web 界面设置为中文

 

# 在 zabbix 主机上安装 zabbix-agent2

[root@zabbix-test ~]# yum -y install zabbix-agent2

# 启动服务

[root@zabbix-test ~]# systemctl enable zabbix-agent2 --now

# 此时 zabbix 已经通过 agent2 监控到本机

# 添加其它监控主机,先在 master 节点上安装 zabbix-agent2 并修改 agent2 的配置文件

[root@master ~]# yum -y install zabbix-agent2

# 将 Server 和 ServerActive 改为监控节点的 IP 地址(Server 表示允许哪个主机到我这里获取数据, ServerActive 表示主动向哪个主机发送数据)

# Server 为被动模式,ServerActive 为主动模式。主动模式和被动模式可同时开启并指向同一个 IP

# 在配置中找到主机选项

# 创建主机选项

# 主机和模板必填,选择 zabbix agent 模板点击添加

# 添加后在 zabbix server 端重启 zabbix 服务

[root@zabbix-test ~]# systemctl restart zabbix-server

# 此时,仪表盘页面可用主机已变为两个

#  /etc/zabbix/zabbix_agent2.conf 中查看自定义监控项的方法

# Include 表示的文件为自定义监控项的配置文件

# 此目录下默认为空,在该路径下自定义一个 conf 后缀结尾的配置文件

[root@zabbix-test ~]# cd /etc/zabbix/zabbix_agent2.d/

[root@zabbix-test zabbix_agent2.d]# vim monitor.conf

[root@zabbix-test zabbix_agent2.d]# cat monitor.conf

UserParameter=sda_tps,iostat |awk '$1 ~/sda/{print $2}'

# 定义一个参数来监控 sda 磁盘的每秒传输次数,前提 zabbix 被监控端得有 iostat 命令

# 自定义一个监控项后记得重启 zabbix-agent2 服务

[root@zabbix-test zabbix_agent2.d]# systemctl restart zabbix-agent2

# 安装 zabbix 取监控项的值的命令

[root@zabbix-test zabbix_agent2.d]# yum -y install zabbix-get 

# 通过 zabbix_get 查看 sda_tps 的 key 是否能取到值

[root@zabbix-test zabbix_agent2.d]# zabbix_get -s 127.0.0.1 -k sda_tps

# 可以取到值后在 zabbix 的 web 页面给 zabbix 监控端添加 sda_tps 这个监控项

# 在配置里点击主机->监控项

# 在右上角点击创建监控项

# 名称可选择中文,键值填配置文件中自定义的键值,信息类型因为取到的值为浮点数,所以选择浮点数,更新间隔可自定义,应用集可以选择添加新应用集,也可以将此监控项添加到已有的应用集中

# 添加监控项后在左侧选项栏中找到监测-->最新数据,可以查看是否监测到新添加的监控项

# 如上图所示,zabbix 监控到最近数据,并且在右边还可以查看对应的图形

# 也可以将此监控项复制给 master 节点

# 在配置-->主机--> zabbix server 的监控项里找到新添加的监控项并选中复制给 master 节点

# 后续也可以创建主机群组,将监控项复制给主机群组

# 复制后,在 master 节点上编辑 agent2 配置文件

# 编辑后重启 master 节点的 agent2 服务

[root@master ~]# systemctl restart zabbix-agent2

# 点击监测-->最新数据,此时两台机器都已监控到自定义的监控项

# 添加触发器:点击配置-->主机-->触发器

# 右上角创建触发器

# 此处以前面创建的监控项为例,创建一个 sda 磁盘每秒传输速度过高的触发器

 

# 允许手动关闭可根据情况选择是否开启,创建后如果 zabbix server 端的 sda 磁盘的传输速度大于8,则在仪表盘界面就能看到告警信息

# 触发器同样可以通过复制监控项的方法复制给 k8s-mater 节点,此处不再举例

# 接下来配置邮件告警,即当 zabbix server 端发现告警时可发送邮件给自己

# 点击配置-->动作,将可发送消息状态改为启用

# 再点击管理-->告警媒介类型,右上角点击创建媒体类型(媒介类型为电子邮件时需支持 SMTP 服务)

# SMTP 服务器端口可选择 465 或 25,SMTP HELO 填 SMTP 服务器的后半部分,SMTP 电邮则为发件人,SSL/TLS 用 QQ 邮箱作为告警媒介时一定要勾选

# 认证选择用户名和密码,用户名称为发件人的邮箱,密码为 QQ 邮箱的授权码

# 获取邮箱授权码:在 QQ 邮箱中点击设置-->账户

# 开启 SMTP 服务并生成授权码

# 找到发送邮件服务器的域名

 

# 点击 User settings -->报警媒介,添加收件人

# 类型选择刚创建的 QQ 邮箱告警,收件人自己定义,当启动时和哪种严重性发送邮件都可自定义

# 添加完后记得点击更新

 # 报警媒介定义成功后,当 zabbix 出现告警时会通过邮件的形式发送到收件人的邮箱

 # 接下来,我们通过安装 grafana 插件来对我们定义的监控项进行绘图

 # 在 grafana 官网根据相应的 Linux 发行版本找到软件包,以 grafana-7.5.8 为例

# 将命令复制粘贴到终端并启动 grafana 服务

[root@zabbix-test ~]# systemctl enable grafana-server --now

# 查看 grafana 服务监听的端口

# 如上所示,监听 3000 端口,因此用 zabbix server 端 IP 加 3000 端口即可访问 grafana 页面

# grafana 的登录界面如下所示

# 默认登录的 username 和 password 都为 admin

# 第一次登录会提示修改登录密码,也可以直接跳过

 # 登录后,搜不到 zabbix 插件

# 原因是没有安装 zabbix 的插件,因此需要安装插件并重启 grafana 服务

 [root@zabbix-test ~]# systemctl restart grafana-server

# 重启后搜索 zabbix

# 点击 zabbix 并启动

# 添加数据源

# 基础认证打开,用户名和密码都是 zabbix 登录页面的账号和密码

# 信息无误后,显示如下所示

# 创建仪表盘

# 添加创建的自定义监控项

posted @ 2022-01-09 18:44  demoduan  阅读(5762)  评论(0)    收藏  举报