zabbix内网安装部署_使用 Zabbix + Grafana 搭建服务器监控系统

94bec92e82804fa4be4fea3ccc11481a.png
本文作者是霍格沃兹测试学院优秀学员 xinxi ,某知名互联网公司测试开发工程师。本文是其在实际工作项目中的服务器监控从 0 到 1 实战总结。

前言

搭建 Linux 服务器监控的目的是自己有一台阿里云服务器内存是 2g 的 , 多开一些软件就会把内存和 CPU 使用率弄的很高,最终导致服务器卡死。

所以基于这个痛点,想知道当前的 CPU 和内存是多少。阿里云 ECS 控制台中也提供对服务器的监控 , 但是为了学习 Linux 服务器监控系统 , 还是打算自己搭建一套 。

当然 Linux 服务器监控也有很多,Zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 .

所以基于 Zabbix+Grafana 打造服务器监控系统。

Zabbix

模块介绍

  • Zabbix Server: 负责接收 agent 发送的报告信息的核心组件,所有配置,统计数据及操作数据均由其组织进行 .
  • Zabbix Agent: 部署在被监控主机上,负责收集本地数据发往 Server 端或 Proxy 端 .
  • Database Storage: 用户存储所有配置信息,以及存储由 Zabbix Server 收集到的数据 .
  • Web Interface:Zabbix 的 GUI 接口,通常与 Server 运行在同一台主机上
  • Zabbix Proxy: 常用于分布监控环境中,代理 Server 收集部分被监控的监控数据并统一发往 Server 端 .

原理介绍

Agentd 安装在被监控的主机上,Agent 负责定期收集客户端本地各项数据,并发送至 Zabbix Server 端,Zabbix Server 收到数据,将数据存储到数据库中,用户基于 Zabbix WEB 可以看到数据在前端展现图像 .

当 Zabbix 监控某个具体的项目,改项目会设置一个触发器阈值,当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(SHELL 命令、Reboot、Restart、Install 等).

环境安装

Zabbix 需要 zabbix-server、zabbix-agent、mysql. 其中 mysql 已经在本机安装了 , 在 dockercompose 文件中 写上对应的 host、user、pwd 即可 .

在 MySQL 中创建 Zabbix 数据库 , 为了后期储存数据使用 .

使用 Docker 安装 zabbix ,dockercompose 文件如下:

version: '2'
services:
  zabbix-server-service:
    image: monitoringartist/zabbix-xxl:3.2.6
    container_name: zabbix-server-service
    restart: always
    ports:
      - "8081:80"
    environment:
      - ZS_DBHost=192.168.1.103
      - ZS_DBUser=root
      - ZS_DBPassword=123321
  zabbix-agent-a:
    image: zabbix/zabbix-agent:ubuntu-3.2.6
    links: 
      - zabbix-server-service:zabbixserverhost
    container_name: zabbix-agent-a
    restart: always
    depends_on:
      - zabbix-server-service
    environment:
      - ZBX_HOSTNAME=zabbix-agent-service-a
      - ZBX_SERVER_HOST=zabbixserverhost
  zabbix-agent-b:
    image: zabbix/zabbix-agent:ubuntu-3.2.6
    links: 
      - zabbix-server-service:zabbixserverhost
    container_name: zabbix-agent-b
    restart: always
    depends_on:
      - zabbix-server-service
    environment:
      - ZBX_HOSTNAME=zabbix-agent-service-b
      - ZBX_SERVER_HOST=zabbixserverhost 

启动命令:

docker-compose up -d

查看日志命令:

docker logs -f zabbix-server-service

大概启动后 1 到 2 分钟登录 zabbix web 地址 ,http://127.0.0.1:80801, 出现如下页面说明安装成功 .

5b6ba21852acb7ecbda63e551ea9bb96.png

默认账号:Admin, 密码:zabbix, 登录后出现如下页面 .

f1d5724e1d090222fdca6f6e2682b51f.png

配置

修改语言

默认的语言是英文的 , 点击头像后展示修改语言选项 , 选择中文并且更新即可 .

e21a43af101333f5db08075c45a8ef79.png

zabbix-agent 配置

之前配置两个 zabbix-agent-a 和 zabbix-agent-b, 所以要添加两个 zabbix-agent 来采集数据并发送给 zabbix-server.

在配置 , 选择主机 , 创建主机 .

df95a7fcfb7ed3e43db5d52a2346f7c7.png

配置 zabbix-agent 需要其容器内的 ip 地址 , 可以通过

docker exec -it zabbix-agent-b ip addr 命令查看 .

09e45fb700212e5c9cbb03d8c90727c6.png

在创建页面填写其 ip 和选择群组 , 点击保存即可 .

1050a950fb4656fffabf730e7a2b6ded.png

此时添加了两台 zabbix-agent.

9a57e00e5ee3976b9f8cd3a8a42b4c89.png

另外还需要给 zabbix-agent 配置监控模版 , 在模版中选择 Template OS Linux 并且添加即可 .

c44781ff605cf1fbfa6da13a7d2feb1b.png

配置模版完成后 , 在主机列表中 ZBX 显示绿色说明添加完成 .

