小阿轩yx-Zabbix企业级分布式监控环境部署

打印 上一主题 下一主题

主题 594|帖子 594|积分 1782

小阿轩yx-Zabbix企业级分布式监控环境部署

媒介



  • “运筹帷幄之中,决胜千里之外”
  • 监控在 IT 运维中占据着重要地位,按比例说占 30% 也不为过
  • 在监控体系开源软件中有许多可选择的工具,但是真正符合要求的、能够真正办理业务题目标监控体系软件却凤毛麟角
监控体系的功能概述

监控
有两个内容


  • 检测
  • 控制
   重点在第一个字眼
  

  • 即检测、预防的意思
  对应的英文单词


  • Monitoring
在盘算机领域可以分为5种监控类型


  • 应用性能监控
  • 业务交易监控
  • 网络性能监控
  • 操作体系监控
  • 网络站点监控
上面5种类型将监控概念分别成了多个领域
   通常所说的监控,都会含糊的包含以上5个细分领域
  任何一个 IT 业务环境中,都会存在各种各样的硬件装备、软件应用等
  按照逻辑条理可以将监控行为分别为5个条理


  • 基础办法监控
  • 体系层监控
  • 应用层监控
  • 业务监控
  • 端用户体验监控
最底层基础办法监控


  • 一般由运维人员负责
  • 涉及到的方面比力接近硬件体系
   例如
  

  • 网络
  • 交换机
  • 路由器
  这些装备的可靠性和稳定性直接影响到上层服务应用的稳定性,以是必要对网络流量、丢包环境、错包环境、连接数等等基础办法的核心指标举行监控
  体系层监控


  • 这层涉及到方面和服务紧密相关
   例如
  

  • 对 url 访问的性能
  • 访问的调用数
  • 访问的延迟
  • 对服务提供性能举行监控
  • 服务的错误率
  同时对 sql 也必要举行监控,查察是否有慢 sql
  

  • 对于 cache 来说,必要监控缓存的命中率和性能,每个服务的响应时间等等
业务监控
详细指什么?
   举个例子
  一个典型的交易网站,必要关注用户登录环境、注册环境、下单环境、付出环境等等
  这些直接影响到实际触发的业务交易环境
  

  • 可以提供给运营商和公司高管们必要关注的数据
  • 直接以数据支撑公司在战略层面的决策和方向
端用户体验监控
一个应用程序大概通过三种方式交付到用户手上


  • app
  • h5
  • pc端
用户通过欣赏器、客户端打开连接到我们的服务
   在用户端
  

  • 用户的体验怎么样?
  • 用户端性能怎么样?
  • 有没有产生错误等等?
  监控体系的实现原理

模块组成

大体可以分为两部门


  • 数据采集部门
  • 数据存储、分析告警、展示部门
这两部门构成了监控体系的基本模子

采集协议

按照支持的协议方式,监控 IT 数据采集可以分为两种


  • 专用客户端采集
  • 公用协议采集

监控模式

监控体系数据采集可以分为


  • 被动模式
  • 主动模式
被动模式


  • 指的是服务器端到客户端采集数据
主动模式


  • 客户端主动上报数据到服务器

   一般来说
  

  • 被动模式对监控端服务器的开销较大,得当小规模的监控环境
  • 被动模式对监控端服务器的开销较小,得当大规模的监控环境
  署理架构

对于大规模的监控环境


  • 被监控节点较多
  • 而且监控类型也许多
  • 监控产生的数据和网络连接开销非常大
   数据采集方式除了利用主动模式之外,还必要利用署理的架构
  通过署理架构分摊服务器端的性能开销
  署理架构还支持跨地域、跨网络的分布式监控
  常见的署理架构


  • C/S/P架构(即 Client/Proxy/Server)

监控体系的开源产物

zabbix



  • 是一款精彩的企业级运维监控平台
  • 可用于监控从服务器、网络装备到 Web 应用程序和数据库的性能和可用性的一切
  • 可以安装在 Linux、AIX、Windows、Solaris、MacOS X、FreeBSD、OpenBSD等体系上利用,具有非常精良的适配能力
Prometheus+Grafana



  • 是一个开源体系监控和警报工具包
  • 重要用于对基础办法的监控
