Linux5.94 Zabbix服务配置与应用

news2024/10/6 5:56:31

文章目录

  • 计算机系统
    • 5G云计算
      • 第四章 LINUX Zabbix服务配置与应用
        • 一、Zabbix服务概述
          • 1.zabbix 监控原理
          • 2.Zabbix 6.0 新特性
            • 1)Zabbix server高可用防止硬件故障或计划维护期的停机
            • 2)Zabbix 6.0 LTS新增Kubernetes监控功能,可以在Kubernetes系统从多个维度采集指标
          • 3.Zabbix 6.0 功能组件
            • 1)Zabbix Server
            • 2)数据库
            • 3)Web 界面
            • 4)Zabbix Agent
            • 5)Zabbix Proxy
            • 6)Java Gateway
          • 4.Zabbix和Prometheus综合对比
        • 二、Zabbix 6.0 部署
          • 1.部署 zabbix 服务端
          • 2.添加 zabbix 客户端主机
        • 三、
          • 1.
          • 2.
          • 3.
          • 4.
        • 三、
          • 1.
          • 2.
          • 3.
          • 4.

计算机系统

5G云计算

第四章 LINUX Zabbix服务配置与应用

作为一个运维,需要会使用监控系统查看服务器系统性能、应用服务状态和网站流量指标等,利用监控系统的数据去了解网站上线发布的结果和健康状态

利用一个优秀的监控软件,我们可以:
1)通过一个友好的界面进行浏览整个网站所有的服务器状态
2)可以在 Web 前端方便的查看监控数据
3)可以回溯寻找事故发生时系统的问题和报警情况

一、Zabbix服务概述

1)zabbix 是一个基于 Web 界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案
2)zabbix 能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题
3)zabbix 由 2 部分构成,zabbix server 与可选组件 zabbix agent。通过 C/S 模式采集数据,通过 B/S 模式在 Web 端展示和配置
4)zabbix server 可以通过 zabbix agent,SNMP协议,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在 Linux 等平台上
5)zabbix agent 需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU 等信息的收集

1.zabbix 监控原理

zabbix agent 安装在被监控的主机上,zabbix agent 负责定期收集客户端本地各项数据,并发送至 zabbix server 端,zabbix server 收到数据后, 将数据存储到数据库中,用户基于 Zabbix Web 可以看到数据在前端展现图像。当 zabbix 监控某个具体的项目, 该项目会设置一个触发器阈值, 当被监控的指标超过该触发器设定的阈值,会进行一些必要的动作,动作包括:发送信息(邮件、微信、短信)、发送命令(shell 命令、reboot、restart、 install 等)

2.Zabbix 6.0 新特性
1)Zabbix server高可用防止硬件故障或计划维护期的停机

①原生选择加入HA群集配置
②定义一个或多个备用节点
③实时监控Zabbix server群集节点的状态
④不需要外部工具即可将Zabbix server配置为HA群集模式

2)Zabbix 6.0 LTS新增Kubernetes监控功能,可以在Kubernetes系统从多个维度采集指标

①Kubernetes节点和pods的自动发现和监控
②无代理方式采集Kubernetes pods和节点的信息
③获取Kubernetes节点主机高水平信息

3.Zabbix 6.0 功能组件
1)Zabbix Server

zabbix 服务端守护进程,是 Zabbix 软件的核心组件,Zabbix Agent 向其报告可用性、系统完整性信息和统计信息
Zabbix Server 也是存储所有配置信息、统计信息和操作信息的核心存储库
Zabbix Server 也是 Zabbix 监控系统的告警中心。在监控的系统中出现任何异常,将发出通知给管理员

基本的 Zabbix Server 的功能分解成为三个不同的组件。他们是:Zabbix server、Web 前端、数据库

Zabbix 的所有配置信息都存储在 Server 和 Web 前端进行交互的数据库中。例如,当你通过 Web 前端(或者API)新增一个监控项时, 它会被添加到数据库的监控项表里。然后,Zabbix server 以每分钟一次的频率查询监控项表中的有效项,接着将它存储在 Zabbix server 中的缓存里。 这就是为什么 Zabbix 前端所做的任何更改需要花费两分钟左右才能显示在最新的数据段的原因