15598e8bc3e22c1cff2c6b6561e5c4f1.png

添加监控数据

在首页仪表盘上 , 选择常用的图形 .

c7d3039bce1082dceb646daf36491779.png

在创建页面选择 zabbix-agent-server-b 主机和 cpu jumps 监控项 .

16593b1d3b705c6b6a095560321d14e5.png

监控数据可以控制缩放比例和时间段 .

37427c3dcb7b78f21d46a6c56c5a2274.png

Grafana

简介

grafana 是一个跨平台的开源的度量分析和可视化工具 , 可以通过将采集的数据查询然后可视化的展示 .

配置

安装 grafana

可以使用 grafana 展示 zabbix 的数据 , 制作图表展示 .

使用 docker 启动 grafana.

docker run -d --name=grafana2 -p 7777:3000 -v /var/lib/grafana:/var/lib/grafana  grafana/grafana:3.0.4

启动镜像完成后 , 等大概 1 到 2 分钟 , 在浏览器访问:http://127.0.0.1:7777. 默认账号和密码都是 admin.

096cfcc384ee0cd0976a51cd189871c5.png

安装 zabbix 插件

安装 zabbix 插件 , 进入 grafana 容器执行如下命令

docker exec -it grafana /bin/bash 进入容器

grafana-cli plugins install alexanderzobnin-zabbix-app

docker restart grafana 重启容器 

在插件中的 app 中 , 出现 zabbix 说明 zabbix 插件安装成功 .

41331ab88c293089d6bfe1c68e247c71.png

117048fb73650a032feaa2805a83fcee.png

zabbix 数据源

在 Data Sources 中新增一个数据源 .

d34e61bcb52beebb724784f240f5f80e.png

数据源配置:type=Zabbix、url、Zabbix 的账号、Zabbix 的密码 .

url 格式为:http://ip:8081/api_jsonrpc.php

83b70b42104fd31337bf62ce623e4323.png

grafana 面板

在 Dashboards 中新建一个面板 .

e665bb010a7f827bc81e6cecb30cb1d6.png

把 Panel data source 数据源改成 zabbix 数据源 .

可用内存设置面板中参数如下:

Group=Linux servers (这个参数在 zabbix 设置过)

Host=zabbix-agent-service-a

Application=Memory

Item=Available memory

eb803a35d4ae831a4c096c4790cab616.png

grafana 使用模版

在 https://grafana.com/dashboards 中提供很多第三方模版 , 使用 Dashboard Servers Linux 这个模版

df5f34e37cf4ff767650574b12869bbc.png

复制模版的 id.

9a594a37d4052d167bf0c4999ec5331c.png

配置模版信息 .

39f76cc791f29f99d1d59c444cf90663.png

最终在一个面板中展示了当前 CPU、内存等 , 相对原始的数据展示更加直观 .

9027f51b98a0ded5f59a94dba71f64f0.png

结语

Linux 服务器监控在实际工作中大部分是运维的工作 , 随着测试工程师的职责越来越广了 , 测试运维这个岗位也会在以后的工作中慢慢展开 .

另外像测试组自己的服务器和在压测中使用的压测机器 , 也可以搭建监控系统来监控数据 .

参考文章:

  • Zabbix 官方文档https://www.zabbix.com/documentation/3.4/zh/manual/quickstart/login
  • Docker 实战之二:zabbix 监控其他机器https://blog.csdn.net/bbwangj/article/details/80786623
  • Docker 部署 ELK、grafana、zabbixhttps://blog.51cto.com/zhanghy/2300633
  • Grafana + Zabbix --- 部署分布式监控系统https://www.cnblogs.com/yyhh/p/4792830.html#l02
  • Docker 运行 grafana 与 zabbix 结合https://cloud.tencent.com/info/6969106dee9ecb7eaca02744c94a0614.html
  • Zabbix server+agent+proxy 搭建性能监控平台https://blog.csdn.net/zha6476003/article/details/80562860
  • Grafana 插件https://grafana.com/plugins/alexanderzobnin-zabbix-app/installation
  • Grafana 模版https://grafana.com/dashboards?category=zabbix
    (end)

c948ac8a4c17662304cc994efdeceea9.png

福利福利:

初级测试到高级测试开发捷径分享

史上最全软件测试资料文档下载

一线名企大厂内推流程+资格+渠道

推荐阅读:

加入圈子:软件测试开发成长之路​www.zhihu.com
1fa681325da42f420ea3a3b0e40633ce.png

更多技术干货敬请关注霍格沃兹测试学院官方知乎机构号:测吧 @测吧

测试开发是什么?为什么现在那么多公司都要招聘测试开发?

软件测试的岗位会越来越少吗?

软件测试真的干到35就干不动了吗?

二十五岁零基础转行做软件测试怎么样?​www.zhihu.com
59e8f88aa529563a1b943f82c25be394.png
测吧:软件测试如何获得高薪?​zhuanlan.zhihu.com
1f6e09ee2b5d2efe0b7a41518c341b70.png
测吧:轻松掌握 Linux 文本处理三剑客:grep、awk 和 sed 实战演练​zhuanlan.zhihu.com
c6da59775e7d6e5b80799ebb46f59f54.png
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值