首页 > 其他分享 >Zabbix监控系统:安装、配置与监控实践指南

Zabbix监控系统:安装、配置与监控实践指南

时间:2024-11-06 08:50:17浏览次数:5  
标签:指南 name zabbix agent pubserver Zabbix 监控 root

目录

Zabbix监控系统全面指南

监控概述

Zabbix核心理念

安装Zabbix

准备虚拟机

安装Zabbix

访问http://192.168.88.5:8080,对Zabbix进行初始化

配置zabbix监控web1服务器

在web1上安装agent

在web页面中添加对web1的监控

​编辑​编辑

常用监控指标

自定义监控项

实现监控web1用户数量的监控项

在被控端创建key

验证自定义监控项

创建模板

创建监控项

应用模板到主机

查看结果


Zabbix监控系统全面指南

在现代IT基础设施管理中,监控系统扮演着至关重要的角色。本文旨在为您提供一个全面的Zabbix监控系统指南,从基础概念到实际操作,帮助您实现对服务器和服务的高效监控。文章首先介绍了监控的重要性和监控资源类型,包括公开数据和私有数据。接着,深入探讨了Zabbix的核心理念,涵盖数据采集、存储和展示的全过程。我们将指导您如何安装Zabbix,包括准备虚拟机、初始化设置以及监控Zabbix自身的步骤。文章还详细介绍了如何配置Zabbix监控特定服务器,例如web1,以及如何创建和应用监控模板。此外,我们还将探讨常用监控指标,并指导您如何自定义监控项,从而满足特定的监控需求。通过本文,您将掌握Zabbix监控系统的关键操作,确保您的服务安全、稳定、高效地运行。

监控概述

  • 对服务的管理,不能仅限于可用性。

  • 还需要服务可以安全、稳定、高效地运行。

  • 监控的目的:早发现、早治疗。

  • 被监控的资源类型:

    • 公开数据:对外开放的,不需要认证即可获取的数据

    • 私有数据:对外不开放,需要认证、权限才能获得的数据

Zabbix核心理念

  • 实施监控的几个方面:

    • 数据采集:使用agent(可安装软件的系统上)、SNMP(简单网络管理协议,用于网络设备的数据采集)

    • 数据存储:使用mysql数据库

    • 数据展示:通过web页面

  • zabbix通过在远程主机上安装agent进行数据采集,存储到mysql数据库,通过web页面进行展示。

安装Zabbix

准备虚拟机

安装Zabbix

//1. 拷贝zabbix软件包到pubserver
[root@zabbixserver ~]# scp /linux-soft/s2/zzg/zabbix_soft/ *.rpm 192.168.88.240:/var/ftp/rpms
//2. 更新yum仓库配置
[root@pubserver ~]# createrepo -v /var/ftp/rpms/
//3. 在pubserver上创建ansible工作环境
[root@pubserver ~]# mkdir -p zabbix/files
[root@pubserver ~]# cd zabbix/
[root@pubserver zabbix]# vim ansible.cfg 
[defaults]
inventory = inventory
host_key_checking = false

[root@pubserver zabbix]# vim inventory 
[zabbix]
zabbixserver ansible_host=192.168.88.5

[webservers]
web1 ansible_host=192.168.88.100
web2 ansible_host=192.168.88.200

[all:vars]
ansible_ssh_user=root
ansible_ssh_pass=a

//4. 为各台主机配置yum
[root@pubserver zabbix]# vim files/local88.repo 
[BaseOS]
name = BaseOS
baseurl = ftp://192.168.88.240/dvd/BaseOS
enabled = 1
gpgcheck = 0

[AppStream]
name = AppStream
baseurl = ftp://192.168.88.240/dvd/AppStream
enabled = 1
gpgcheck = 0

[rpms]
name = rpms
baseurl = ftp://192.168.88.240/rpms
enabled = 1
gpgcheck = 0

[root@pubserver zabbix]# vim 01-upload-repo.yml 
---
- name: config repos.d
  hosts: all
  tasks:
    - name: delete repos.d
      file:
        path: /etc/yum.repos.d
        state: absent

    - name: create repos.d
      file:
        path: /etc/yum.repos.d
        state: directory
        mode: '0755'

    - name: upload local88
      copy:
        src: files/local88.repo
        dest: /etc/yum.repos.d/
[root@pubserver zabbix]# ansible-playbook 01-upload-repo.yml 

//5. 在zabbixserver上安装相应软件包
[root@pubserver zabbix]# vim 02-inst-zabbix.yml
---
- name: install zabbix
  hosts: zabbix
  tasks:
    - name: install zabbix    // 安装软件包
      yum:
        name:
          - zabbix-server-mysql
          - zabbix-web-mysql
          - zabbix-nginx-conf
          - zabbix-sql-scripts
          - zabbix-selinux-policy
          - zabbix-agent
          - mysql-server
          - langpacks-zh_CN
        state: present