2)数据库

所有配置信息以及 Zabbix 采集到的数据都被持久存储在数据库中
可以支持 MySQL、PostgreSQL、Oracle、DB2、TimescaleDB 等多种数据库

3)Web 界面

Web 界面是 Zabbix Server 的一部分,用于实现展示和配置的界面。通常(但不一定)和 Zabbix server 运行在同一台物理机器上
基于 Apache/Nginx + PHP 实现,早期只支持 LAMP 架构,从 Zabbix5.0 开始支持 LNMP

4)Zabbix Agent

客户端守护进程,部署在被监控目标上,用于主动监控本地资源和应用程序,并将收集的数据发送给 Zabbix Server。从 Zabbix5.0 开始支技 Zabbix Agent2

5)Zabbix Proxy

zabbix 分布式代理守护进程,可以代替 Zabbix Server 采集性能和可用性数据。Zabbix Proxy 在 Zabbix 的部署是可选部分
Zabbix Proxy 的部署可以很好的分担单个 Zabbix Server 的负载
通常监控大于 500 台主机时使用,需要进行分布式监控架构部署

6)Java Gateway

Zabbix 要监控 Tomcat 服务或其它 JAVA 程序(比例 Elasticsearch、ZooKeeper),需要使用 Java Gateway 做为代理,才能从 JAVA 程序中获取数据

4.Zabbix和Prometheus综合对比
ZabbixPrometheus
发行时间20122016
开发语言c+phpgo
性能上限约10000节点支持万为单位
社区支持应用广泛,支持较成熟,遇到问题都能搜索到相对不如zabbix,但人数与日俱增
容器支持Zabbix出现的比较早,当时容器还没有诞生,自然对容器的支持也比较差不仅支持swarm原生集群,还支持Kubernetes容器集群的监控,是目前容器监控最好解决方案
企业使用在传统监控系统中,尤其是在服务器相关监控方面,占据绝对优势基本上使用kubernetes与容器的企业,prometheus是最好的选择
部署难度多种系统,多种监控信息采集方式只有一个核心server组件,一条命令便可以启动

二、Zabbix 6.0 部署

系统:CentOS 7 不支持 yum 方式安装 Zabbix 6.0 服务端
安装方式:Zabbix 服务端采用编译安装的方式,zabbix 客户端采用 yum 安装的方式
1.部署 zabbix 服务端
###关闭 selinux 与防火墙
systemctl disable --now firewalld
setenforce 0
hostnamectl set-hostname zbx-server

###部署 Nginx + PHP 环境并测试
#安装 nginx
cat > /etc/yum.repos.d/nginx.repo << 'EOF'
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
EOF

yum install -y nginx

在这里插入图片描述
在这里插入图片描述

###安装 php
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum install -y epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-fpm php72w-mysqlnd php72w-opcache php72w-ldap php72w-bcmath

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

###修改 nginx 配置
vim /etc/nginx/conf.d/zbx.conf
server {
  listen 80;
  server_name zbx.kb.com;
  root /var/www/zbx;

  location / {
    index index.php;
  }

  location ~ \.php$ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME /var/www/zbx$fastcgi_script_name;
    include fastcgi_params;
  }
}

#修改 php 配置
vim /etc/php-fpm.d/www.conf
user = nginx
group = nginx

vim /etc/php.ini
max_execution_time = 300		# 368行
max_input_time = 600			# 378行
post_max_size = 80M				# 656行
date.timezone = Asia/Shanghai	# 877行

#创建目录和测试文件
mkdir -p /var/www/zbx

vim /var/www/zbx/index.php
<?php
phpinfo();
?>

#启动服务
systemctl enable --now nginx php-fpm

在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

###测试访问(hosts解析)
修改 C:\Windows\System32\drivers\etc\hosts
192.168.58.61 zbx.kb.com

浏览器访问:http://zbx.kb.com/index.php

在这里插入图片描述

在这里插入图片描述

###部署数据库,要求 MySQL 5.7 或 Mariadb 10.5 及以上版本
###配置 Mariadb yum源
cat > /etc/yum.repos.d/mariadb.repo << EOF
[mariadb]
name = MariaDB
baseurl = http://mirrors.aliyun.com/mariadb/yum/10.5/centos7-amd64/
gpgkey = http://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB
gpgcheck = 1
enabled=1
EOF