包括


  • 服务器(CPU、MEM等)
  • 数据库(MYSQL、PostgreSQL等)
  • Web服务等
几乎所有东西都可以通过 Prometheus 举行监控
Cacti



  • 是一款网络流量检测图形工具
  • 连接到 RRDTool,生成与网络数据相关的图标,具有非常强大的数据用户管理功能
  • 可以指定每一个用户能查察树状布局、host 以及任何一张图
  • 还可以与 LDAP 结合举行用户验证,同时也能自己增长模版
Nagios



  • 是一个监控体系运行状态和网络信息的监控体系
  • 它可以监控所指定的本地或远程主机以及服务,同时提供异常关照功能等
  • 能够监控几乎所有类型的组件
   

  • 网络协议
  • 操作体系
  • 体系指标
  • 应用程序
  • 服务
  • web 服务器
  • 网站
  • 中间件等
  Checkmk



  • 是一个高度可扩展的监控工具
  • 可监控服务器、网络、云资产、数据库、容器、物联网等
它有两种模式可用


  • 基础版完全开源并提供免费和无穷制的监控
  • 企业版附带附加功能
   Checkmk 具有部署快、高度自动化、配置灵活的特点。
  OpenNMS



  • 是一个企业级基于 Java/XML 的分布式网络和体系监控管理平台。
  • 它能够显示网络中各中终端和服务器的状态和配置,为管理网络提供有用的信息。
  • 它专为Linux 设计,但也支持 windows、Solaris 和OSX。
   OpenNMS 可以利用 JMX、WMI、SNMP、NRPE、XML HTTP、JDBC、XML、JSON 等收集体系指标。
  Netdata



  • 是一款 Linux 性能实时监测工具
  • 它可以为 Linux 体系、应用程序、SNMP 服务等提供实时的性能监测
  • 现在在物理体系、虚拟机、容器和物联网/边缘装备上运行
特点


  • 监控指标多而广
  • 数据收集速率快
   可以同时并发监控数万个指标,交互式可视化和富有洞察力的康健警报,可以即时诊断基础架构中的异常环境。
  Zabbix 体系概述

初识 Zabbix



  • 由 Alexei Vladishev 创建
  • 现在由 Zabbix SIA 主导开发和支持
  • 利用灵活的关照机制,允许用户为几乎任何事件配置基于电子邮件的告警以实现对服务器题目做出快速反应。
  • 基于存储的数据提供精彩的陈诉和数据可视化功能。这使得 Zabbix 成为容量规划的理想选择。
  • 支持轮询和 trapping
  • 所有 Zabbix 陈诉和统计数据以及配置参数都可以通过基于 Web 的前端访问
  • 基于 Web 的前端确保可以从任何位置评估网络状态和服务器的康健状况
   如果配置得当,不管对于拥有少量服务器的小型构造还是拥有大量服务器的大公司来讲,Zabbix 都可以在监控 IT 基础办法方面发挥重要作用
  

  • 是免费的
  • 是在 GPL 通用公共许可证第2版下编写和分发的。意味着它的源代码是免费分发的,可供公众利用 
Zabbix 是什么?


  • 是一种企业级的分布式开源监控体系的办理方案
  • 是一个基于 web 界面的提供分布式体系监控,以及网络监控功能的企业级开源办理方案。
  • 是一款监控网络的浩繁参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的康健和完整性的软件。
Zabbix 的功能特性

数据采集



  • 可用性及性能检测
  • 支持 SNMP(trapping 及 polling)、IPMI、JMX 监控
  • 自界说检测
  • 自界说间隔收集数据
  • 三种脚色
   

  • Server
  • Proxy
  • Agent
  灵活的阈值界说



  • 允许灵活地自界说题目阀值,在 zabbix 中称为触发器(trigger),存储在后端数据库中。
高级告警配置



  • 可以自界说告警升级(escalation)、吸收者及告警方式
  • 告警信息可以配置,并允许利用宏(macro)变量
  • 通过远程下令实行自动化动作(action)
实行绘图



  • 通过内置的绘图方法实现监控数据实时绘图。
扩展的图形化显示



  • 允许自界说创建多监控项视图
  • 生成网络拓扑(network maps)
  • 自界说的面板(screen)和 slide shows,并允许在 dashboard 页面显示
  • 生成监控陈诉
