zabbix 监控软件

news2024/12/28 2:17:17

zabbix 监控软件

自带图形化界面,通过网页就可以监控所有的服务器的状态。

事件告警,邮箱通知(噩梦)。

zabbix是什么?

web界面提供的分布式监控以及网络监控功能的开源的企业级的软件解决方案。

服务端

监控端 客户端

zabbix开以提供各种类型的监控模板,保证服务器的正常运行,灵活的通知机制可以让管理员快速定位。

zabbix由两部分组成:

1、zabbix-server 在server上可选安装zabbix-agent

2、收集数据的模式c/s模式

client/server

客户端到服务端

展示数据和配置数据

B/S

browes/server

页面配置

zabbix-server 服务端 收集数据 提供网页和配置数据

zabbix-agent 客户端 把收集到的数据发给服务端

zabbix的五大组件:

1、zabbix-server

2、zabbix-agent

3、zabbix_proxy 代理? 代理服务器的作用,如果所有的客户端都向服务器一起发数据,服务器的压力会比较大,发送到代理服务器,代理服务器处理完之后再发给server,减轻主服务器的压力

4、zabbix-get zabbix-get是zabbix的命令行工具

5、zabbix sender 发送器,可以将客户端的数据进行自定义操作之后再发送到服务端,也可以通过脚本,把脚本处理过的数据发送到客户端。

部署:zabbix 5.0

部署步骤:

服务端: 192.168.60.70 test7