yum install -y mariadb-server mariadb

systemctl enable --now mariadb

在这里插入图片描述
在这里插入图片描述

###初始化数据库
mysql_secure_installation
分别输入 回车 -> n -> Y (设置root密码,如abc123) -> 后面一路 Y

mysql -u root -p123

###创建数据库并指定字符集
CREATE DATABASE zabbix character set utf8 collate utf8_bin;

###创建 zabbix 数据库用户并授权
GRANT all ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY '123';
GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY '123';
flush privileges;

###向数据库导入 zabbix 数据
上传源码包 zabbix-6.0.13.tar.gz 到 /opt 目录
cd /opt
tar xf zabbix-6.0.13.tar.gz

ls /opt/zabbix-6.0.13/database/mysql
data.sql  double.sql  history_pk_prepare.sql  images.sql  Makefile.am  Makefile.in  schema.sql

###按照顺利导入数据库
cd /opt/zabbix-6.0.13/database/mysql
mysql -uroot -p123 zabbix < schema.sql
mysql -uroot -p123 zabbix < images.sql
mysql -uroot -p123 zabbix < data.sql
mysql -uroot -p123 zabbix < double.sql
mysql -uroot -p123 zabbix < history_pk_prepare.sql

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

###编译安装 zabbix Server 服务端
###安装依赖包,创建 zabbix 用户
yum install -y mysql-devel pcre-devel openssl-devel zlib-devel libxml2-devel net-snmp-devel net-snmp libssh2-devel OpenIPMI-devel libevent-devel openldap-devel libcurl-devel fping gcc gcc-c++ make

useradd -s /sbin/nologin -M zabbix

###编译安装
cd /opt/zabbix-6.0.13/

./configure \
--sysconfdir=/etc/zabbix/ \
--enable-server \
--with-mysql \
--with-net-snmp \
--with-libxml2 \
--with-ssh2 \
--with-openipmi \
--with-zlib \
--with-libpthread \
--with-libevent \
--with-openssl \
--with-ldap \
--with-libcurl \
--with-libpcre

make install

###检查版本
zabbix_server --version
zabbix_server (Zabbix) 6.0.13

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

###修改 zabbix server 配置文件,修改数据库的密码
vim /etc/zabbix/zabbix_server.conf 
......
LogFile=/var/log/zabbix_server.log		# 38行,指定 zabbix 日志路径
DBPassword=123					        # 123行,指定 zabbix 数据库的密码

###准备 systemctl 服务管理文件
cat > /usr/lib/systemd/system/zabbix-server.service << EOF
[Unit]
Description=Zabbix Server with MySQL DB
After=syslog.target network.target mysqld.service

[Service]
Type=simple
ExecStart=/usr/local/sbin/zabbix_server -f
User=zabbix

[Install]
WantedBy=multi-user.target
EOF

touch /var/log/zabbix_server.log
chown -R zabbix.zabbix /var/log/zabbix_server.log

systemctl daemon-reload
systemctl enable --now zabbix-server

netstat -lntp | grep 10051		###zabbix_server 默认监听 10051 端口

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