汗青数据存储



  • 数据存储在数据库中;
  • 汗青数据可配置;
  • 内置数据清算机制。
配置简单



  • 一次配置,终生监控,除非调整或删除
  • 允许利用模板添加监控装备
模板利用



  • 模板中可以添加组监控;
  • 模板允许继承。
网络自动发现



  • 自动发现网络装备;
  • Agent 自动注册;
  • 自动发现文件体系、网卡装备、SNMP OID 等。
快速的 Web 接口



  • Web 前端采用 PHP 编写;
  • 访问无障碍。
Zabbix API



  • 提供程序级别的访问接口,第三方程序可以很快接入。
权限体系



  • 安全的权限认证;
  • 用户可以限制允许维护的列表。
安全特性、Agent 易扩展



  • 在监控目标上部署;
  • 支持 Linux 及 Windows。
二进制守卫进程



  • C 语言开发,高性能,低内存斲丧;
  • 易移植。
具备应对复杂环境环境



  • 通过 Zabbix Proxy 可以非常容易的创建远程监控。
Zabbix 脚色及架构

Zabbix server



  • 是 Zabbix 服务端守卫进程。
  • Zabbix Agentd、Zabbix Proxy 的数据终极都是提交到 Server。
  • 当然,并不是所有数据都主动提交给 Zabbix Server,也有的是 Server 主动获取数据。
Zabbix Agent



  • 是客户端守卫进程,此进程重要用于收集客户端数据
   

  • 例如 CPU 负载、内存、硬盘利用环境等。
  Zabbix Proxy



  • 是 Zabbix 署理守卫进程,功能类似 Server。
不同的是


  • zabbix_proxy 只是一个中转站,它必要把收集到的数据提交/被提交到 Server。
Zabbix Web



  • 管理员通过 web 界面管理 zabbix 配置以及査看 zabbix 相关监控信息,通常与 zabbix server 运行在同一台主机上,也可以单独部署在独立的服务器上。
Zabbix 整体架构


实行拓扑布局

装备列表

装备主机名IP 地址体系软件
zabbix serverZBX192.168.10.108CentOS7.9zabbix server 6.4.8
zabbix proxyproxy192.168.10.107CentOS7.9zabbix proxy 6.4.8
zabbix agentserver01192.168.10.101CentOS7.9zabbix agent 6.4.8
zabbix agentserver01192.168.10.102CentOS7.9zabbix agent 6.4.8
拓扑布局


LNMP 环境的搭建

(在 server 主机上)
修改主机名称
  1. [root@localhost ~]# hostnamectl set-hostname ZBX
  2. [root@localhost ~]# bash
复制代码
配置 yum 堆栈

下载阿里的堆栈文件
  1. [root@zbx]# rm -rf /etc/yum.repos.d/*
  2. [root@zbx]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  3. [root@zbx]# curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
  4. [root@zbx]# yum clean all
复制代码
安装 php7 的堆栈
  1. [root@zbx]# yum -y install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
复制代码
生成 mariadb10.11 的堆栈文件
  1. [root@zbx]# vim /etc/yum.repos.d/mariadb.repo
  2. [mariadb]
  3. name=mariadb
  4. baseurl=https://mirrors.aliyun.com/mariadb/yum/10.11/centos/7/x86_64/
  5. gpgcheck=0
复制代码
清空 yum 缓存
  1. [root@zbx]# yum clean all
复制代码
安装 php7.4 和 nginx
  1. [root@zbx]# yum install -y --enablerepo=remi --enablerepo=remi-php74 mod_php php-gd* php php-opcache php-mbstring  php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php-fpm php-devel php-bcmath php-ldap gcc* libxml2-devel net-snmp net-snmp-devel libevent-devel curl-devel
复制代码
安装 mariadb-10.11
  1. [root@zbx]# yum -y install mariadb-server mariadb-devel nginx
复制代码
zabbix6.4.8 必要的各个平台软件的版本


  • mysql 的版本要求 8.0.30-8.1.x
  • mariadb 的版本要求 10.5.00-11.1.x
  • nginx 的版本要求 1.20 or later
  • php 的版本要求 7.4.0-8.2.x