[root@pubserver zabbix]# ansible-playbook 02-inst-zabbix.yml

//6. 启动mysqld服务
[root@pubserver zabbix]# vim 03-start-mysqld.yml
---
- name: config mysqld
  hosts: zabbix
  tasks:
    - name: start mysqld      // 启动mysqld服务
      service:
        name: mysqld
        state: started
        enabled: yes
[root@pubserver zabbix]# ansible-playbook 03-start-mysqld.yml 

//7. 在zabbix上创建连接数据库的用户
[root@zabbixserver ~]# mysql
mysql> create database zabbix character set utf8mb4 collate utf8mb4_bin;
// 在binlog日志开启的情况下,打开函数生成器
mysql> set global log_bin_trust_function_creators = 1;
mysql> create user zabbix@localhost identified by 'zabbix';
mysql> grant all privileges on zabbix.* to zabbix@localhost;
mysql> quit;

//8. 验证数据库配置,如果登陆不到数据库表示上一步配置不正确
[root@zabbixserver ~]# mysql -uzabbix -pzabbix -hlocalhost zabbix

//9. 在数据库中创建表并导入数据
[root@zabbixserver ~]# cp /usr/share/zabbix-sql-scripts/mysql/server.sql.gz .
[root@zabbixserver ~]# gzip -d server.sql.gz 
[root@zabbixserver ~]# mysql -uzabbix -pzabbix zabbix < server.sql

//10. 配置zabbix_server
[root@zabbixserver ~]# vim +129 /etc/zabbix/zabbix_server.conf
DBPassword=zabbix

//11. 配置zabbix_agent
[root@zabbixserver ~]# vim /etc/zabbix/zabbix_agentd.conf 
182 Hostname=zabbixserver

