ToB企服应用市场:ToB评测及商务社交产业平台

标题: 小阿轩yx-Zabbix企业级分布式监控环境部署 [打印本页]

作者: 自由的羽毛    时间: 2024-9-16 02:10
标题: 小阿轩yx-Zabbix企业级分布式监控环境部署
小阿轩yx-Zabbix企业级分布式监控环境部署

媒介


监控体系的功能概述

监控
有两个内容

   重点在第一个字眼
  
  对应的英文单词

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

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

最底层基础办法监控

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

   例如
  
  同时对 sql 也必要举行监控,查察是否有慢 sql
  
业务监控
详细指什么?
   举个例子
  一个典型的交易网站,必要关注用户登录环境、注册环境、下单环境、付出环境等等
  这些直接影响到实际触发的业务交易环境
  
端用户体验监控
一个应用程序大概通过三种方式交付到用户手上

用户通过欣赏器、客户端打开连接到我们的服务
   在用户端
  
  监控体系的实现原理

模块组成

大体可以分为两部门

这两部门构成了监控体系的基本模子

采集协议

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


监控模式

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

被动模式

主动模式


   一般来说
  
  署理架构

对于大规模的监控环境

   数据采集方式除了利用主动模式之外,还必要利用署理的架构
  通过署理架构分摊服务器端的性能开销
  署理架构还支持跨地域、跨网络的分布式监控
  常见的署理架构


监控体系的开源产物

zabbix


Prometheus+Grafana


包括

几乎所有东西都可以通过 Prometheus 举行监控
Cacti


Nagios


   
  Checkmk


它有两种模式可用

   Checkmk 具有部署快、高度自动化、配置灵活的特点。
  OpenNMS


   OpenNMS 可以利用 JMX、WMI、SNMP、NRPE、XML HTTP、JDBC、XML、JSON 等收集体系指标。
  Netdata


特点

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

初识 Zabbix


   如果配置得当,不管对于拥有少量服务器的小型构造还是拥有大量服务器的大公司来讲,Zabbix 都可以在监控 IT 基础办法方面发挥重要作用
  
Zabbix 是什么?

Zabbix 的功能特性

数据采集


   
  灵活的阈值界说


高级告警配置


实行绘图


扩展的图形化显示


汗青数据存储


配置简单


模板利用


网络自动发现


快速的 Web 接口


Zabbix API


权限体系


安全特性、Agent 易扩展


二进制守卫进程


具备应对复杂环境环境


Zabbix 脚色及架构

Zabbix server


Zabbix Agent


   
  Zabbix Proxy


不同的是

Zabbix Web


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 必要的各个平台软件的版本

关闭防火墙和内核机制并设置永久关闭
  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. }
复制代码
修改以下配置

启动服务

  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 的安装与配置

进入 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
复制代码

优化下令路径
  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
复制代码

   
  
   
  切换目录至 /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
复制代码

找到 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

设置语言

查抄环境


填写数据库信息

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

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

确认安装完成并点击完成

登录页面


登录后的界面

安装 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
复制代码

在 zabbix server 上添加主机

添加 agent 主机


添加完成的状态



   利用zabbix agent 接口,必要为主机添加 zabbix agent 的监控模板
  查察图像信息




办理图像中文乱码


查找 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
复制代码

查察 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 格式的字体

将选择的字体文件上传到 /www/assets/fonts 目录下

  1. [root@zbx ~]# cd /www/assets/fonts
复制代码
链接该字体
  1. [root@zbx fonts]# ln -snf msyhl.ttc DejaVuSans.ttf
复制代码

革新页面观察效果
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
复制代码
  
  添加用户
  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 主机



设置 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
复制代码

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

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


   [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企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4