关闭防火墙和内核机制并设置永久关闭
  1. [root@zbx]# systemctl stop firewalld
  2. [root@zbx]# systemctl disable firewalld
  3. [root@zbx]# setenforce 0
  4. [root@zbx]# vim /etc/sysconfig/selinux
  5. #修改前
  6. SELINUX=enforcing
  7. #修改后
  8. SELINUX=disabled
复制代码
配置 nginx

进入 nginx 目录
  1. [root@zbx]# cd /etc/nginx
复制代码
生成 nginx 配置文件
  1. [root@zbx nginx]# cp nginx.conf nginx.conf.bak
  2. [root@zbx nginx]# rm -rf nginx.conf
  3. [root@zbx nginx]# cp nginx.conf.default nginx.conf
复制代码
修改 nginx 配置文件
  1. [root@zbx nginx]# vim nginx.conf
  2. server {
  3.     listen         80;
  4.     server_name    localhost;
  5.     #charset koi8-r;
  6.     #access log logs/host.access.logmain;
  7.     location /{
  8.         root    /WWW ;
  9.         index index.html index.htm index.php;
  10.     }
  11.     location ~\.php${
  12.         root             /WWW;
  13.         fastcgi_pass     127.0.0.1:9000;
  14.         fastcgi_index    index.php;
  15.         fastcgi_param    SCRIPT_FILENAME /scripts$fastcgi_script_name;
  16.         include          fastcgi.conf;
  17.     }
  18. }