//12. 配置nginx展示zabbix
[root@zabbixserver ~]# vim /etc/nginx/conf.d/zabbix.conf
// 打开第2、3行的注释,结果如下所示:
server {
        listen          8080;
        server_name     example.com;
...以下省略...

//13. 启动相关服务
[root@pubserver zabbix]# vim 04-start-zabbix.yml 
---
- name: config zabbix
  hosts: zabbix
  tasks:
    - name: start service        //循环启动多个服务
      service:
        name: "{{item}}"
        state: started
        enabled: yes
      loop:
        - zabbix-server
        - zabbix-agent
        - nginx
        - php-fpm
[root@pubserver zabbix]# ansible-playbook 04-start-zabbix.yml 

访问http://192.168.88.5:8080,对Zabbix进行初始化

注意:这里的用户名Admin,A是大写的!密码是小写的zabbix

  • 此时Zabbix已经在监控自己

配置zabbix监控web1服务器

在web1上安装agent

// 1. 安装agent
[root@pubserver zabbix]# vim 05-inst-agent.yml
--- 
- name: install agent
  hosts: webservers
  tasks:
    - name: install agent    // 安装agent
      yum:
        name: zabbix-agent
        state: present
[root@pubserver zabbix]# ansible-playbook 05-inst-agent.yml 

// 2. 修改web1配置文件
[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.conf 
117 Server=127.0.0.1,192.168.88.5
182 Hostname=web1

// 3. 起动服务
[root@pubserver zabbix]# vim 06-start-agent.yml 
---
- name: config agent
  hosts: web1
  tasks:
    - name: start agent      // 启动服务
      service:
        name: zabbix-agent
        state: started
        enabled: yes
[root@pubserver zabbix]# ansible-playbook 06-start-agent.yml 

在web页面中添加对web1的监控

  • 主机:安装了agent,被监控的主机

  • 主机组:根据需求,将多台主机加入到一个主机组中,方便管理。系统默认已经创建了一些主机组。

  • 模板:是监控项的集合。将模板应用到主机,主机就可以直接拥有模板中的所有监控项。系统中默认已经创建了一些模板。

常用监控指标

  • Space utilization:以百分比显示的磁盘利用率

  • Used space:已用磁盘空间

  • Available memory:可用内存

  • CPU idle time:CPU空闲时间。不宜过低。

  • Load average (1m avg)、Load average (5m avg)、Load average (15m avg):CPU1分钟、5分钟、15分钟的平均负载。这个值不应长期大于核心数。

  • Interface eth0: Bits received:网卡接收到的数据量

  • Interface eth0: Bits sent:网卡发送的数据量

  • Number of processes:系统运行的进程数

  • Number of logged in users:已登陆的用户数

自定义监控项

实现监控web1用户数量的监控项

  1. 在被控端创建key。被控端被监控的内容叫作key,可以理解为它就是一个变量名,具体的名字自己决定。

  2. 在web页面中创建监控项。监控项对应key值。

在被控端创建key

创建自定义配置文件。文件名自定义。

//创建key的语法
//UserParameter=自定义key值,命令
// 命令的执行结果,是key的value

[root@web1 ~]# vim /etc/zabbix/zabbix_agentd.d/usercnt.conf
UserParameter=usercnt,sed -n '$=' /etc/passwd
[root@web1 ~]# systemctl restart zabbix-agent.service 

验证自定义监控项

// 1. 安装zabbix-get
[root@zabbixserver ~]# yum install -y zabbix-get
[root@web1 ~]# yum install -y zabbix-get

// 2. 获取监控项的值
[root@web1 ~]# zabbix_get -s 127.0.0.1 -k usercnt
46
[root@zabbixserver ~]# zabbix_get -s 192.168.88.100 -k usercnt
46

创建模板

创建监控项

应用模板到主机

查看结果

标签:指南,name,zabbix,agent,pubserver,Zabbix,监控,root
From: https://blog.csdn.net/m0_70639321/article/details/143555838

相关文章

  • Nginx 常用参数详解和举例说明实操指南
    Nginx常用参数详解和举例说明实操指南一、引言1.参数详解的目的和意义Nginx的配置参数是优化性能和提升安全性的关键。通过合理配置这些参数,可以显著提高Nginx的性能,减少资源消耗,增强系统的稳定性和安全性。2.适用人群和场景运维工程师:负责Nginx的日常管理和维护,需......
  • Ollama简介,以及中文使用指南和AMD图形显卡驱动下载
    Ollama是一个开源的大型语言模型(LLM)服务工具,它旨在简化在本地运行大语言模型的过程,降低使用大语言模型的门槛。Ollama使得开发者、研究人员和爱好者能够在本地环境快速实验、管理和部署最新的大语言模型,包括但不限于如Qwen2、Llama3、Phi3、Gemma2等开源的大型语言模型。Oll......
  • 移动H5前端性能优化指南
    目录加载优化JavaScript优化CSS优化渲染优化交互优化HTML与视口网络与资源加载优化图像与媒体优化资源压缩与合并执行环境优化用户交互体验优化性能监测与调试概述移动H5应用的性能优化是确保用户获得流畅体验的关键。优化目标包括减少加载时间、提高运行效率和降低资源......
  • 网站快速排名:策略与实践指南
    在竞争激烈的互联网环境中,网站的搜索引擎排名(SERP)直接关系到其可见度、流量和潜在的商业价值。因此,许多网站管理员和SEO专家都致力于实现网站的快速排名提升。然而,需要注意的是,“快速”并不等同于“捷径”或“作弊”。本文旨在提供一系列合法、有效且可持续的网站快速排名提升......
  • 「国企警钟」国有企业如何防泄密?4大安全防线实战指南
    信息安全已成为企业运营中的核心要素,特别是对于国有企业而言,信息的保密性不仅关乎企业的经济利益,更涉及国家安全和社会稳定。为了有效防范信息泄露,国有企业必须构建起坚实的安全防线。以下是四大安全防线的实战指南,旨在帮助国有企业更好地应对防泄密挑战。一、制度防线......
  • 《DNK210使用指南 -CanMV版 V1.0》第三十五章 image图像特征检测实验
    第三十五章image图像特征检测实验1)实验平台:正点原子DNK210开发板2)章节摘自【正点原子】DNK210使用指南-CanMV版V1.03)购买链接:https://detail.tmall.com/item.htm?&id=7828013987504)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/k210/ATK-DNK210.htm......
  • 洛谷题单指南-二叉堆与树状数组-P1801 黑匣子
    原题链接:https://www.luogu.com.cn/problem/P1801题意解读:动态维护一组序列,并随时可以求第k小的值,每次求第k小的顺序是递增的,比如第一次取第1小,然后是第2小,以此类推。解题思路:对于求第k小的问题,已经介绍过几种方案:1、快选算法,每次查询时间复杂度logn,传送门:https://www.cnblogs......
  • AI智能分析视频分析网关打手机检测算法:科技赋能的智能监控新时代
    智能手机的广泛使用在便利我们生活的同时,也带来了一些挑战,特别是在教育、企业、家庭监护和公共场合等环境中,不恰当的手机使用可能会扰乱秩序和活动。为了应对这一挑战,打手机检测视频分析网关应运而生,成为一种高效、智能化的监控解决方案。一、技术背景打手机检测视频分析网关主......
  • 智慧园区算法视频分析服务器烟雾识别监控系统常见的推荐配置参考指南
    在智慧园区的构建中,视频监控系统扮演着至关重要的角色,尤其是算法视频分析服务器在烟雾识别方面的应用,它能够极大地提升园区的安全监控能力。为了确保系统的有效运行和精准识别,合理的硬件配置是基础。以下是智慧园区算法视频分析服务器的推荐配置参考指南。1、处理器(CPU):视频分析......