zabbix + grafana 快速入门
zabbix 架构:
snmp:zabbix 监控网络性能所依赖协议
IPMI:用于监控物理硬件性能指标,可以获取物理设备的温度、CPU 温度,风扇转速
JMX:监控 java 项目所使用的出口。
SSH:支持 ssh 登录的设备都能获得到数据,比如交换机、linux 等,但前提是设备有 ssh 功能。比如使用 ssh 方式收集 linux 的文件系统挂载情况
部署环境:
Server
Client
# Server 端安装并部署 zabbix( 此处将写好的脚本上传直接跑脚本搭建 zabbix )
# 脚本执行成功后,用 Server IP 访问 web 页面
# zabbix-server 安装 agent 代理设置服务启动并重启 zabbix 服务以确保 agent 代理能采集到 zabbix-server 的数据
此时就可以监控到 zabbix server
# 将语言换成中文
# 添加 zabbix-agent,首先客户端先下载对应的安装包( 并编辑配置文件使其向 zabbix-server 发送数据 )
# 通过 web 界面添加 agent 主机,点击配置-->主机-->右上角创建主机
# 此时可用主机已变成3,告警的原因是因为没有做时钟同步
# 各节点安装 chrony 时钟同步并配置 zabbix-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 盘里找到字体所在的目录,选择一个字体进行上传,这里以华文楷体为例
# mv 命令前面加个反斜杠表示临时取消 mv 命令的别名
# 重启 zabbix-server ,然后再查看 web 页面,这时已没有矩形
# 添加邮箱报警,配置-->动作,将状态改为启用状态
# 添加邮箱报警发件人之前要确保163邮箱的 smtp 服务开启,并且找到对应的 smtp 服务
# 也可以通过 foxmail 登录163邮箱查看对应的 smtp 发件服务器
# 得到上述信息后再添加发件人,点击管理-->报警媒介类型
# 定义收件人
# 添加比较容易触发告警的触发器,点击配置-->主机-->zabbix server 的触发器,然后点击右上角创建触发器
# 点击添加表达式,添加一个用户登录数大于5的触发器
# 然后模拟用户登录数过多
# 在 web 界面查看
# 同时查看对应邮件
# 安装 grafana 将采集到的数据绘制成图形
# 按照提示将框中的命令执行一下
# 查看 grafana 服务监听的端口
# 通过 3000 端口访问 web 页面
# 登录后,将时区改为和 zabbix 服务端的时区一致,然后查看是否有 zabbix 的插件
# 点开 zabibix 后,发现并没有安装
# 通过点击 install 进行安装,也可以通过命令行的方式安装 zabbix 插件,此处以命令行为例
# 刷新 grafana 的 web 界面,启动 zabbix 插件
# 启动后,添加数据源