复制代码
修改以下配置


  • location / {
  •         root        /www;
  •         index        index.html index.htm index.php;
  • }
  • location ~ \.php$ {
  •         root        /www;
  •         include        fastcgi.conf;
启动服务

  1. [root@zbx nginx]# systemctl start nginx
  2. [root@zbx nginx]# systemctl enable nginx
  3. [root@zbx nginx]# systemctl start php-fpm
  4. [root@zbx nginx]# systemctl enable php-fpm
  5. [root@zbx nginx]# systemctl start mariadb
  6. [root@zbx nginx]# systemctl enable mariadb
复制代码
设置数据库暗码

  1. [root@zbx nginx]# mysqladmin -u root password 'pwd123'
复制代码
创建一个文件
  1. [root@zbx nginx]# mkdir /www
复制代码
测试 LNMP 环境

  1. [root@zbx nginx]# vim /www/test.php
  2. <?php
  3. $link=mysqli_connect('127.0.0.1','root','pwd123');
  4. if($link) echo "恭喜你,数据库连接成功啦!!";
  5. mysqli_close($link);
  6. ?>
复制代码
修改 php.ini

  1. [root@zbx nginx]# vim /etc/php.ini
  2. ##388 行,最长执行时间是 30 秒,数值0表示没有##执行时间的限制,你的程序需要跑多久便跑多久
  3. max_execution_time =300
  4. ##398 行,以秒为单位设定了脚本接收输入的最大时间
  5. max_input_time = 300
  6. ##923行
  7. date.timezone =Asia/Shanghai
  8. ##694,服务器可以接收的最大 POST 数据大小
  9. post_max_size = 16M
  10. ##1205,所有 bcmath 函数中十进制数字的数目
  11. bcmath.scale =1
复制代码
添加一个用户
  1. [root@zbx nginx]# useradd -M -s /sbin/nologin zabbix
复制代码
修改 php-fpm

  1. [root@zbx nginx]# vim /etc/php-fpm.d/www.conf
  2. user=zabbix
  3. group=zabbix
复制代码
重启服务
  1. [root@zbx nginx]# systemctl restart php-fpm
复制代码
zabbix 的安装与配置(在 server 主机上)

创建 zabbix 数据库
  1. [root@zbx]# mysql -uroot -ppwd123
  2. ##导入数据
  3. MariaDB [(none)]> create database zabbix character set utf8 collate utf8 bin;
  4. MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8 bin;
  5. MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'%' identified by 'zabbix';
  6. MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'localhost' identified by 'zabbix';
  7. MariaDB [(none)]> grant all privileges on zabbix_proxy.* To 'zabbix'@'localhost' identified BYzabbix';
  8. MariaDB [(none)]> grant all privileges on zabbix_proxy.* To 'zabbix'@'%' identified By 'zabbix';
复制代码
解压 zabbix 源码包
  1. [root@zbx]# tar zxvf zabbix-6.4.8.tar.gz
复制代码
进入目录
  1. [root@zbx]# cd zabbix-6.4.8/database/mysql/
复制代码
导入 zabbix 数据
  1. [root@zbx mysql]# mysql -uzabbix -pzabbix zabbix <schema.sql
  2. [root@zbx mysql]# mysql -uzabbix -pzabbix zabbix <images.sql
  3. [root@zbx mysql]# mysql -uzabbix -pzabbix zabbix <data.sql
  4. [root@zbx mysql]# mysql -uzabbix -pzabbix zabbix_proxy <schema.sql
复制代码


  • 如果必要运行zabbix server,必要导入 schema.sql、images.sql、data.sql 这三个文件到zabbix数据库
  • 如果必要运行zabbix agent,必要导入schema.sql 到zabbix_proxy 数据库。
zabbix 的安装与配置

进入 zabbix 目录
  1. [root@zbx]# cdc /root/zabbix-6.4.8
复制代码
源码安装 zabbix
  1. [root@zbx zabbix-6.4.8]# ./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --with-libcurl --with-libxml2 --with-net-snmp --with-unixODBC --with-zabbix-get
复制代码
编译
  1. [root@zbx zabbix-6.4.8]# make
  2. [root@zbx zabbix-6.4.8]# make install
复制代码


  • --prefix=/usr/local/zabbix:指定zabbix安装路径
  • --enable-server:启动server端
  • --enable-agent:启动agent端
  • --with-mysql:编译连接mysql 相关依赖包
  • --with-libcurl:启动curl相关,对SMTP身份验证
  • --with-libxml2:启动 xml 相关,提供对 XML 文档的各种操作
  • --with-net-snmp:启动 snmp 相关,用于 snmp 监控装备,支持 snmp 协议
  • --with-unixodbc:启动 odbc 相关用于监控数据库
  • --with-zabbix-get:zabbix_get 是一种下令行的应用
  • --enable-java:启动 java-agent 用于监控 java 类,必要安装 JAVA 环境
  • --enable-ipv6:启用IPv6
  • --with-libcurl 和 --with-libxml2 配置选项对虚拟机监控是必须的
优化下令路径
  1. [root@zbx zabbix-6.4.8]# ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
  2. [root@zbx zabbix-6.4.8]# ln -s /usr/local/zabbix/bin/* /usr/local/bin/
复制代码
切换目录找到 core
  1. [root@zbx zabbix-6.4.8]# cd /root/zabbix-6.4.8/misc/init.d/fedora/core
复制代码
拷贝文件到指定目录
  1. [root@zbx zabbix-6.4.8]# cp zabbix_agentd /etc/init.d/
  2. [root@zbx zabbix-6.4.8]# cp zabbix_server /etc/init.d/
复制代码
切换至 init.d 目录下
  1. [root@zbx zabbix-6.4.8]# cd /etc/init.d/
复制代码
服务控制脚本的优化
  1. [root@zbx init.d]# vim zabbix_agentd
  2. BASEDIR=/usr/local/zabbix
  3. [root@zbx init.d]# vim zabbix_server
  4. BASEDIR=/usr/local/zabbix
复制代码


  • vim zabbix_agentd
   

  • BASEDIR=/usr/local/zabbix
  

  • vim zabbix_server
   

  • BASEDIR=/usr/local/zabbix
  切换目录至 /etc 下
  1. [root@zbx init.d]# cd /usr/local/zabbix/etc
复制代码
修改 zabbix 服务端参数
  1. [root@zbx etc]# vim zabbix_server.conf
  2. LogFile=/tmp/zabbix server.log
  3. #单位M,47行
  4. LogFilesize=1024
  5. #数据库主机名 87行
  6. DBHost=localhost
  7. #数据库中库名 99行
  8. DBName=zabbix
  9. #数据库用户名 115行
  10. DBUser=zabbix
  11. #数据库用户密码 123行
  12. DBPassword=zabbix
  13. ##超时时间,秒 465行
  14. Timeout=10
  15. #根据内存情况尽量调大 402行
  16. Cachesize=256M
  17. #根据内存情况尽量调大 427行
  18. HistoryCachesize=256M
  19. TrendcacheSize=256M
  20. ValueCacheSize=256M
  21. StartTrappers=30
  22. # agent 端的数量
  23. StartPollers=10
复制代码
修改 zabbix 署理参数
  1. [root@zbx etc]# vim zabbix_agentd.conf
  2. ##113行
  3. Server=127.0.0.1
  4. ##167行
  5. ServerActive=127.0.0.1
  6. ##178行
  7. Hostname=Zabbix server
复制代码


  • 利用HostnameItem 可以动态获取主机的名称。
  • 如果配置 HostnameItem=system.hostname 而未配置 Hostname=xxx 参数,那么在web 监控页面显示的主机的可见名称为客户端主机的主机名(即通过 hostname 下令得到的结果)
  • 如果配置 Hostname=xxx而末 HostnameItem=system.hostname 参数,那么在web 监控页面显示的主机的可见名称为 xxx
  • 如果未配置 HostnameItem=system.hostname 和 Hostname=xxx 这两个参数,那么在web 监控页面显示的主机的可见名称为 客户端主机的主机名(即通过 hostname 下令得到的结果)
  • 如果同时配置 HostnameItem=system.hostname 和 Hostname=xxx 参数,那么在web 监控页面显示的主机的可见名称为 xxx(即以配置文件中的Hostname 界说的为准)
  • 要对一大批主机举行自动配置时,这里就可以利用HostnameItem ,所有的主机都利用一个模板举行批量部署,就避免了每台主机再去单独设置hostname 的贫苦
找到 ui 并切换至该目录下
  1. [root@zbx etc]# cd /root/zabbix-6.4.8/ui
复制代码
拷贝 zabbix 网站程序到 httpd 的网站根目录下
  1. [root@zbx ui]# cp -rf * /www
复制代码
提升权限并退出
  1. [root@zbx ui]# chown -R zabbix:zabbix /www
  2. [root@zbx ui]# cd
复制代码
添加两个服务
  1. [root@zbx ~]# chkconfig --add zabbix_agentd
  2. [root@zbx ~]# chkconfig --add zabbix_server
  3. [root@zbx ~]# chkconfig zabbix_agentd on
  4. [root@zbx ~]# chkconfig zabbix_server on
复制代码
启动 zabbix
  1. [root@zbx ~]# systemctl start zabbix_agentd
  2. [root@zbx ~]# systemctl enable zabbix_agentd
  3. [root@zbx ~]# systemctl start zabbix_server
  4. [root@zbx ~]# systemctl enable zabbix_server
复制代码
查察进程
  1. [root@zbx ~]# netstat -anpt | grep zabbix
  2. tcp    0 0.0.0.0:10050    0.0.0.0:*    LISTEN    15295/zabbix agentd
  3. tcp    0 0.0.0.0:10051    0.0.0.0:*    LISTEN    15340/zabbix server
复制代码
zabbix 初始配置

登录 zabbix


  • http://192.168.10.108/index.php
设置语言

查抄环境


  • 要求所有须要条件都是“OK”的提示

填写数据库信息

主机名设置(保持默认即可,不用填写)

安装前信息汇总,确认无误,即可点击下一步

确认安装完成并点击完成

登录页面



  • 默认账号:Admin(第一个字母大写)
  • 默认暗码:zabbix
登录后的界面

安装 Zabbix Agent(在 agnet 主机 server01 上)

修改主机名
  1. [root@localhost ~]# hostnamectl set-hostname server01
  2. [root@localhost ~]# bash
复制代码
关闭防火墙、内核机制
  1. [root@server01 ~]# systemctl stop firewalld
  2. [root@server01 ~]# setenforce 0
复制代码
用 rpm 安装软件包
  1. [root@server01 ~]# rpm -ivh pcre2-10.23-2.el7.x86_64.rpm
  2. [root@server01 ~]# rpm -ivh zabbix-agent-6.4.8-release2.el7.x86_64.rpm
复制代码
修改 zabbix_agentd.conf 配置文件
  1. [root@server01 ~]# vim /etc/zabbix/zabbix_agentd.conf
  2. ##指向 Proxy 地址,也可以直接指向 server 端
  3. Server=192.168.10.108
  4. ##指向 Proxy 地址,也可以直接指向 server 端
  5. ServerActive=192.168.10.108
  6. ##Agent 本地名称,需要与将来在 Server 端的 Web 页面上的主机名称一致,名称自定义
  7. Hostname=server01
复制代码
启动服务
  1. [root@server01 ~]# systemctl start zabbix-agent
  2. [root@server01 ~]# systemctl enable zabbix-agent
复制代码


  • Server:被动模式,允许指定的服务器连接本机获取采集的数据
  • ServerActive:此参数为主动模式必要设置的,主动提交采集数据给指定的服务器,此处可以注释掉,如果要开启主动模式,则开启
在 zabbix server 上添加主机

添加 agent 主机


  • 数据采集 -- > 主机 -- > 创建主机

添加完成的状态




  • 主机列表中的 Availability(可用性)列包括了每个接口的主机的可用性指标,如果界说了主机的zabbix agent 接口,可以通过 ZBX 选项相识主机的可用性。
  • ZBX为灰色代表未创建主机连接,未举行数据的采集
  • ZBX为绿色代表主机可用,zabbixagent查抄乐成
  • ZBX为红色代表主机不可用,zabbix agent 查抄失败 
   利用zabbix agent 接口,必要为主机添加 zabbix agent 的监控模板
  查察图像信息



  • 检测 --> 主机 --> 图像


办理图像中文乱码



  • 可以直接实行(4)(5)两步
查找 zabbix 界说了字体的 php 文件
  1. [root@zbx ~]# find / -name defines.inc.php
  2. /root/zabbix-6.4.8/ui/include/defines.inc.php
  3. /www/include/defines.inc.php
复制代码


  • /www 是本案中 zabbix 的前端位置,不同的安装者,此位置大概不同
查察 zabbix 字体文件中用的字体
  1. [root@zbx ~]# grep "ZBX_FONTPATH" /www/include/defines.inc.php
  2. define('ZBX_FONTPATH',    realpath('assets/fonts')); //where to search for font (GD > 2.0.18)
  3. [root@zbx ~]# grep "ZBX_FONTPATH_NAME" /www/include/defines.inc.php
  4. define('ZBX_FONTPATH_NAME',    'DejaVuSans'); //font file name
复制代码
查找 zabbix 的字体文件位置
  1. [root@zbx ~]# find / -name DejaVuSans.ttf
  2. /root/zabbix6.4.8/ui/assets/fonts/DejaVuSans.ttf
  3. /usr/share/fonts/dejavu/DejaVuSans.ttf
  4. /www/assets/fonts/DejaVuSans.ttf
复制代码
在 windows 体系中找一个 ttf 或 ttc 格式的字体


  • 位置在 C:\Windows\Fonts
将选择的字体文件上传到 /www/assets/fonts 目录下


  • 例如此处选择 msyhl.ttc(微软雅黑)
  1. [root@zbx ~]# cd /www/assets/fonts
复制代码
链接该字体
  1. [root@zbx fonts]# ln -snf msyhl.ttc DejaVuSans.ttf
复制代码


  • -s        --symbolic 比力容易,有 -s 时表现创建软连接,没有 -s 时,表现创建硬链接
  • -f         --force 强行删除任何已存在的目标文件
  • -n        --no-dereference 把符号连接的目标目录视为一般文件
革新页面观察效果
proxy 端的安装(在 proxy 主机上 107)

修改主机名

  1. [root@localhost ~]# hostnamectl set-hostname proxy
  2. [root@localhost ~]# bash
复制代码
关闭防火墙、内核机制

  1. [root@proxy]# systemctl stop firewalld
  2. [root@proxy]# systemctl disable firewalld
  3. [root@proxy]# setenforce 0
  4. [root@proxy]# vim /etc/sysconfig/selinux
  5. #修改前
  6. SELINUX=enforcing
  7. #修改后
  8. SELINUX=disabled
复制代码
设置 yum 堆栈

  1. [root@proxy]# rm -rf /etc/yum.repos.d/*
  2. [root@proxy]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
  3. [root@proxy]# curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
  4. [root@proxy]# yum clean all
复制代码
安装依赖包

  1. [root@proxy]# yum -y install gcc libxml2-devel unixoDBc-devel net-snmp-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel libevent libevent-devel
复制代码
解压 zabbix 源码包

  1. [root@proxy]# tar zxvf zabbix-6.4.8.tar.gz
复制代码
进入目录
  1. [root@proxy]# cd zabbix-6.4.8
复制代码
 安装所需配置依赖
  1. [root@zbx zabbix-6.4.8]# ./configure --prefix=/usr/local/zabbix/ --enable-proxy --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-unixODBC
复制代码
编译
  1. [root@zbx zabbix-6.4.8]# make
  2. [root@zbx zabbix-6.4.8]# make install
复制代码
修改配置文件

  1. [root@zbx zabbix-6.4.8]# vim /usr/local/zabbix/etc/zabbix_proxy.conf
  2. ##13行
  3. ProxyMode=0
  4. ##32行
  5. Server=192.168.10.108
  6. ##42
  7. Hostname=Zabbix_proxy
  8. ##58行
  9. ListenPort=10051
  10. LogFile=/tmp/zabbix_proxy.log
  11. LogFilesize=0
  12. PidFile=/tmp/zabbix_proxy.pid
  13. SocketDir=/tmp
  14. ##151
  15. DBHost=192.168.10.108
  16. ##167
  17. DBName=zabbix_proxy
  18. ##182
  19. DBUser=zabbix
  20. ##190行
  21. DBPassword=zabbix
复制代码
  

  • ##13行
  • ProxyMode=0
  • ##32行
  • Server=192.168.10.108
  • ##42
  • Hostname=Zabbix_proxy
  • ##58行
  • ListenPort=10051
  • ##151
  • DBHost=192.168.10.108
  • ##167
  • DBName=zabbix_proxy
  • ##182
  • DBUser=zabbix
  • ##190行
  • DBPassword=zabbix
  添加用户
  1. [root@zbx zabbix-6.4.8]# useradd -M -s /sbin/nologin zabbix
复制代码
启动
  1. [root@zbx zabbix-6.4.8]# /usr/local/zabbix/sbin/zaabbix_proxy
复制代码
查察进程
  1. [root@zbx zabbix-6.4.8]# netstat -anpt | grep zabbix_proxy
复制代码
在 web 管理界面上添加 proxy 主机



  • 管理 --> Proxy > 创建 agent 署理
  • 选择主动模式(默认)

设置 agent 端 server02 主机配置文件

修改主机名
  1. [root@localhost ~]# hostnamectl set-hostname server02
  2. [root@localhost ~]# bash
复制代码
关闭防火墙、内核机制
  1. [root@server02]# systemctl stop firewalld
  2. [root@server02]# systemctl disable firewalld
  3. [root@server02]# setenforce 0
  4. [root@server02]# vim /etc/sysconfig/selinux
  5. #修改前
  6. SELINUX=enforcing
  7. #修改后
  8. SELINUX=disabled
复制代码
安装 rpm 包
  1. [root@server02 ~]# rpm -ivh pcre2-10.23-2.el7.x86_64.rpm
  2. [root@server02 ~]# rpm -ivh zabbix-agent-6.4.8-release2.el7.x86_64.rpm
复制代码
修改配置文件
  1. [root@server02 ~]# vim /etc/zabbix/zazbbix_agent.conf
  2. ##修改 Server 的值
  3. Server=192.168.10.107
  4. ServerActive=192.168.107
  5. Hostname=server02
复制代码


  • 将 Server 的地址修改为 proxy 主机的主机
重启服务
  1. [root@server02 ~]# systemctl restart zaabbix-agent
复制代码
在 web 管理界面添加 proxy 署理的 agent 主机

 查察 web 面板监控到的主机数据



  • 如果ZBX 不会变绿,就重启proxy 进程
   [root@server02]# pkill -9 zabbix_proxy
  [root@server02]# /usr/local/zabbix/sbin/zabbix_proxy
  [root@server02]# netstat -anpt | grep zabbix_proxy
    小阿轩yx-Zabbix企业级分布式监控环境部署

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

自由的羽毛

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表