• 案例:搭建Zabbix监控系统


            前言:Zabbix可以灵活地监控服务器资源,并且集Cacti与Nagio两者的优点于一身且功能更强大,实现企业级分布式监控,所以在市场应用更广。

    目录

    🍇Zabbix概述

    🍇案例实施

    🍒搭建yum源

    🍒安装MariDB

    🍒安装Zabbix

    🍒编辑配置文件

    🍒安装zabbix web接口

    🍇Zabbix基本配置

    🍒Zabiix用户管理

    🍒修改Zabbix中文乱码

    🍒Zabbix监控Linux服务器

    🍒Zabbix监控windows服务器

    🍇Zabbix 自定义监控项


            🍤:博客主页

            🍤:选择大于努力

            🍤:如果这个博主有幸得到你的喜欢,在此求关注❤️!

    Zabbix概述

            Zabbix是一个基于Web界面企业及开源监控套件。

    🍤具备功能

    主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细报表图表绘制

    🍤监测对象

    Linux 服务器 、Windows服务器、路由器、交换机等网络设备 其官方网站是Zabbix

    🍤监控架构

    1. server-client:适用于网络比较简单,设备较少的监控环境。
    2. master-node-client:适用于跨网络、跨机房、设备较多的大型环境。
    3. server-proxy-client:适用于跨网络、跨机房的中型网络架构。

    案例实施

            Zabbix提供两种安装方式:YUM安装与编译安装。由于CetnOS官方YUM源中并不提供Zabbix软件包以及相关依赖包,因此,如果想用YUM安装Zabbix需要通过Zabbix官方源或第三方提供的YUM源实现。

    🍤实施环境

            目标:首先配置Zabbix服务器,通过 Zabbix服务器监控linux服务器和windows服务器。

            前提:关闭防火墙、selinux,如图配置IP地址。

    搭建yum源

            🍤配置Zabbix之前先搭建Zabbix服务器的yum源。

    1. ............//将rpm文件指定到/zabbix目录中
    2. [root@localhost ~]# mkdir /zabbix
    3. [root@localhost ~]# mount /dev/cdrom /media
    4. mount: /dev/sr0 is write-protected, mounting read-only
    5. [root@localhost ~]# cp /media/* /zabbix/
    6. ............//生成yum源目录文件
    7. [root@localhost ~]# cd /zabbix/
    8. [root@localhost zabbix]# createrepo .
    9. ............//指定本地yum源路径为/zabbix目录
    10. [root@localhost zabbix]# cd
    11. [root@localhost ~]# rm -rf /etc/yum.repos.d/*
    12. [root@localhost ~]# vim /etc/yum.repos.d/a.repo
    13. [a]
    14. name=a
    15. baseurl=file:///zabbix
    16. gpgcheck=0

    安装MariDB

            在CentOS7系统中光盘镜像中默认提供的数据库软件不是MySQL而是MariaDB,因此在LAMP架构中使用MariaDB来充当“M”的角色,其余的组件还是保持原有的Apache与PHP。MariaDB是MySQL数据库源码的一个分支版本,与MySQL在大多数方面是兼容的。

            🍤通过部署下面命令安装并启动MariaDB,设置数据库管理员密码为"pwd123",验证数据库是否成功安装。

    1. [root@localhost ~]# yum -y install mariadb-server mariadb
    2. [root@localhost ~]# systemctl start mariadb
    3. [root@localhost ~]# systemctl enable mariadb
    4. [root@localhost ~]# mysqladmin -u root password 'pwd123'
    5. [root@localhost ~]# mysql -uroot -ppwd123
    6. Welcome to the MariaDB monitor. Commands end with ; or \g.
    7. Your MariaDB connection id is 4
    8. Server version: 5.5.56-MariaDB MariaDB Server
    9. Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
    10. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    11. MariaDB [(none)]>

    安装Zabbix

            🍤安装Zabbix时会安装很多依赖包,其中包括httpd与PHP相关依赖包,所以直接安装Zabbix即可。

    [root@localhost ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent

            🍤安装Zabbix Web时需要数据库,在MariaDB中手动创建数据库名为zabbix的数据库,并授权给zabbix用户使用,以增加数据库的安全性。

    1. [root@localhost ~]# mysql -u root -ppwd123
    2. MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
    3. Query OK, 1 row affected (0.01 sec)
    4. MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'pwd456';
    5. Query OK, 0 rows affected (0.00 sec)
    6. MariaDB [(none)]> exit
    7. Bye

            🍤导入数据库SQL脚本文件。

    1. [root@localhost ~]# zcat /usr/share/doc/zabbix-server-mysql-3.4.1/create.sql.gz | mysql -uzabbix -p zabbix
    2. Enter password: //输入zabbix用户密码后稍等片刻,等待导入数据
    3. [root@localhost ~]#

    编辑配置文件

            🍤通过编辑配置文件,配置指定数据库的名称、用户、密码。

    1. [root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
    2. DBHost=localhost //需要去掉注释
    3. DBName=zabbix
    4. DBUser=zabbix
    5. DBPassword=pwd456 //需要去掉注释,并设置zabbix用户密码

            🍤编辑zabbix agent的配置文件/usr/local/etc/zabbix_agentd.conf,必须指定zabbix server的IP地址,在每台安装agent的主机上都要配置。这里要指定服务器的IP地址,现在在同一台服务器上,所以不修改!

    1. [root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
    2. Server=127.0.0.1 //客户端被动等待指定服务器来查询数据
    3. ServerActive=127.0.0.1 //客户端主动提交数据到指定的服务器
    4. Hostname=Zabbix server //主机名称

            🍤执行以下命令启动zabbix-server、zabbix-agent与httpd。

    1. [root@localhost ~]# systemctl start zabbix-server
    2. [root@localhost ~]# systemctl enable zabbix-server
    3. [root@localhost ~]# systemctl start zabbix-agent
    4. [root@localhost ~]# systemctl enable zabbix-agent
    5. [root@localhost ~]# systemctl start httpd
    6. [root@localhost ~]# systemctl enable httpd

    安装zabbix web接口

            🍤编辑Apache服务器针对Zabbix的前端配置文件,设置时区与当前系统一致。

    1. [root@localhost ~]# vim /etc/httpd/conf.d/zabbix.conf
    2. php_value date.timezone Asia/Shanghai //删掉注释,修改时区为上海
    3. [root@localhost ~]# systemctl restart httpd

            🍤打开浏览器访问http://192.168.1.10/zabbix,打开Zabbix前端安装向导,如下图所示。

            🍤单机"Next step"按钮,进入系统环境检测界面,全部符合后进入下一步。

            🍤根据之前配置好的zabbix数据库填写授权信息。密码提示:“pwd456”。

            🍤数据库连接成功配置后,填写连接Zabbix 服务信息。

           🍤返回一个汇总的配置信息查看无误后下一步即可。

            🍤提示安装完成。

            🍤登录zabbix页面,默认用户名为Admin、密码zabbix。

    Zabbix基本配置

    Zabiix用户管理

            🍤为了增强安全性,需要修改Zabbix服务器默认用户Admin的初始密码。使用默认用户名Admin登录Zabbix服务器,选择"Administration"→"users"→"Admin"进入用户配置界面。

            🍤单击"change passwrod"按钮来更改密码,语言界面显示改为中文,然后单击"update"按钮提交,刷新界面生效。

            🍤单击用户界面中的“创建用户”按钮,即可弹出创建用户界面,添加相应的信息即可创建新用户。

            🍤创建用户的时候还可以选择添加相应的群组,点击”添加“即可。

    修改Zabbix中文乱码

            🍤安装Zabbix后,当显示语言为中文时,可能会出现中文乱码情况,这主要是字体导致的问题,如果要解决,需要下载合适的字体,并将其上传到Zabbix服务器上。

            🍤下载标准中文字体(simkai.ttf),将其上传到Zabbix服务器的文档根目录中,YUM安装的默认安装目录在/usr/share/zabbix中。

    1. [root@localhost ~]# cp /media/simkai.ttf /usr/share/zabbix/fonts/
    2. [root@localhost ~]# ls /usr/share/zabbix/fonts/
    3. graphfont.ttf simkai.ttf
    4. [root@localhost ~]# chmod 777 /usr/share/zabbix/fonts/simkai.ttf

            🍤通过以下命令修改PHP界面的字体文件,将原本的graphfont更改为simkai,然后刷新界面即可正常显示中文。

    1. [root@localhost ~]# vim /usr/share/zabbix/include/defines.inc.php
    2. define('ZBX_GRAPH_FONT_NAME',    'simkai'); //直接修改后面单引号的内容即可

    Zabbix监控Linux服务器

            🍤如果希望监控Linux服务器,可以使用agent的方式,在Linux服务器上安装zabbix的agent。(被监控端操作)

    1. [root@localhost ~]# mount /dev/cdrom /media/
    2. mount: /dev/sr0 写保护,将以只读方式挂载
    3. [root@localhost ~]# ls /media
    4. simkai.ttf           zabbix-agent-3.2.6-1.el7.x86_64.rpm
    5. zabbix-3.2.6.tar.gz zabbix_agents_3.2.0.win.zip
    6. [root@localhost ~]# rpm -ivh /media/zabbix-agent-3.2.6-1.el7.x86_64.rpm

            🍤修改agent配置文件,其中Server与ServerActive配置项指定zabbix服务器地址,但是作用并不相同。Server用于客户端被动等待指定服务器来查询数据,ServerActive用与客户端主动提交数据到指定的服务器。

            🍤Hostname必须与Zabbix Web上名称一致,否则Zabbix 主动监控无法正常工作。

    1. [root@localhost ~]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/.zabbix_agentd.conf.bak
    2. [root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
    3. Server=192.168.1.10
    4. ServerActive=192.168.1.10
    5. Hostname=linux-001

            🍤启动agent服务并设置开机启动,默认端口为10050。

    1. [root@localhost ~]# systemctl start zabbix-agent
    2. [root@localhost ~]# systemctl enable zabbix-agent
    3. Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
    4. [root@localhost ~]# netstat -anpt | grep agent
    5. tcp       0     0 0.0.0.0:10050           0.0.0.0:*               LISTEN     7669/zabbix_agentd  
    6. tcp6       0     0 :::10050               :::*                   LISTEN     7669/zabbix_agentd  

            🍤在zabbix服务器上添加主机。

            登录Zabbix web界面,选择“配置”→“主机”→“创建主机”。添加主机名称为“linux-001”、群组为“Linux servers”的主机然后在agent代理程序接口处添加Linux服务器的IP地址192.168.1.20。

            🍤然后左上角,选择“模板”,将链接的模板选择为"Template OS Linux",单击“添加”按钮,完成主机的添加。

            🍤稍等一会,就可以看到下图中可用性列中"ZBX"为绿色,则表示添加成功。此刻也可以去查看”检测中“→“图形”,选择监测的群组和主机即可查看到服务器状态。

    Zabbix监控windows服务器

            🍤在windows服务器上安装agent程序

            将下载的压缩包解压,在解压文件的bin目录下会有win32和win64两个文件夹,根据windows系统的版本自行进行选择,将客户端程序文件复制至C:\zabbix,将conf文件中的zabbix_agentd.win.cof配置文件同样复制至C:\zabbix。在配置文件中修改如下配置项:(推荐使用写字板或标准文本工具编辑)

    1. Server=192.168.1.10
    2. ServerActive=192.168.1.10
    3. Hostname=win-001

            🍤注意:需在C盘创建一个zabbix的目录,把下图中文件导入进入后在编辑文件zabbix_agentd.win.cof。

            🍤使用cmd命令行进行安装启动agent。

            agent常用参数:-c,指定配置文件;-i,安装;-s,启动;-x,停止;-d,卸载。

           🍤到zabbix服务器上添加主机。

            登录zabbix web界面,选择“配置”→“主机”→“创建主机”。添加主机名为“win-001”,同时创建新群组“Windows servers”,在agent代理程序接口处添加Windows服务器的IP地址192.168.1.30。

            🍤选择”模板“界面,将链接的模板选择为“Template OS Windows”,单击“添加”按钮,安装主机的添加。稍等片刻即可查看到

            🍤而在检测中选项也会查看到一些关于win-001的监控状态。

    Zabbix 自定义监控项

            Zabbix自带的默认模板里包括了很多监控项,也可以根据需求自定义监控项。下面以创建自定义监控项的方式,以创建监控httpd进程为例,介绍Zabbix自定义监控项。

            🍤首先需要在被监控端(centos7系统)创建监控脚本存放目录/etc/zabbix/zabbix_scripts,然后在该目录下编写脚本名称为check_httpd.sh的监控脚本。

    1. [root@localhost ~]# mkdir /etc/zabbix/zabbix_scripts
    2. [root@localhost ~]# vim /etc/zabbix/zabbix_scripts/check_httpd.sh
    3. #!/bin/bash
    4. result=`ps -ef | grep httpd | grep -v grep`
    5. if [ -n "$result" ]
    6. then
    7.       echo '1'
    8. else
    9.       echo '2'
    10. fi

            🍤修改zabbix_agentd.conf配置文件。

    1. [root@localhost ~]# vim /etc/zabbix/zabbix_agentd.conf
    2. UnsafeUserParameters=1 //去注释,默认0修改为1

            🍤在/etc/zabbix/zabbix_agentd.d/目录下创建userparameter_httpd.conf文件夹,并在文件中设置自定义监控项。

    1. [root@localhost ~]# cd /etc/zabbix/zabbix_agentd.d/
    2. [root@localhost zabbix_agentd.d]# vim userparameter_httpd.conf
    3. UserParameter=check_httpd,sh /etc/zabbix/zabbix_scripts /check_httpd.sh
    4. [root@localhost ~]# systemctl restart zabbix-agent //重启后生效

            🍤登录Zabbix web,选择要增加监控项的主机,选择监控项→创建监控项,主机选择”linux-001“,名称为“httpd监控”,键值为”check_httpd“,配置后点击下方添加按钮即可。

            🍤添加成功后,在最新数据中查看是否获取到数据。

  • 相关阅读:
    vue项目路由重定向之后匹配路由的问题
    艾美捷PD-1体内抗体说明书及相关研究
    java.io.IOException: Broken pipe
    0基础学习VR全景平台篇 第101篇:企业版功能-子账号分配管理
    ruoyi-数据脱敏
    6、Maven的依赖
    高效开发工具:提升 REST API 开发效率
    计算机毕设(附源码)JAVA-SSM基于疫情防控的物资管理与发放系统
    分页列表缓存,你真的会吗
    【漏洞复现】WordPress_Wholesale_Market admin-ajax.php 任意文件读取漏洞
  • 原文地址:https://blog.csdn.net/qq_61116007/article/details/126165698