#获取zabbix的下载源
[root@test7 ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
[root@test7 ~]# cd /etc/yum.repos.d/
[root@test7 yum.repos.d]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo
[root@test7 yum.repos.d]# yum clean all && yum makecache
[root@test7 yum.repos.d]# yum install -y zabbix-server-mysql zabbix-agent
[root@test7 yum.repos.d]# vim CentOS-SCLo-scl-rh.repo
  [centos-sclo-rh]
  name=CentOS-7 - SCLo rh
  baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
  gpgcheck=0
  enabled=1
  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[root@test7 yum.repos.d]# yum clean all && yum makecache
[root@test7 yum.repos.d]# vim zabbix.repo
   11 enabled=1         #将11行的0改为1
[root@test7 yum.repos.d]# yum install -y zabbix-web-mysql-scl zabbix-apache-conf-scl
​
[root@test7 yum.repos.d]# yum install -y mariadb-server mariade
[root@test7 yum.repos.d]# systemctl restart mariadb.service
[root@test7 yum.repos.d]# mysql_secure_installation 
#设置密码一路Y就行
[root@test7 yum.repos.d]# mysql -u root -p123456
MariaDB [(none)]> CREATE DATABASE zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> GRANT all ON zabbix.* TO 'zabbix'@'%' IDENTIFIED BY 'zabbix';
MariaDB [(none)]> flush privileges;
[root@test7 yum.repos.d]# rpm -ql zabbix-server-mysql 
[root@test7 yum.repos.d]# zcat /usr/share/doc/zabbix-server-mysql-5.0.42/create.sql.gz | mysql -u root -p123456 zabbix
​
[root@test7 yum.repos.d]# vim /etc/zabbix/zabbix_server.conf
  124 DBPassword=zabbix         #将124行取消注释,并加一个zabbix
[root@test7 yum.repos.d]# vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf 
   25 php_value[date.timezone] = Asia/Shanghai
​
#重启
[root@test7 yum.repos.d]# systemctl restart zabbix-server zabbix-agent httpd rh-php72-php-fpm
#设置为开机自启
[root@test7 yum.repos.d]# systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
​
#浏览器访问192.168.60.70/zabbix
​
#安装解决乱码的工具
[root@test7 zabbix]# yum install -y wqy-microhei-fonts
[root@test7 zabbix]# \cp -f /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
​
#服务端安装get
[root@test7 zabbix]# yum -y install zabbix-get
#查看get通不通,1就是通,0就是不通
[root@test7 zabbix]# zabbix_get -s '192.168.60.80' -p 10050 -k 'agent.ping'
  1
[root@test7 zabbix]# vim /etc/zabbix/zabbix_agentd.conf
 117 Server=192.168.60.70
 163 ServerActive=192.168.60.70
 174 Hostname=test7
[root@test7 zabbix]# systemctl restart zabbix-agent.service 
​

客户端 192.168.60.80 test8

[root@test8 ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm 
[root@test8 ~]# cd /etc/yum.repos.d/
[root@test8 yum.repos.d]# sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' zabbix.repo
[root@test8 yum.repos.d]# yum makecache 
[root@test8 yum.repos.d]# yum install -y zabbix-agent2
[root@test8 yum.repos.d]# vim /etc/zabbix/zabbix_agent2.conf
  80 Server=192.168.60.70
  125 ServerActive=192.168.60.70
  136 Hostname=test8
​
#重启
[root@test8 yum.repos.d]# systemctl restart zabbix-agent2.service 
#设置开机自启
[root@test8 yum.repos.d]# systemctl enable zabbix-agent2.service
​
[root@test8 yum.repos.d]# netstat -antp | grep 10050
tcp6       0      0 :::10050                :::*                    LISTEN      12569/zabbix_agent2 
​

ZBX:ZABBIX的缩写,默认模式,监控网络和设备,服务。大部分情况都是默认模式。

SNMP:simple network mangenment protocal 简单网络管理协议,用来管理和监控网络设备的协议。

JMX:专门监控java程序的

IPMI:管理服务器硬件,服务器的电源,温度,风扇速度等等

test8 客户端

#登录当前系统的不能超过3个,大于3个告警   发邮件
#显示当前主机数量
[root@test8 zabbix]# who | wc -l
2
[root@test8 zabbix]# vim /etc/zabbix/zabbix_agent2.conf
 273 Include=/etc/zabbix/zabbix_agent2.d/*.conf
 #这个路径就是来保存监控脚本的默认路径,文件名可以自定义,但是必须是以.conf结尾
[root@test8 zabbix_agent2.d]# vim user_login.conf
  UserParameter=login.user,who | wc -l
#重启
[root@test8 zabbix_agent2.d]# systemctl restart zabbix-agent2.service 
[root@test7 zabbix]#  zabbix_get -s '192.168.60.80' -p 10050 -k 'login.user'
2

test8

#安装一个nginx
[root@test8 zabbix_agent2.d]# vim /etc/nginx/nginx.conf
location /nginx_status {
                     stub_status on;
                     access_log off;
                      }
[root@test8 opt]# vim test-nginx.sh
#!/bin/bash
#Description:Automated monitoring nginx performance and process nginx_status scripts
 
HOST="localhost"
PORT=80
stub_status="stub_status"
NGINX_COMMAND=$1
 
nginx_check() {
    if [ -f /sbin/pidof ]; then
       /sbin/pidof nginx | wc -w
    else
       ps aux | grep -v "grep" | grep -c "nginx:"
    fi
}
 
nginx_active(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Active/ {print $NF}'
}
 
nginx_reading(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Reading/ {print $2}'
}
 
nginx_writing(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Writing/ {print $4}'
}
 
nginx_waiting(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk '/Waiting/ {print $6}'
}
 
nginx_accepts(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $1}'
}
 
nginx_handled(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $2}'
}
 
nginx_requests(){
    /usr/bin/curl -s "http://$HOST:$PORT/${stub_status}/" 2> /dev/null | awk 'NR==3 {print $3}'
}
 
case $NGINX_COMMAND in
    check)
        nginx_check
        ;;
    active)
        nginx_active
        ;;
    reading)
        nginx_reading
        ;;
    writing)
        nginx_writing
        ;;
    waiting)
        nginx_waiting
        ;;
    accepts)
        nginx_accepts
        ;;
    handled)
        nginx_handled
        ;;
    requests)
        nginx_requests
        ;;
    *)
        echo $"USAGE:$0 {check|active|reading|writing|waiting|accepts|handled|requests}"
esac
​
[root@test8 opt]# chmod 777 test-nginx.sh 
[root@test8 zabbix_agent2.d]# vim nginx_test.conf
UserParameter=nginx.status[*],/opt/test-nginx.sh $1
[root@test8 zabbix_agent2.d]# systemctl restart zabbix-agent2.service 
#服务端测试
[root@test7 yum.repos.d]# zabbix_get -s '192.168.65.44' -p 10050 -k 'nginx.status[check]'
5
[root@test8 zabbix_agent2.d]# systemctl stop nginx
#客户端的nginx挂了,测试返回码为0
[root@test7 yum.repos.d]# zabbix_get -s '192.168.65.44' -p 10050 -k 'nginx.status[check]'
0

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

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

相关文章

App安装来源追踪的四大方案解析

App的开发者和运营商,都会研究分析渠道的效果,而对渠道来源的追根溯源是一切分析的基础。假如没有明确的安装来源数据,至少会造成以下几种后果: 没有安装来源数据,我们无法判断各个投放渠道流量的价值,也就…

全网首发!鸿蒙OS登上PC,冒风险流出内测,系统界面截图,过会儿就删

开玩笑的啦,其实这是Deepin操作系统的截图,很漂亮吧,这是deepin v23 rc2 的主题之一 鸿蒙还没有发,不知道24年末还能不能上,emmm

Python实战:基础语法

一、求解列表中的最大元素 import random#定义函数 def get_max(lst):x lst[0] #x存储的是元素的最大值#遍历操作for i in range(1,len(lst)):if lst[i] > x:x lst[i] #对最大值进行重新赋值return x#调用函数 lst [random.randint(1,100) for item in range(10)] print…

基于SiliconCloud快速体验GraphRag.Net

SiliconCloud介绍 SiliconCloud 基于优秀的开源基础模型,提供高性价比的 GenAI 服务。 不同于多数大模型云服务平台只提供自家大模型 API,SiliconCloud上架了包括 Qwen、DeepSeek、GLM、Yi、Mistral、LLaMA 3、SDXL、InstantID 在内的多种开源大语言模…

sgetrf M N is 103040 时报错,这是个bug么 lapack and Openblas the same,修复备忘

1,现象 MN103040时,调用 sgetrf_ 时,无论是 LAPACK 还是 OpenBLAS,都出错: openblas: lapack: 2, 复现代码 出现问题的应该是由于M和N相对数字太大,乘积超出32bit整数的表达范围,…

【踩坑】TypeScript 中使用 sass 动态设置样式

问题 在从 Vue2 项目转向 Vue3 项目时,不得不将已经封装好的 echarts 图表也升级成 Vue3 适配的版本,遇到了一个有些诡异的问题,在此记录一下。 背景: 在 Vue2 的项目中,为了动态设置 echarts 的相关配置,于…

trie算法

1、定义 高效的存储和查找字符串集合的数据结构 它的优点是:利用字符串的公共前缀来减少查询时间,最大限度地减少无谓的字符串比较,查询效率比哈希树高 2、构建 我们可以使用数组来模拟实现Trie树。 我们设计一个二维数组 son[N] [26] 来…

WhatsApp收不到验证短信的原因及解决方案

在使用WhatsApp进行账号注册或验证过程中,有时会遇到无法收到验证短信的情况。这种情况可能会给用户带来诸多不便,但通常可以通过一些简单的方法来解决。本文将详细分析收不到验证短信的可能原因,并提供相应的解决方案,帮助用户顺…

LeetCode_sql_day15(262.行程与用户)

描述:262. 行程和用户 - 力扣(LeetCode) 取消率 的计算方式如下:(被司机或乘客取消的非禁止用户生成的订单数量) / (非禁止用户生成的订单总数)。 编写解决方案找出 "2013-10-01" 至 "2013-10-03" 期间非禁止…

EMF矢量图工具Graphpad Prism(棱镜科研绘图工具)

Graphpad Prism 是一款功能强大、专业实用的棱镜科研绘图软件,专为科研工作者而设计研发,可帮助用户进行专业便捷的科研图像绘制,通过该款软件用户可以进行新型子列图进行创建,可以进行平滑的线性图进行绘制,可以说是一…

【汉明距离总和】python刷题记录

R4-数与位篇 class Solution:def totalHammingDistance(self, nums: List[int]) -> int:#创建计数器trieCounter()max_bitlen(bin(max(nums)))-2ret0for i,num in enumerate(nums):for j in range(max_bit):#一位位地取出来bit(num>>j)&1if bit:reti-trie[j]trie[…

同态加密和SEAL库的介绍(一)简介

写在前面: 最近在做同态相关的内容,这里记录下相关的知识点和所踩过的坑,希望对大家有帮助。预计分几篇来详细介绍,从概念简介到不同模式介绍,具体包括了每种模式的编解码和加解密以及他们性能的比对。 虽然同…

MySQL 8.0新特性

文章目录 一. 账户与安全1. 查看用户信息2. 用户权限管理范围3. 用户创建和授权1) 创建并授权用户2)登录zhp,密码zhp.1221。验证数据库权限3)查看用户权限4)撤销用户权限5)用户重命名&修改密码6&#x…

端到端 AWS 定量分析:使用 AWS 和 AWSCLI 自动运行脚本

使用 AWSCLI 启动、运行和关闭 AWS 服务器 添加图片注释,不超过 140 字(可选) 欢迎来到雲闪世界。我们开发了两个 Python 脚本;一个用于为我们获取数据,另一个用于使用 sklearn 的决策树分类器处理数据。然后&#xf…

NAT、服务代理、内网穿透

文章目录 NAT技术NAT IP转换过程NATPNAT的优点NAT的缺点 代理服务器正向代理反向代理 内网穿透和内网打洞内网穿透内网穿透 NAT技术 NAT技术即网络地址转换技术。用于将私有IP地址转换为公共IP地址,以便在互联网或其他外部网络中通信。为了解决IPv4协议下IP地址不足…

【Nacos无压力源码领读】(三) Nacos 配置中心与热更新原理详解超详细解读

本文将从 Nacos 配置中心的基本使用入手, 详细介绍 Nacos 客户端发布配置, 拉取配置, 订阅配置的过程以及服务器对应的处理过程; 配置订阅以及热更新原理相关的部分, 我看了主流的博客网站, 绝对没有比这更详细的讲解; 如果在阅读过程中对文中提到的 SpringBoot 启动过程以及…

交叉编译nginx1.20.0

一、说明 简略写一下过程,仅用于参考,建议与其他交叉编译教程一起看,检查是否有遗漏的问题。 二、源码修改 1、auto/cc/name vi auto/cc/name 注释 21 行 exit 1。 2、auto/types/sizeof vi auto/types/sizeof 将 15 行处的” ngx_size”…

数字图像处理(理论篇)专栏介绍

专栏导读 数字图像处理是计算机视觉领域的基石,它涉及到图像的获取、表示、处理和分析等多个方面。本专栏将通过一系列精心挑选的实战案例,引导读者从基础概念到高级技术,逐步深入学习数字图像处理的各个方面。 专栏目录 数字图像处理 第一…

离线+树状数组,ABC253 F - Operations on a Matrix

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 F - Operations on a Matrix 二、解题报告 1、思路分析 我们通过差分树状数组,可以轻松解决操作1 操作3我们也可以通过树状数组来获取对应列的值 关键是操作2会对操作3造成影响 所以我们先对…

你了解堆和栈的由来吗?

人们提出内存中堆和栈这两个概念,肯定是要解决当时所遇到的问题,不会为了提出概念而提概念。堆和栈都是为了解决一些问题而发展出来的结果,并没有任何的高深之处。 要搞懂堆和栈的概念是如何来的,就需要从计算机诞生时说起了。 …