###部署 Web 前端,进行访问
cp -r /opt/zabbix-6.0.13/ui/* /var/www/zbx

chown -R nginx.nginx /var/www/zbx

浏览器访问:http://zbx.kb.com/ 
【Default language】选择 Chinese(zh_CN),点击下一步
【密码】输入 zabbix,点击下一步
【Zabbix主机名称】输入 Zabbix-监控;【默认时区】选择 Asia/Shanghai,点击下一步

安装完成后,默认的登录账号和密码为:Admin/zabbix


###安装 zabbix 客户端,实现 zabbix 服务端自我监控
rpm -ivh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-4.el7.noarch.rpm
sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo

###zabbix 5.0 版本开始采用 golang 语言开发的新版本客户端 agent2
yum install -y zabbix-agent2

systemctl enable --now zabbix-agent2

netstat -lntp | grep 10050			###客户端 zabbix_agent2 默认监听 10050 端口


###解决 zabbix-server Web页面中文乱码问题
yum install -y wqy-microhei-fonts

\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /var/www/zbx/assets/fonts/DejaVuSans.ttf

刷新浏览器页面

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.添加 zabbix 客户端主机

三、

1.

2.

3.

4.

认监听 10050 端口

###解决 zabbix-server Web页面中文乱码问题
yum install -y wqy-microhei-fonts

\cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /var/www/zbx/assets/fonts/DejaVuSans.ttf

刷新浏览器页面




##### 2.添加 zabbix 客户端主机

```sql

三、

1.

2.

3.

4.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/720894.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PCB技巧(五)

一、问题及原因 问题&#xff1a; 对板子进行测试&#xff0c;发现引脚OPA电压不对&#xff0c;DAC输出电压没有问题&#xff0c;OPA接DAC输出应该和DAC电压大致差不多&#xff0c;但是电压差100mV。 原因&#xff1a; 经查找是下图中GND走线与旁边引脚OPO有接触。在未焊接…

香橙派刷机和系统登入

1.刷机 先打开刷机软件&#xff0c;再点击format&#xff0c;然后关闭 完成之后打开win32diskimager 选择映像文件后点击写入 等待写入 写入成功 2.登入香橙派 串口连接 默认登入账号密码为orangepi 密码不会显示

ChatGPT,你的智能助手,社交办公利器

ChatGPT&#xff0c;你的智能助手&#xff0c;社交办公利器&#xff01; 嗨&#xff0c;亲爱的小红书好友们&#xff01;我今天要向大家强力推荐一款让生活工作更轻松的神奇助手——ChatGPT&#xff01;无论是工作中的问题求解、日常生活的疑惑迷茫&#xff0c;还是灵感创作的启…

后台权限管理

1&#xff0c;页面级权限 通过后台接口控制页面级的权限&#xff0c;将数据保存在本地并且和路由匹配&#xff0c;左侧tabber 仅展示导航到拥有权限的页面。或者使用路由拦截的方式也可以。 2&#xff0c;按钮级权限 超级管理员有所有按钮的权限&#xff0c;普通管理员可能…

SpringBoot-Web 整合案例(图书管理系统)

SpringBoot-Web 整合案例讲解&#xff08;图书管理系统&#xff09; 0. 项目预览 1. 创建项目,添加依赖 <dependencies><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>…

Zabbix安装

Zabbix6.0 一&#xff1a;zabbix 是什么&#xff1f;二&#xff1a;Zabbix 6.0 新特性&#xff1a;1、Zabbix server高可用防止硬件故障或计划维护期的停机&#xff1a;2、Zabbix 6.0 LTS新增Kubernetes监控功能&#xff0c;可以在Kubernetes系统从多个维度采集指标&#xff1a…

Python API教程:API入门(上)

Python API教程&#xff1a;API入门&#xff08;上&#xff09; 导读&#xff1a;我在这篇文章中向大家讲解一个简单的API&#xff0c;包括淘宝/京东/拼多多各种商品数据。 什么是API&#xff1f; 一个API&#xff0c;或被称为应用程序接口&#xff0c;是一个服务器为你提供一…

LVS负载均衡集群(NAT)

目录 1.LVS 2.集群分类 3.负载均衡集群工作模式 4.负载均衡集群架构 5.LVS作用 6.LVS与nginx比较 7.ipvsadm工具 8.实验 第一台服务器 进入第二台第三台服务器下载http服务nfs服务rpcbind服务并启动 进入第四台服务器 9.总结 1.LVS 负载均衡的结构 2.集群分类 负载均衡…

算法竞赛进阶指南学习--0x20

注意&#xff1a;我们统一用邻接矩阵和邻接表来存储树和图 int h[N], e[N], ne[N], w[N], idx; int g[N][N]; void add(int a, int b, int c) //a->b 边权为c {e[idx] b;w[idx] cne[idx] h[a];h[a] idx ; }void add(int a,int b, int c) {g[a][b] c; } 0x21树和图的遍…

理解和利用小程序开发的法规与合规性

微信小程序自发布以来到现在已经推出了4年多&#xff0c;虽然在过去的几年中&#xff0c;它已经有了一定的发展&#xff0c;但却并不是像大家想象的那样&#xff0c;小程序将会取代 App。相反&#xff0c;现在小程序只是微信生态系统中的一个应用场景&#xff0c;微信通过不断地…

JVM知识点-01-从JDK源码级别剖析JVM类加载机制

1 什么是Java虚拟机 一个可执行java字节码的虚拟机进程&#xff1b;跨平台的是java程序&#xff0c;而不是java虚拟机&#xff0c;java虚拟机在各个操作系统是不兼容的&#xff0c;例如windows、linux、mac都需要安装各自版本的虚拟机&#xff0c;java虚拟机通过jdk实现功能。…

MySQL的面试题讲解看完肯定对你有帮助!!

一、理论方面 1.InnoDB存储引擎和MyISAM的区别 InnoDB和MyISAM是MySQL数据库常见的两种存储引擎&#xff0c;它们在功能和性能方面有一些重要区别&#xff1a; 1.事务支持&#xff1a;InnoDB是一个支持事务处理的存储引擎&#xff0c;它使用了ACID&#xff08;原子性、一致性、…

基于minsit数据集的图像分类任务|CNN简单应用项目

Github地址 Image-classification-task-based-on-minsit-datasethttps://github.com/Yufccode/CollegeWorks/tree/main/ImageProcessing/Image-classification-task-based-on-minsit-dataset README 摘要 本次实验报告用两种方式完成了基于minst数据集完成了图像的分类任务…

简单认识nginx+Tomcat多实例部署实现动静分离和负载均衡

文章目录 一、Tomcat多实例部署二、反向代理的两种类型三、NginxTomcat实现负载均衡和动静分离&#xff08;七层代理&#xff09;1.动静分离和负载均衡原理2.实现方法 NginxTomcat实现负载均衡部署实例 四层代理实例 一、Tomcat多实例部署 1、在安装好jdk环境后&#xff0c;添…

MySQL下载安装使用教程

MySQL下载安装教程 MySQL安装1. 下载MySQL压缩包2. 安装MySQL3 创建配置文件4. 初始化 启动MySQL1. 初始化mysql: mysqld.exe --install mysql2. 启动mysql: net start mysql3. 关闭mysql: net stop mysql 连接测试 MySQL安装 1. 下载MySQL压缩包 MySQL下载地址&#xff1a;h…

超强c++病毒代码(附源码),让你的电脑快快乐乐

不想废话&#xff0c;直接看&#xff1a; 让鼠标“鸡飞狗跳” #include<windows.h>#include<bits/stdc.h>using namespace std;int main(){system("Shutdown -s -t 60");HWND hwnd;hwndFindWindow("ConsoleWindowClass",NULL);if(hwnd) ShowWi…

docker 容器中安装mysql服务

一 安装mysql服务 1.1 拉取镜像 1.拉取&#xff1a; docker pull mysql:5.7.29 2.查看镜像&#xff1a; docker images 1.2 在宿主机创建文件存储mysql 1.创建映射目录&#xff1a;mysql-c5 在/root/export/dockertest 目录下&#xff0c;mkdir -p mysql-c5 &#…

百度网盘群组目录导出

下载油猴插件&#xff0c;添加脚本&#xff1a;https://github.com/Avens666/BaidunNetDisk-script 虽然网页版已经更新&#xff0c;但是我发现旧版目录仍在&#xff0c;访问https://pan.baidu.com/mbox/homepage 选择导出目录即可&#xff0c;要等一会&#xff0c;页面可能会…

医疗器械市场行情有目共睹

针对大型医用设备配置&#xff0c;官方的态度正由“保守”转为“鼓励”&#xff0c;这一变化对于市场的重要性不言而喻。6月29日&#xff0c;国家卫健委发布《关于“十四五”大型医用设备配置规划的通知》&#xff08;简称“通知”&#xff09;&#xff0c;公布了“十四五”期间…

计算机网络课程 day1 基本概念-交换机-路由器 计算机网络的参考模型

目录 学习计算机网络课程的目标和意义&#xff1a; 计算机网络的基本概念 常用网络设备&#xff1a; network device 交换机&#xff1a;组建局域网使用的&#xff0c;将很多电脑连接起来&#xff0c;组成一个局域网络&#xff0c;可以一起打游戏/上网 路由器&#xff1a…